@gaunt-sloth/agent 2.0.0-beta.2 → 2.0.0-beta.4

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.
Files changed (34) hide show
  1. package/dist/modules/acp/acpAgentApp.js +54 -1
  2. package/dist/modules/acp/acpAgentApp.js.map +1 -1
  3. package/dist/modules/acp/acpAgentAppV1.js +63 -8
  4. package/dist/modules/acp/acpAgentAppV1.js.map +1 -1
  5. package/dist/modules/acp/acpStopReason.d.ts +59 -0
  6. package/dist/modules/acp/acpStopReason.js +101 -0
  7. package/dist/modules/acp/acpStopReason.js.map +1 -0
  8. package/dist/modules/acp/acpToolCalls.d.ts +16 -0
  9. package/dist/modules/acp/acpToolCalls.js +26 -0
  10. package/dist/modules/acp/acpToolCalls.js.map +1 -1
  11. package/dist/modules/acp/acpUpdates.js +10 -4
  12. package/dist/modules/acp/acpUpdates.js.map +1 -1
  13. package/dist/modules/acp/acpUpdatesV1.js +10 -4
  14. package/dist/modules/acp/acpUpdatesV1.js.map +1 -1
  15. package/dist/modules/apiAgUiModule.js +70 -4
  16. package/dist/modules/apiAgUiModule.js.map +1 -1
  17. package/dist/modules/interactiveSessionModule.js +25 -4
  18. package/dist/modules/interactiveSessionModule.js.map +1 -1
  19. package/dist/modules/slashCommands.d.ts +1 -1
  20. package/dist/modules/slashCommands.js +3 -6
  21. package/dist/modules/slashCommands.js.map +1 -1
  22. package/dist/resolvers.js +3 -3
  23. package/dist/resolvers.js.map +1 -1
  24. package/dist/tools/GthDevToolkit.d.ts +4 -4
  25. package/dist/tools/GthDevToolkit.js +12 -12
  26. package/dist/tools/GthDevToolkit.js.map +1 -1
  27. package/dist/tools/GthFileSystemToolkit.d.ts +21 -0
  28. package/dist/tools/GthFileSystemToolkit.js +53 -4
  29. package/dist/tools/GthFileSystemToolkit.js.map +1 -1
  30. package/dist/tools/McpResourceTool.d.ts +1 -1
  31. package/dist/tools/McpResourceTool.js +1 -1
  32. package/dist/tools/gthGrepTool.js +14 -10
  33. package/dist/tools/gthGrepTool.js.map +1 -1
  34. package/package.json +4 -4
@@ -56,6 +56,8 @@ import { createResolvers } from '#src/resolvers.js';
56
56
  import { resolveAgentFactory } from '#src/core/resolveAgentFactory.js';
57
57
  import { AcpUpdateMapper } from '#src/modules/acp/acpUpdates.js';
58
58
  import { decisionForOutcome, permissionRequestFor, rememberedAnswerNote, } from '#src/modules/acp/acpPermissions.js';
59
+ import { shouldAnnounceTermination, terminationNotice, } from '@gaunt-sloth/core/core/terminationNotice.js';
60
+ import { ACP_ERROR_STOP_REASON, acpStopReasonFor, acpTerminationMeta, } from '#src/modules/acp/acpStopReason.js';
59
61
  import { ACP_AGENT_NAME, ACP_AGENT_TITLE, CLOSE_TURN_DRAIN_MS, acpStatusCallback, agentVersion, announceAcpStart, drainWithDeadline, isSameWorkspace, loadConfigForCwd, promptText, resolveAcpSessionCommand, } from '#src/modules/acp/acpCommon.js';
60
62
  export { ACP_AGENT_NAME, ACP_AGENT_TITLE, announceAcpStart, isSameWorkspace };
61
63
  /**
@@ -113,6 +115,22 @@ export function createAcpAgentApp(options = {}) {
113
115
  * sees. Every exit — success, cancellation, failure — ends on an idle `state_update` with a stop
114
116
  * reason, because that notification is the ONLY thing that tells a client the turn is over.
115
117
  */
118
+ /**
119
+ * [[EXT-159]] — why the turn that just ended ended, or `null` when no site classified it.
120
+ *
121
+ * Fail-soft and read at the point of use rather than captured up front: the runner holds this
122
+ * turn's reason until the next turn resets it, so both the stop-reason decision and the report to
123
+ * the client see the same value, and a runner that does not implement it (a test double, an
124
+ * embedder's own) degrades to "unclassified" instead of taking the session down.
125
+ */
126
+ const terminationOf = (session) => {
127
+ try {
128
+ return session.runner.getTerminationReason?.() ?? null;
129
+ }
130
+ catch {
131
+ return null;
132
+ }
133
+ };
116
134
  const runTurn = async (session, prompt) => {
117
135
  const mapper = new AcpUpdateMapper();
118
136
  const abort = new AbortController();
@@ -213,6 +231,19 @@ export function createAcpAgentApp(options = {}) {
213
231
  }
214
232
  if (session.cancelled || abort.signal.aborted)
215
233
  stopReason = 'cancelled';
234
+ else {
235
+ // [[EXT-159]] — the turn returned, and the typed reason is what says which ending it was.
236
+ // A truncated answer and an ordinary finish both used to arrive as `end_turn`; the map is
237
+ // what tells them apart, and `_error` is v2's sanctioned way to say "stopped, and none of
238
+ // the defined reasons is what happened".
239
+ //
240
+ // An UNCLASSIFIED ending keeps `end_turn` rather than becoming `_error`. Absence means a
241
+ // site we missed — a fact for us, recorded in the log and the dump — and reporting our own
242
+ // blind spot to the client as a failed turn would state something false about their run.
243
+ const ended = terminationOf(session);
244
+ if (ended)
245
+ stopReason = acpStopReasonFor(ended) ?? ACP_ERROR_STOP_REASON;
246
+ }
216
247
  }
