Skip to content
Merged
2 changes: 1 addition & 1 deletion .genie/wishes/rlmx-v02/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ const {loadContext} = require('./dist/context');
2. **`package.json`** — Publish prep
- Version bump to 0.2.0
- Fix repo URL: `namastex888/rlmx`
- Pin pi/ai to exact version: `"@mariozechner/pi-ai": "0.62.0"` (not `^0.62.0`, per risk mitigation)
- Pin pi/ai to the historical previous package scope at exact version `0.62.0` (not a caret range, per risk mitigation)
- Add `js-yaml` dependency
- Verify `files` includes `python/batteries.py`

Expand Down
2 changes: 1 addition & 1 deletion .genie/wishes/rlmx-v04-gemini3/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ Integrate all 14 Gemini 3 native features into rlmx, making it the most capable

**Validation:**
```bash
cd /home/genie/research/rlmx && node -e "const {getModel} = require('@mariozechner/pi-ai'); const m = getModel('google','gemini-3.1-flash-lite-preview'); console.log(m ? 'PASS' : 'FAIL')"
cd /home/genie/research/rlmx && node -e "const {getModel} = require('@earendil-works/pi-ai'); const m = getModel('google','gemini-3.1-flash-lite-preview'); console.log(m ? 'PASS' : 'FAIL')"
```

