@jini-ai/agent-runtime 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/agent-protocol/acp/session.d.ts +206 -1
- package/dist/agent-protocol/acp/session.d.ts.map +1 -1
- package/dist/agent-protocol/acp/session.js +505 -350
- package/dist/agent-protocol/acp/session.js.map +1 -1
- package/dist/agent-protocol/core/json-line-stream.d.ts +53 -0
- package/dist/agent-protocol/core/json-line-stream.d.ts.map +1 -1
- package/dist/agent-protocol/core/json-line-stream.js +307 -255
- package/dist/agent-protocol/core/json-line-stream.js.map +1 -1
- package/dist/agent-protocol/pi-rpc/events.d.ts +22 -1
- package/dist/agent-protocol/pi-rpc/events.d.ts.map +1 -1
- package/dist/agent-protocol/pi-rpc/events.js +189 -153
- package/dist/agent-protocol/pi-rpc/events.js.map +1 -1
- package/dist/agent-protocol/pi-rpc/session.d.ts +39 -0
- package/dist/agent-protocol/pi-rpc/session.d.ts.map +1 -1
- package/dist/agent-protocol/pi-rpc/session.js +143 -107
- package/dist/agent-protocol/pi-rpc/session.js.map +1 -1
- package/dist/auth.js +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/claude-stream.d.ts +65 -2
- package/dist/claude-stream.d.ts.map +1 -1
- package/dist/claude-stream.js +569 -442
- package/dist/claude-stream.js.map +1 -1
- package/dist/defs/aider.d.ts.map +1 -1
- package/dist/defs/aider.js +13 -1
- package/dist/defs/aider.js.map +1 -1
- package/dist/defs/amp.d.ts.map +1 -1
- package/dist/defs/amp.js +16 -1
- package/dist/defs/amp.js.map +1 -1
- package/dist/defs/amr.d.ts +2 -1
- package/dist/defs/amr.d.ts.map +1 -1
- package/dist/defs/amr.js +12 -1
- package/dist/defs/amr.js.map +1 -1
- package/dist/defs/antigravity.d.ts +25 -13
- package/dist/defs/antigravity.d.ts.map +1 -1
- package/dist/defs/antigravity.js +190 -163
- package/dist/defs/antigravity.js.map +1 -1
- package/dist/defs/claude.d.ts +7 -0
- package/dist/defs/claude.d.ts.map +1 -1
- package/dist/defs/claude.js +61 -3
- package/dist/defs/claude.js.map +1 -1
- package/dist/defs/codebuddy.d.ts.map +1 -1
- package/dist/defs/codebuddy.js +9 -1
- package/dist/defs/codebuddy.js.map +1 -1
- package/dist/defs/codex.d.ts +1 -0
- package/dist/defs/codex.d.ts.map +1 -1
- package/dist/defs/codex.js +34 -0
- package/dist/defs/codex.js.map +1 -1
- package/dist/defs/copilot.d.ts.map +1 -1
- package/dist/defs/copilot.js +15 -1
- package/dist/defs/copilot.js.map +1 -1
- package/dist/defs/cursor-agent.d.ts.map +1 -1
- package/dist/defs/cursor-agent.js +24 -2
- package/dist/defs/cursor-agent.js.map +1 -1
- package/dist/defs/deepseek.d.ts.map +1 -1
- package/dist/defs/deepseek.js +12 -0
- package/dist/defs/deepseek.js.map +1 -1
- package/dist/defs/devin.d.ts +2 -1
- package/dist/defs/devin.d.ts.map +1 -1
- package/dist/defs/devin.js +12 -7
- package/dist/defs/devin.js.map +1 -1
- package/dist/defs/grok-build.d.ts.map +1 -1
- package/dist/defs/grok-build.js +10 -0
- package/dist/defs/grok-build.js.map +1 -1
- package/dist/defs/hermes.d.ts +1 -0
- package/dist/defs/hermes.d.ts.map +1 -1
- package/dist/defs/hermes.js +3 -0
- package/dist/defs/hermes.js.map +1 -1
- package/dist/defs/kilo.d.ts +1 -0
- package/dist/defs/kilo.d.ts.map +1 -1
- package/dist/defs/kilo.js +3 -0
- package/dist/defs/kilo.js.map +1 -1
- package/dist/defs/kimi.d.ts +1 -0
- package/dist/defs/kimi.d.ts.map +1 -1
- package/dist/defs/kimi.js +3 -0
- package/dist/defs/kimi.js.map +1 -1
- package/dist/defs/kiro.d.ts +1 -0
- package/dist/defs/kiro.d.ts.map +1 -1
- package/dist/defs/kiro.js +3 -0
- package/dist/defs/kiro.js.map +1 -1
- package/dist/defs/opencode.d.ts +4 -0
- package/dist/defs/opencode.d.ts.map +1 -1
- package/dist/defs/opencode.js +19 -0
- package/dist/defs/opencode.js.map +1 -1
- package/dist/defs/pi.d.ts +5 -1
- package/dist/defs/pi.d.ts.map +1 -1
- package/dist/defs/pi.js +16 -4
- package/dist/defs/pi.js.map +1 -1
- package/dist/defs/qoder.d.ts +1 -0
- package/dist/defs/qoder.d.ts.map +1 -1
- package/dist/defs/qoder.js +15 -0
- package/dist/defs/qoder.js.map +1 -1
- package/dist/defs/qwen.d.ts.map +1 -1
- package/dist/defs/qwen.js +9 -0
- package/dist/defs/qwen.js.map +1 -1
- package/dist/defs/reasonix.d.ts +5 -0
- package/dist/defs/reasonix.d.ts.map +1 -1
- package/dist/defs/reasonix.js +19 -6
- package/dist/defs/reasonix.js.map +1 -1
- package/dist/defs/shared.d.ts +31 -1
- package/dist/defs/shared.d.ts.map +1 -1
- package/dist/defs/shared.js +35 -0
- package/dist/defs/shared.js.map +1 -1
- package/dist/defs/trae-cli.d.ts +1 -0
- package/dist/defs/trae-cli.d.ts.map +1 -1
- package/dist/defs/trae-cli.js +3 -0
- package/dist/defs/trae-cli.js.map +1 -1
- package/dist/defs/vibe.d.ts +1 -0
- package/dist/defs/vibe.d.ts.map +1 -1
- package/dist/defs/vibe.js +3 -0
- package/dist/defs/vibe.js.map +1 -1
- package/dist/detection.d.ts +1 -1
- package/dist/detection.d.ts.map +1 -1
- package/dist/detection.js +7 -2
- package/dist/detection.js.map +1 -1
- package/dist/env.js +1 -1
- package/dist/executables.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/invocation.js +1 -1
- package/dist/json-event-stream.d.ts.map +1 -1
- package/dist/json-event-stream.js +63 -0
- package/dist/json-event-stream.js.map +1 -1
- package/dist/launch.js +1 -1
- package/dist/log-file.d.ts +23 -0
- package/dist/log-file.d.ts.map +1 -0
- package/dist/log-file.js +56 -0
- package/dist/log-file.js.map +1 -0
- package/dist/mcp.d.ts +1 -1
- package/dist/metadata.d.ts +1 -1
- package/dist/mmd-routes.js +1 -1
- package/dist/model-registry.d.ts +7 -45
- package/dist/model-registry.d.ts.map +1 -1
- package/dist/model-registry.js.map +1 -1
- package/dist/models.d.ts +1 -1
- package/dist/opencode-log.js +1 -1
- package/dist/paths.js +1 -1
- package/dist/prompt-augmenter.d.ts +1 -1
- package/dist/prompt-augmenter.js +1 -1
- package/dist/prompt-budget.d.ts +1 -1
- package/dist/prompt-file.js +1 -1
- package/dist/providers/anthropic-messages.d.ts +198 -6
- package/dist/providers/anthropic-messages.d.ts.map +1 -1
- package/dist/providers/anthropic-messages.js +318 -141
- package/dist/providers/anthropic-messages.js.map +1 -1
- package/dist/providers/azure-chat.d.ts +113 -3
- package/dist/providers/azure-chat.d.ts.map +1 -1
- package/dist/providers/azure-chat.js +114 -21
- package/dist/providers/azure-chat.js.map +1 -1
- package/dist/providers/connection-guard.d.ts +121 -1
- package/dist/providers/connection-guard.d.ts.map +1 -1
- package/dist/providers/connection-guard.js +205 -3
- package/dist/providers/connection-guard.js.map +1 -1
- package/dist/providers/connection-test.d.ts +62 -0
- package/dist/providers/connection-test.d.ts.map +1 -0
- package/dist/providers/connection-test.js +404 -0
- package/dist/providers/connection-test.js.map +1 -0
- package/dist/providers/elevenlabs.d.ts.map +1 -1
- package/dist/providers/elevenlabs.js +3 -2
- package/dist/providers/elevenlabs.js.map +1 -1
- package/dist/providers/google-messages.d.ts +208 -7
- package/dist/providers/google-messages.d.ts.map +1 -1
- package/dist/providers/google-messages.js +331 -105
- package/dist/providers/google-messages.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +21 -0
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/ollama-chat.d.ts +190 -1
- package/dist/providers/ollama-chat.d.ts.map +1 -1
- package/dist/providers/ollama-chat.js +319 -110
- package/dist/providers/ollama-chat.js.map +1 -1
- package/dist/providers/openai-chat.d.ts +222 -14
- package/dist/providers/openai-chat.d.ts.map +1 -1
- package/dist/providers/openai-chat.js +377 -128
- package/dist/providers/openai-chat.js.map +1 -1
- package/dist/providers/sse-decode.d.ts +2 -2
- package/dist/providers/sse-decode.js +2 -2
- package/dist/qoder-stream.d.ts +1 -1
- package/dist/qoder-stream.js +1 -1
- package/dist/registry.d.ts +16 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +19 -1
- package/dist/registry.js.map +1 -1
- package/dist/resolution.js +1 -1
- package/dist/terminal-launch.js +1 -1
- package/dist/types.d.ts +181 -89
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -4
|
@@ -33,6 +33,15 @@ export const FIRE_AND_FORGET_METHODS = new Set([
|
|
|
33
33
|
* @param writable - The child process stdin stream.
|
|
34
34
|
* @param raw - The parsed `extension_ui_request` RPC object from pi's stdout.
|
|
35
35
|
*/
|
|
36
|
+
// select: pick the first option if available, else cancel.
|
|
37
|
+
export function firstDialogOptionResult(opts) {
|
|
38
|
+
if (!Array.isArray(opts) || opts.length === 0)
|
|
39
|
+
return { cancelled: true };
|
|
40
|
+
const first = opts[0];
|
|
41
|
+
return typeof first === 'string'
|
|
42
|
+
? { value: first }
|
|
43
|
+
: { value: getRecord(first)?.label ?? getRecord(first)?.value ?? '' };
|
|
44
|
+
}
|
|
36
45
|
export function replyExtensionUi(writable, raw) {
|
|
37
46
|
if (raw?.id == null)
|
|
38
47
|
return;
|
|
@@ -41,25 +50,9 @@ export function replyExtensionUi(writable, raw) {
|
|
|
41
50
|
return;
|
|
42
51
|
// Dialog methods: auto-resolve to keep pi unblocked.
|
|
43
52
|
// confirm → true, select/input/editor → empty-ish default
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
// select: pick first option if available, else cancel
|
|
50
|
-
const params = getRecord(raw.params);
|
|
51
|
-
const opts = params?.options ?? raw.options;
|
|
52
|
-
if (Array.isArray(opts) && opts.length > 0) {
|
|
53
|
-
const first = opts[0];
|
|
54
|
-
result =
|
|
55
|
-
typeof first === 'string'
|
|
56
|
-
? { value: first }
|
|
57
|
-
: { value: getRecord(first)?.label ?? getRecord(first)?.value ?? '' };
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
result = { cancelled: true };
|
|
61
|
-
}
|
|
62
|
-
}
|
|
53
|
+
const result = raw.method === 'confirm'
|
|
54
|
+
? { confirmed: true }
|
|
55
|
+
: firstDialogOptionResult(getRecord(raw.params)?.options ?? raw.options);
|
|
63
56
|
writable.write(`${JSON.stringify({ type: 'extension_ui_response', id: raw.id, ...result })}\n`);
|
|
64
57
|
}
|
|
65
58
|
/**
|
|
@@ -128,6 +121,109 @@ export function resolveSessionPathChangedSince(cwd, before) {
|
|
|
128
121
|
// never actually be exercised.
|
|
129
122
|
return changed.length === 1 ? changed[0].path : null;
|
|
130
123
|
}
|
|
124
|
+
export function piImageMimeType(ext) {
|
|
125
|
+
if (ext === '.png')
|
|
126
|
+
return 'image/png';
|
|
127
|
+
if (ext === '.gif')
|
|
128
|
+
return 'image/gif';
|
|
129
|
+
if (ext === '.webp')
|
|
130
|
+
return 'image/webp';
|
|
131
|
+
return 'image/jpeg'; // .jpg, .jpeg, and unknown
|
|
132
|
+
}
|
|
133
|
+
// Re-verify the resolved path stays inside the upload root. Without this, a
|
|
134
|
+
// path that passed server.ts's safeImages prefix check (under UPLOAD_DIR)
|
|
135
|
+
// could be a symlink pointing to a file outside UPLOAD_DIR, and we'd
|
|
136
|
+
// read/base64-forward it to pi.
|
|
137
|
+
// Exported for direct testing: the `+ path.sep` is load-bearing and easy to
|
|
138
|
+
// drop in a later edit, so it is pinned by its own unit test rather than only
|
|
139
|
+
// exercised through `tryReadImagePayload`.
|
|
140
|
+
export function isPathUnderRoot(realPath, resolvedRoot) {
|
|
141
|
+
return realPath === resolvedRoot || realPath.startsWith(resolvedRoot + path.sep);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Validates and reads one candidate image path for pi's `images` prompt
|
|
145
|
+
* field: resolves symlinks, re-verifies the resolved path is a regular file
|
|
146
|
+
* under `uploadRoot`, checks the extension allowlist, and enforces the
|
|
147
|
+
* remaining total-byte budget. Returns `null` for any rejection or read
|
|
148
|
+
* failure rather than throwing, so one bad image never fails the whole run.
|
|
149
|
+
*/
|
|
150
|
+
export function tryReadImagePayload(imgPath, uploadRoot, totalBytesSoFar) {
|
|
151
|
+
if (typeof imgPath !== 'string' || !imgPath.length)
|
|
152
|
+
return null;
|
|
153
|
+
try {
|
|
154
|
+
// Resolve symlinks and verify it's a regular file.
|
|
155
|
+
const realPath = fs.realpathSync(imgPath);
|
|
156
|
+
const stat = fs.statSync(realPath);
|
|
157
|
+
if (!stat.isFile())
|
|
158
|
+
return null;
|
|
159
|
+
if (uploadRoot) {
|
|
160
|
+
const resolvedRoot = fs.realpathSync(uploadRoot);
|
|
161
|
+
if (!isPathUnderRoot(realPath, resolvedRoot))
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
const ext = path.extname(realPath).toLowerCase();
|
|
165
|
+
if (!ALLOWED_IMAGE_EXTENSIONS.has(ext))
|
|
166
|
+
return null;
|
|
167
|
+
// Enforce total byte budget.
|
|
168
|
+
if (totalBytesSoFar + stat.size > MAX_TOTAL_IMAGE_BYTES)
|
|
169
|
+
return null;
|
|
170
|
+
const buf = fs.readFileSync(realPath);
|
|
171
|
+
return {
|
|
172
|
+
payload: { type: 'image', data: buf.toString('base64'), mimeType: piImageMimeType(ext) },
|
|
173
|
+
size: stat.size,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
catch (_err) {
|
|
177
|
+
// Skip unreadable images rather than failing the entire run.
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Builds pi's base64-encoded `images` prompt payload from `imagePaths`,
|
|
183
|
+
* subject to `MAX_IMAGE_COUNT` and `MAX_TOTAL_IMAGE_BYTES` budgets to
|
|
184
|
+
* prevent large synchronous base64 reads from blocking the event loop. The
|
|
185
|
+
* daemon's safeImages guard already validated that each path exists under
|
|
186
|
+
* UPLOAD_DIR; see {@link tryReadImagePayload} for the per-path re-checks.
|
|
187
|
+
*/
|
|
188
|
+
export function buildPiImagePayloads(imagePaths, uploadRoot) {
|
|
189
|
+
const images = [];
|
|
190
|
+
if (!Array.isArray(imagePaths) || imagePaths.length === 0)
|
|
191
|
+
return images;
|
|
192
|
+
let totalBytes = 0;
|
|
193
|
+
for (const imgPath of imagePaths) {
|
|
194
|
+
if (images.length >= MAX_IMAGE_COUNT)
|
|
195
|
+
break;
|
|
196
|
+
const read = tryReadImagePayload(imgPath, uploadRoot, totalBytes);
|
|
197
|
+
if (!read)
|
|
198
|
+
continue;
|
|
199
|
+
images.push(read.payload);
|
|
200
|
+
totalBytes += read.size;
|
|
201
|
+
}
|
|
202
|
+
return images;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Routes one `response`-type frame from pi's RPC stdout: a rejected parent
|
|
206
|
+
* session fails the run immediately (a resumed turn must not continue
|
|
207
|
+
* without its prior context); an accepted parent session triggers the
|
|
208
|
+
* (previously withheld) prompt send; a rejected prompt fails the run;
|
|
209
|
+
* anything else (an accepted prompt, an unrelated response id) is a no-op.
|
|
210
|
+
* Exported as a free function — it only reads its explicit params and never
|
|
211
|
+
* touches `attachPiRpcSession`'s other session state — so it is directly
|
|
212
|
+
* testable without spinning up a session.
|
|
213
|
+
*/
|
|
214
|
+
export function handlePiResponseMessage({ raw, parentSessionRpcId, promptRpcId, fail, sendPromptCommand, }) {
|
|
215
|
+
if (raw.id === parentSessionRpcId) {
|
|
216
|
+
if (raw.success === false) {
|
|
217
|
+
fail(`parent session rejected: ${String(raw.error ?? 'unknown')}`, 'PI_PARENT_SESSION_FAILED');
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
sendPromptCommand();
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if (raw.id === promptRpcId && raw.success === false) {
|
|
224
|
+
fail(`prompt rejected: ${String(raw.error ?? 'unknown')}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
131
227
|
/**
|
|
132
228
|
* Attaches the daemon's run lifecycle to an already-spawned `pi --mode rpc` child process.
|
|
133
229
|
*
|
|
@@ -210,59 +306,8 @@ export function attachPiRpcSession({ child, prompt, cwd, model, send, imagePaths
|
|
|
210
306
|
// new session, enabling conversational continuity across edit rounds.
|
|
211
307
|
// Build the images array for pi's prompt command. pi's RPC protocol
|
|
212
308
|
// accepts `images` as an array of {type, data, mimeType} objects where
|
|
213
|
-
// `data` is base64-encoded file contents.
|
|
214
|
-
|
|
215
|
-
//
|
|
216
|
-
// Security: realpath resolves symlinks so we re-check that the resolved
|
|
217
|
-
// path is still a regular file (no /proc/self/mem or symlink escape).
|
|
218
|
-
// We also enforce a count and total-byte budget to prevent large
|
|
219
|
-
// synchronous base64 reads from blocking the event loop.
|
|
220
|
-
const images = [];
|
|
221
|
-
if (Array.isArray(imagePaths) && imagePaths.length > 0) {
|
|
222
|
-
let totalBytes = 0;
|
|
223
|
-
for (const imgPath of imagePaths) {
|
|
224
|
-
if (images.length >= MAX_IMAGE_COUNT)
|
|
225
|
-
break;
|
|
226
|
-
if (typeof imgPath !== 'string' || !imgPath.length)
|
|
227
|
-
continue;
|
|
228
|
-
try {
|
|
229
|
-
// Resolve symlinks and verify it's a regular file.
|
|
230
|
-
const realPath = fs.realpathSync(imgPath);
|
|
231
|
-
const stat = fs.statSync(realPath);
|
|
232
|
-
if (!stat.isFile())
|
|
233
|
-
continue;
|
|
234
|
-
// Re-verify the resolved path stays inside the upload root.
|
|
235
|
-
// Without this, a path that passed server.ts's safeImages prefix
|
|
236
|
-
// check (under UPLOAD_DIR) could be a symlink pointing to a file
|
|
237
|
-
// outside UPLOAD_DIR, and we'd read/base64-forward it to pi.
|
|
238
|
-
if (uploadRoot) {
|
|
239
|
-
const resolvedRoot = fs.realpathSync(uploadRoot);
|
|
240
|
-
if (realPath !== resolvedRoot && !realPath.startsWith(resolvedRoot + path.sep))
|
|
241
|
-
continue;
|
|
242
|
-
}
|
|
243
|
-
const ext = path.extname(realPath).toLowerCase();
|
|
244
|
-
if (!ALLOWED_IMAGE_EXTENSIONS.has(ext))
|
|
245
|
-
continue;
|
|
246
|
-
// Enforce total byte budget.
|
|
247
|
-
if (totalBytes + stat.size > MAX_TOTAL_IMAGE_BYTES)
|
|
248
|
-
continue;
|
|
249
|
-
const buf = fs.readFileSync(realPath);
|
|
250
|
-
const mimeType = ext === '.png' ? 'image/png' :
|
|
251
|
-
ext === '.gif' ? 'image/gif' :
|
|
252
|
-
ext === '.webp' ? 'image/webp' :
|
|
253
|
-
'image/jpeg'; // .jpg, .jpeg, and unknown
|
|
254
|
-
images.push({
|
|
255
|
-
type: 'image',
|
|
256
|
-
data: buf.toString('base64'),
|
|
257
|
-
mimeType,
|
|
258
|
-
});
|
|
259
|
-
totalBytes += stat.size;
|
|
260
|
-
}
|
|
261
|
-
catch (_err) {
|
|
262
|
-
// Skip unreadable images rather than failing the entire run.
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
309
|
+
// `data` is base64-encoded file contents.
|
|
310
|
+
const images = buildPiImagePayloads(imagePaths, uploadRoot);
|
|
266
311
|
const sendPromptCommand = () => {
|
|
267
312
|
promptRpcId = sendCommand(stdin, 'prompt', {
|
|
268
313
|
message: prompt,
|
|
@@ -281,6 +326,30 @@ export function attachPiRpcSession({ child, prompt, cwd, model, send, imagePaths
|
|
|
281
326
|
else {
|
|
282
327
|
sendPromptCommand();
|
|
283
328
|
}
|
|
329
|
+
const handlePiAgentEnd = () => {
|
|
330
|
+
finished = true;
|
|
331
|
+
// Capture only the session file changed by this run. If another pi
|
|
332
|
+
// process wrote to the shared session directory concurrently, the
|
|
333
|
+
// resolver returns null instead of risking cross-conversation resume.
|
|
334
|
+
capturedSessionPath = resolveSessionPathChangedSince(cwd, sessionFilesBeforePrompt);
|
|
335
|
+
// pi's RPC process stays alive after agent_end (designed for
|
|
336
|
+
// multi-prompt sessions). The daemon's /api/chat is single-shot,
|
|
337
|
+
// so close stdin and let the process exit naturally, or kill it
|
|
338
|
+
// after a grace period.
|
|
339
|
+
try {
|
|
340
|
+
stdin.end();
|
|
341
|
+
}
|
|
342
|
+
catch (err) {
|
|
343
|
+
fail(`stdin close: ${errorMessage(err)}`);
|
|
344
|
+
}
|
|
345
|
+
// Grace period before SIGTERM. Configurable via PI_GRACEFUL_SHUTDOWN_MS
|
|
346
|
+
// for resource-constrained machines where the event loop drains slowly.
|
|
347
|
+
const shutdownMs = Number(process.env.PI_GRACEFUL_SHUTDOWN_MS) || 5000;
|
|
348
|
+
setTimeout(() => {
|
|
349
|
+
if (!child.killed)
|
|
350
|
+
child.kill('SIGTERM');
|
|
351
|
+
}, shutdownMs);
|
|
352
|
+
};
|
|
284
353
|
// ---- Inbound: parse stdout events ----
|
|
285
354
|
const parser = createJsonLineStream((raw) => {
|
|
286
355
|
if (!isRecord(raw))
|
|
@@ -296,47 +365,14 @@ export function attachPiRpcSession({ child, prompt, cwd, model, send, imagePaths
|
|
|
296
365
|
replyExtensionUi(stdin, raw);
|
|
297
366
|
return;
|
|
298
367
|
}
|
|
299
|
-
// RPC responses (prompt accepted, set_model ack, etc.) — not
|
|
300
|
-
// agent events. Log the prompt acceptance, ignore the rest.
|
|
301
368
|
if (raw.type === 'response') {
|
|
302
|
-
|
|
303
|
-
if (raw.success === false) {
|
|
304
|
-
fail(`parent session rejected: ${String(raw.error ?? 'unknown')}`, 'PI_PARENT_SESSION_FAILED');
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
sendPromptCommand();
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
if (raw.id === promptRpcId && raw.success === false) {
|
|
311
|
-
fail(`prompt rejected: ${String(raw.error ?? 'unknown')}`);
|
|
312
|
-
}
|
|
369
|
+
handlePiResponseMessage({ raw, parentSessionRpcId, promptRpcId, fail, sendPromptCommand });
|
|
313
370
|
return;
|
|
314
371
|
}
|
|
315
372
|
// Agent events: delegate to the pure mapper.
|
|
316
373
|
const result = mapPiRpcEvent(raw, send, { runStartedAt, sentFirstToken });
|
|
317
374
|
if (result === 'agent_end') {
|
|
318
|
-
|
|
319
|
-
// Capture only the session file changed by this run. If another pi
|
|
320
|
-
// process wrote to the shared session directory concurrently, the
|
|
321
|
-
// resolver returns null instead of risking cross-conversation resume.
|
|
322
|
-
capturedSessionPath = resolveSessionPathChangedSince(cwd, sessionFilesBeforePrompt);
|
|
323
|
-
// pi's RPC process stays alive after agent_end (designed for
|
|
324
|
-
// multi-prompt sessions). The daemon's /api/chat is single-shot,
|
|
325
|
-
// so close stdin and let the process exit naturally, or kill it
|
|
326
|
-
// after a grace period.
|
|
327
|
-
try {
|
|
328
|
-
stdin.end();
|
|
329
|
-
}
|
|
330
|
-
catch (err) {
|
|
331
|
-
fail(`stdin close: ${errorMessage(err)}`);
|
|
332
|
-
}
|
|
333
|
-
// Grace period before SIGTERM. Configurable via PI_GRACEFUL_SHUTDOWN_MS
|
|
334
|
-
// for resource-constrained machines where the event loop drains slowly.
|
|
335
|
-
const shutdownMs = Number(process.env.PI_GRACEFUL_SHUTDOWN_MS) || 5000;
|
|
336
|
-
setTimeout(() => {
|
|
337
|
-
if (!child.killed)
|
|
338
|
-
child.kill('SIGTERM');
|
|
339
|
-
}, shutdownMs);
|
|
375
|
+
handlePiAgentEnd();
|
|
340
376
|
}
|
|
341
377
|
});
|
|
342
378
|
stdout.on('data', (chunk) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/session.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* agent CLI is authenticated, and text-based classification of a CLI's raw
|
|
6
6
|
* error output into auth/rate-limit/upstream failure classes.
|
|
7
7
|
*
|
|
8
|
-
* Ported from OD's `apps/daemon/src/runtimes/auth
|
|
8
|
+
* Ported from OD's `apps/daemon/src/runtimes/auth.ts` with one
|
|
9
9
|
* de-branding change: the five guidance-text functions
|
|
10
10
|
* (`cursorAuthGuidance`, `deepseekAuthGuidance`, `antigravityAuthGuidance`,
|
|
11
11
|
* `antigravityQuotaGuidance`, `reasonixAuthGuidance`, `claudeAuthGuidance`)
|
package/dist/capabilities.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module capabilities
|
|
3
3
|
*
|
|
4
4
|
* Per-agent `--help`-probed capability flags, cached by agent id. Ported
|
|
5
|
-
* verbatim from OD's `apps/daemon/src/runtimes/
|
|
5
|
+
* verbatim from OD's `apps/daemon/src/runtimes/capabilities.ts`.
|
|
6
6
|
*/
|
|
7
7
|
import type { RuntimeCapabilityMap } from './types.js';
|
|
8
8
|
export declare const agentCapabilities: Map<string, RuntimeCapabilityMap>;
|
package/dist/claude-stream.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module claude-stream
|
|
3
3
|
*
|
|
4
|
-
* Ported verbatim from OD's `apps/daemon/src/runtimes/
|
|
4
|
+
* Ported verbatim from OD's `apps/daemon/src/runtimes/claude-stream.ts`
|
|
5
5
|
* (only the `role-marker-guard` import path changed — it now resolves
|
|
6
6
|
* within this package instead of two directories up). See `source-map.md`.
|
|
7
7
|
*
|
|
@@ -25,6 +25,20 @@
|
|
|
25
25
|
* Callers give us `onEvent({ type, ...payload })`. We track per-content-block
|
|
26
26
|
* state to accumulate partial tool_use input JSON and emit a single
|
|
27
27
|
* `tool_use` event when that block stops.
|
|
28
|
+
*
|
|
29
|
+
* Module layout: functions above `createClaudeStreamHandler` are hoisted,
|
|
30
|
+
* exported, unit-testable pure (or near-pure, dependency-injected) decision
|
|
31
|
+
* logic — they take their inputs explicitly rather than reading them off a
|
|
32
|
+
* closure. `createClaudeStreamHandler` itself, and everything declared
|
|
33
|
+
* inside it, is the genuinely stateful part: per-message id/epoch
|
|
34
|
+
* bookkeeping, the block-accumulation map, and the artifact-echo
|
|
35
|
+
* dedup state machine all mutate several interdependent fields together
|
|
36
|
+
* (see the inline comments on `anonymousMessageEpoch` and
|
|
37
|
+
* `stripDuplicateArtifactText` for the specific invariants), so pulling
|
|
38
|
+
* those out into standalone functions would mean designing an explicit
|
|
39
|
+
* reducer over the whole stream state rather than extracting a helper —
|
|
40
|
+
* a larger, riskier change than this pass makes. They stay as closures,
|
|
41
|
+
* exercised only through `feed`/`flush` in the test suite.
|
|
28
42
|
*/
|
|
29
43
|
import { type RoleMarkerWarningEvent } from './role-marker-guard.js';
|
|
30
44
|
/**
|
|
@@ -80,7 +94,56 @@ export type ClaudeStreamEvent = {
|
|
|
80
94
|
type: 'raw';
|
|
81
95
|
line: string;
|
|
82
96
|
} | RoleMarkerWarningEvent;
|
|
83
|
-
type EventSink = (event: ClaudeStreamEvent) => void;
|
|
97
|
+
export type EventSink = (event: ClaudeStreamEvent) => void;
|
|
98
|
+
export type BlockState = {
|
|
99
|
+
type?: unknown;
|
|
100
|
+
name?: unknown;
|
|
101
|
+
id?: unknown;
|
|
102
|
+
input: string;
|
|
103
|
+
inputValue?: unknown;
|
|
104
|
+
};
|
|
105
|
+
export type RuntimeTask = {
|
|
106
|
+
id: string;
|
|
107
|
+
content: string;
|
|
108
|
+
status: 'pending' | 'in_progress' | 'completed' | 'stopped';
|
|
109
|
+
activeForm?: string;
|
|
110
|
+
};
|
|
111
|
+
export type RuntimeTaskIdCounter = {
|
|
112
|
+
next: number;
|
|
113
|
+
};
|
|
114
|
+
export interface TaskRegistry {
|
|
115
|
+
tasks: Map<string, RuntimeTask>;
|
|
116
|
+
counter: RuntimeTaskIdCounter;
|
|
117
|
+
seenToolUseIds: Set<string>;
|
|
118
|
+
}
|
|
119
|
+
export interface ArtifactEchoContext {
|
|
120
|
+
suppressHtmlArtifactsAfterFileWrite: boolean;
|
|
121
|
+
wroteHtmlFileThisTurn: boolean;
|
|
122
|
+
recentWriteContents: readonly string[];
|
|
123
|
+
}
|
|
124
|
+
export declare function toolInputPath(input: Record<string, unknown>): string;
|
|
125
|
+
export declare function normalizeTaskStatus(value: unknown): RuntimeTask['status'];
|
|
126
|
+
export declare function runtimeTaskIdFromCreate(input: Record<string, unknown>, counter: RuntimeTaskIdCounter): string;
|
|
127
|
+
export declare function applyTaskCreate(input: Record<string, unknown>, tasks: Map<string, RuntimeTask>, counter: RuntimeTaskIdCounter): boolean;
|
|
128
|
+
export declare function applyTaskUpdate(input: Record<string, unknown>, tasks: Map<string, RuntimeTask>): boolean;
|
|
129
|
+
export declare function emitCanonicalTaskSnapshot(toolUseId: unknown, name: unknown, input: unknown, registry: TaskRegistry, onEvent: EventSink): boolean;
|
|
130
|
+
export declare function isFileWriteToolUse(name: unknown, input: unknown): boolean;
|
|
131
|
+
export declare function fileWriteContent(input: unknown): string | null;
|
|
132
|
+
export declare function isHtmlWriteToolInput(input: unknown): boolean;
|
|
133
|
+
export declare function artifactOpenCandidateLength(text: string, openTag: string): number;
|
|
134
|
+
export declare function isRedundantWrittenArtifact(candidate: string, ctx: ArtifactEchoContext): boolean;
|
|
135
|
+
export declare function assistantText(content: unknown[]): string;
|
|
136
|
+
export declare function isUnstreamedTextBlock(block: Record<string, unknown>, alreadyStreamed: boolean): block is Record<string, unknown> & {
|
|
137
|
+
text: string;
|
|
138
|
+
};
|
|
139
|
+
export declare function isUnstreamedThinkingBlock(block: Record<string, unknown>, alreadyStreamed: boolean): block is Record<string, unknown> & {
|
|
140
|
+
thinking: string;
|
|
141
|
+
};
|
|
142
|
+
export declare function handleSystemMessage(obj: Record<string, unknown>, onEvent: EventSink): void;
|
|
143
|
+
export declare function stringifyToolResult(content: unknown): string;
|
|
144
|
+
export declare function handleUserMessage(obj: Record<string, unknown>, onEvent: EventSink): void;
|
|
145
|
+
export declare function applyInputJsonDelta(state: BlockState | undefined, partialJson: string, onEvent: EventSink): void;
|
|
146
|
+
export declare function emitAssistantErrorIfPresent(obj: Record<string, unknown>, content: unknown[], onEvent: EventSink): void;
|
|
84
147
|
interface ClaudeStreamHandlerOptions {
|
|
85
148
|
suppressHtmlArtifactsAfterFileWrite?: boolean;
|
|
86
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-stream.d.ts","sourceRoot":"","sources":["../src/claude-stream.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude-stream.d.ts","sourceRoot":"","sources":["../src/claude-stream.ts"],"names":[],"mappings":"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"}
|