@memberjunction/ai-agents 6.2.0-edge.2 → 6.2.0-edge.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 (148) hide show
  1. package/README.md +6 -0
  2. package/dist/AgentDecisionService.d.ts +8 -1
  3. package/dist/AgentDecisionService.d.ts.map +1 -1
  4. package/dist/AgentDecisionService.js +4 -0
  5. package/dist/AgentDecisionService.js.map +1 -1
  6. package/dist/AgentRunner.d.ts +51 -2
  7. package/dist/AgentRunner.d.ts.map +1 -1
  8. package/dist/AgentRunner.js +121 -23
  9. package/dist/AgentRunner.js.map +1 -1
  10. package/dist/ConversationCompactionManager.d.ts +9 -1
  11. package/dist/ConversationCompactionManager.d.ts.map +1 -1
  12. package/dist/ConversationCompactionManager.js +6 -3
  13. package/dist/ConversationCompactionManager.js.map +1 -1
  14. package/dist/ConversationToolManager.d.ts +13 -2
  15. package/dist/ConversationToolManager.d.ts.map +1 -1
  16. package/dist/ConversationToolManager.js +19 -3
  17. package/dist/ConversationToolManager.js.map +1 -1
  18. package/dist/KnowledgeAgent.d.ts.map +1 -1
  19. package/dist/KnowledgeAgent.js +6 -1
  20. package/dist/KnowledgeAgent.js.map +1 -1
  21. package/dist/MJAIAgentRequestEntityServer.d.ts +6 -0
  22. package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
  23. package/dist/MJAIAgentRequestEntityServer.js +26 -1
  24. package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
  25. package/dist/PayloadFeedbackManager.d.ts +3 -0
  26. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  27. package/dist/PayloadFeedbackManager.js +2 -1
  28. package/dist/PayloadFeedbackManager.js.map +1 -1
  29. package/dist/agent-run-watchdog.d.ts +65 -5
  30. package/dist/agent-run-watchdog.d.ts.map +1 -1
  31. package/dist/agent-run-watchdog.js +143 -28
  32. package/dist/agent-run-watchdog.js.map +1 -1
  33. package/dist/agent-types/loop-agent-prompt-params.d.ts +7 -0
  34. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  35. package/dist/agent-types/loop-agent-prompt-params.js +1 -0
  36. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  37. package/dist/agent-types/loop-agent-type.d.ts +20 -0
  38. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  39. package/dist/agent-types/loop-agent-type.js +73 -2
  40. package/dist/agent-types/loop-agent-type.js.map +1 -1
  41. package/dist/artifact-tools/SearchResultSetToolLibrary.js +4 -4
  42. package/dist/artifact-tools/SearchResultSetToolLibrary.js.map +1 -1
  43. package/dist/base-agent.d.ts +310 -26
  44. package/dist/base-agent.d.ts.map +1 -1
  45. package/dist/base-agent.js +867 -244
  46. package/dist/base-agent.js.map +1 -1
  47. package/dist/client-tool-results.d.ts +45 -0
  48. package/dist/client-tool-results.d.ts.map +1 -0
  49. package/dist/client-tool-results.js +94 -0
  50. package/dist/client-tool-results.js.map +1 -0
  51. package/dist/index.d.ts +9 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +9 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/native-tools/action-tool-builder.d.ts +14 -0
  56. package/dist/native-tools/action-tool-builder.d.ts.map +1 -1
  57. package/dist/native-tools/action-tool-builder.js +62 -7
  58. package/dist/native-tools/action-tool-builder.js.map +1 -1
  59. package/dist/native-tools/control-tools.d.ts +17 -1
  60. package/dist/native-tools/control-tools.d.ts.map +1 -1
  61. package/dist/native-tools/control-tools.js +40 -3
  62. package/dist/native-tools/control-tools.js.map +1 -1
  63. package/dist/prior-turn-tool-result-cache.d.ts +31 -12
  64. package/dist/prior-turn-tool-result-cache.d.ts.map +1 -1
  65. package/dist/prior-turn-tool-result-cache.js +59 -16
  66. package/dist/prior-turn-tool-result-cache.js.map +1 -1
  67. package/dist/realtime/bridge-host-params.d.ts +22 -0
  68. package/dist/realtime/bridge-host-params.d.ts.map +1 -0
  69. package/dist/realtime/bridge-host-params.js +53 -0
  70. package/dist/realtime/bridge-host-params.js.map +1 -0
  71. package/dist/realtime/bridge-realtime-session-factory.d.ts +63 -3
  72. package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
  73. package/dist/realtime/bridge-realtime-session-factory.js +83 -22
  74. package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
  75. package/dist/realtime/bridge-realtime-usage-recorder.d.ts +81 -0
  76. package/dist/realtime/bridge-realtime-usage-recorder.d.ts.map +1 -0
  77. package/dist/realtime/bridge-realtime-usage-recorder.js +194 -0
  78. package/dist/realtime/bridge-realtime-usage-recorder.js.map +1 -0
  79. package/dist/realtime/bridge-session-transcript-sink.d.ts +37 -0
  80. package/dist/realtime/bridge-session-transcript-sink.d.ts.map +1 -0
  81. package/dist/realtime/bridge-session-transcript-sink.js +58 -0
  82. package/dist/realtime/bridge-session-transcript-sink.js.map +1 -0
  83. package/dist/realtime/client-only-channel-server.d.ts +83 -0
  84. package/dist/realtime/client-only-channel-server.d.ts.map +1 -0
  85. package/dist/realtime/client-only-channel-server.js +107 -0
  86. package/dist/realtime/client-only-channel-server.js.map +1 -0
  87. package/dist/realtime/identity-verification-channel-server.d.ts +50 -0
  88. package/dist/realtime/identity-verification-channel-server.d.ts.map +1 -0
  89. package/dist/realtime/identity-verification-channel-server.js +66 -0
  90. package/dist/realtime/identity-verification-channel-server.js.map +1 -0
  91. package/dist/realtime/interactive-component-channel-server.d.ts +39 -0
  92. package/dist/realtime/interactive-component-channel-server.d.ts.map +1 -0
  93. package/dist/realtime/interactive-component-channel-server.js +55 -0
  94. package/dist/realtime/interactive-component-channel-server.js.map +1 -0
  95. package/dist/realtime/realtime-avatar-resolution.d.ts +194 -0
  96. package/dist/realtime/realtime-avatar-resolution.d.ts.map +1 -0
  97. package/dist/realtime/realtime-avatar-resolution.js +208 -0
  98. package/dist/realtime/realtime-avatar-resolution.js.map +1 -0
  99. package/dist/realtime/realtime-channel-policy.d.ts +81 -0
  100. package/dist/realtime/realtime-channel-policy.d.ts.map +1 -0
  101. package/dist/realtime/realtime-channel-policy.js +91 -0
  102. package/dist/realtime/realtime-channel-policy.js.map +1 -0
  103. package/dist/realtime/realtime-channel-server-host.d.ts +14 -0
  104. package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -1
  105. package/dist/realtime/realtime-channel-server-host.js +35 -0
  106. package/dist/realtime/realtime-channel-server-host.js.map +1 -1
  107. package/dist/realtime/realtime-client-session-service.d.ts +493 -30
  108. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  109. package/dist/realtime/realtime-client-session-service.js +825 -98
  110. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  111. package/dist/realtime/realtime-coagent-config.d.ts +94 -15
  112. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
  113. package/dist/realtime/realtime-coagent-config.js +109 -4
  114. package/dist/realtime/realtime-coagent-config.js.map +1 -1
  115. package/dist/realtime/realtime-coagent-resolution.d.ts +90 -0
  116. package/dist/realtime/realtime-coagent-resolution.d.ts.map +1 -0
  117. package/dist/realtime/realtime-coagent-resolution.js +186 -0
  118. package/dist/realtime/realtime-coagent-resolution.js.map +1 -0
  119. package/dist/realtime/realtime-delegation-narrator.d.ts +97 -0
  120. package/dist/realtime/realtime-delegation-narrator.d.ts.map +1 -0
  121. package/dist/realtime/realtime-delegation-narrator.js +162 -0
  122. package/dist/realtime/realtime-delegation-narrator.js.map +1 -0
  123. package/dist/realtime/realtime-recording-store.d.ts +136 -16
  124. package/dist/realtime/realtime-recording-store.d.ts.map +1 -1
  125. package/dist/realtime/realtime-recording-store.js +505 -39
  126. package/dist/realtime/realtime-recording-store.js.map +1 -1
  127. package/dist/realtime/realtime-session-runner.d.ts +2 -82
  128. package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
  129. package/dist/realtime/realtime-session-runner.js +16 -191
  130. package/dist/realtime/realtime-session-runner.js.map +1 -1
  131. package/dist/realtime/realtime-vendor-resolution.d.ts +9 -0
  132. package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
  133. package/dist/realtime/realtime-vendor-resolution.js +16 -5
  134. package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
  135. package/dist/realtime/realtime-video-output-gate.d.ts +83 -0
  136. package/dist/realtime/realtime-video-output-gate.d.ts.map +1 -0
  137. package/dist/realtime/realtime-video-output-gate.js +79 -0
  138. package/dist/realtime/realtime-video-output-gate.js.map +1 -0
  139. package/dist/rubric-evaluation-agent-runner.js +17 -8
  140. package/dist/rubric-evaluation-agent-runner.js.map +1 -1
  141. package/dist/self-check.d.ts +6 -3
  142. package/dist/self-check.d.ts.map +1 -1
  143. package/dist/self-check.js +3 -3
  144. package/dist/self-check.js.map +1 -1
  145. package/dist/tool-result-format.d.ts +14 -0
  146. package/dist/tool-result-format.d.ts.map +1 -1
  147. package/dist/tool-result-format.js.map +1 -1
  148. package/package.json +19 -19