**depends-on:** none
Expand Down
4 changes: 2 additions & 2 deletions .genie/wishes/tauri-docs-agent/WISH.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Build `rlmx`, an npm CLI that implements the real RLM algorithm (prompt external
**Deliverables:**

1. **`/home/genie/research/rlmx/`** — Git repo initialized
- `package.json` with `@mariozechner/pi-ai` dependency, `bin: { rlmx: "./dist/cli.js" }`
- `package.json` with `@earendil-works/pi-ai` dependency, `bin: { rlmx: "./dist/cli.js" }`
- `tsconfig.json` for TypeScript compilation
- `.gitignore`

Expand Down Expand Up @@ -267,7 +267,7 @@ cd /home/genie/agents/tauri/tauri-docs && uv run scripts/sync-docs.py --force 2>
- Return `RLMResult: { answer, references, usage: {inputTokens, outputTokens, llmCalls}, iterations, model }`

2. **`src/llm.ts`** — pi/ai LLM client wrapper
- `llmComplete(prompt, model, config)` → calls `completeSimple()` from `@mariozechner/pi-ai`
- `llmComplete(prompt, model, config)` → calls `completeSimple()` from `@earendil-works/pi-ai`
- `llmCompleteBatched(prompts, model, config)` → concurrent `Promise.all` of `completeSimple()`
- Handle IPC requests from Python REPL: when REPL sends `llm_query` request, route to this module
- `rlmQuery(prompt, model, config)` → spawn child `rlmx` process with same cwd, return result
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ console.log(result.references);

## Requirements

- Node.js >= 18
- Node.js >= 22.19.0
- Python 3.10+ (for the REPL subprocess)
- An LLM API key (Anthropic, OpenAI, Google, etc.)

Expand Down
234 changes: 54 additions & 180 deletions bun.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/src/llm.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Provides completeSimple wrapper, batched calls, IPC request handling
* from the Python REPL, and rlm_query child process spawning.
*/
import type { AssistantMessage as PiAssistantMessage } from "@mariozechner/pi-ai";
import type { AssistantMessage as PiAssistantMessage } from "@earendil-works/pi-ai";
import type { RlmxConfig, ModelConfig, GeminiConfig } from "./config.js";
import type { LLMRequest } from "./ipc.js";
import type { Logger } from "./logger.js";
Expand Down
2 changes: 1 addition & 1 deletion dist/src/llm.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/src/sdk/rlm-driver.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
* mandate added in the G2b review cycle; rlmx#78 for the native
* tool-dispatch loop that unblocks Tier 2 agents.
*/
import type { AssistantMessage as PiAssistantMessage, Context as PiContext } from "@mariozechner/pi-ai";
import type { AssistantMessage as PiAssistantMessage, Context as PiContext } from "@earendil-works/pi-ai";
import type { ModelConfig } from "../config.js";
import { type LLMResponse } from "../llm.js";
import type { IterationDriver, IterationRequest } from "./agent.js";
Expand Down
2 changes: 1 addition & 1 deletion dist/src/sdk/rlm-driver.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/src/version.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export declare const VERSION = "0.260424.1";
export declare const VERSION = "0.260526.3";
//# sourceMappingURL=version.d.ts.map
2 changes: 1 addition & 1 deletion dist/src/version.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 21 additions & 9 deletions docs/spike-pi-ai.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
# Spike: pi/ai Support for Gemini 3 Features

**Date:** 2026-03-26
**Scope:** Verify which Gemini 3 native features are supported by `@mariozechner/pi-ai@0.62.0`
**Scope:** Historical spike originally run against the previous pi-ai package scope at version `0.62.0`.
**Current package:** live RLMX imports the maintained package `@earendil-works/pi-ai`.
**Verdict:** 3 features are NATIVE, 3 features require rlmx-side implementation

---

## Package rename note

The pi-ai package moved from its deprecated previous npm scope to `@earendil-works/pi-ai`.
This document preserves the historical version-0.62.0 spike context and evidence paths without retaining the deprecated package scope string.
Live code and dependency manifests use `@earendil-works/pi-ai`.

---

## Summary

| Feature | Status | Evidence | Fallback |
Expand All @@ -24,7 +33,8 @@
### ✅ NATIVE: Thinking Levels (Features #1)

**Status:** Full support
**Code Location:** `node_modules/@mariozechner/pi-ai/dist/providers/google.d.ts` (lines 5-9)
**Code Location:** live package path `node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts`.
**Historical note:** the original spike inspected the previous package scope at version `0.62.0`.

```typescript
export interface GoogleOptions extends StreamOptions {
Expand All @@ -51,7 +61,8 @@ export type GoogleThinkingLevel =
### ✅ NATIVE: Thought Signatures (Feature #2)

**Status:** Full support for circulation across RLM iterations
**Code Location:** `node_modules/@mariozechner/pi-ai/dist/types.d.ts`
**Code Location:** live package path `node_modules/@earendil-works/pi-ai/dist/types.d.ts`.
**Historical note:** the original spike inspected the previous package scope at version `0.62.0`.

```typescript
// Line 79: TextContent
Expand Down Expand Up @@ -92,7 +103,8 @@ export interface ToolCall {
### ✅ NATIVE: onPayload Hook (Feature #3)

**Status:** Full support for provider-specific params
**Code Location:** `node_modules/@mariozechner/pi-ai/dist/types.d.ts` (line 42)
**Code Location:** live package path `node_modules/@earendil-works/pi-ai/dist/types.d.ts`.
**Historical note:** the original spike inspected the previous package scope at version `0.62.0`.

```typescript
export interface StreamOptions {
Expand Down Expand Up @@ -260,11 +272,11 @@ const options = {

## Evidence Files

- `/home/genie/.genie/worktrees/rlmx/rlmx-v04b/node_modules/@mariozechner/pi-ai/dist/types.d.ts` — Core message types, onPayload hook
- `/home/genie/.genie/worktrees/rlmx/rlmx-v04b/node_modules/@mariozechner/pi-ai/dist/providers/google.d.ts` — GoogleOptions, streaming functions
- `/home/genie/.genie/worktrees/rlmx/rlmx-v04b/node_modules/@mariozechner/pi-ai/dist/providers/google-gemini-cli.d.ts` — GoogleThinkingLevel enum, thinking config
- `/home/genie/.genie/worktrees/rlmx/rlmx-v04b/node_modules/@mariozechner/pi-ai/dist/providers/google-shared.d.ts` — Thought signature handling helpers
- `/home/genie/.genie/worktrees/rlmx/rlmx-v04b/node_modules/@mariozechner/pi-ai/package.json` — v0.62.0 confirmed
- Historical worktree package files for the previous pi-ai package scope at version `0.62.0` — core message types and `onPayload` hook.
- Historical worktree package files for the previous pi-ai package scope at version `0.62.0` — Google provider options and streaming functions.
- Historical worktree package files for the previous pi-ai package scope at version `0.62.0` — Gemini CLI thinking-level types.
- Historical worktree package files for the previous pi-ai package scope at version `0.62.0` — thought-signature handling helpers.
- Live package path after migration: `node_modules/@earendil-works/pi-ai/`.

---

Expand Down
Loading