217
248
  catch (error) {
218
249
  // A cancelled run surfaces as a thrown abort from whatever library noticed the signal first.
@@ -256,8 +287,30 @@ export function createAcpAgentApp(options = {}) {
256
287
  });
257
288
  }
258
289
  }
290
+ // [[EXT-159]] — and the editor is told WHY, not just that it stopped.
291
+ //
292
+ // A stop reason alone cannot carry this: ACP's vocabulary is five words wide and a dozen
293
+ // unrelated causes land on the same one, which is the flattening this node exists to undo. So
294
+ // the classification goes to the client twice — as a line in the conversation, which is where
295
+ // the person is looking, and as structured `_meta` on the state update, which is what a
296
+ // client can act on without parsing prose. Nothing is announced for an ordinary end.
297
+ const reason = terminationOf(session);
298
+ if (reason && shouldAnnounceTermination(reason)) {
299
+ const notice = terminationNotice(reason);
300
+ await sendUpdate(session, {
301
+ sessionUpdate: 'agent_message',
302
+ messageId: randomUUID(),
303
+ content: [{ type: 'text', text: [notice.title, ...notice.lines].join('\n') }],
304
+ }).catch(() => {
305
+ /* the connection is already gone; the idle state below is still attempted */
306
+ });
307
+ }
259
308
  // The turn is over only once this lands, whatever happened above.