@@ -0,0 +1,45 @@
1
+ import type { AgentChatMessage, ClientToolResultSummary } from '@memberjunction/ai-core-plus';
2
+ import type { ChatMessageContent, ChatMessageContentBlock } from '@memberjunction/ai';
3
+ /** Expiration for a client tool result message without images: it is removed after 3 turns. */
4
+ export declare const CLIENT_TOOL_RESULT_EXPIRATION: {
5
+ readonly expirationTurns: 3;
6
+ readonly expirationMode: "Remove";
7
+ };
8
+ /** Expiration for a client tool result message with images: it is removed after 2 turns, so screenshots leave the context soon. */
9
+ export declare const CLIENT_TOOL_IMAGE_RESULT_EXPIRATION: {
10
+ readonly expirationTurns: 2;
11
+ readonly expirationMode: "Remove";
12
+ };
13
+ /** The token estimate for one image block: a high estimate of what vision models charge for a 1280×800 image. */
14
+ export declare const IMAGE_BLOCK_TOKEN_ESTIMATE = 1600;
15
+ /** A content block type that carries media: every type other than text and tool results. */
16
+ type MediaBlockType = Exclude<ChatMessageContentBlock['type'], 'text' | 'tool_result'>;
17
+ /**
18
+ * The character cap for one client tool result from the agent type prompt params.
19
+ * -1 means no cap. Anything that is not a positive integer means no cap.
20
+ */
21
+ export declare function ResolveClientToolResultMaxChars(promptParams: Record<string, unknown> | undefined): number;
22
+ /**
23
+ * Markdown summary of client tool results for the conversation. Each successful result is
24
+ * included in full, or cut to `maxChars` with a note that says how much was cut. A `maxChars`
25
+ * that is not a positive integer, such as -1 or 0, means no cap.
26
+ */
27
+ export declare function FormatClientToolResults(results: ClientToolResultSummary[], maxChars: number): string;
28
+ /**
29
+ * The conversation message for client tool results. Images come first as `image_url` blocks and
30
+ * the markdown summary follows as a text block, so a vision model sees both. Only successful
31
+ * results contribute images, and each image block carries its tool's name as `fileName`.
32
+ * Without images the content is the plain markdown string.
33
+ */
34
+ export declare function BuildClientToolResultMessage(results: ClientToolResultSummary[], turnAdded: number, maxChars: number): AgentChatMessage;
35
+ /** Whether a content block carries an image, audio, video or file rather than text or a tool result. */
36
+ export declare function IsMediaBlock(block: ChatMessageContentBlock): block is ChatMessageContentBlock & {
37
+ type: MediaBlockType;
38
+ };
39
+ /**
40
+ * The text of a message with every media block replaced by a stub that names its kind, such as
41
+ * `[image omitted]` or `[file omitted]`. Text and tool result blocks keep their content.
42
+ */
43
+ export declare function ReplaceMediaBlocksWithStubs(content: ChatMessageContent): string;
44
+ export {};
45
+ //# sourceMappingURL=client-tool-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-tool-results.d.ts","sourceRoot":"","sources":["../src/client-tool-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAuB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,+FAA+F;AAC/F,eAAO,MAAM,6BAA6B;;;CAA4D,CAAC;AAEvG,mIAAmI;AACnI,eAAO,MAAM,mCAAmC;;;CAA4D,CAAC;AAE7G,iHAAiH;AACjH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,4FAA4F;AAC5F,KAAK,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC;AAUvF;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAGzG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBpG;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAWtI;AAED,wGAAwG;AACxG,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,KAAK,IAAI,uBAAuB,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAExH;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAG/E"}
@@ -0,0 +1,94 @@
1
+ /** Expiration for a client tool result message without images: it is removed after 3 turns. */
2
+ export const CLIENT_TOOL_RESULT_EXPIRATION = { expirationTurns: 3, expirationMode: 'Remove' };
3
+ /** Expiration for a client tool result message with images: it is removed after 2 turns, so screenshots leave the context soon. */
4
+ export const CLIENT_TOOL_IMAGE_RESULT_EXPIRATION = { expirationTurns: 2, expirationMode: 'Remove' };
5
+ /** The token estimate for one image block: a high estimate of what vision models charge for a 1280×800 image. */
6
+ export const IMAGE_BLOCK_TOKEN_ESTIMATE = 1600;
7
+ /** The stub that replaces each kind of media block in text. */
8
+ const MEDIA_BLOCK_STUBS = {
9
+ image_url: '[image omitted]',
10
+ file_url: '[file omitted]',
11
+ audio_url: '[audio omitted]',
12
+ video_url: '[video omitted]',
13
+ };
14
+ /**
15
+ * The character cap for one client tool result from the agent type prompt params.
16
+ * -1 means no cap. Anything that is not a positive integer means no cap.
17
+ */
18
+ export function ResolveClientToolResultMaxChars(promptParams) {
19
+ const raw = promptParams?.['clientToolResultMaxChars'];
20
+ return typeof raw === 'number' && Number.isInteger(raw) && raw > 0 ? raw : -1;
21
+ }
22
+ /**
23
+ * Markdown summary of client tool results for the conversation. Each successful result is
24
+ * included in full, or cut to `maxChars` with a note that says how much was cut. A `maxChars`
25
+ * that is not a positive integer, such as -1 or 0, means no cap.
26
+ */
27
+ export function FormatClientToolResults(results, maxChars) {
28
+ const failedCount = results.filter(r => !r.Success).length;
29
+ const header = failedCount > 0
30
+ ? `${failedCount} of ${results.length} client tool(s) failed:`
31
+ : 'Client tool results:';
32
+ const lines = results.map(r => {
33
+ const icon = r.Success ? '✓' : '✗';
34
+ let line = `${icon} **${r.ToolName}**: ${r.Success ? 'succeeded' : 'failed'}`;
35
+ if (r.ErrorMessage)
36
+ line += ` — ${r.ErrorMessage}`;
37
+ if (r.Success && r.Result != null) {
38
+ line += `\n Result: ${capResult(r.Result, maxChars)}`;
39
+ }
40
+ return line;
41
+ });
42
+ return `${header}\n${lines.join('\n')}`;
43
+ }
44
+ /**
45
+ * The conversation message for client tool results. Images come first as `image_url` blocks and
46
+ * the markdown summary follows as a text block, so a vision model sees both. Only successful
47
+ * results contribute images, and each image block carries its tool's name as `fileName`.
48
+ * Without images the content is the plain markdown string.
49
+ */
50
+ export function BuildClientToolResultMessage(results, turnAdded, maxChars) {
51
+ const text = FormatClientToolResults(results, maxChars);
52
+ const imageBlocks = results.flatMap(r => (r.Success && r.Media) ? r.Media.map(m => toImageBlock(m, r.ToolName)) : []);
53
+ if (imageBlocks.length === 0) {
54
+ return { role: 'user', content: text, metadata: { turnAdded, messageType: 'client-tool-result', ...CLIENT_TOOL_RESULT_EXPIRATION } };
55
+ }
56
+ return {
57
+ role: 'user',
58
+ content: [...imageBlocks, { type: 'text', content: text }],
59
+ metadata: { turnAdded, messageType: 'client-tool-result', ...CLIENT_TOOL_IMAGE_RESULT_EXPIRATION },
60
+ };
61
+ }
62
+ /** Whether a content block carries an image, audio, video or file rather than text or a tool result. */
63
+ export function IsMediaBlock(block) {
64
+ return block.type !== 'text' && block.type !== 'tool_result';
65
+ }
66
+ /**
67
+ * The text of a message with every media block replaced by a stub that names its kind, such as
68
+ * `[image omitted]` or `[file omitted]`. Text and tool result blocks keep their content.
69
+ */
70
+ export function ReplaceMediaBlocksWithStubs(content) {
71
+ if (typeof content === 'string')
72
+ return content;
73
+ return content.map(block => IsMediaBlock(block) ? MEDIA_BLOCK_STUBS[block.type] : block.content).join('\n');
74
+ }
75
+ /** An `image_url` block for one client tool image, with the tool's name as its file name. */
76
+ function toImageBlock(media, toolName) {
77
+ return { type: 'image_url', content: `data:${media.MimeType};base64,${media.Base64}`, mimeType: media.MimeType, fileName: toolName };
78
+ }
79
+ /**
80
+ * The result as text. When `maxChars` is a positive integer and the text is longer, the text is
81
+ * cut to `maxChars` and a note says how much was cut. The cut never splits a surrogate pair.
82
+ */
83
+ function capResult(result, maxChars) {
84
+ const text = typeof result === 'string' ? result : JSON.stringify(result);
85
+ if (!Number.isInteger(maxChars) || maxChars <= 0 || text.length <= maxChars)
86
+ return text;
87
+ const keep = isHighSurrogate(text.charCodeAt(maxChars - 1)) ? maxChars - 1 : maxChars;
88
+ return `${text.slice(0, keep)} [truncated ${text.length - keep} of ${text.length} chars]`;
89
+ }
90
+ /** Whether a UTF-16 code unit is the first half of a surrogate pair (U+D800 to U+DBFF). */
91
+ function isHighSurrogate(codeUnit) {
92
+ return codeUnit >= 0xd800 && codeUnit <= 0xdbff;
93
+ }
94
+ //# sourceMappingURL=client-tool-results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-tool-results.js","sourceRoot":"","sources":["../src/client-tool-results.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -65,15 +65,24 @@ export * from './ClientToolRequestManager.js';
65
65
  export * from './realtime/realtime-session-runner.js';
