@monoes/monomindcli 2.10.22 → 2.10.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/orgrt/agent-exec.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAgB,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAO/E,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,WAAW,GACX,QAAQ,GACR,cAAc,GACd,SAAS,GACT,WAAW,GACX,WAAW,CAAC;AAYhB,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,4EAA4E;IAC5E,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5C,kFAAkF;IAClF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAqCD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAQhC;AA4KD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsY1E"}
1
+ {"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/orgrt/agent-exec.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAgB,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAO/E,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,WAAW,GACX,QAAQ,GACR,cAAc,GACd,SAAS,GACT,WAAW,GACX,WAAW,CAAC;AAYhB,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,4EAA4E;IAC5E,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5C,kFAAkF;IAClF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAqCD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAQhC;AA4KD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmZ1E"}
@@ -304,6 +304,12 @@ export async function runAgentExec(opts) {
304
304
  cwd: opts.cwd ?? process.cwd(),
305
305
  ...(opts.resume ? { resume: opts.resume } : {}),
306
306
  pid: process.pid,
307
+ // rev 5: lets a caller (e.g. a chat UI) set the user's expectations
308
+ // honestly BEFORE assuming a quiet turn is stuck — see runner-registry.ts's
309
+ // RunnerSpec.streamsIncrementally doc comment and doc/agent-exec-protocol.md
310
+ // §3.2/§9. Absent runtime (shouldn't happen — resolveExecRunner already
311
+ // failed above for an unknown id) defaults to false, the safe assumption.
312
+ streams_incrementally: runnerSpec(opts.runtime)?.streamsIncrementally ?? false,
307
313
  });
308
314
  // Abort hook for the runner (AgentRunArgs.signal): return() alone queues
309
315
  // behind a runner blocked in `for await (child.stdout)` and never reaches
@@ -473,6 +479,13 @@ export async function runAgentExec(opts) {
473
479
  resume: opts.resume,
474
480
  canUseTool,
475
481
  signal: abort.signal,
482
+ // Opts ClaudeAgentRunner into per-token incremental `assistant`
483
+ // yields (agent-runner.ts's `streamPartials`) — this protocol's own
484
+ // `assistant` frame is documented as incremental (§3.2), unlike
485
+ // session.ts's org-runtime usage, which needs one complete message
486
+ // per turn and never sets this. Every other runner ignores
487
+ // unrecognized `extras` keys (AgentRunArgs.extras's own contract).
488
+ extras: { includePartialMessages: true },
476
489
  });
