@code-yeongyu/senpi 2026.9.23-3 → 2026.9.23-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/dist/bundle/chunks/{app-server-command-U5Y46LHO.js → app-server-command-BGT65PGC.js} +1 -1
- package/dist/bundle/chunks/{chunk-UCTYTLP3.js → chunk-3RN6BFG2.js} +2 -2
- package/dist/bundle/chunks/{chunk-XTXBPXZZ.js → chunk-EN6KDFY2.js} +1 -1
- package/dist/bundle/chunks/{chunk-2NFHX2FJ.js → chunk-J3QXPP4T.js} +1 -1
- package/dist/bundle/chunks/chunk-LTIMMSDM.js +8 -0
- package/dist/bundle/chunks/{chunk-67Z5WNA4.js → chunk-PSMTQDII.js} +1 -1
- package/dist/bundle/chunks/{chunk-TH4PERSI.js → chunk-RRSND33J.js} +50 -64
- package/dist/bundle/chunks/{chunk-Y4AJLTFT.js → chunk-WUYBEF7C.js} +1 -1
- package/dist/bundle/chunks/{chunk-IDSOMHWS.js → chunk-WXIRFRXY.js} +1 -1
- package/dist/bundle/chunks/{chunk-R6F525XB.js → chunk-XDSQYM4F.js} +1 -1
- package/dist/bundle/chunks/{chunk-TUVSARCZ.js → chunk-ZEFQYQOU.js} +1 -1
- package/dist/bundle/chunks/{cli-main-65WMMIRT.js → cli-main-W55CWPEI.js} +1 -1
- package/dist/bundle/chunks/cursor-agent.js +1 -1
- package/dist/bundle/chunks/{help-fast-path-VXAZDQ3Z.js → help-fast-path-QXVCHTP3.js} +1 -1
- package/dist/bundle/chunks/{host-command-5PEFD4N6.js → host-command-3PUZYQOK.js} +1 -1
- package/dist/bundle/chunks/{host-lifecycle-BXW5C4JT.js → host-lifecycle-OHPSU5VU.js} +1 -1
- package/dist/bundle/chunks/{interactive-host-runtime-DUNYT24Q.js → interactive-host-runtime-57LEAJPU.js} +1 -1
- package/dist/bundle/chunks/{interactive-mode-SCG5PQZ6.js → interactive-mode-EDJZ4CSY.js} +1 -1
- package/dist/bundle/chunks/{multi-session-host-QC6BZZNH.js → multi-session-host-GFSDQQUJ.js} +1 -1
- package/dist/bundle/chunks/{package-manager-cli-23GULCVL.js → package-manager-cli-J7244EJE.js} +1 -1
- package/dist/bundle/chunks/{pi-messages-B6RSUQKL.js → pi-messages-CAS467IY.js} +1 -1
- package/dist/bundle/chunks/{rotation-stream-ZIYWOB2N.js → rotation-stream-CZT4TRPD.js} +1 -1
- package/dist/bundle/chunks/{rpc-mode-ZQ4E6FFA.js → rpc-mode-75CRTY24.js} +1 -1
- package/dist/bundle/chunks/{session-picker-CO2ZK3EC.js → session-picker-ZIBANFBQ.js} +1 -1
- package/dist/bundle/chunks/session-worker.js +56 -70
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/core/agent-session.d.ts +9 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +14 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -1
- package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +43 -26
- package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -1
- package/dist/core/extensions/builtin/nested-agents-md/index.js +1 -1
- package/dist/core/extensions/builtin/nested-agents-md/index.js.map +1 -1
- package/dist/core/extensions/builtin/rule-activation/types.d.ts +2 -0
- package/dist/core/extensions/builtin/rule-activation/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rule-activation/types.js +7 -1
- package/dist/core/extensions/builtin/rule-activation/types.js.map +1 -1
- package/dist/core/extensions/builtin/rules/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/index.js +2 -1
- package/dist/core/extensions/builtin/rules/index.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/output-format.d.ts +15 -0
- package/dist/core/extensions/builtin/terminal/output-format.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/output-format.js +43 -2
- package/dist/core/extensions/builtin/terminal/output-format.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-output.js +4 -3
- package/dist/core/extensions/builtin/terminal/tools/bash-output.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash.js +3 -3
- package/dist/core/extensions/builtin/terminal/tools/bash.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/context.d.ts +7 -4
- package/dist/core/extensions/builtin/terminal/tools/context.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/context.js +5 -0
- package/dist/core/extensions/builtin/terminal/tools/context.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/render.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/render.js +5 -2
- package/dist/core/extensions/builtin/terminal/tools/render.js.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.d.ts +3 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.d.ts.map +1 -1
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.js +9 -3
- package/dist/core/extensions/builtin/webfetch/webfetch/tool.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +87 -14
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/tool-call-display-name.d.ts +15 -0
- package/dist/core/tool-call-display-name.d.ts.map +1 -0
- package/dist/core/tool-call-display-name.js +14 -0
- package/dist/core/tool-call-display-name.js.map +1 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +12 -7
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +9 -6
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep/format.d.ts +3 -2
- package/dist/core/tools/grep/format.d.ts.map +1 -1
- package/dist/core/tools/grep/format.js +5 -3
- package/dist/core/tools/grep/format.js.map +1 -1
- package/dist/core/tools/grep/index.js +2 -2
- package/dist/core/tools/grep/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +5 -3
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/model-only-text.d.ts +4 -0
- package/dist/core/tools/model-only-text.d.ts.map +1 -0
- package/dist/core/tools/model-only-text.js +12 -0
- package/dist/core/tools/model-only-text.js.map +1 -0
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +15 -5
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +2 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +1 -25
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/renderers/grep.d.ts.map +1 -1
- package/dist/core/tools/renderers/grep.js +0 -25
- package/dist/core/tools/renderers/grep.js.map +1 -1
- package/dist/core/tools/renderers/read.d.ts +8 -0
- package/dist/core/tools/renderers/read.d.ts.map +1 -1
- package/dist/core/tools/renderers/read.js +2 -14
- package/dist/core/tools/renderers/read.js.map +1 -1
- package/dist/modes/interactive/components/exploration-call.d.ts +4 -1
- package/dist/modes/interactive/components/exploration-call.d.ts.map +1 -1
- package/dist/modes/interactive/components/exploration-call.js +17 -2
- package/dist/modes/interactive/components/exploration-call.js.map +1 -1
- package/dist/modes/interactive/components/exploration-group.d.ts +3 -1
- package/dist/modes/interactive/components/exploration-group.d.ts.map +1 -1
- package/dist/modes/interactive/components/exploration-group.js +7 -1
- package/dist/modes/interactive/components/exploration-group.js.map +1 -1
- package/dist/modes/interactive/components/exploration-rules.d.ts +5 -0
- package/dist/modes/interactive/components/exploration-rules.d.ts.map +1 -0
- package/dist/modes/interactive/components/exploration-rules.js +15 -0
- package/dist/modes/interactive/components/exploration-rules.js.map +1 -0
- package/dist/modes/interactive/components/exploration-transcript-container.d.ts.map +1 -1
- package/dist/modes/interactive/components/exploration-transcript-container.js +10 -1
- package/dist/modes/interactive/components/exploration-transcript-container.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +4 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +3 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/json-event.d.ts +1 -0
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +1 -0
- package/dist/modes/json-event.js.map +1 -1
- package/docs/json.md +4 -1
- package/docs/rpc.md +7 -1
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +26 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +4 -19
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +8 -23
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/tool-name-alias.d.ts +8 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/tool-name-alias.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/tool-name-alias.js +27 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/tool-name-alias.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +17 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts +18 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js +103 -3
- package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js +15 -3
- package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts +7 -2
- package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js +92 -20
- package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +9 -1
- package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +5 -0
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
- package/dist/bundle/chunks/chunk-XPDV6SIX.js +0 -8
|
@@ -17,6 +17,7 @@ type JsonMessageUpdateEvent = {
|
|
|
17
17
|
type: "message_update";
|
|
18
18
|
usage: Usage;
|
|
19
19
|
assistantMessageEvent: ToJsonAssistantMessageEvent<MessageUpdateEvent["assistantMessageEvent"]>;
|
|
20
|
+
resolvedToolName?: string;
|
|
20
21
|
};
|
|
21
22
|
/** Session event shape emitted by the JSON and RPC stdout protocols. */
|
|
22
23
|
export type JsonAgentSessionEvent = Exclude<AgentSessionEvent, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-event.d.ts","sourceRoot":"","sources":["../../src/modes/json-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AAEjF,KAAK,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzF,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpD,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB,KAAK,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AACjF,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"json-event.d.ts","sourceRoot":"","sources":["../../src/modes/json-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AAEjF,KAAK,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzF,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpD,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB,KAAK,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AACjF,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAChG,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAAG,sBAAsB,CAAC;AAsBpH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,sBAAsB,CAAC;AAC/E,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,CAAC"}
|
package/dist/modes/json-event.js
CHANGED
|
@@ -24,6 +24,7 @@ export function toJsonEvent(event) {
|
|
|
24
24
|
type: "message_update",
|
|
25
25
|
usage: event.message.usage,
|
|
26
26
|
assistantMessageEvent: toJsonAssistantMessageEvent(event.assistantMessageEvent),
|
|
27
|
+
...(event.resolvedToolName === undefined ? {} : { resolvedToolName: event.resolvedToolName }),
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=json-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-event.js","sourceRoot":"","sources":["../../src/modes/json-event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-event.js","sourceRoot":"","sources":["../../src/modes/json-event.ts"],"names":[],"mappings":"AAoBA,SAAS,2BAA2B,CACnC,KAAkD;IAElD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,YAAY,qBAAqB,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QACnD,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACnD,OAAO,UAAU,CAAC;AACnB,CAAC;AAUD,MAAM,UAAU,WAAW,CAAC,KAAwB;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACN,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,qBAAqB,EAAE,2BAA2B,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;KAC7F,CAAC;AACH,CAAC","sourcesContent":["import type { Usage } from \"@earendil-works/pi-ai\";\nimport type { AgentSessionEvent } from \"../core/agent-session.ts\";\n\ntype WithoutPartial<T> = T extends { partial: unknown } ? Omit<T, \"partial\"> : T;\n\ntype ToJsonAssistantMessageEvent<T> = T extends { type: \"toolcall_start\"; partial: unknown }\n\t? WithoutPartial<T> & { id: string; toolName: string }\n\t: WithoutPartial<T>;\n\ntype MessageUpdateEvent = Extract<AgentSessionEvent, { type: \"message_update\" }>;\ntype JsonMessageUpdateEvent = {\n\ttype: \"message_update\";\n\tusage: Usage;\n\tassistantMessageEvent: ToJsonAssistantMessageEvent<MessageUpdateEvent[\"assistantMessageEvent\"]>;\n\tresolvedToolName?: string;\n};\n\n/** Session event shape emitted by the JSON and RPC stdout protocols. */\nexport type JsonAgentSessionEvent = Exclude<AgentSessionEvent, { type: \"message_update\" }> | JsonMessageUpdateEvent;\n\nfunction toJsonAssistantMessageEvent(\n\tevent: MessageUpdateEvent[\"assistantMessageEvent\"],\n): JsonMessageUpdateEvent[\"assistantMessageEvent\"] {\n\tif (event.type === \"toolcall_start\") {\n\t\tconst toolCall = event.partial.content[event.contentIndex];\n\t\tif (toolCall?.type !== \"toolCall\") {\n\t\t\tthrow new Error(`toolcall_start content at index ${event.contentIndex} is not a tool call`);\n\t\t}\n\t\tconst { partial: _partial, ...deltaEvent } = event;\n\t\treturn { ...deltaEvent, id: toolCall.id, toolName: toolCall.name };\n\t}\n\n\tif (!(\"partial\" in event)) {\n\t\treturn event;\n\t}\n\n\tconst { partial: _partial, ...deltaEvent } = event;\n\treturn deltaEvent;\n}\n\n/**\n * Remove cumulative assistant snapshots from streaming wire events.\n * `message_start` provides the initial message, deltas build it, and\n * `message_end` provides the final authoritative message. Cumulative usage,\n * tool-call ids, and tool names remain available because their size is constant.\n */\nexport function toJsonEvent(event: MessageUpdateEvent): JsonMessageUpdateEvent;\nexport function toJsonEvent(event: AgentSessionEvent): JsonAgentSessionEvent;\nexport function toJsonEvent(event: AgentSessionEvent): JsonAgentSessionEvent {\n\tif (event.type !== \"message_update\") {\n\t\treturn event;\n\t}\n\tif (event.message.role !== \"assistant\") {\n\t\tthrow new Error(\"message_update message is not an assistant message\");\n\t}\n\n\treturn {\n\t\ttype: \"message_update\",\n\t\tusage: event.message.usage,\n\t\tassistantMessageEvent: toJsonAssistantMessageEvent(event.assistantMessageEvent),\n\t\t...(event.resolvedToolName === undefined ? {} : { resolvedToolName: event.resolvedToolName }),\n\t};\n}\n"]}
|
package/docs/json.md
CHANGED
|
@@ -49,6 +49,7 @@ type JsonAgentSessionEvent =
|
|
|
49
49
|
type: "message_update";
|
|
50
50
|
usage: Usage;
|
|
51
51
|
assistantMessageEvent: JsonAssistantMessageEvent<AssistantMessageEvent>;
|
|
52
|
+
resolvedToolName?: string; // toolcall_start and toolcall_end only
|
|
52
53
|
};
|
|
53
54
|
```
|
|
54
55
|
|
|
@@ -113,7 +114,9 @@ Followed by events as they occur:
|
|
|
113
114
|
the latest cumulative provider-reported usage and may remain zero when a provider only reports
|
|
114
115
|
usage at completion. Use `contentIndex` and `delta` to assemble live text, thinking, or tool-call
|
|
115
116
|
arguments if needed. A `toolcall_start` event also includes the constant-sized `id` and `toolName`
|
|
116
|
-
fields. `
|
|
117
|
+
fields. `toolcall_start` and `toolcall_end` records carry a top-level `resolvedToolName`: the tool
|
|
118
|
+
the call will run. It differs from the requested name when senpi resolves a gateway-namespaced or
|
|
119
|
+
recased name (`mcp__<id>__Edit` runs `edit`), and equals it otherwise, including when nothing resolves. `message_end` contains the final authoritative message.
|
|
117
120
|
|
|
118
121
|
## Example
|
|
119
122
|
|
package/docs/rpc.md
CHANGED
|
@@ -2391,9 +2391,15 @@ zero until completion when a provider does not report usage during streaming.
|
|
|
2391
2391
|
|
|
2392
2392
|
Example starting a tool call:
|
|
2393
2393
|
```json
|
|
2394
|
-
{"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"toolcall_start","contentIndex":1,"id":"call_abc123","toolName":"write"}}
|
|
2394
|
+
{"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"toolcall_start","contentIndex":1,"id":"call_abc123","toolName":"write"},"resolvedToolName":"write"}
|
|
2395
2395
|
```
|
|
2396
2396
|
|
|
2397
|
+
`toolcall_start` and `toolcall_end` records carry a top-level `resolvedToolName`: the tool the call
|
|
2398
|
+
will run, by the same rule the agent applies before executing it. A gateway-namespaced or recased
|
|
2399
|
+
call such as `mcp__1a2b__Edit` streams with `toolName: "mcp__1a2b__Edit"` and `resolvedToolName: "edit"`;
|
|
2400
|
+
an exact or unresolvable name reports itself. Title and render the call by `resolvedToolName`, which is
|
|
2401
|
+
also the `toolName` of its `tool_execution_*` events.
|
|
2402
|
+
|
|
2397
2403
|
`message_update` intentionally omits the former cumulative `message` field and
|
|
2398
2404
|
`assistantMessageEvent.partial`. Clients that need a live partial message must assemble it
|
|
2399
2405
|
from `message_start` and subsequent events using `contentIndex`. Treat `message_end.message`
|
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
|
|
13
13
|
### Removed
|
|
14
14
|
|
|
15
|
+
## [2026.9.23-5] - 2026-09-23
|
|
16
|
+
|
|
17
|
+
### Breaking Changes
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
## [2026.9.23-4] - 2026-09-23
|
|
28
|
+
|
|
29
|
+
### Breaking Changes
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Eval cards no longer display truncation or full-output artifact footer warnings. Model-facing eval text and grouping are unchanged; content explicitly addressed only to the model is omitted from the text fallback. ([#2041](https://github.com/code-yeongyu/senpi/issues/2041))
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
### Removed
|
|
40
|
+
|
|
15
41
|
## [2026.9.23-3] - 2026-09-23
|
|
16
42
|
|
|
17
43
|
### Breaking Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi-codemode",
|
|
3
|
-
"version": "2026.9.23-
|
|
3
|
+
"version": "2026.9.23-5",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Source-only senpi extension package for codemode evaluation tools",
|
|
6
6
|
"type": "module",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/parser": "8.0.4",
|
|
34
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.23-
|
|
34
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.23-5",
|
|
35
35
|
"typebox": "1.3.34"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
38
|
+
"@code-yeongyu/senpi": "2026.9.23-5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
41
|
+
"@code-yeongyu/senpi": "2026.9.23-5"
|
|
42
42
|
},
|
|
43
43
|
"keywords": [
|
|
44
44
|
"senpi",
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
type ToolRenderResultOptions,
|
|
10
10
|
truncateToVisualLines,
|
|
11
11
|
} from "@code-yeongyu/senpi";
|
|
12
|
-
import {
|
|
12
|
+
import type { TruncationMeta } from "../output/output-meta.ts";
|
|
13
13
|
import { displayCode } from "./display-code.ts";
|
|
14
14
|
import { normalizeEvalSummary } from "./eval-request.ts";
|
|
15
15
|
import {
|
|
@@ -661,7 +661,7 @@ function renderCell(cell: EvalCellResult, environment: RenderEnvironment, badges
|
|
|
661
661
|
for (const line of codePreview.lines) {
|
|
662
662
|
appendLines(lines, renderPrefixed(line, environment, { prefix: "│ ", continuation: "│ ", color: "borderMuted" }));
|
|
663
663
|
}
|
|
664
|
-
const output =
|
|
664
|
+
const output = cell.output.trimEnd();
|
|
665
665
|
if (output.length > 0) {
|
|
666
666
|
appendLines(lines, renderPrefixed("output", environment, { prefix: "├─ ", continuation: "│ ", color: "dim" }));
|
|
667
667
|
const outputColor: ThemeColor = cell.status === "error" ? "error" : "toolOutput";
|
|
@@ -773,24 +773,13 @@ function renderDetailedLines(
|
|
|
773
773
|
context.environment.width,
|
|
774
774
|
),
|
|
775
775
|
);
|
|
776
|
-
if (details.notice !== undefined)
|
|
777
|
-
appendLines(
|
|
778
|
-
lines,
|
|
779
|
-
renderAllVisualLines(style(context.environment.theme, "dim", details.notice), context.environment.width),
|
|
780
|
-
);
|
|
781
|
-
const warning = formatTruncationWarning(details.meta) ?? (details.truncated ? "[eval output truncated]" : null);
|
|
782
|
-
if (warning !== null)
|
|
783
|
-
appendLines(
|
|
784
|
-
lines,
|
|
785
|
-
renderAllVisualLines(style(context.environment.theme, "warning", warning), context.environment.width),
|
|
786
|
-
);
|
|
787
776
|
return lines;
|
|
788
777
|
}
|
|
789
778
|
|
|
790
779
|
function textOutput(result: AgentToolResult<EvalResultDetails>, showImageFallback: boolean): string {
|
|
791
780
|
const lines: string[] = [];
|
|
792
781
|
for (const part of result.content) {
|
|
793
|
-
if (part.type === "text") lines.push(part.text);
|
|
782
|
+
if (part.type === "text" && part.audience !== "model") lines.push(part.text);
|
|
794
783
|
else if (showImageFallback && part.type === "image") {
|
|
795
784
|
lines.push(`[image: ${sanitizeTerminalLabel(part.mimeType)}]`);
|
|
796
785
|
}
|
|
@@ -1031,7 +1020,7 @@ export function renderEvalResult(
|
|
|
1031
1020
|
{ kind: "blank" },
|
|
1032
1021
|
];
|
|
1033
1022
|
const rawOutput = textOutput(result, context.showImages && imageProtocol === null);
|
|
1034
|
-
const output =
|
|
1023
|
+
const output = rawOutput.trimEnd();
|
|
1035
1024
|
const hasRenderedImage =
|
|
1036
1025
|
context.showImages && imageProtocol !== null && result.content.some((part) => part.type === "image");
|
|
1037
1026
|
if (output.length > 0) {
|
|
@@ -1088,10 +1077,6 @@ export function renderEvalResult(
|
|
|
1088
1077
|
const calls = toolCallRows(details);
|
|
1089
1078
|
const nestedCalls = nestedToolCallBlock(details, theme, context.cwd, expanded);
|
|
1090
1079
|
if (calls.length > 0) blocks.push({ kind: "blank" }, nestedCalls ?? { kind: "toolCalls", calls, expanded, theme });
|
|
1091
|
-
if (details?.notice !== undefined)
|
|
1092
|
-
blocks.push({ kind: "blank" }, { kind: "text", text: style(theme, "dim", details.notice) });
|
|
1093
|
-
const warning = formatTruncationWarning(details?.meta) ?? (details?.truncated ? "[eval output truncated]" : null);
|
|
1094
|
-
if (warning !== null) blocks.push({ kind: "blank" }, { kind: "text", text: style(theme, "warning", warning) });
|
|
1095
1080
|
component.setBlocks(blocks);
|
|
1096
1081
|
return component;
|
|
1097
1082
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIN,KAAK,OAAO,EAEZ,WAAW,EAIX,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,QAAQ,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,SAAS,CACxB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAiBzC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAwBzC;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAmBD,qBAAa,uBAAwB,SAAQ,KAAK;IACjD,YAAY,SAAS,EAAE,MAAM,EAK5B;CACD;AA2ND,uGAAuG;AACvG,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,kBAAkB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB;
|
|
1
|
+
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIN,KAAK,OAAO,EAEZ,WAAW,EAIX,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,QAAQ,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,SAAS,CACxB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAiBzC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAwBzC;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAmBD,qBAAa,uBAAwB,SAAQ,KAAK;IACjD,YAAY,SAAS,EAAE,MAAM,EAK5B;CACD;AA2ND,uGAAuG;AACvG,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,kBAAkB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAknBD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,qBAAqB,CAOpG"}
|
|
@@ -6,7 +6,7 @@ import { EventStream, isCursorExecResolved, validateToolArguments, } from "@eare
|
|
|
6
6
|
import { createTerminalFailureAssistantMessage, demoteToolUseWithoutToolCalls, isStreamIdleTimeoutError, normalizeTerminalAssistantMessage, promoteStopWithPendingToolCalls, shouldFinalizeIdleAsStop, shouldTerminateAssistantTurn, } from "./assistant-terminal-state.js";
|
|
7
7
|
import { getDefaultStreamFn, withEmptyAssistantRecovery } from "./stream-fn.js";
|
|
8
8
|
import { prepareAgentToolCallArguments } from "./tool-arguments.js";
|
|
9
|
-
import {
|
|
9
|
+
import { resolveCallTool, withToolNameCorrection } from "./tool-name-alias.js";
|
|
10
10
|
/**
|
|
11
11
|
* Start an agent loop with a new prompt message.
|
|
12
12
|
* The prompt is added to the context and events are emitted for it.
|
|
@@ -635,13 +635,14 @@ async function executeToolCallsSequential(currentContext, assistantMessage, tool
|
|
|
635
635
|
const finalizedCalls = [];
|
|
636
636
|
const messages = [];
|
|
637
637
|
for (const toolCall of toolCalls) {
|
|
638
|
+
const tool = await resolveCallTool(currentContext, toolCall, config);
|
|
638
639
|
await emit({
|
|
639
640
|
type: "tool_execution_start",
|
|
640
641
|
toolCallId: toolCall.id,
|
|
641
|
-
toolName: toolCall.name,
|
|
642
|
+
toolName: tool?.name ?? toolCall.name,
|
|
642
643
|
args: toolCall.arguments,
|
|
643
644
|
});
|
|
644
|
-
const preparation = await prepareToolCall(currentContext, assistantMessage, toolCall, config, signal);
|
|
645
|
+
const preparation = await prepareToolCall(currentContext, assistantMessage, toolCall, tool, config, signal);
|
|
645
646
|
let finalized;
|
|
646
647
|
if (preparation.kind === "immediate") {
|
|
647
648
|
finalized = {
|
|
@@ -674,13 +675,14 @@ async function executeToolCallsParallel(currentContext, assistantMessage, toolCa
|
|
|
674
675
|
let lastSequentialCall;
|
|
675
676
|
let currentParallelWave = [];
|
|
676
677
|
for (const toolCall of toolCalls) {
|
|
678
|
+
const tool = await resolveCallTool(currentContext, toolCall, config);
|
|
677
679
|
await emit({
|
|
678
680
|
type: "tool_execution_start",
|
|
679
681
|
toolCallId: toolCall.id,
|
|
680
|
-
toolName: toolCall.name,
|
|
682
|
+
toolName: tool?.name ?? toolCall.name,
|
|
681
683
|
args: toolCall.arguments,
|
|
682
684
|
});
|
|
683
|
-
const preparation = await prepareToolCall(currentContext, assistantMessage, toolCall, config, signal);
|
|
685
|
+
const preparation = await prepareToolCall(currentContext, assistantMessage, toolCall, tool, config, signal);
|
|
684
686
|
const isSequential = isSequentialToolCall(currentContext, preparation.toolCall);
|
|
685
687
|
const dependencies = isSequential
|
|
686
688
|
? [...(lastSequentialCall ? [lastSequentialCall] : []), ...currentParallelWave]
|
|
@@ -763,7 +765,7 @@ export function prepareAgentToolCall(tool, toolCall) {
|
|
|
763
765
|
args: validateToolArguments(tool, preparedToolCall),
|
|
764
766
|
};
|
|
765
767
|
}
|
|
766
|
-
async function prepareToolCall(currentContext, assistantMessage, toolCall, config, signal) {
|
|
768
|
+
async function prepareToolCall(currentContext, assistantMessage, toolCall, tool, config, signal) {
|
|
767
769
|
if (toolCall.incomplete === true) {
|
|
768
770
|
return {
|
|
769
771
|
kind: "immediate",
|
|
@@ -772,14 +774,6 @@ async function prepareToolCall(currentContext, assistantMessage, toolCall, confi
|
|
|
772
774
|
isError: true,
|
|
773
775
|
};
|
|
774
776
|
}
|
|
775
|
-
let tool = currentContext.tools?.find((candidate) => candidate.name === toolCall.name);
|
|
776
|
-
if (!tool && config.resolveUnknownToolCall) {
|
|
777
|
-
tool = await config.resolveUnknownToolCall(toolCall.name, currentContext);
|
|
778
|
-
}
|
|
779
|
-
if (!tool) {
|
|
780
|
-
const aliasedName = resolveToolNameAlias(toolCall.name, (currentContext.tools ?? []).map((candidate) => candidate.name));
|
|
781
|
-
tool = currentContext.tools?.find((candidate) => candidate.name === aliasedName);
|
|
782
|
-
}
|
|
783
777
|
if (!tool) {
|
|
784
778
|
const hint = config.removedToolHints?.[toolCall.name];
|
|
785
779
|
return {
|
|
@@ -798,15 +792,6 @@ async function prepareToolCall(currentContext, assistantMessage, toolCall, confi
|
|
|
798
792
|
}
|
|
799
793
|
return prepareResolvedToolCall(currentContext, assistantMessage, toolCall, tool, config, signal);
|
|
800
794
|
}
|
|
801
|
-
function withToolNameCorrection(result, requestedName, resolvedName) {
|
|
802
|
-
return {
|
|
803
|
-
...result,
|
|
804
|
-
content: [
|
|
805
|
-
{ type: "text", text: toolNameCorrectionNotice(requestedName, resolvedName) },
|
|
806
|
-
...(result.content ?? []),
|
|
807
|
-
],
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
795
|
async function prepareResolvedToolCall(currentContext, assistantMessage, toolCall, tool, config, signal) {
|
|
811
796
|
try {
|
|
812
797
|
const preparedToolCall = prepareAgentToolCall(tool, toolCall);
|