66
66
  export * from './realtime/bridge-realtime-session-factory.js';
67
67
  export * from './realtime/bridge-room-transcript-sink.js';
68
+ export * from './realtime/bridge-session-transcript-sink.js';
68
69
  export * from './realtime/realtime-turn-moderator.js';
69
70
  export { RealtimeToolBroker, RealtimeToolBrokerDeps, ExecutedToolCall, DelegatedRunArtifact } from './realtime/realtime-tool-broker.js';
70
71
  export * from './realtime/realtime-client-session-service.js';
71
72
  export * from './realtime/realtime-coagent-config.js';
72
73
  export * from './realtime/realtime-vendor-resolution.js';
74
+ export * from './realtime/realtime-video-output-gate.js';
73
75
  export * from './realtime/realtime-narration.js';
76
+ export * from './realtime/realtime-delegation-narrator.js';
77
+ export * from './realtime/realtime-coagent-resolution.js';
78
+ export * from './realtime/bridge-host-params.js';
74
79
  export * from './realtime/realtime-channel-server-host.js';
80
+ export * from './realtime/realtime-channel-policy.js';
75
81
  export * from './realtime/whiteboard-channel-server.js';
82
+ export * from './realtime/client-only-channel-server.js';
76
83
  export * from './realtime/client-context-channel-server.js';