477
490
  for await (const m of stream) {
478
491
  if (state.terminal)
@@ -1 +1 @@
1
- {"version":3,"file":"agent-exec.js","sourceRoot":"","sources":["../../../src/orgrt/agent-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-exec.js","sourceRoot":"","sources":["../../../src/orgrt/agent-exec.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAerE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAgB;IACzC,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AA0DH,+EAA+E;AAE/E,SAAS,aAAa,CAAC,IAAa,EAAE,QAAiB;IACrD,IAAI,IAAI,GAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;IACnC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAA6B,CAAC,CAAC;;YAExE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,QAAQ;oBACX,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd,KAAK,SAAS;oBACZ,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrC,MAAM;YACV,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAClC,MAAgC;IAEhC,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAA4B,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,eAAe;IAQT,KAAK;IACL,aAAa;IACb,IAAI;IAEJ,QAAQ;IAXV,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,KAAK,CAAC;IACf,MAAM,GAAG,EAAE,CAAC;IACZ,OAAO,GAAG,KAAK,CAAC;IAExB,YACU,KAAe,EACf,aAAqB,EACrB,IAA2C;IACnD,sEAAsE;IAC9D,QAAqB;qBAJrB,KAAK;6BACL,aAAa;oBACb,IAAI;wBAEJ,QAAQ;IACf,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;YACrB,IAAI,EAAU,CAAC;YACf,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAI,IAAI;oBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACxB,oEAAoE;YACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,KAAU,CAAC;QACf,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC;gBACR,CAAC,EAAE,CAAC;gBACJ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,4BAA4B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aAC1D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,EAAE,CAAC;oBACJ,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,0CAA0C,KAAK,CAAC,EAAE,GAAG;iBAC/D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,IAAI,GACR,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACvF,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;gBACnB,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;oBAChC,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,kCAAkC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,EAAE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,eAAe,GAAG,KAAK,CAAC;IAExB,+EAA+E;IAC/E,IAAI,CAAC,IAAY,EAAE,IAA6B;QAC9C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAChF,MAAM,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,EAAE,CAAC;oBACJ,IAAI,EAAE,aAAa;oBACnB,EAAE;oBACF,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE;iBACjB,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACpB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAClF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED,8EAA8E;AAE9E,MAAM,YAAY;IACR,UAAU,GAAG,IAAI,GAAG,EAAoD,CAAC;IACjF,KAAK,CAAC,CAAe;QACnB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;QACzF,oEAAoE;QACpE,wEAAwE;QACxE,MAAM,CAAC,GAAG;YACR,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED,+EAA+E;AAE/E,SAAS,aAAa,CACpB,OAA2B,EAC3B,QAAkB,EAClB,QAAyB;IAEzB,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,QAAQ,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACvD,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9D,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACrF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IAEzC,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,4BAA4B;YACtD,CAAC,CAAC,oBAAoB,IAAI,CAAC,OAAO,iDAAiD,CAAC;QACtF,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzC,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAiB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,OAAO,EAAE,CAAC,IAA6B,EAAE,EAAE,CACzC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;KAC7F,CAAC,CAAC,CAAC;IAEJ,mEAAmE;IACnE,MAAM,YAAY,GAAG,CAAC,KAAK,SAAS,CAAC;QACnC,MAAM;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YAC/C,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,WAA+B,CAAC;IACpC,IAAI,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IACvC,IAAI,UAAoC,CAAC;IACzC,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,KAAK,GAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,MAAM,GAAwC,IAAI,CAAC;IAEvD,wEAAwE;IACxE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,EAA2B,EAAQ,EAAE;QACrD,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,cAAc,GAA0B,GAAG,EAAE,GAAE,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,OAAO,CAAW,CAAC,CAAC,EAAE,EAAE;QAClD,cAAc,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC;QACP,CAAC,EAAE,CAAC;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,oEAAoE;QACpE,4EAA4E;QAC5E,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,qBAAqB,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,IAAI,KAAK;KAC/E,CAAC,CAAC;IAEH,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,QAAgB,EAAE,EAAE;QAC1D,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAC3B,KAAK,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,wEAAwE;QACxE,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClD,KAAK,OAAO,CAAC,IAAI,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,SAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBACjD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM;QACJ,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAClF,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAC5B;YACH,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;QACjC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElC,gEAAgE;IAChE,+DAA+D;IAC/D,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,kEAAkE;IAClE,wEAAwE;IACxE,uDAAuD;IACvD,EAAE;IACF,yEAAyE;IACzE,yDAAyD;IACzD,oEAAoE;IACpE,+DAA+D;IAC/D,wEAAwE;IACxE,wEAAwE;IACxE,kEAAkE;IAClE,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAClD,oEAAoE;IACpE,wEAAwE;IACxE,iEAAiE;IACjE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,EAAE;IACF,oEAAoE;IACpE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,+CAA+C;IAC/C,EAAE;IACF,0EAA0E;IAC1E,oEAAoE;IACpE,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAW,EAAE;QACpD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC,EAAE,CAAC,CAAC,sEAAsE;gBAC3E,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3B,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3B,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,QAAQ;gBAAE,SAAS,CAAC,wCAAwC;YAChE,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;YACpE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB;YACpE,IAAI,QAAQ;gBAAE,SAAS,CAAC,wCAAwC;YAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,CAAC,yBAAyB;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAE,KAA8B,EAAE,EAAE;QAC5E,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,OAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAC/F,IAAI,QAAQ,KAAK,MAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,aAAa,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;gBAC7C,OAAO,EAAE,QAAQ,EAAE,OAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC7D,IAAI,aAAa;gBACf,OAAO;oBACL,QAAQ,EAAE,MAAe;oBACzB,OAAO,EACL,sJAAsJ;iBACzJ,CAAC;QACN,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,MAAe;YACzB,OAAO,EACL,QAAQ,KAAK,MAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,oDAAoD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAChF,CAAC,CAAC,SAAS,QAAQ,sDAAsD;SAC9E,CAAC;IACJ,CAAC,CAAC;IAEF,4DAA4D;IAC5D,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,iEAAiE;IACjE,oEAAoE;IACpE,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,YAAY,GAAG,aAAa;QAChC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,OAAO,aAAa,EAAE;QAClD,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;gBAClB,KAAK;gBACL,MAAM,EAAE,YAAY;gBACpB,YAAY;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBAC9B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,gEAAgE;gBAChE,oEAAoE;gBACpE,gEAAgE;gBAChE,mEAAmE;gBACnE,2DAA2D;gBAC3D,mEAAmE;gBACnE,MAAM,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;aACzC,CAAiC,CAAC;YAEnC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,QAAQ;oBAAE,MAAM;gBAE1B,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;oBACjD,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC;oBAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAED,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzB,MAAM,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpF,QAAQ,CAAC;wBACP,CAAC,EAAE,CAAC;wBACJ,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,CAAC,CAAC,EAAE;wBAClB,aAAa,EAAE,CAAC,CAAC,GAAG;wBACpB,QAAQ,EAAE,CAAC,CAAC,GAAG;qBAChB,CAAC,CAAC;oBACH,UAAU,GAAG,CAAC,CAAC;oBACf,kEAAkE;oBAClE,+DAA+D;oBAC/D,8DAA8D;oBAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACvB,QAAQ,CAAC;4BACP,CAAC,EAAE,CAAC;4BACJ,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,IAAI;4BACX,OAAO,EAAE,wBAAwB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,EAAE;yBAC1F,CAAC,CAAC;wBACH,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,wEAAwE;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAA4B,CAAC;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBAC/B,QAAQ,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAChF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAkB,GAAG,CAAC,KAAK;oBACnC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC7B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,OAAO;oBACX,CAAC,CAAC,cAAc,CAAC;gBACnB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,KAAK,GACT,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,SAAS,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC9D,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;oBAC3B,CAAC,CAAC,EAAE,CAAC;gBACT,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnB,QAAQ,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,IAAI,EAAE,OAAO;oBACb,IAAI;oBACJ,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC5B,OAAO,EAAE,GAAG,GAAG,GAAG,KAAK,EAAE;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,IAAI,YAAY;YAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAU,EAAE;QAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7E,QAAQ,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,KAAK,EAAE,KAAK;gBACZ,OAAO,EACL,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAC/B,CAAC,CAAC,kCAAkC,IAAI,CAAC,SAAS,KAAK;oBACvD,CAAC,CAAC,qBAAqB;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC;YACP,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,8CAA8C;SACxD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC;IAChG,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC;YACP,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK;YACZ,OAAO,EACJ,UAAgC,CAAC,IAAI,IAAI,gBAAgB,UAAU,CAAC,OAAO,IAAI,OAAO,GAAG;SAC7F,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC;QACP,CAAC,EAAE,CAAC;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACtC,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;QACxE,GAAG,CAAE,UAAgC,CAAC,IAAI;YACxC,CAAC,CAAC,EAAE,IAAI,EAAG,UAAgC,CAAC,IAAI,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,EAAE,MAAM,CAAC,EAAE;QACvB,aAAa,EAAE,MAAM,CAAC,GAAG;QACzB,QAAQ,EAAE,MAAM,CAAC,GAAG;KACrB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAsB,KAAK,EAAQ,MAAM,gCAAgC,CAAC;AACjF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;0EAC0E;AAC1E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;8EAC0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF;;mCAE+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;;;;+BAO2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;2CAK2C;AAC3C,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,KAAK,EAAE;IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;CAAE,EACjD,OAAO,SAAO,GACb,MAAM,IAAI,CAuBZ;AAED;;;;;;;;;;;;;;;;6EAgB6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,OAAO;IAA3B,YAAoB,OAAO,GAAE,OAAO,KAAa,EAAI;IAE9C,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAgG1D;CACF;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAsB,KAAK,EAAQ,MAAM,gCAAgC,CAAC;AACjF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;0EAC0E;AAC1E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;8EAC0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF;;mCAE+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;;;;+BAO2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;2CAK2C;AAC3C,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,KAAK,EAAE;IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;CAAE,EACjD,OAAO,SAAO,GACb,MAAM,IAAI,CAuBZ;AAED;;;;;;;;;;;;;;;;6EAgB6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,OAAO;IAA3B,YAAoB,OAAO,GAAE,OAAO,KAAa,EAAI;IAE9C,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CA8K1D;CACF;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,mBAA0B,CAAC"}
@@ -75,6 +75,22 @@ export class ClaudeAgentRunner {
75
75
  const unsubscribe = killOnAbort(args.signal, {
76
76
  kill: () => abortController.abort(),
77
77
  });
78
+ // Incremental text streaming is opt-in via extras, not unconditional:
79
+ // this runner has two independent consumers. agent-exec.ts (the Agent
80
+ // Exec Protocol) wants incremental `assistant` messages — its own
81
+ // protocol doc already documents the `assistant` frame as "Incremental
82
+ // assistant text ... callers append" (doc/agent-exec-protocol.md §3.2)
83
+ // — and sets this. session.ts (the org runtime) treats each
84
+ // `assistant` AgentMessage as ONE COMPLETE TURN: it feeds the full text
85
+ // into StateDetector's regex pattern-matching and emits ONE org
86
+ // chat-bus event per turn (`bus.emit({type:'chat', ..., msg: text})`).
87
+ // Streaming there unconditionally would fragment the chat log into
88
+ // per-token pieces and pattern-match against incomplete prose.
89
+ // session.ts never sets this (verified: its only `extras` use is the
90
+ // `_orgTest` test seam, and only when no real runner is configured) —
91
+ // so leaving this opt-in, rather than always-on, keeps the org runtime
92
+ // byte-for-byte unchanged.
93
+ const streamPartials = args.extras?.includePartialMessages === true;
78
94
  const stream = this.queryFn({
79
95
  prompt: args.prompt,
80
96
  options: {
@@ -119,14 +135,74 @@ export class ClaudeAgentRunner {
119
135
  ...(args.extras || {}),
120
136
  },
121
137
  });
138
+ // Per-turn incremental-streaming state (only meaningfully used when
139
+ // streamPartials — see above). blockTexts accumulates each text
140
+ // content-block's own text by index; visibleSoFar is the fence-free
141
+ // equivalent of antigravity-runner.ts's own visibleSoFar: the fully
142
+ // assembled, already-yielded prefix, recomputed and diffed against on
143
+ // every delta so the incremental and complete-message reconstructions
144
+ // (both index-sorted-join-with-'\n') always agree — see
145
+ // antigravity-runner.ts's computeSafeChunk/emitVisible/flushText for
146
+ // the sibling pattern this mirrors (no fence-safety concern here,
147
+ // since Claude's content blocks are already cleanly delimited by
148
+ // index rather than needing to be scanned out of raw text).
149
+ let blockTexts = new Map();
150
+ let visibleSoFar = '';
151
+ const assembleVisible = () => [...blockTexts.entries()]
152
+ .sort((a, b) => a[0] - b[0])
153
+ .map(([, t]) => t)
154
+ .join('\n');
122
155
  try {
123
156
  for await (const m of stream) {
124
157
  const session_id = m.session_id;
125
- if (m.type === 'assistant') {
126
- const text = (m.message?.content ?? [])
158
+ if (streamPartials && m.type === 'stream_event') {
159
+ const event = m.event;
160
+ if (event?.type === 'message_start') {
161
+ // Defends against a turn that errors/aborts without ever
162
+ // reaching the 'assistant' branch below (which normally does
163
+ // this reset) — without it, leftover block text from an
164
+ // incomplete turn would contaminate the next turn's indices.
165
+ blockTexts = new Map();
166
+ visibleSoFar = '';
167
+ }
168
+ else if (event?.type === 'content_block_delta' && event.delta?.type === 'text_delta') {
169
+ const idx = event.index ?? 0;
170
+ const deltaText = event.delta.text ?? '';
171
+ if (deltaText) {
172
+ blockTexts.set(idx, (blockTexts.get(idx) ?? '') + deltaText);
173
+ const assembled = assembleVisible();
174
+ if (assembled.length > visibleSoFar.length) {
175
+ const increment = assembled.slice(visibleSoFar.length);
176
+ visibleSoFar = assembled;
177
+ yield { type: 'assistant', session_id, text: increment };
178
+ }
179
+ }
180
+ }
181
+ // Other stream_event subtypes (content_block_start/stop,
182
+ // message_delta/stop, and non-text deltas like input_json_delta
183
+ // for tool-call args or thinking_delta) carry no additional
184
+ // visible-text signal — ignored, matching how they were never
185
+ // surfaced in the pre-streaming design either (the complete
186
+ // message's own content array, filtered to text blocks, was
187
+ // always the sole source of visible text).
188
+ }
189
+ else if (m.type === 'assistant') {
190
+ const fullText = (m.message?.content ?? [])
127
191
  .filter((b) => b.type === 'text')
128
192
  .map((b) => b.text)
129
193
  .join('\n');
194
+ // Without streamPartials, `text` is always the complete fullText
195
+ // (including '' for a text-less, e.g. tool-use-only, turn) —
196
+ // byte-for-byte the prior behavior session.ts depends on. With
197
+ // it, this yields only whatever safe increment hasn't already
198
+ // been streamed above (normally undefined — already fully shown).
199
+ const text = streamPartials
200
+ ? fullText.length > visibleSoFar.length
201
+ ? fullText.slice(visibleSoFar.length)
202
+ : undefined
203
+ : fullText;
204
+ blockTexts = new Map();
205
+ visibleSoFar = '';
130
206
  yield {
131
207
  type: 'assistant',
132
208
  session_id,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,30 @@ export interface AgyStreamEvent {
15
15
  toolName?: string;
16
16
  conversationId?: string;
17
17
  }
18
+ /**
19
+ * Fence-boundary-aware incremental streaming cursor. Given the full text
20
+ * accumulated so far for one in-progress agent_response step and how much
21
+ * of it (from the start) has already been surfaced as visible text, returns
22
+ * the additional prefix that is now also safe to surface, plus the new
23
+ * high-water mark to pass back in on the next call.
24
+ *
25
+ * "Safe" means: never any part of an unclosed ```tool_call fence (its
26
+ * content must never reach the user, complete or not — same as
27
+ * TOOL_CALL_RE's own stripping), and never a trailing partial match of the
28
+ * "```tool_call" opening marker itself, which could still complete into a
29
+ * real fence as more text arrives on the next call. A complete fence found
30
+ * along the way is skipped in its entirety — scanning resumes right after
31
+ * its closing ``` — so the fence never appears in the returned chunk.
32
+ *
33
+ * Pure and only ever reads forward from flushedUpTo, so calling it once
34
+ * per accumulated string or once per tiny incremental slice (as real
35
+ * per-token deltas arrive) converges on the identical assembled output —
36
+ * exercised directly in this file's own test suite.
37
+ */
38
+ export declare function computeSafeChunk(text: string, flushedUpTo: number): {
39
+ chunk: string;
40
+ safeEnd: number;
41
+ };
18
42
  export declare class AntigravityAgentRunner implements AgentRunner {
19
43
  private agyBin?;
20
44
  constructor(agyBin?: string | undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"AA2DA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAwD3B;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,qBAAa,sBAAuB,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM,CAAC;IAA3B,YAAoB,MAAM,CAAC,EAAE,MAAM,YAAA,EAAI;IAEhC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAqH1D;IAED;;;;;;;OAOG;YACY,UAAU;CA4O1B"}
1
+ {"version":3,"file":"antigravity-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"AA2DA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAwD3B;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiCpC;AAYD,qBAAa,sBAAuB,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM,CAAC;IAA3B,YAAoB,MAAM,CAAC,EAAE,MAAM,YAAA,EAAI;IAEhC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CA2H1D;IAED;;;;;;;OAOG;YACY,UAAU;CAkS1B"}
@@ -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' && ev.rawText !== undefined) {
104
- rawTexts.push(ev.rawText);
105
- // Yield assistant prose AS IT ARRIVES (per agent_response DONE
106
- // boundary, not after process exit): an agy turn can run many
107
- // minutes, and session.ts's watchdog must see messages DURING
108
- // the turn. Note this means partial output may already be
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
- // and flushed as ONE assistant event at the step's DONE boundary (or at
246
- // end of stream if no DONE arrives). Fence stripping needs the complete
247
- // text — per-token deltas would split a ```tool_call fence across events.
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
- // Flush the accumulated agent_response text as one assistant event.
253
- // Defined as a closure returning the event (or null) so both the DONE
254
- // boundary and the end-of-stream path share the exact same logic.
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 null;
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
- const stripped = raw.replace(TOOL_CALL_RE, '').trim();
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 AgyStreamEvent to yield (or null).
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
- const flushed = flushText();
285
- if (step.step_index !== undefined)
286
- pendingStepIndex = step.step_index;
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 flushed;
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
- return flushText();
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
- return {
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 null;
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 = handleEvent(ev);
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 = handleEvent(JSON.parse(tail));
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 = flushText();
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.