260
- await sendState(session, { state: 'idle', stopReason }).catch(() => {
309
+ await sendState(session, {
310
+ state: 'idle',
311
+ stopReason,
312
+ ...(acpTerminationMeta(reason) ? { _meta: acpTerminationMeta(reason) } : {}),
313
+ }).catch(() => {
261
314
  /* connection closed mid-turn; nothing left to report to */
262
315
  });
263
316
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acpAgentApp.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpAgentApp.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentApp.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,8 @@ import { createResolvers } from '#src/resolvers.js';
54
54
  import { resolveAgentFactory } from '#src/core/resolveAgentFactory.js';
55
55
  import { AcpV1UpdateMapper } from '#src/modules/acp/acpUpdatesV1.js';
56
56
  import { decisionForOutcome, rememberedAnswerNote } from '#src/modules/acp/acpPermissions.js';
57
+ import { shouldAnnounceTermination, terminationNotice, } from '@gaunt-sloth/core/core/terminationNotice.js';
58
+ import { acpStopReasonFor, acpTerminationMeta } from '#src/modules/acp/acpStopReason.js';
57
59
  import { permissionRequestForV1 } from '#src/modules/acp/acpPermissionsV1.js';
58
60
  import { ACP_AGENT_NAME, ACP_AGENT_TITLE, CLOSE_TURN_DRAIN_MS, acpStatusCallback, agentVersion, drainWithDeadline, isSameWorkspace, loadConfigForCwd, promptText, resolveAcpSessionCommand, } from '#src/modules/acp/acpCommon.js';
59
61
  /**
@@ -108,6 +110,21 @@ export function createAcpV1AgentApp(options = {}) {
108
110
  update,
109
111
  });
110
112
  };
113
+ /**
114
+ * [[EXT-159]] — why the turn that just ended ended, or `null` when no site classified it.
115
+ *
116
+ * Fail-soft: a runner without the getter (a test double, an embedder's own) degrades to
117
+ * "unclassified" rather than taking the session down, and an unclassified ending is reported as
118
+ * an absence everywhere it travels rather than being filled in with a guess.
119
+ */
120
+ const terminationOf = (session) => {
121
+ try {
122
+ return session.runner.getTerminationReason?.() ?? null;
123
+ }
124
+ catch {
125
+ return null;
126
+ }
127
+ };
111
128
  /**
112
129
  * Runs one prompt turn to completion and reports how it ended.
113
130
  *
@@ -193,19 +210,51 @@ export function createAcpV1AgentApp(options = {}) {
193
210
  for (const update of mapper.map(event))
194
211
  await sendUpdate(session, update);
195
212
  }
196
- if (session.cancelled || abort.signal.aborted)
197
- return { ok: true, stopReason: 'cancelled' };
198
- return { ok: true, stopReason: 'end_turn' };
213
+ const ended = terminationOf(session);
214
+ // [[EXT-159]] the client is told why, in the two channels v1 has for it: a line in the
215
+ // conversation, because that is where the person is looking, and structured `_meta` on the
216
+ // response, because that is what a client can act on. Nothing is said for an ordinary end.
217
+ if (ended && shouldAnnounceTermination(ended)) {
218
+ const notice = terminationNotice(ended);
219
+ await sendUpdate(session, {
220
+ sessionUpdate: 'agent_message_chunk',
221
+ messageId: randomUUID(),
222
+ content: { type: 'text', text: [notice.title, ...notice.lines].join('\n') },
223
+ }).catch(() => undefined);
224
+ }
225
+ if (session.cancelled || abort.signal.aborted) {
226
+ return { ok: true, stopReason: 'cancelled', termination: ended };
227
+ }
228
+ // An UNCLASSIFIED ending keeps `end_turn`: absence means a site we missed, which is our fact
229
+ // to record, not a failure to report to somebody else's editor.
230
+ //
231
+ // Its own branch rather than a `?:` folded into the map below, so everything after it holds a
232
+ // reason for certain. Written the other way, the call to `terminationNotice` needed an `as`
233
+ // cast whose safety rested on this very fallback being truthy four lines further up — and a
234
+ // cast is precisely the construct that stays quiet when the invariant under it moves.
235
+ if (!ended)
236
+ return { ok: true, stopReason: 'end_turn', termination: null };
237
+ // A classified ending the closed union CAN state. One it cannot is the case v1 answers with a
238
+ // JSON-RPC error, below and by the caller.
239
+ const mapped = acpStopReasonFor(ended);
240
+ if (mapped)
241
+ return { ok: true, stopReason: mapped, termination: ended };
242
+ return { ok: false, message: terminationNotice(ended).title, termination: ended };
199
243
  }
200
244
  catch (error) {
201
245
  // A cancelled run surfaces as a thrown abort from whatever library noticed the signal first.
202
246
  // The spec is explicit that this MUST NOT reach the client as an error: clients render
203
247
  // unrecognized errors, and a user who pressed stop would be shown a failure for it.
204
- if (session.cancelled || abort.signal.aborted)
205
- return { ok: true, stopReason: 'cancelled' };
248
+ const ended = terminationOf(session);
249
+ if (session.cancelled || abort.signal.aborted) {
250
+ return { ok: true, stopReason: 'cancelled', termination: ended };
251
+ }
206
252
  const message = error instanceof Error ? error.message : String(error);
207
253
  displayWarning(`ACP session ${session.sessionId}: turn failed — ${message}`);
208
- return { ok: false, message };
254
+ // [[EXT-159]] the classification rides out with the failure. The message is the provider's
255
+ // prose, which is what this class of fault has always been reduced to; `termination` is the
256
+ // fact that says which of a dozen unrelated causes it was.
257
+ return { ok: false, message, termination: ended };
209
258
  }
210
259
  finally {
211
260
  session.runner.setToolApprovalCallback(null);
@@ -326,9 +375,15 @@ export function createAcpV1AgentApp(options = {}) {
326
375
  session.turn = turn.then(() => undefined);
327
376
  const outcome = await turn;
328
377
  if (!outcome.ok) {
329
- throw acp.RequestError.internalError({ sessionId: session.sessionId }, `The agent could not complete this turn: ${outcome.message}`);
378
+ throw acp.RequestError.internalError(
379
+ // [[EXT-159]] — the classification goes in the error's `data`, where a client reads
380
+ // structured detail, rather than only into the sentence it renders. Same value, same
381
+ // taxonomy as the `_meta` on a successful turn: one answer to "why did this end",
382
+ // whichever way the turn left.
383
+ { sessionId: session.sessionId, ...(acpTerminationMeta(outcome.termination) ?? {}) }, `The agent could not complete this turn: ${outcome.message}`);
330
384
  }
331
- return { stopReason: outcome.stopReason };
385
+ const meta = acpTerminationMeta(outcome.termination);
386
+ return { stopReason: outcome.stopReason, ...(meta ? { _meta: meta } : {}) };
332
387
  })
333
388
  .onNotification(acp.AGENT_METHODS.session_cancel, ({ params }) => {
334
389
  const session = sessions.get(params.sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"acpAgentAppV1.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentAppV1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AA8BvC;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,SAAS,GAAiC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACzE,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAuB,EAAE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,+EAA+E;IAC/E,IAAI,aAAiC,CAAC;IACtC;;;;;;;OAOG;IACH,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC;YAAE,aAAa,GAAG,SAAS,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAgB,EAAE;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAClC,EAAE,SAAS,EAAE,EACb,oBAAoB,SAAS,gCAAgC,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,EAAE,OAAqB,EAAE,MAAyB,EAAiB,EAAE;QAC3F,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE;YAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,OAAqB,EACrB,MAAmC,EACb,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC;YACH,mFAAmF;YACnF,0FAA0F;YAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,8FAA8F;YAC9F,mFAAmF;YACnF,EAAE;YACF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,+FAA+F;YAC/F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;YAEtD,0FAA0F;YAC1F,oEAAoE;YACpE,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAClC,GAAG,CAAC,cAAc,CAAC,0BAA0B,EAC7C,sBAAsB,CAAC;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;iBAC/D,CAAC;gBACF,sFAAsF;gBACtF,0FAA0F;gBAC1F,8CAA8C;gBAC9C,EAAE,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,CACrC,CAAC;gBACF,2FAA2F;gBAC3F,2FAA2F;gBAC3F,4FAA4F;gBAC5F,yFAAyF;gBACzF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,kFAAkF;gBAClF,EAAE;gBACF,wFAAwF;gBACxF,uFAAuF;gBACvF,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC1C,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;iBACnC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC7C,6FAA6F;gBAC7F,2FAA2F;gBAC3F,6FAA6F;gBAC7F,8CAA8C;gBAC9C,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,4FAA4F;YAC5F,gGAAgG;YAChG,0EAA0E;YAC1E,EAAE;YACF,8FAA8F;YAC9F,+FAA+F;YAC/F,2FAA2F;YAC3F,4FAA4F;YAC5F,gCAAgC;YAChC,EAAE;YACF,2FAA2F;YAC3F,+EAA+E;YAC/E,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,OAAO;gBACnD,KAAK,UAAU,CAAC,OAAO,EAAE;oBACvB,aAAa,EAAE,qBAAqB;oBACpC,SAAS,EAAE,UAAU,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;iBACrE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAChE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EACxB,KAAK,CAAC,MAAM,CACb,EAAE,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YAC5F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,uFAAuF;YACvF,oFAAoF;YACpF,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YAC5F,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,cAAc,CAAC,eAAe,OAAO,CAAC,SAAS,mBAAmB,OAAO,EAAE,CAAC,CAAC;YAC7E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC7C,6FAA6F;YAC7F,0FAA0F;YAC1F,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,OAAqB,EAAiB,EAAE;QAClE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,8FAA8F;QAC9F,4FAA4F;QAC5F,gGAAgG;QAChG,8BAA8B;QAC9B,EAAE;QACF,8FAA8F;QAC9F,wEAAwE;QACxE,MAAM,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CACZ,eAAe,OAAO,CAAC,SAAS,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,GAAG;SACP,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAC/B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,6FAA6F;QAC7F,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACpF,iBAAiB,EAAE;YACjB,yFAAyF;YACzF,0FAA0F;YAC1F,uFAAuF;YACvF,sFAAsF;YACtF,4CAA4C;YAC5C,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC7C;KACF,CAAC,CAAC;SACF,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAClC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,EAClC,iCAAiC,aAAa,wCAAwC,GAAG,GAAG,CAC7F,CAAC;QACJ,CAAC;QACD,8FAA8F;QAC9F,uFAAuF;QACvF,2FAA2F;QAC3F,6EAA6E;QAC7E,aAAa,GAAG,GAAG,CAAC;QACpB,eAAe,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,iBAAiB,EACjB,OAAO,CAAC,SAAS,IAAI,eAAe,EAAE,EACtC,eAAe,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,mFAAmF;YACnF,qFAAqF;YACrF,EAAE;YACF,0FAA0F;YAC1F,0FAA0F;YAC1F,4FAA4F;YAC5F,yFAAyF;YACzF,sFAAsF;YACtF,uFAAuF;YACvF,cAAc;YACd,EAAE;YACF,wFAAwF;YACxF,4FAA4F;YAC5F,qFAAqF;YACrF,8BAA8B;YAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;YAE/E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;gBACtB,SAAS;gBACT,GAAG;gBACH,MAAM;gBACN,MAAM;gBACN,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,eAAe,IAAI,CAAC,CAAC;YACrB,wFAAwF;YACxF,4FAA4F;YAC5F,SAAS;YACT,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACxF,OAAO;YACL,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC7B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;iBAChF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/D,uFAAuF;QACvF,+BAA+B;QAC/B,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CACnC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAC/B,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,oFAAoF;QACpF,kFAAkF;QAClF,wEAAwE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAClC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,2CAA2C,OAAO,CAAC,OAAO,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC,CAAC;SACD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,4FAA4F;QAC5F,0FAA0F;QAC1F,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"acpAgentAppV1.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentAppV1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AA8BvC;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,SAAS,GAAiC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACzE,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC;AA8BD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAuB,EAAE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,+EAA+E;IAC/E,IAAI,aAAiC,CAAC;IACtC;;;;;;;OAOG;IACH,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC;YAAE,aAAa,GAAG,SAAS,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAgB,EAAE;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAClC,EAAE,SAAS,EAAE,EACb,oBAAoB,SAAS,gCAAgC,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,EAAE,OAAqB,EAAE,MAAyB,EAAiB,EAAE;QAC3F,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE;YAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,aAAa,GAAG,CAAC,OAAqB,EAA+B,EAAE;QAC3E,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,OAAqB,EACrB,MAAmC,EACb,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC;YACH,mFAAmF;YACnF,0FAA0F;YAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,8FAA8F;YAC9F,mFAAmF;YACnF,EAAE;YACF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,+FAA+F;YAC/F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;YAEtD,0FAA0F;YAC1F,oEAAoE;YACpE,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAClC,GAAG,CAAC,cAAc,CAAC,0BAA0B,EAC7C,sBAAsB,CAAC;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO;oBACP,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;iBAC/D,CAAC;gBACF,sFAAsF;gBACtF,0FAA0F;gBAC1F,8CAA8C;gBAC9C,EAAE,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,CACrC,CAAC;gBACF,2FAA2F;gBAC3F,2FAA2F;gBAC3F,4FAA4F;gBAC5F,yFAAyF;gBACzF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,kFAAkF;gBAClF,EAAE;gBACF,wFAAwF;gBACxF,uFAAuF;gBACvF,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC1C,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;iBACnC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC7C,6FAA6F;gBAC7F,2FAA2F;gBAC3F,6FAA6F;gBAC7F,8CAA8C;gBAC9C,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,4FAA4F;YAC5F,gGAAgG;YAChG,0EAA0E;YAC1E,EAAE;YACF,8FAA8F;YAC9F,+FAA+F;YAC/F,2FAA2F;YAC3F,4FAA4F;YAC5F,gCAAgC;YAChC,EAAE;YACF,2FAA2F;YAC3F,+EAA+E;YAC/E,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,OAAO;gBACnD,KAAK,UAAU,CAAC,OAAO,EAAE;oBACvB,aAAa,EAAE,qBAAqB;oBACpC,SAAS,EAAE,UAAU,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;iBACrE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAChE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EACxB,KAAK,CAAC,MAAM,CACb,EAAE,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACrC,yFAAyF;YACzF,2FAA2F;YAC3F,2FAA2F;YAC3F,IAAI,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,UAAU,CAAC,OAAO,EAAE;oBACxB,aAAa,EAAE,qBAAqB;oBACpC,SAAS,EAAE,UAAU,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACvD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACnE,CAAC;YACD,6FAA6F;YAC7F,gEAAgE;YAChE,EAAE;YACF,8FAA8F;YAC9F,4FAA4F;YAC5F,4FAA4F;YAC5F,sFAAsF;YACtF,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3E,8FAA8F;YAC9F,2CAA2C;YAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,uFAAuF;YACvF,oFAAoF;YACpF,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACnE,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,cAAc,CAAC,eAAe,OAAO,CAAC,SAAS,mBAAmB,OAAO,EAAE,CAAC,CAAC;YAC7E,6FAA6F;YAC7F,4FAA4F;YAC5F,2DAA2D;YAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC7C,6FAA6F;YAC7F,0FAA0F;YAC1F,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,OAAqB,EAAiB,EAAE;QAClE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,8FAA8F;QAC9F,4FAA4F;QAC5F,gGAAgG;QAChG,8BAA8B;QAC9B,EAAE;QACF,8FAA8F;QAC9F,wEAAwE;QACxE,MAAM,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CACZ,eAAe,OAAO,CAAC,SAAS,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,GAAG;SACP,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAC/B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,6FAA6F;QAC7F,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACpF,iBAAiB,EAAE;YACjB,yFAAyF;YACzF,0FAA0F;YAC1F,uFAAuF;YACvF,sFAAsF;YACtF,4CAA4C;YAC5C,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC7C;KACF,CAAC,CAAC;SACF,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAClC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,EAClC,iCAAiC,aAAa,wCAAwC,GAAG,GAAG,CAC7F,CAAC;QACJ,CAAC;QACD,8FAA8F;QAC9F,uFAAuF;QACvF,2FAA2F;QAC3F,6EAA6E;QAC7E,aAAa,GAAG,GAAG,CAAC;QACpB,eAAe,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,iBAAiB,EACjB,OAAO,CAAC,SAAS,IAAI,eAAe,EAAE,EACtC,eAAe,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,mFAAmF;YACnF,qFAAqF;YACrF,EAAE;YACF,0FAA0F;YAC1F,0FAA0F;YAC1F,4FAA4F;YAC5F,yFAAyF;YACzF,sFAAsF;YACtF,uFAAuF;YACvF,cAAc;YACd,EAAE;YACF,wFAAwF;YACxF,4FAA4F;YAC5F,qFAAqF;YACrF,8BAA8B;YAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;YAE/E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;gBACtB,SAAS;gBACT,GAAG;gBACH,MAAM;gBACN,MAAM;gBACN,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,eAAe,IAAI,CAAC,CAAC;YACrB,wFAAwF;YACxF,4FAA4F;YAC5F,SAAS;YACT,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACxF,OAAO;YACL,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC7B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;iBAChF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/D,uFAAuF;QACvF,+BAA+B;QAC/B,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CACnC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAC/B,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,oFAAoF;QACpF,kFAAkF;QAClF,wEAAwE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa;YAClC,oFAAoF;YACpF,qFAAqF;YACrF,kFAAkF;YAClF,+BAA+B;YAC/B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EACpF,2CAA2C,OAAO,CAAC,OAAO,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC;SACD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,4FAA4F;QAC5F,0FAA0F;QAC1F,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * [[EXT-159]] — the one place ACP's stop reasons are derived from our termination taxonomy.
4
+ *
5
+ * ACP maintains its own `StopReason` vocabulary, and an editor speaking ACP is a fourth consumer of
6
+ * the same classification the retry posture, the 400-never/429-is-different ruling and the
7
+ * nudge-or-back-off decision read. **So it is mapped onto, never forked.** A second vocabulary
8
+ * grown beside the taxonomy is how two answers to "why did this end" come to disagree, and the
9
+ * editor's is the one the user sees.
10
+ *
11
+ * **The map is exhaustive by type, not by care.** It is a `Record` over every category, so a 23rd
12
+ * member of the taxonomy is a build failure here rather than a run that silently reports the new
13
+ * cause as `end_turn`.
14
+ *
15
+ * **`null` is a real answer and the most important one.** v1's union is CLOSED — five members, no
16
+ * extension point — and several of our categories have no true member in it: a rate limit is not a
17
+ * refusal and it is certainly not the model finishing. Rather than pick the nearest wrong word,
18
+ * those map to `null`, which tells the caller "the closed vocabulary cannot state this" and routes
19
+ * it to the dialect's own way of saying so: a JSON-RPC error on v1, an underscore-prefixed custom
20
+ * reason on v2. The full classification then rides alongside as structured data — `_meta` on the
21
+ * response, `data` on the error — so nothing is lost by the narrowing.
22
+ */
23
+ import type { GthTerminationReason } from '@gaunt-sloth/core/core/terminationReason.js';
24
+ /**
25
+ * The stop reasons ACP defines, spelled here rather than imported.
26
+ *
27
+ * v1 and v2 export a `StopReason` each and they are not the same type: v1's is closed and v2's is
28
+ * widened with `string` for custom, underscore-prefixed reasons. A map written against either would
29
+ * be wrong for the other — against v2's it would type-check while emitting values v1 rejects — so
30
+ * the shared half is named once, and each dialect's own extension stays in that dialect's module.
31
+ */
32
+ export type AcpClosedStopReason = 'end_turn' | 'max_tokens' | 'max_turn_requests' | 'refusal' | 'cancelled';
33
+ /**
34
+ * The custom v2 stop reason for an ending the closed vocabulary cannot state.
35
+ *
36
+ * v2 reserves custom reasons to names beginning with an underscore. Deliberately ONE name rather
37
+ * than one per category: a client cannot be expected to learn our taxonomy from its stop reason
38
+ * field, and the classification it should actually read is the structured value beside it.
39
+ */
40
+ export declare const ACP_ERROR_STOP_REASON = "_error";
41
+ /**
42
+ * The ACP stop reason for a termination reason, or `null` when the closed vocabulary cannot state
43
+ * it — including when nothing classified the ending at all.
44
+ *
45
+ * A `null` REASON and a `null` result are deliberately the same answer here. An unclassified ending
46
+ * is a site we missed, and the honest report of it is the dialect's own "stopped, and none of the
47
+ * defined reasons is what happened" — never a guessed `end_turn`, which would claim the model
48
+ * finished on precisely the turns where nobody knows what happened.
49
+ */
50
+ export declare function acpStopReasonFor(reason: GthTerminationReason | null | undefined): AcpClosedStopReason | null;
51
+ /**
52
+ * The classification as structured metadata, for the `_meta` of an ACP response or the `data` of an
53
+ * ACP error.
54
+ *
55
+ * Namespaced, because `_meta` is a shared bag whose keys are reserved by convention rather than by
56
+ * the protocol. Returns `undefined` for an unclassified ending rather than a placeholder object: a
57
+ * client must be able to tell "we did not classify this" from "we classified it as nothing".
58
+ */
59
+ export declare function acpTerminationMeta(reason: GthTerminationReason | null | undefined): Record<string, unknown> | undefined;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * [[EXT-159]] — the one place ACP's stop reasons are derived from our termination taxonomy.
4
+ *
5
+ * ACP maintains its own `StopReason` vocabulary, and an editor speaking ACP is a fourth consumer of
6
+ * the same classification the retry posture, the 400-never/429-is-different ruling and the
7
+ * nudge-or-back-off decision read. **So it is mapped onto, never forked.** A second vocabulary
8
+ * grown beside the taxonomy is how two answers to "why did this end" come to disagree, and the
9
+ * editor's is the one the user sees.
10
+ *
11
+ * **The map is exhaustive by type, not by care.** It is a `Record` over every category, so a 23rd
12
+ * member of the taxonomy is a build failure here rather than a run that silently reports the new
13
+ * cause as `end_turn`.
14
+ *
15
+ * **`null` is a real answer and the most important one.** v1's union is CLOSED — five members, no
16
+ * extension point — and several of our categories have no true member in it: a rate limit is not a
17
+ * refusal and it is certainly not the model finishing. Rather than pick the nearest wrong word,
18
+ * those map to `null`, which tells the caller "the closed vocabulary cannot state this" and routes
19
+ * it to the dialect's own way of saying so: a JSON-RPC error on v1, an underscore-prefixed custom
20
+ * reason on v2. The full classification then rides alongside as structured data — `_meta` on the
21
+ * response, `data` on the error — so nothing is lost by the narrowing.
22
+ */
23
+ /**
24
+ * The custom v2 stop reason for an ending the closed vocabulary cannot state.
25
+ *
26
+ * v2 reserves custom reasons to names beginning with an underscore. Deliberately ONE name rather
27
+ * than one per category: a client cannot be expected to learn our taxonomy from its stop reason
28
+ * field, and the classification it should actually read is the structured value beside it.
29
+ */
30
+ export const ACP_ERROR_STOP_REASON = '_error';
31
+ /**
32
+ * Every category, mapped to the ACP reason that is TRUE of it, or `null` when none is.
33
+ *
34
+ * The three `max_turn_requests` entries are the mapping's one judgement call, and it is deliberate:
35
+ * the closed vocabulary has exactly one member for *the agent's own in-turn bound ended this*, and
36
+ * the tool-error budget, the tool-loop guard and the graph's recursion limit are three such bounds.
37
+ * Reporting them as `end_turn` would say the model finished, which is the false-completion defect
38
+ * this taxonomy exists to remove; reporting them as errors would say something failed, which is
39
+ * also untrue — each is a guard doing its job. Which bound it was is in the `site` travelling
40
+ * beside this value.
41
+ */
42
+ const ACP_STOP_REASON = {
43
+ completed: 'end_turn',
44
+ // The model handed back having said nothing. Nothing failed and nobody refused, so this is an
45
+ // ordinary end of turn — the emptiness is the part the classification beside it carries.
46
+ empty_response: 'end_turn',
47
+ content_refusal: 'refusal',
48
+ output_truncated: 'max_tokens',
49
+ // NOT `max_tokens`, which states the OUTPUT cap: this is the input window, a different bound with
50
+ // a different remedy, and the two are exactly the pair a client would act on differently.
51
+ context_overflow: null,
52
+ rate_limited: null,
53
+ auth_failed: null,
54
+ invalid_request: null,
55
+ provider_error: null,
56
+ network_error: null,
57
+ timeout: null,
58
+ cancelled: 'cancelled',
59
+ // The gate declined to continue, which is what ACP's `refusal` says. An approvals stop is not a
60
+ // failure — nothing broke — so routing it to an error would show the user a crash for a decision.
61
+ approval_stop: 'refusal',
62
+ tool_error_budget: 'max_turn_requests',
63
+ tool_loop_guard: 'max_turn_requests',
64
+ interrupt_drain_guard: 'max_turn_requests',
65
+ tool_error: null,
66
+ // The graph is parked and the client is being handed control back; the turn itself is over.
67
+ suspended: 'end_turn',
68
+ recursion_limit: 'max_turn_requests',
69
+ // The consumer stopped listening. From the client's side that is indistinguishable from having
70
+ // cancelled, and it is the one closed member that does not claim the model did anything.
71
+ abandoned: 'cancelled',
72
+ unknown: null,
73
+ };
74
+ /**
75
+ * The ACP stop reason for a termination reason, or `null` when the closed vocabulary cannot state
76
+ * it — including when nothing classified the ending at all.
77
+ *
78
+ * A `null` REASON and a `null` result are deliberately the same answer here. An unclassified ending
79
+ * is a site we missed, and the honest report of it is the dialect's own "stopped, and none of the
80
+ * defined reasons is what happened" — never a guessed `end_turn`, which would claim the model
81
+ * finished on precisely the turns where nobody knows what happened.
82
+ */
83
+ export function acpStopReasonFor(reason) {
84
+ if (!reason)
85
+ return null;
86
+ return ACP_STOP_REASON[reason.category] ?? null;
87
+ }
88
+ /**
89
+ * The classification as structured metadata, for the `_meta` of an ACP response or the `data` of an
90
+ * ACP error.
91
+ *
92
+ * Namespaced, because `_meta` is a shared bag whose keys are reserved by convention rather than by
93
+ * the protocol. Returns `undefined` for an unclassified ending rather than a placeholder object: a
94
+ * client must be able to tell "we did not classify this" from "we classified it as nothing".
95
+ */
96
+ export function acpTerminationMeta(reason) {
97
+ if (!reason)
98
+ return undefined;
99
+ return { 'gauntSloth/terminationReason': { ...reason } };
100
+ }
101
+ //# sourceMappingURL=acpStopReason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acpStopReason.js","sourceRoot":"","sources":["../../../src/modules/acp/acpStopReason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAkBH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAyE;IAC5F,SAAS,EAAE,UAAU;IACrB,8FAA8F;IAC9F,yFAAyF;IACzF,cAAc,EAAE,UAAU;IAC1B,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,YAAY;IAC9B,kGAAkG;IAClG,0FAA0F;IAC1F,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,WAAW;IACtB,gGAAgG;IAChG,kGAAkG;IAClG,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,mBAAmB;IACpC,qBAAqB,EAAE,mBAAmB;IAC1C,UAAU,EAAE,IAAI;IAChB,4FAA4F;IAC5F,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,mBAAmB;IACpC,+FAA+F;IAC/F,yFAAyF;IACzF,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA+C;IAE/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA+C;IAE/C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,EAAE,8BAA8B,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;AAC3D,CAAC"}
@@ -49,8 +49,24 @@ export declare abstract class AcpToolCallTracker {
49
49
  protected trackToolStart(id: string, name: string): void;
50
50
  /** Accumulates one streamed argument delta. */
51
51
  protected appendToolArgs(id: string, delta: string): void;
52
+ /**
53
+ * What has already been sent as `rawInput` for a call, canonicalised, so the same value is not
54
+ * sent twice and a later, fuller one still is.
55
+ */
56
+ private readonly sentRawInput;
52
57
  /** The reassembled arguments for a call, as a value for `rawInput`. */
53
58
  protected rawInputFor(id: string): unknown;
59
+ /**
60
+ * [[TUI-C100]] — the `rawInput` a call still owes the client, or `undefined` when it owes none.
61
+ *
62
+ * `rawInput` is a whole value with no delta form, so it can only be sent once the arguments have
63
+ * stopped arriving — but **it must not wait for the call to finish.** A call held at the approval
64
+ * gate has its arguments long since complete and is precisely the one whose arguments matter
65
+ * most: they are what the human is being asked to rule on, and they are all a client has to draw
66
+ * the row the permission request points at. Sent when the arguments are known, and not resent
67
+ * unchanged, so a client's rendering never flickers back to a bare id.
68
+ */
69
+ protected takeRawInputUpdate(id: string): unknown;
54
70
  /** Forgets a call that has produced its result. */
55
71
  protected trackToolSettled(id: string): void;
56
72
  /**
@@ -87,13 +87,39 @@ export class AcpToolCallTracker {
87
87
  appendToolArgs(id, delta) {
88
88
  this.toolArgs.set(id, (this.toolArgs.get(id) ?? '') + delta);
89
89
  }
90
+ /**
91
+ * What has already been sent as `rawInput` for a call, canonicalised, so the same value is not
92
+ * sent twice and a later, fuller one still is.
93
+ */
94
+ sentRawInput = new Map();
90
95
  /** The reassembled arguments for a call, as a value for `rawInput`. */
91
96
  rawInputFor(id) {
92
97
  return parseToolArgs(this.toolArgs.get(id));
93
98
  }
99
+ /**
100
+ * [[TUI-C100]] — the `rawInput` a call still owes the client, or `undefined` when it owes none.
101
+ *
102
+ * `rawInput` is a whole value with no delta form, so it can only be sent once the arguments have
103
+ * stopped arriving — but **it must not wait for the call to finish.** A call held at the approval
104
+ * gate has its arguments long since complete and is precisely the one whose arguments matter
105
+ * most: they are what the human is being asked to rule on, and they are all a client has to draw
106
+ * the row the permission request points at. Sent when the arguments are known, and not resent
107
+ * unchanged, so a client's rendering never flickers back to a bare id.
108
+ */
109
+ takeRawInputUpdate(id) {
110
+ const value = this.rawInputFor(id);
111
+ if (value === undefined)
112
+ return undefined;
113
+ const canonical = canonicalJson(value);
114
+ if (this.sentRawInput.get(id) === canonical)
115
+ return undefined;
116
+ this.sentRawInput.set(id, canonical);
117
+ return value;
118
+ }
94
119
  /** Forgets a call that has produced its result. */
95
120
  trackToolSettled(id) {
96
121
  this.toolArgs.delete(id);
122
+ this.sentRawInput.delete(id);
97
123
  // A call a permission request already claimed is no longer in the queue; that is expected,
98
124
  // not a miss.
99
125
  const open = this.openToolCalls.findIndex(([openId]) => openId === id);
@@ -1 +1 @@
1
- {"version":3,"file":"acpToolCalls.js","sourceRoot":"","sources":["../../../src/modules/acp/acpToolCalls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpToolCalls.js","sourceRoot":"","sources":["../../../src/modules/acp/acpToolCalls.ts"],"names":[],"mappings":"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"}
@@ -97,12 +97,18 @@ export class AcpUpdateMapper extends AcpToolCallTracker {
97
97
  }
98
98
  case 'tool_args': {
99
99
  this.appendToolArgs(event.id, event.delta);
100
- return [];
100
+ // [[TUI-C100]] — send the arguments as soon as they are whole, rather than waiting for the
101
+ // call to end. A call stopped at the approval gate does not end until a human has ruled on
102
+ // it, and the arguments are what they are ruling on.
103
+ const rawInput = this.takeRawInputUpdate(event.id);
104
+ if (rawInput === undefined)
105
+ return [];
106
+ return [{ sessionUpdate: 'tool_call_update', toolCallId: event.id, rawInput }];
101
107
  }
102
108
  case 'tool_end': {
103
- const rawInput = this.rawInputFor(event.id);
104
- // Status only (plus the arguments, once they are complete). No title, no kind, no name —
105
- // the client keeps the ones the creating update set.
109
+ const rawInput = this.takeRawInputUpdate(event.id);
110
+ // Status only (plus the arguments, if they have not already been sent). No title, no kind,
111
+ // no name — the client keeps the ones the creating update set.
106
112
  return [
107
113
  {
108
114
  sessionUpdate: 'tool_call_update',
@@ -1 +1 @@
1
- {"version":3,"file":"acpUpdates.js","sourceRoot":"","sources":["../../../src/modules/acp/acpUpdates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpUpdates.js","sourceRoot":"","sources":["../../../src/modules/acp/acpUpdates.ts"],"names":[],"mappings":"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"}
@@ -115,12 +115,18 @@ export class AcpV1UpdateMapper extends AcpToolCallTracker {
115
115
  }
116
116
  case 'tool_args': {
117
117
  this.appendToolArgs(event.id, event.delta);
118
- return [];
118
+ // [[TUI-C100]] — send the arguments as soon as they are whole, rather than waiting for the
119
+ // call to end. A call stopped at the approval gate does not end until a human has ruled on
120
+ // it, and the arguments are what they are ruling on.
121
+ const rawInput = this.takeRawInputUpdate(event.id);
122
+ if (rawInput === undefined)
123
+ return [];
124
+ return [{ sessionUpdate: 'tool_call_update', toolCallId: event.id, rawInput }];
119
125
  }
120
126
  case 'tool_end': {
121
- const rawInput = this.rawInputFor(event.id);
122
- // Status only (plus the arguments, once they are complete). No title, no kind, no name —
123
- // the client keeps the ones the creating update set.
127
+ const rawInput = this.takeRawInputUpdate(event.id);
128
+ // Status only (plus the arguments, if they have not already been sent). No title, no kind,
129
+ // no name — the client keeps the ones the creating update set.
124
130
  return [
125
131
  {
126
132
  sessionUpdate: 'tool_call_update',