84
+ export * from './realtime/identity-verification-channel-server.js';
85
+ export * from './realtime/interactive-component-channel-server.js';
77
86
  export * from './realtime/meeting-controls-state.js';
78
87
  export * from './realtime/meeting-controls-channel-server.js';
79
88
  export * from './realtime/media-channel-server.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,qCAAqC,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC9F,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAKnD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACrI,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,qCAAqC,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC9F,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AAKnD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACrI,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iDAAiD,CAAC;AAChE,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -66,6 +66,7 @@ export * from './ClientToolRequestManager.js';
66
66
  export * from './realtime/realtime-session-runner.js';
67
67
  export * from './realtime/bridge-realtime-session-factory.js';
68
68
  export * from './realtime/bridge-room-transcript-sink.js';
69
+ export * from './realtime/bridge-session-transcript-sink.js';
69
70
  export * from './realtime/realtime-turn-moderator.js';
70
71
  // Broker-unique exports. The shared tool-execution contract (INVOKE_TARGET_AGENT_TOOL_NAME,
71
72
  // DelegateToTargetRequest, DelegatedResult, ToolExecutionResult, loggers) is surfaced via the
@@ -75,10 +76,18 @@ export { RealtimeToolBroker } from './realtime/realtime-tool-broker.js';
75
76
  export * from './realtime/realtime-client-session-service.js';
76
77
  export * from './realtime/realtime-coagent-config.js';
77
78
  export * from './realtime/realtime-vendor-resolution.js';
79
+ export * from './realtime/realtime-video-output-gate.js';
78
80
  export * from './realtime/realtime-narration.js';
