@monoes/monomindcli 2.10.22 → 2.10.24
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/dist/src/init/kimi-generator.d.ts.map +1 -1
- package/dist/src/init/kimi-generator.js +35 -2
- package/dist/src/init/kimi-generator.js.map +1 -1
- package/dist/src/init/opencode-generator.d.ts.map +1 -1
- package/dist/src/init/opencode-generator.js +27 -1
- package/dist/src/init/opencode-generator.js.map +1 -1
- package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
- package/dist/src/orgrt/agent-exec.js +13 -0
- package/dist/src/orgrt/agent-exec.js.map +1 -1
- package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
- package/dist/src/orgrt/agent-runner.js +78 -2
- package/dist/src/orgrt/agent-runner.js.map +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts +24 -0
- package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
- package/dist/src/orgrt/antigravity-runner.js +162 -37
- package/dist/src/orgrt/antigravity-runner.js.map +1 -1
- package/dist/src/orgrt/opencode-runner.d.ts +47 -15
- package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/opencode-runner.js +190 -39
- package/dist/src/orgrt/opencode-runner.js.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.js +46 -4
- package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
- package/dist/src/orgrt/runner-registry.d.ts +14 -0
- package/dist/src/orgrt/runner-registry.d.ts.map +1 -1
- package/dist/src/orgrt/runner-registry.js +88 -0
- package/dist/src/orgrt/runner-registry.js.map +1 -1
- package/dist/src/ui/routes-org.mjs +143 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -61,6 +61,71 @@ import { killOnAbort, } from './agent-runner.js';
|
|
|
61
61
|
import { classifyStderr } from './kimicode-runner.js';
|
|
62
62
|
import { buildToolProtocol, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, parseToolCalls, TOOL_CALL_RE, } from './tool-fence.js';
|
|
63
63
|
const TURN_TIMEOUT_MS = 2 * 60 * 60 * 1000; // 2 hours, matching kimi/codex runners
|
|
64
|
+
// The opening marker TOOL_CALL_RE looks for (see tool-fence.ts:
|
|
65
|
+
// /```tool_call\s*\n([\s\S]*?)```/g). computeSafeChunk matches on this
|
|
66
|
+
// literal substring rather than the full regex (including its \s*\n
|
|
67
|
+
// requirement) — a deliberate simplification: the only cost of being
|
|
68
|
+
// slightly less strict is that literal prose containing "```tool_call" not
|
|
69
|
+
// followed by a real fence body would be held back until the step ends,
|
|
70
|
+
// at which point it flushes as-is (matching TOOL_CALL_RE's own behavior
|
|
71
|
+
// for anything that never forms a complete, well-closed fence). That is
|
|
72
|
+
// an acceptable, self-correcting edge case for something the model is
|
|
73
|
+
// never instructed to write outside the real fence protocol.
|
|
74
|
+
const FENCE_OPEN = '```tool_call';
|
|
75
|
+
/**
|
|
76
|
+
* Fence-boundary-aware incremental streaming cursor. Given the full text
|
|
77
|
+
* accumulated so far for one in-progress agent_response step and how much
|
|
78
|
+
* of it (from the start) has already been surfaced as visible text, returns
|
|
79
|
+
* the additional prefix that is now also safe to surface, plus the new
|
|
80
|
+
* high-water mark to pass back in on the next call.
|
|
81
|
+
*
|
|
82
|
+
* "Safe" means: never any part of an unclosed ```tool_call fence (its
|
|
83
|
+
* content must never reach the user, complete or not — same as
|
|
84
|
+
* TOOL_CALL_RE's own stripping), and never a trailing partial match of the
|
|
85
|
+
* "```tool_call" opening marker itself, which could still complete into a
|
|
86
|
+
* real fence as more text arrives on the next call. A complete fence found
|
|
87
|
+
* along the way is skipped in its entirety — scanning resumes right after
|
|
88
|
+
* its closing ``` — so the fence never appears in the returned chunk.
|
|
89
|
+
*
|
|
90
|
+
* Pure and only ever reads forward from flushedUpTo, so calling it once
|
|
91
|
+
* per accumulated string or once per tiny incremental slice (as real
|
|
92
|
+
* per-token deltas arrive) converges on the identical assembled output —
|
|
93
|
+
* exercised directly in this file's own test suite.
|
|
94
|
+
*/
|
|
95
|
+
export function computeSafeChunk(text, flushedUpTo) {
|
|
96
|
+
let cursor = flushedUpTo;
|
|
97
|
+
let visibleStart = flushedUpTo;
|
|
98
|
+
let chunk = '';
|
|
99
|
+
for (;;) {
|
|
100
|
+
const openIdx = text.indexOf(FENCE_OPEN, cursor);
|
|
101
|
+
if (openIdx === -1) {
|
|
102
|
+
// No complete opening marker ahead. The tail might still be the
|
|
103
|
+
// start of one forming — hold back the longest suffix of the
|
|
104
|
+
// unscanned text that exactly matches a prefix of FENCE_OPEN.
|
|
105
|
+
const tail = text.slice(cursor);
|
|
106
|
+
let holdBack = 0;
|
|
107
|
+
for (let n = Math.min(FENCE_OPEN.length - 1, tail.length); n > 0; n--) {
|
|
108
|
+
if (FENCE_OPEN.startsWith(tail.slice(-n))) {
|
|
109
|
+
holdBack = n;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const safeEnd = text.length - holdBack;
|
|
114
|
+
chunk += text.slice(visibleStart, safeEnd);
|
|
115
|
+
return { chunk, safeEnd };
|
|
116
|
+
}
|
|
117
|
+
// Everything before the opening marker is safe.
|
|
118
|
+
chunk += text.slice(visibleStart, openIdx);
|
|
119
|
+
const closeIdx = text.indexOf('```', openIdx + FENCE_OPEN.length);
|
|
120
|
+
if (closeIdx === -1) {
|
|
121
|
+
// Opened but not yet closed — nothing from here on is safe yet.
|
|
122
|
+
return { chunk, safeEnd: openIdx };
|
|
123
|
+
}
|
|
124
|
+
// Fully closed — skip the entire fence, keep scanning after it.
|
|
125
|
+
cursor = closeIdx + 3;
|
|
126
|
+
visibleStart = cursor;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
64
129
|
export class AntigravityAgentRunner {
|
|
65
130
|
agyBin;
|
|
66
131
|
constructor(agyBin) {
|
|
@@ -100,14 +165,21 @@ export class AntigravityAgentRunner {
|
|
|
100
165
|
for await (const ev of this.streamTurn(bin, promptWithSystem, conversationId, args, outcome)) {
|
|
101
166
|
if (ev.conversationId)
|
|
102
167
|
conversationId = ev.conversationId;
|
|
103
|
-
if (ev.kind === 'assistant'
|
|
104
|
-
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
//
|
|
168
|
+
if (ev.kind === 'assistant') {
|
|
169
|
+
// rawText bookkeeping (fence-parsing input) and visible text
|
|
170
|
+
// are independent: an incremental event carries text with no
|
|
171
|
+
// rawText (must NOT feed rawTexts — it's a fragment, not the
|
|
172
|
+
// step's accumulated text), while a flush event carries
|
|
173
|
+
// rawText and, only if emitVisible hasn't already shown
|
|
174
|
+
// everything, a final text remainder too. Yield assistant
|
|
175
|
+
// prose AS IT ARRIVES (per safe increment or step boundary,
|
|
176
|
+
// not after process exit): an agy turn can run many minutes,
|
|
177
|
+
// and session.ts's watchdog must see messages DURING the
|
|
178
|
+
// turn. Note this means partial output may already be
|
|
109
179
|
// yielded when a turn later exits non-zero — preferable to
|
|
110
180
|
// losing it entirely.
|
|
181
|
+
if (ev.rawText !== undefined)
|
|
182
|
+
rawTexts.push(ev.rawText);
|
|
111
183
|
if (ev.text)
|
|
112
184
|
yield { type: 'assistant', session_id: conversationId, text: ev.text };
|
|
113
185
|
}
|
|
@@ -242,53 +314,101 @@ export class AntigravityAgentRunner {
|
|
|
242
314
|
exitPromise.catch(() => { });
|
|
243
315
|
let lastConversationId = conversationId;
|
|
244
316
|
// Per-token text_delta fragments are accumulated per agent_response step
|
|
245
|
-
//
|
|
246
|
-
//
|
|
247
|
-
//
|
|
317
|
+
// (pendingText, raw, fences intact) so fence stripping at flush time
|
|
318
|
+
// always sees the complete text — a per-token delta could split a
|
|
319
|
+
// ```tool_call fence across events. rawText bookkeeping (what
|
|
320
|
+
// parseToolCalls sees) is therefore still computed exactly once per
|
|
321
|
+
// step, at the same DONE/step-change/end-of-stream boundaries as
|
|
322
|
+
// before. visibleSoFar decouples FROM that: it is the fence-safe
|
|
323
|
+
// prefix of pendingText already shown to the user (via computeSafeChunk
|
|
324
|
+
// — see its header for the safety definition), and lets emitVisible()
|
|
325
|
+
// stream new safe text live, mid-step, instead of waiting for the
|
|
326
|
+
// step's rawText flush.
|
|
248
327
|
let pendingText = '';
|
|
249
328
|
let pendingStepIndex;
|
|
329
|
+
let visibleSoFar = '';
|
|
250
330
|
let sawStreamedText = false;
|
|
251
331
|
let resultResponse;
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
//
|
|
332
|
+
// Stream any NEWLY safe text since the last call, as its own event
|
|
333
|
+
// (rawText intentionally omitted — this must never feed rawTexts,
|
|
334
|
+
// which needs one accumulated-per-step string, not fragments).
|
|
335
|
+
// Recomputes computeSafeChunk(pendingText, 0) from scratch each call
|
|
336
|
+
// rather than tracking a raw-text cursor: computeSafeChunk's chunk is
|
|
337
|
+
// provably prefix-stable as pendingText grows (exercised directly by
|
|
338
|
+
// this file's own "handles a fence delivered across many small
|
|
339
|
+
// incremental calls" test), so diffing against visibleSoFar is both
|
|
340
|
+
// correct and — for chat-sized text — cheap enough not to matter.
|
|
341
|
+
const emitVisible = () => {
|
|
342
|
+
const { chunk } = computeSafeChunk(pendingText, 0);
|
|
343
|
+
// Trailing whitespace is held back rather than shown immediately:
|
|
344
|
+
// it might be interior (more text follows, e.g. the blank line
|
|
345
|
+
// before a fence) or truly trailing (nothing follows, and old
|
|
346
|
+
// behavior's whole-text `.trim()` would have dropped it) — which
|
|
347
|
+
// one it is isn't known until the step ends, so flushText's own
|
|
348
|
+
// finalStripped diff (also `.trim()`-ed) is what ultimately
|
|
349
|
+
// resolves it, one way or the other.
|
|
350
|
+
const trimmed = chunk.replace(/\s+$/, '');
|
|
351
|
+
if (trimmed.length <= visibleSoFar.length)
|
|
352
|
+
return null;
|
|
353
|
+
const increment = trimmed.slice(visibleSoFar.length);
|
|
354
|
+
visibleSoFar = trimmed;
|
|
355
|
+
return { kind: 'assistant', text: increment, conversationId: lastConversationId };
|
|
356
|
+
};
|
|
357
|
+
// Flush the accumulated agent_response text as one assistant event:
|
|
358
|
+
// rawText is the full accumulated text (fence parsing's input, UNCHANGED
|
|
359
|
+
// from before incremental streaming existed), text is whatever fence-safe
|
|
360
|
+
// content hasn't already been streamed by emitVisible (undefined once
|
|
361
|
+
// emitVisible has already shown everything there is to show). Using the
|
|
362
|
+
// same TOOL_CALL_RE + trim as the old single-shot design — rather than
|
|
363
|
+
// computeSafeChunk — for this final reveal is deliberate: an unclosed
|
|
364
|
+
// fence must still leak through unchanged at true end-of-stream (matching
|
|
365
|
+
// TOOL_CALL_RE leaving it untouched — computeSafeChunk withholds it
|
|
366
|
+
// forever, since it can never be told a step is truly over), and
|
|
367
|
+
// trailing whitespace must still be dropped exactly the way the old
|
|
368
|
+
// whole-text `.trim()` dropped it.
|
|
255
369
|
const flushText = () => {
|
|
256
370
|
if (!pendingText)
|
|
257
|
-
return
|
|
371
|
+
return [];
|
|
258
372
|
const raw = pendingText;
|
|
373
|
+
const finalStripped = raw.replace(TOOL_CALL_RE, '').trim();
|
|
374
|
+
const remainder = finalStripped.length > visibleSoFar.length ? finalStripped.slice(visibleSoFar.length) : undefined;
|
|
259
375
|
pendingText = '';
|
|
260
376
|
pendingStepIndex = undefined;
|
|
261
|
-
|
|
262
|
-
return {
|
|
263
|
-
kind: 'assistant',
|
|
264
|
-
rawText: raw,
|
|
265
|
-
text: stripped || undefined,
|
|
266
|
-
conversationId: lastConversationId,
|
|
267
|
-
};
|
|
377
|
+
visibleSoFar = '';
|
|
378
|
+
return [{ kind: 'assistant', rawText: raw, text: remainder, conversationId: lastConversationId }];
|
|
268
379
|
};
|
|
269
380
|
// Normalize one parsed wire event: capture the conversation id from ANY
|
|
270
381
|
// event that carries it (resume needs it on the next turn), record result
|
|
271
|
-
// envelope state, and return the
|
|
382
|
+
// envelope state, and return the AgyStreamEvents to yield (zero, one, or
|
|
383
|
+
// — on a step-index change that both flushes the old step AND streams
|
|
384
|
+
// the new step's first delta — two).
|
|
272
385
|
// init and other event kinds matter only for the conversation id.
|
|
273
386
|
const handleEvent = (ev) => {
|
|
274
387
|
const cid = ev.conversation_id ?? ev.step_update?.conversation_id ?? ev.result?.conversation_id;
|
|
275
388
|
if (cid)
|
|
276
389
|
lastConversationId = cid;
|
|
390
|
+
const events = [];
|
|
277
391
|
if (ev.event === 'step_update' && ev.step_update) {
|
|
278
392
|
const step = ev.step_update;
|
|
279
393
|
if (step.step_type === 'agent_response') {
|
|
280
394
|
if (pendingStepIndex !== undefined &&
|
|
281
395
|
step.step_index !== undefined &&
|
|
282
396
|
step.step_index !== pendingStepIndex) {
|
|
283
|
-
// A new response step started — flush the previous one.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
397
|
+
// A new response step started — flush the previous one. rawText
|
|
398
|
+
// bookkeeping timing is UNCHANGED from before incremental
|
|
399
|
+
// streaming: still exactly one flush for the OLD step here: the
|
|
400
|
+
// new step's own delta (if any) just joins pendingText for a
|
|
401
|
+
// LATER event to flush, same as before.
|
|
402
|
+
events.push(...flushText());
|
|
403
|
+
pendingStepIndex = step.step_index;
|
|
287
404
|
if (typeof step.text_delta === 'string') {
|
|
288
405
|
sawStreamedText = true;
|
|
289
406
|
pendingText += step.text_delta;
|
|
407
|
+
const inc = emitVisible();
|
|
408
|
+
if (inc)
|
|
409
|
+
events.push(inc);
|
|
290
410
|
}
|
|
291
|
-
return
|
|
411
|
+
return events;
|
|
292
412
|
}
|
|
293
413
|
if (step.step_index !== undefined)
|
|
294
414
|
pendingStepIndex = step.step_index;
|
|
@@ -305,15 +425,23 @@ export class AntigravityAgentRunner {
|
|
|
305
425
|
pendingText += step.text_delta;
|
|
306
426
|
}
|
|
307
427
|
}
|
|
308
|
-
if (step.state === 'DONE')
|
|
309
|
-
|
|
428
|
+
if (step.state === 'DONE') {
|
|
429
|
+
events.push(...flushText());
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
const inc = emitVisible();
|
|
433
|
+
if (inc)
|
|
434
|
+
events.push(inc);
|
|
435
|
+
}
|
|
436
|
+
return events;
|
|
310
437
|
}
|
|
311
438
|
else if (step.step_type === 'tool' && step.tool_info?.name) {
|
|
312
|
-
|
|
439
|
+
events.push({
|
|
313
440
|
kind: 'tool',
|
|
314
441
|
toolName: step.tool_info.name.slice(0, 200),
|
|
315
442
|
conversationId: lastConversationId,
|
|
316
|
-
};
|
|
443
|
+
});
|
|
444
|
+
return events;
|
|
317
445
|
}
|
|
318
446
|
}
|
|
319
447
|
else if (ev.event === 'result' && ev.result) {
|
|
@@ -328,7 +456,7 @@ export class AntigravityAgentRunner {
|
|
|
328
456
|
if (result.response)
|
|
329
457
|
resultResponse = result.response;
|
|
330
458
|
}
|
|
331
|
-
return
|
|
459
|
+
return events;
|
|
332
460
|
};
|
|
333
461
|
try {
|
|
334
462
|
// Immediate liveness yield: session.ts races the FIRST pull against a
|
|
@@ -353,16 +481,14 @@ export class AntigravityAgentRunner {
|
|
|
353
481
|
catch {
|
|
354
482
|
continue;
|
|
355
483
|
}
|
|
356
|
-
const out
|
|
357
|
-
if (out)
|
|
484
|
+
for (const out of handleEvent(ev))
|
|
358
485
|
yield out;
|
|
359
486
|
}
|
|
360
487
|
}
|
|
361
488
|
const tail = buf.trim();
|
|
362
489
|
if (tail?.startsWith('{')) {
|
|
363
490
|
try {
|
|
364
|
-
const out
|
|
365
|
-
if (out)
|
|
491
|
+
for (const out of handleEvent(JSON.parse(tail)))
|
|
366
492
|
yield out;
|
|
367
493
|
}
|
|
368
494
|
catch {
|
|
@@ -370,8 +496,7 @@ export class AntigravityAgentRunner {
|
|
|
370
496
|
}
|
|
371
497
|
}
|
|
372
498
|
// Flush any trailing text whose DONE boundary never arrived.
|
|
373
|
-
const flushed
|
|
374
|
-
if (flushed)
|
|
499
|
+
for (const flushed of flushText())
|
|
375
500
|
yield flushed;
|
|
376
501
|
// Fallback for agy versions that only return result.response (no
|
|
377
502
|
// streaming): surface it as the turn's assistant text.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,26 +7,58 @@
|
|
|
7
7
|
* can register org tools (org_send, ask_human, …) directly via
|
|
8
8
|
* createSdkMcpServer.
|
|
9
9
|
* - opencode runs the agent loop in its OWN server process. The SDK is a
|
|
10
|
-
* remote client: create a session,
|
|
10
|
+
* remote client: create a session, kick off a prompt, watch a shared
|
|
11
|
+
* event stream for what happens.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* - `client.session.
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
13
|
+
* Streaming — LIVE-VERIFIED against a real opencode server (v1.18.30,
|
|
14
|
+
* @opencode-ai/sdk 1.18.15), not just the installed .d.ts, which turned out
|
|
15
|
+
* to be incomplete for this specific need:
|
|
16
|
+
* - `client.session.promptAsync({ path, body })` is fire-and-forget —
|
|
17
|
+
* `POST /session/{id}/prompt_async` returns 204 with no body. Unlike the
|
|
18
|
+
* blocking `session.prompt()` this runner used before, there is no
|
|
19
|
+
* response to read text or usage from; everything comes from the event
|
|
20
|
+
* stream below.
|
|
21
|
+
* - `client.event.subscribe()` resolves `{ stream: AsyncGenerator<Event> }`
|
|
22
|
+
* (SSE). The two events this runner needs:
|
|
23
|
+
* `message.part.delta` — `{sessionID, messageID, partID, field, delta}`
|
|
24
|
+
* — the REAL per-token/per-chunk text event. This is NOT in the
|
|
25
|
+
* installed SDK's own `Event` union type at all (only
|
|
26
|
+
* `message.part.updated` is, whose own `delta?: string` field was
|
|
27
|
+
* observed to always be `undefined` live — the .d.ts is stale
|
|
28
|
+
* relative to the server's actual wire format). Confirmed live: a
|
|
29
|
+
* real generation emits dozens of these per part.
|
|
30
|
+
* `message.updated` — `{info: AssistantMessage}` — fires repeatedly as
|
|
31
|
+
* a message evolves; `info.time.completed` being set (confirmed live
|
|
32
|
+
* on both a normal completion and a provider error) is the reliable
|
|
33
|
+
* "this assistant message is fully done" signal, at which point
|
|
34
|
+
* `info.tokens`/`info.cost` are the final values for the round.
|
|
35
|
+
* `message.part.updated`'s own full `part.text` snapshot (fired once
|
|
36
|
+
* when a part is created, empty, and again as it's completed) is kept as
|
|
37
|
+
* a checkpoint but the incremental visible stream is driven by
|
|
38
|
+
* `message.part.delta` — same decouple-and-diff shape as
|
|
39
|
+
* antigravity-runner.ts/qwen-rpc-runner.ts: `computeSafeChunk` picks out
|
|
40
|
+
* what's fence-safe to reveal from the accumulating per-part raw text,
|
|
41
|
+
* diffed against how much of that part has already been shown; the
|
|
42
|
+
* final reconciliation at round end reveals anything the incremental
|
|
43
|
+
* path hasn't (normally nothing).
|
|
44
|
+
* - A message's `reasoning`-type parts also emit `message.part.delta`
|
|
45
|
+
* events with `field:"text"` — excluded from visible output the same
|
|
46
|
+
* way Claude's thinking blocks are, by checking the owning part's own
|
|
47
|
+
* `type` (tracked from `message.part.updated`, which always precedes
|
|
48
|
+
* that part's first delta).
|
|
49
|
+
* - Because prompt() no longer blocks, the previous undici headers-timeout
|
|
50
|
+
* workaround is less critical for the prompt call itself (which now
|
|
51
|
+
* returns near-instantly), but the SSE connection is still a long-lived
|
|
52
|
+
* body stream for the whole role's lifetime — the same generous
|
|
53
|
+
* dispatcher (headersTimeout + bodyTimeout:0) is kept for it.
|
|
25
54
|
*
|
|
26
55
|
* Org tools (org_send, knowledge_search, …) travel over the shared FENCE
|
|
27
56
|
* PROTOCOL (tool-fence.ts): rendered into the system prompt, parsed out of
|
|
28
57
|
* the assistant text, executed in-process, results fed back into the same
|
|
29
|
-
* session — same mechanism as KimiCodeAgentRunner.
|
|
58
|
+
* session — same mechanism as KimiCodeAgentRunner. `parseToolCalls` needs
|
|
59
|
+
* each text part's RAW (fence-intact) text, so that — not the fence-stripped
|
|
60
|
+
* visible text — is what's collected per part for it, exactly as the
|
|
61
|
+
* previous blocking-call implementation did.
|
|
30
62
|
*
|
|
31
63
|
* Non-disturbance guarantees:
|
|
32
64
|
* - The SDK is imported dynamically; the package has no hard dependency on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"opencode-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAoB3B,qBAAa,mBAAoB,YAAW,WAAW;IACzC,OAAO,CAAC,WAAW,CAAC;IAAhC,YAAoB,WAAW,CAAC,EAAE,MAAM,YAAA,EAAI;IAErC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAkT1D;CACF"}
|