81
+ export * from './realtime/realtime-delegation-narrator.js';
82
+ export * from './realtime/realtime-coagent-resolution.js';
83
+ export * from './realtime/bridge-host-params.js';
79
84
  export * from './realtime/realtime-channel-server-host.js';
85
+ export * from './realtime/realtime-channel-policy.js';
80
86
  export * from './realtime/whiteboard-channel-server.js';
87
+ export * from './realtime/client-only-channel-server.js';
81
88
  export * from './realtime/client-context-channel-server.js';
89
+ export * from './realtime/identity-verification-channel-server.js';
90
+ export * from './realtime/interactive-component-channel-server.js';
82
91
  export * from './realtime/meeting-controls-state.js';
83
92
  export * from './realtime/meeting-controls-channel-server.js';
84
93
  export * from './realtime/media-channel-server.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,qCAAqC,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,4HAA4H;AAC5H,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC9F,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,4FAA4F;AAC5F,8FAA8F;AAC9F,2FAA2F;AAC3F,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAkE,MAAM,iCAAiC,CAAC;AACrI,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AAEpD,wDAAwD;AACxD,OAAO,EACL,eAAe,EAEf,0BAA0B,EAG1B,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface ActionToolBinding {
14
14
  /** The Action the framework dispatches when that name comes back. */
15
15
  action: MJActionEntityExtended;
16
16
  tool: ChatTool;
17
+ /** The Action's params the tool was built from — what {@link CoerceActionArguments} reads back. */
18
+ params: readonly MJActionParamEntity[];
17
19
  }
18
20
  /**
19
21
  * A built tool set plus the reverse map from tool name back to Action.
@@ -57,6 +59,18 @@ export declare const MAX_TOOL_DESCRIPTION_LENGTH = 1024;
57
59
  export declare function SanitizeToolName(actionName: string): string;
58
60
  /** @deprecated Use {@link SanitizeToolName}. */
59
61
  export declare function sanitizeToolName(actionName: string): string;
62
+ /**
63
+ * Restores object-typed arguments a model sent as JSON strings, before the Action runs.
64
+ *
65
+ * Only `Simple Object` params are touched: an `Other` param is declared as `string` and may
66
+ * legitimately hold JSON-looking text. For an array param both the array itself and each element
67
+ * may arrive encoded.
68
+ *
69
+ * @param params The Action's params, as the tool was built from them
70
+ * @param args The call's arguments, as the provider returned them
71
+ * @returns A new argument object; `args` is not mutated
72
+ */
73
+ export declare function CoerceActionArguments(params: readonly MJActionParamEntity[], args: Record<string, unknown> | undefined): Record<string, unknown>;
60
74
  /**
61
75
  * Builds the `ChatTool` declaration for one Action.
62
76
  *
@@ -1 +1 @@
1
- {"version":3,"file":"action-tool-builder.d.ts","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAC9B,gFAAgF;IAChF,IAAI,EAAE,QAAQ,CAAC;IACf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,wCAAwC;IACxC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC9C;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAKhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAwHD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,QAAQ,CA4BpH;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,QAAQ,CAEpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,GACtE,aAAa,CAqBf;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,GACtE,aAAa,CAEf;AAED,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAC1D,sBAAsB,EAAE,CAO1B;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAC1D,sBAAsB,EAAE,CAE1B"}
1
+ {"version":3,"file":"action-tool-builder.d.ts","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAC9B,gFAAgF;IAChF,IAAI,EAAE,QAAQ,CAAC;IACf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,mGAAmG;IACnG,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,wCAAwC;IACxC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC9C;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAKhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAyDD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB;AA+FD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,QAAQ,CA4BpH;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,QAAQ,CAEpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,GACtE,aAAa,CAsBf;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,GACtE,aAAa,CAEf;AAED,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAC1D,sBAAsB,EAAE,CAO1B;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAC1D,sBAAsB,EAAE,CAE1B"}
@@ -56,18 +56,72 @@ export function sanitizeToolName(actionName) {
56
56
  * - **`Scalar` emits a union type.** It appears to violate the cross-provider common subset —
57
57
  * OpenAPI 3.0, which Gemini's classic function declarations follow, has no union `type` — but it
58
58
  * measured clean on every provider tested, so the plan's literal mapping stands.
59
- * - **Everything else emits `string`, not `object`.** §8.2 originally specified `object` for the
60
- * opaque kinds, reasoning it was "exact parity with the prose catalog". It is not:
59
+ * - **The opaque kinds emit `string`, not `object`.** §8.2 originally specified `object` for them,
60
+ * reasoning it was "exact parity with the prose catalog". It is not:
61
61
  * `Run Ad-hoc Query.Query` is `ValueType: 'Other'` but holds SQL text, and typing it as an
62
62
  * object made models emit `Query: {}` on 40% of calls — well-formed, dispatchable and useless,
63
63
  * which no well-formedness check catches. Switching to `string` took usable arguments from
64
64
  * 60% to 100% on the same prompts. The structural type beats the prose description whenever the
65
65
  * two disagree, so it must not disagree.
66
+ * - **`Simple Object` emits `object`.** Unlike the opaque kinds it says what the value is, and
67
+ * typing a real object as `string` fails the other way: the model JSON-encodes it, and an Action
68
+ * expecting an object receives text. Models still stringify objects now and then, which
69
+ * {@link CoerceActionArguments} absorbs.
70
+ *
71
+ * Both are stopgaps until an action param can carry its own JSON Schema.
66
72
  */
67
73
  function schemaForValueType(valueType) {
68
- return valueType === 'Scalar'
69
- ? { type: ['string', 'number', 'boolean'] }
70
- : { type: 'string' };
74
+ switch (valueType) {
75
+ case 'Scalar':
76
+ return { type: ['string', 'number', 'boolean'] };
77
+ case 'Simple Object':
78
+ return { type: 'object' };
79
+ default:
80
+ return { type: 'string' };
81
+ }
82
+ }
83
+ /**
84
+ * Turns a JSON-encoded string back into the object or array a `Simple Object` param declares.
85
+ *
86
+ * Anything else is returned unchanged — a string that is not JSON, or JSON of the wrong shape, is
87
+ * the Action's to reject with its own message rather than ours to guess at.
88
+ */
89
+ function decodeObjectValue(value, isArray) {
90
+ if (typeof value !== 'string') {
91
+ return value;
92
+ }
93
+ try {
94
+ const decoded = JSON.parse(value);
95
+ const shapeMatches = isArray ? Array.isArray(decoded) : decoded !== null && typeof decoded === 'object' && !Array.isArray(decoded);
96
+ return shapeMatches ? decoded : value;
97
+ }
98
+ catch {
99
+ return value;
100
+ }
101
+ }
102
+ /**
103
+ * Restores object-typed arguments a model sent as JSON strings, before the Action runs.
104
+ *
105
+ * Only `Simple Object` params are touched: an `Other` param is declared as `string` and may
106
+ * legitimately hold JSON-looking text. For an array param both the array itself and each element
107
+ * may arrive encoded.
108
+ *
109
+ * @param params The Action's params, as the tool was built from them
110
+ * @param args The call's arguments, as the provider returned them
111
+ * @returns A new argument object; `args` is not mutated
112
+ */
113
+ export function CoerceActionArguments(params, args) {
114
+ const coerced = { ...(args ?? {}) };
115
+ for (const param of params) {
116
+ if (param.ValueType !== 'Simple Object' || !(param.Name in coerced)) {
117
+ continue;
118
+ }
119
+ const value = decodeObjectValue(coerced[param.Name], param.IsArray);
120
+ coerced[param.Name] = param.IsArray && Array.isArray(value)
121
+ ? value.map((item) => decodeObjectValue(item, false))
122
+ : value;
123
+ }
124
+ return coerced;
71
125
  }
72
126
  /**
73
127
  * Folds the metadata that has nowhere structural to go into the property description.
@@ -200,7 +254,8 @@ export function BuildActionToolSet(actions, paramsByActionId) {
200
254
  const byToolName = new Map();
201
255
  const tools = [];
202
256
  for (const action of actions) {
203
- const tool = BuildToolFromAction(action, paramsByActionId.get(action.ID) ?? []);
257
+ const params = paramsByActionId.get(action.ID) ?? [];
258
+ const tool = BuildToolFromAction(action, params);
204
259
  const existing = byToolName.get(tool.name);
205
260
  if (existing) {
206
261
  throw new Error(`Action tool name collision: '${existing.action.Name}' and '${action.Name}' both sanitize to `
@@ -209,7 +264,7 @@ export function BuildActionToolSet(actions, paramsByActionId) {
209
264
  if (tool.name.length === 0) {
210
265
  throw new Error(`Action '${action.Name}' sanitizes to an empty tool name — it must contain at least one alphanumeric character.`);
211
266
  }
212
- byToolName.set(tool.name, { kind: 'action', toolName: tool.name, action, tool });
267
+ byToolName.set(tool.name, { kind: 'action', toolName: tool.name, action, tool, params });
213
268
  tools.push(tool);
214
269
  }
215
270
  return { tools, byToolName };
@@ -1 +1 @@
1
- {"version":3,"file":"action-tool-builder.js","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,4FAA4F;AAC5F,MAAM,yBAAyB,GAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IAC/C,OAAO,UAAU;SACZ,IAAI,EAAE;SACN,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE;SACb,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AACxC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IAC/C,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,kBAAkB,CAAC,SAA2C;IACnE,OAAO,SAAS,KAAK,QAAQ;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAA0B;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,SAAS,IAAI,CAAC,IAA+B,EAAE,GAAW;IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACvB,MAA8B,EAC9B,OAAuC,EACvC,KAAwF,EACxF,MAAc;IAEd,uFAAuF;IACvF,sFAAsF;IACtF,MAAM,KAAK,GAAG,CAAC,+BAA+B,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE5F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACvC,+FAA+F;YAC/F,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1F,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,YAAY,CAAC,MAA8B,EAAE,MAAsC;IACxF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC/E,uFAAuF;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IAE9C,KAAK,MAAM,MAAM,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACnH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA8B,EAAE,MAAsC;IACtG,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClD,SAAS;QACb,CAAC;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,oEAAoE;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC5E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;QACzC,WAAW;KACd,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,MAA8B,EAAE,MAAsC;IACtG,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAA0C,EAC1C,gBAAqE;IAErE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IACxD,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACX,gCAAgC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,IAAI,qBAAqB;kBAC5F,IAAI,IAAI,CAAC,IAAI,4FAA4F,CAC9G,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,0FAA0F,CAAC,CAAC;QACtI,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAC9B,OAA0C,EAC1C,gBAAqE;IAErE,OAAO,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACzD,CAAC;AAQD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACnC,OAA0C,EAC1C,eAAyD;IAEzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACpB,eAAe;SACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC;SAClE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAG,CAAC,QAAmB,CAAC,WAAW,EAAE,CAAC,CAC5D,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,uBAAuB,CACnC,OAA0C,EAC1C,eAAyD;IAEzD,OAAO,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"action-tool-builder.js","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @fileoverview Control-flow tools for the implicit protocol (spec §2.2, §4): one tool per
3
- * sub-agent, `payload_change_request`, `ask_user`. Built beside the Action tools so the reverse map
3
+ * sub-agent, `payload_change_request`, `ask_user`, `complete_task`. Built beside the Action tools so the reverse map
4
4
  * resolves every call the model can make.
5
5
  *
6
6
  * The agent declares these without knowing which model will answer. The prompt runner keeps them
@@ -13,6 +13,7 @@ import type { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
13
13
  import { type ActionToolBinding, type ActionToolSet } from './action-tool-builder.js';
14
14
  export declare const PAYLOAD_CHANGE_TOOL = "payload_change_request";
15
15
  export declare const ASK_USER_TOOL = "ask_user";
16
+ export declare const COMPLETE_TASK_TOOL = "complete_task";
16
17
  export declare const SUB_AGENT_TOOL_PREFIX = "delegate_to_";
17
18
  /** The fixed control tools. Sub-agent tools are recognised by {@link SUB_AGENT_TOOL_PREFIX}. */
18
19
  export declare const NATIVE_CONTROL_TOOL_NAMES: readonly string[];
@@ -30,6 +31,10 @@ export type NativeToolBinding = ActionToolBinding | {
30
31
  kind: 'askUser';
31
32
  toolName: string;
32
33
  tool: ChatTool;
34
+ } | {
35
+ kind: 'complete';
36
+ toolName: string;
37
+ tool: ChatTool;
33
38
  };
34
39
  export interface NativeToolSet {
35
40
  tools: ChatTool[];
@@ -46,6 +51,17 @@ export declare function buildPayloadChangeTool(): ChatTool;
46
51
  export declare function BuildAskUserTool(): ChatTool;
47
52
  /** @deprecated Use {@link BuildAskUserTool}. */
48
53
  export declare function buildAskUserTool(): ChatTool;
54
+ /**
55
+ * `complete_task` — the terminal tool: apply the final payload write and finish, in ONE turn.
56
+ *
57
+ * Without it, implicit control flow finishes in two turns — `payload_change_request`, then a
58
+ * plain-text reply — where the envelope finishes in one (`taskComplete` + `payloadChangeRequest`).
59
+ * That costs an iteration on every run, and on the last permitted iteration there is no second
60
+ * turn at all. Agent frameworks that need a structured result end on a designated tool for the
61
+ * same reason (OpenAI Agents SDK `StopAtTools`, SWE-agent's `submit`). Plain text still ends the
62
+ * turn, for agents whose answer is prose.
63
+ */
64
+ export declare function BuildCompleteTaskTool(): ChatTool;
49
65
  /** One tool per sub-agent: `delegate_to_<sanitized name>`, described by the agent's own description. */
50
66
  export declare function BuildSubAgentTool(agent: MJAIAgentEntityExtended): ChatTool;
51
67
  /** @deprecated Use {@link BuildSubAgentTool}. */
@@ -1 +1 @@
1
- {"version":3,"file":"control-tools.d.ts","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAiD,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAElI,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AACpD,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAyC,CAAC;AAIjG,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GACvB,iBAAiB,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAID,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,QAAQ,CAsBjD;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,IAAI,QAAQ,CAEjD;AAED,2GAA2G;AAC3G,wBAAgB,gBAAgB,IAAI,QAAQ,CA8B3C;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,QAAQ,CAc1E;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,QAAQ,CAE1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CA6BzH;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CAEzH"}
1
+ {"version":3,"file":"control-tools.d.ts","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAiD,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAElI,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AACpD,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAA6D,CAAC;AAIrH,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GACvB,iBAAiB,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAID,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,QAAQ,CAsBjD;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,IAAI,QAAQ,CAEjD;AAED,2GAA2G;AAC3G,wBAAgB,gBAAgB,IAAI,QAAQ,CA8B3C;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAwBhD;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,QAAQ,CAc1E;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,QAAQ,CAE1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CA+BzH;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CAEzH"}
@@ -1,9 +1,10 @@
1
1
  import { SanitizeToolName, MAX_TOOL_DESCRIPTION_LENGTH } from './action-tool-builder.js';
2
2
  export const PAYLOAD_CHANGE_TOOL = 'payload_change_request';
3
3
  export const ASK_USER_TOOL = 'ask_user';
4
+ export const COMPLETE_TASK_TOOL = 'complete_task';
4
5
  export const SUB_AGENT_TOOL_PREFIX = 'delegate_to_';
5
6
  /** The fixed control tools. Sub-agent tools are recognised by {@link SUB_AGENT_TOOL_PREFIX}. */
6
- export const NATIVE_CONTROL_TOOL_NAMES = [PAYLOAD_CHANGE_TOOL, ASK_USER_TOOL];
7
+ export const NATIVE_CONTROL_TOOL_NAMES = [PAYLOAD_CHANGE_TOOL, ASK_USER_TOOL, COMPLETE_TASK_TOOL];
7
8
  /** Providers cap tool names at 64 characters. */
8
9
  const MAX_TOOL_NAME_LENGTH = 64;
9
10
  const clip = (text, max) => (text.length <= max ? text : `${text.slice(0, max - 1)}…`);
@@ -68,6 +69,40 @@ export function BuildAskUserTool() {
68
69
  export function buildAskUserTool() {
69
70
  return BuildAskUserTool();
70
71
  }
72
+ /**
73
+ * `complete_task` — the terminal tool: apply the final payload write and finish, in ONE turn.
74
+ *
75
+ * Without it, implicit control flow finishes in two turns — `payload_change_request`, then a
76
+ * plain-text reply — where the envelope finishes in one (`taskComplete` + `payloadChangeRequest`).
77
+ * That costs an iteration on every run, and on the last permitted iteration there is no second
78
+ * turn at all. Agent frameworks that need a structured result end on a designated tool for the
79
+ * same reason (OpenAI Agents SDK `StopAtTools`, SWE-agent's `submit`). Plain text still ends the
80
+ * turn, for agents whose answer is prose.
81
+ */
82
+ export function BuildCompleteTaskTool() {
83
+ return {
84
+ name: COMPLETE_TASK_TOOL,
85
+ description: clip('Finish the task. Call this when your work is done and verified: put any final writes to the shared payload ' +
86
+ 'in payloadChangeRequest and your answer for the user or calling agent in message. The change is applied ' +
87
+ 'and the run ends — unless the result fails validation, in which case you receive the reason and continue. ' +
88
+ 'Must be the only call on its turn.', MAX_TOOL_DESCRIPTION_LENGTH),
89
+ inputSchema: {
90
+ type: 'object',
91
+ properties: {
92
+ message: { type: 'string', description: 'Your final answer or a brief summary of what you did.' },
93
+ // A JSON string, not an object: complete_task is the call the framework forces on the
94
+ // final turn, and a forced call is schema-constrained, so an object whose sections
95
+ // declare no properties can only decode as `{}`. The loop decodes the string.
96
+ payloadChangeRequest: {
97
+ type: 'string',
98
+ description: 'Optional. Final payload changes as a JSON object string, applied before the task completes: '
99
+ + '{"newElements"?: {...}, "updateElements"?: {...}, "replaceElements"?: {...}, "removeElements"?: {...}} — same shape as payload_change_request.'
100
+ }
101
+ },
102
+ required: ['message']
103
+ }
104
+ };
105
+ }
71
106
  /** One tool per sub-agent: `delegate_to_<sanitized name>`, described by the agent's own description. */
72
107
  export function BuildSubAgentTool(agent) {
73
108
  const name = `${SUB_AGENT_TOOL_PREFIX}${SanitizeToolName(agent.Name)}`.slice(0, MAX_TOOL_NAME_LENGTH);
@@ -116,10 +151,12 @@ export function BuildNativeToolSet(actionSet, subAgents) {
116
151
  }
117
152
  const payload = BuildPayloadChangeTool();
118
153
  const ask = BuildAskUserTool();
154
+ const complete = BuildCompleteTaskTool();
119
155
  byToolName.set(payload.name, { kind: 'payloadChange', toolName: payload.name, tool: payload });
120
156
  byToolName.set(ask.name, { kind: 'askUser', toolName: ask.name, tool: ask });
121
- tools.push(payload, ask);
122
- controlToolNames.push(payload.name, ask.name);
157
+ byToolName.set(complete.name, { kind: 'complete', toolName: complete.name, tool: complete });
158
+ tools.push(payload, ask, complete);
159
+ controlToolNames.push(payload.name, ask.name, complete.name);
123
160
  return { tools, byToolName, controlToolNames };
124
161
  }
125
162
  /** @deprecated Use {@link BuildNativeToolSet}. */
@@ -1 +1 @@
1
- {"version":3,"file":"control-tools.js","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-tools.js","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAA8C,MAAM,uBAAuB,CAAC;AAElI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACpD,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACrH,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAkBhC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAE/G,kFAAkF;AAClF,MAAM,UAAU,sBAAsB;IAClC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,IAAI,CACb,gHAAgH;YAChH,iHAAiH;YACjH,wHAAwH;YACxH,wHAAwH;YACxH,+EAA+E,EAAE,2BAA2B,CAAC;QACjH,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,WAAW,EAAE,OAAO,CAAC,yDAAyD,CAAC;gBAC/E,cAAc,EAAE,OAAO,CAAC,uDAAuD,CAAC;gBAChF,eAAe,EAAE,OAAO,CAAC,uCAAuC,CAAC;gBACjE,cAAc,EAAE,OAAO,CAAC,iCAAiC,CAAC;gBAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aACjF;YACD,QAAQ,EAAE,EAAE;SACf;KACJ,CAAC;AACN,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB;IAClC,OAAO,sBAAsB,EAAE,CAAC;AACpC,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB;IAC5B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,IAAI,CACb,wGAAwG;YACxG,6GAA6G;YAC7G,0GAA0G;YAC1G,0GAA0G;YAC1G,yBAAyB,EAAE,2BAA2B,CAAC;QAC3D,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;gBACpG,YAAY,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACP,sGAAsG;wBACtG,6GAA6G;wBAC7G,oGAAoG;oBACxG,UAAU,EAAE;wBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBAC1D;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB;IAC5B,OAAO,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,IAAI,CACb,6GAA6G;YAC7G,0GAA0G;YAC1G,4GAA4G;YAC5G,oCAAoC,EAAE,2BAA2B,CAAC;QACtE,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACjG,sFAAsF;gBACtF,mFAAmF;gBACnF,8EAA8E;gBAC9E,oBAAoB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8FAA8F;0BACrG,gJAAgJ;iBACzJ;aACJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC5D,MAAM,IAAI,GAAG,GAAG,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACtG,OAAO;QACH,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,2BAA2B,CAAC;QAC5H,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4FAA4F,EAAE;gBACtI,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oGAAoG,EAAE;aACzJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC5D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAwB,EAAE,SAA6C;IACtG,MAAM,UAAU,GAAG,IAAI,GAAG,CAA4B,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAe,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,mBAAmB,QAAQ,8DAA8D,CAAC,CAAC;QAC3I,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG;gBACzE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,IAAI,SAAS,KAAK,kBAAkB,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAC5H,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/F,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAAC,SAAwB,EAAE,SAA6C;IACtG,OAAO,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC"}