@superdurable/dex-agents 0.1.0 → 0.2.0

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 (149) hide show
  1. package/README.md +1568 -62
  2. package/dist/src/agent-built-in-tools.d.ts +81 -0
  3. package/dist/src/agent-built-in-tools.js +246 -0
  4. package/dist/src/agent-built-in-tools.js.map +1 -0
  5. package/dist/src/agent-context-compaction.d.ts +108 -0
  6. package/dist/src/agent-context-compaction.js +39 -0
  7. package/dist/src/agent-context-compaction.js.map +1 -0
  8. package/dist/src/agent-framework-runner.d.ts +456 -16
  9. package/dist/src/agent-framework-runner.js +4 -3
  10. package/dist/src/agent-framework-runner.js.map +1 -1
  11. package/dist/src/agent-plans.d.ts +48 -0
  12. package/dist/src/agent-plans.js +86 -0
  13. package/dist/src/agent-plans.js.map +1 -0
  14. package/dist/src/agent-session-cancellation-steps.d.ts +28 -0
  15. package/dist/src/agent-session-cancellation-steps.js +154 -0
  16. package/dist/src/agent-session-cancellation-steps.js.map +1 -0
  17. package/dist/src/agent-session-codecs.d.ts +65 -4
  18. package/dist/src/agent-session-codecs.js +342 -8
  19. package/dist/src/agent-session-codecs.js.map +1 -1
  20. package/dist/src/agent-session-flow.d.ts +295 -27
  21. package/dist/src/agent-session-flow.js +368 -21
  22. package/dist/src/agent-session-flow.js.map +1 -1
  23. package/dist/src/agent-session-persistence.d.ts +81 -4
  24. package/dist/src/agent-session-persistence.js +33 -2
  25. package/dist/src/agent-session-persistence.js.map +1 -1
  26. package/dist/src/agent-session-settings.d.ts +58 -0
  27. package/dist/src/agent-session-settings.js +81 -0
  28. package/dist/src/agent-session-settings.js.map +1 -0
  29. package/dist/src/agent-session-step-options.d.ts +27 -0
  30. package/dist/src/agent-session-step-options.js +39 -0
  31. package/dist/src/agent-session-step-options.js.map +1 -0
  32. package/dist/src/agent-session-step-types.d.ts +20 -0
  33. package/dist/src/agent-session-step-types.js +28 -0
  34. package/dist/src/agent-session-step-types.js.map +1 -0
  35. package/dist/src/agent-session-steps.d.ts +101 -8
  36. package/dist/src/agent-session-steps.js +936 -197
  37. package/dist/src/agent-session-steps.js.map +1 -1
  38. package/dist/src/agent-session-tracer.d.ts +61 -0
  39. package/dist/src/agent-session-tracer.js +608 -0
  40. package/dist/src/agent-session-tracer.js.map +1 -0
  41. package/dist/src/agent-session-transitions.d.ts +189 -26
  42. package/dist/src/agent-session-transitions.js +680 -32
  43. package/dist/src/agent-session-transitions.js.map +1 -1
  44. package/dist/src/agent-session-values.d.ts +690 -29
  45. package/dist/src/agent-session-values.js +39 -4
  46. package/dist/src/agent-session-values.js.map +1 -1
  47. package/dist/src/agent-session-wait-steps.d.ts +53 -0
  48. package/dist/src/agent-session-wait-steps.js +389 -0
  49. package/dist/src/agent-session-wait-steps.js.map +1 -0
  50. package/dist/src/agent-tracing-options.d.ts +107 -0
  51. package/dist/src/agent-tracing-options.js +20 -0
  52. package/dist/src/agent-tracing-options.js.map +1 -0
  53. package/dist/src/ai-sdk/ai-sdk-model-client.d.ts +40 -0
  54. package/dist/src/ai-sdk/ai-sdk-model-client.js +235 -0
  55. package/dist/src/ai-sdk/ai-sdk-model-client.js.map +1 -0
  56. package/dist/src/ai-sdk/index.d.ts +1 -0
  57. package/dist/src/ai-sdk/index.js +9 -0
  58. package/dist/src/ai-sdk/index.js.map +1 -0
  59. package/dist/src/index.d.ts +9 -3
  60. package/dist/src/index.js +7 -2
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/mcp/index.d.ts +3 -0
  63. package/dist/src/mcp/index.js +10 -0
  64. package/dist/src/mcp/index.js.map +1 -0
  65. package/dist/src/mcp/mcp-resource-and-prompt-tools.d.ts +29 -0
  66. package/dist/src/mcp/mcp-resource-and-prompt-tools.js +185 -0
  67. package/dist/src/mcp/mcp-resource-and-prompt-tools.js.map +1 -0
  68. package/dist/src/mcp/mcp-server-config.d.ts +86 -0
  69. package/dist/src/mcp/mcp-server-config.js +38 -0
  70. package/dist/src/mcp/mcp-server-config.js.map +1 -0
  71. package/dist/src/mcp/mcp-tool-source.d.ts +470 -0
  72. package/dist/src/mcp/mcp-tool-source.js +1204 -0
  73. package/dist/src/mcp/mcp-tool-source.js.map +1 -0
  74. package/dist/src/stepwise/agent-definition.d.ts +158 -0
  75. package/dist/src/stepwise/agent-definition.js +9 -0
  76. package/dist/src/stepwise/agent-definition.js.map +1 -0
  77. package/dist/src/stepwise/function-tool.d.ts +130 -0
  78. package/dist/src/stepwise/function-tool.js +75 -0
  79. package/dist/src/stepwise/function-tool.js.map +1 -0
  80. package/dist/src/stepwise/index.d.ts +7 -0
  81. package/dist/src/stepwise/index.js +12 -0
  82. package/dist/src/stepwise/index.js.map +1 -0
  83. package/dist/src/stepwise/json-schema-validation.d.ts +9 -0
  84. package/dist/src/stepwise/json-schema-validation.js +141 -0
  85. package/dist/src/stepwise/json-schema-validation.js.map +1 -0
  86. package/dist/src/stepwise/model-client.d.ts +194 -0
  87. package/dist/src/stepwise/model-client.js +9 -0
  88. package/dist/src/stepwise/model-client.js.map +1 -0
  89. package/dist/src/stepwise/scripted-model-client.d.ts +99 -0
  90. package/dist/src/stepwise/scripted-model-client.js +156 -0
  91. package/dist/src/stepwise/scripted-model-client.js.map +1 -0
  92. package/dist/src/stepwise/stepwise-agent-runner.d.ts +189 -0
  93. package/dist/src/stepwise/stepwise-agent-runner.js +804 -0
  94. package/dist/src/stepwise/stepwise-agent-runner.js.map +1 -0
  95. package/dist/src/stepwise/stepwise-agent-session-flow.d.ts +35 -0
  96. package/dist/src/stepwise/stepwise-agent-session-flow.js +56 -0
  97. package/dist/src/stepwise/stepwise-agent-session-flow.js.map +1 -0
  98. package/dist/src/stepwise/stepwise-input-items.d.ts +12 -0
  99. package/dist/src/stepwise/stepwise-input-items.js +172 -0
  100. package/dist/src/stepwise/stepwise-input-items.js.map +1 -0
  101. package/dist/src/stepwise/tool-source.d.ts +103 -0
  102. package/dist/src/stepwise/tool-source.js +9 -0
  103. package/dist/src/stepwise/tool-source.js.map +1 -0
  104. package/dist/src/testing/agent-session-test-client.d.ts +65 -8
  105. package/dist/src/testing/agent-session-test-client.js +95 -22
  106. package/dist/src/testing/agent-session-test-client.js.map +1 -1
  107. package/dist/src/testing/index.d.ts +1 -0
  108. package/dist/src/testing/index.js +1 -0
  109. package/dist/src/testing/index.js.map +1 -1
  110. package/dist/src/testing/private-dex-engine.d.ts +9 -0
  111. package/dist/src/testing/private-dex-engine.js +9 -1
  112. package/dist/src/testing/private-dex-engine.js.map +1 -1
  113. package/dist/src/testing/scripted-model-client.d.ts +1 -0
  114. package/dist/src/testing/scripted-model-client.js +10 -0
  115. package/dist/src/testing/scripted-model-client.js.map +1 -0
  116. package/dist/src/ui-stream/agent-event-json.d.ts +30 -0
  117. package/dist/src/ui-stream/agent-event-json.js +64 -0
  118. package/dist/src/ui-stream/agent-event-json.js.map +1 -0
  119. package/dist/src/ui-stream/agent-event-sse.d.ts +154 -0
  120. package/dist/src/ui-stream/agent-event-sse.js +159 -0
  121. package/dist/src/ui-stream/agent-event-sse.js.map +1 -0
  122. package/dist/src/ui-stream/agent-event-stream-positions.d.ts +42 -0
  123. package/dist/src/ui-stream/agent-event-stream-positions.js +153 -0
  124. package/dist/src/ui-stream/agent-event-stream-positions.js.map +1 -0
  125. package/dist/src/ui-stream/agent-session-record-reader.d.ts +72 -0
  126. package/dist/src/ui-stream/agent-session-record-reader.js +241 -0
  127. package/dist/src/ui-stream/agent-session-record-reader.js.map +1 -0
  128. package/dist/src/ui-stream/agent-ui-message-stream-responses.d.ts +219 -0
  129. package/dist/src/ui-stream/agent-ui-message-stream-responses.js +440 -0
  130. package/dist/src/ui-stream/agent-ui-message-stream-responses.js.map +1 -0
  131. package/dist/src/ui-stream/agent-ui-message-stream.d.ts +138 -0
  132. package/dist/src/ui-stream/agent-ui-message-stream.js +681 -0
  133. package/dist/src/ui-stream/agent-ui-message-stream.js.map +1 -0
  134. package/dist/src/ui-stream/agent-ui-message-types.d.ts +238 -0
  135. package/dist/src/ui-stream/agent-ui-message-types.js +57 -0
  136. package/dist/src/ui-stream/agent-ui-message-types.js.map +1 -0
  137. package/dist/src/ui-stream/agent-ui-messages.d.ts +66 -0
  138. package/dist/src/ui-stream/agent-ui-messages.js +220 -0
  139. package/dist/src/ui-stream/agent-ui-messages.js.map +1 -0
  140. package/dist/src/ui-stream/agent-ui-stream-cursor.d.ts +64 -0
  141. package/dist/src/ui-stream/agent-ui-stream-cursor.js +186 -0
  142. package/dist/src/ui-stream/agent-ui-stream-cursor.js.map +1 -0
  143. package/dist/src/ui-stream/index.d.ts +14 -0
  144. package/dist/src/ui-stream/index.js +22 -0
  145. package/dist/src/ui-stream/index.js.map +1 -0
  146. package/dist/src/ui-stream/server-sent-event-responses.d.ts +6 -0
  147. package/dist/src/ui-stream/server-sent-event-responses.js +34 -0
  148. package/dist/src/ui-stream/server-sent-event-responses.js.map +1 -0
  149. package/package.json +41 -5
@@ -39,13 +39,30 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
39
39
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
40
40
  done = true;
41
41
  };
42
- import { StepList, booleanCodec, rpc, } from "@superdurable/dex";
43
- import { agentMessagesPageCodec, agentSnapshotCodec, agentUserMessageCodec, listAgentMessagesInputCodec, resolveInterruptInputCodec, } from "./agent-session-codecs.js";
44
- import { createAgentSessionPersistence, defaultAgentEventsCapacityBytes, } from "./agent-session-persistence.js";
45
- import { AwaitToolApprovalStep, AwaitUserMessageStep, RecordTurnFailureStep, ResumeTurnStep, RunModelStep, StartAgentSessionStep, ToolCallFailureRecordingStep, ToolCallStep, } from "./agent-session-steps.js";
46
- import { AgentSessionTransitions, agentSessionStepTypes, } from "./agent-session-transitions.js";
47
- const snapshotMessageLimit = 200;
48
- const messagePageLimit = 200;
42
+ import { StepList, StepRef, booleanCodec, rpc, } from "@superdurable/dex";
43
+ import { builtInToolNames, isBlankText } from "./agent-built-in-tools.js";
44
+ import { isContextCompactionRunner, resolveCompactionPolicy, } from "./agent-context-compaction.js";
45
+ import { agentMessagesPageCodec, agentSnapshotCodec, agentUserMessageCodec, answerQuestionRequestCodec, cancelTurnRequestCodec, deleteQueuedMessageRequestCodec, executePlanRequestCodec, listAgentMessagesInputCodec, resolveInterruptInputCodec, steerUserMessageRequestCodec, updateSessionSettingsRequestCodec, } from "./agent-session-codecs.js";
46
+ import { createAgentSessionPersistence, defaultAgentEventsCapacityBytes, planExecutionKey, } from "./agent-session-persistence.js";
47
+ import { checkStoredSessionSettings } from "./agent-session-settings.js";
48
+ import { ApplyTurnControlStep, AwaitToolApprovalStep, AwaitUserMessageStep, CompactContextStep, isExecutablePlanStatus, RecordTurnFailureStep, ResumeTurnStep, RunModelStep, StartAgentSessionStep, ToolCallFailureRecordingStep, ToolCallStep, } from "./agent-session-steps.js";
49
+ import { AgentSessionTracer } from "./agent-session-tracer.js";
50
+ import { CancelToolTaskStep, FinishTurnCancellationStep } from "./agent-session-cancellation-steps.js";
51
+ import { AwaitQuestionAnswerStep, AwaitTimerStep, PollToolTaskStep } from "./agent-session-wait-steps.js";
52
+ import { AgentSessionTransitions, agentSessionStepTypes, finishTurnCancellationMovement, messageRolloverMaxBytesPerCommit, messageRolloverMaxChunksPerCommit, } from "./agent-session-transitions.js";
53
+ import { genAISemanticConventionsSchemaUrls, } from "./agent-tracing-options.js";
54
+ export const snapshotMessageLimit = 200;
55
+ export const defaultMaxDurableWaitMs = 365 * 24 * 60 * 60 * 1_000;
56
+ export const messagePageLimit = 200;
57
+ /** Default {@link AgentSessionOptions.messageWindowSize}. */
58
+ export const defaultMessageWindowSize = 64;
59
+ /** Default {@link AgentSessionOptions.messageChunkSize}. */
60
+ export const defaultMessageChunkSize = 32;
61
+ /** Default {@link AgentSessionOptions.messageChunkMaxBytes}: 1 MiB. */
62
+ export const defaultMessageChunkMaxBytes = 1_048_576;
63
+ /** Default {@link AgentSessionOptions.retainedMessageLimit}. */
64
+ export const defaultRetainedMessageLimit = 1_000;
65
+ export { messageRolloverMaxBytesPerCommit, messageRolloverMaxChunksPerCommit };
49
66
  const toolEffects = [
50
67
  "read",
51
68
  "idempotent_write",
@@ -72,29 +89,50 @@ const toolEffects = [
72
89
  * const billing = createAgentSessionFlow(billingRunner, "BillingAgent");
73
90
  * const registry = new Registry([triage, billing]);
74
91
  * ```
92
+ * @typeParam Runner - Type of the runner, kept as the Flow's `runner` property type.
75
93
  * @param runner - Framework runner; the Flow owns no other dependency.
76
94
  * @param flowType - Flow type, unique within the Registry, such as `"TriageAgent"`. Keep it stable:
77
95
  * running sessions resume by it.
78
- * @param options - Tool policies, Stream capacity, and approval deadline. Defaults to all defaults.
96
+ * @param options - Tool policies, Stream capacity, approval deadline, and tracing. Defaults to all
97
+ * defaults.
79
98
  * @returns A new Flow to register in one Registry.
80
- * @throws {TypeError} When `flowType` is blank, the runner is incomplete, or an effect is unknown.
81
- * @throws {RangeError} When `eventStreamCapacityBytes` or `interruptDeadlineMs` is not positive.
99
+ * @throws {TypeError} When `flowType` is blank, the runner is incomplete, an effect or built-in tool is
100
+ * unknown, a tool policy names an enabled built-in tool, a tracing option is invalid, `planModeEnabled`
101
+ * is set without `write_todos` or for a runner without {@link AgentFrameworkRunner.supportsPlanMode}, or
102
+ * `compaction` is set for a runner without the compaction methods.
103
+ * @throws {RangeError} When `eventStreamCapacityBytes` or `interruptDeadlineMs` is not positive,
104
+ * `maxDurableWaitMs` is not a positive whole number of seconds, or the compaction policy is out of range.
82
105
  */
83
106
  export function createAgentSessionFlow(runner, flowType, options = {}) {
84
107
  const config = resolveAgentSessionConfig(runner, flowType, options);
85
108
  const persistence = createAgentSessionPersistence(config.eventStreamCapacityBytes);
86
- const transitions = new AgentSessionTransitions(persistence, runner, config);
109
+ const transitions = new AgentSessionTransitions(persistence, runner, config, new AgentSessionTracer(config.tracing, persistence));
87
110
  const resolvedOptions = Object.freeze({
88
111
  toolPolicies: config.toolPolicies,
89
112
  defaultToolEffect: config.defaultToolEffect,
90
113
  eventStreamCapacityBytes: config.eventStreamCapacityBytes,
91
114
  interruptDeadlineMs: config.interruptDeadlineMs,
115
+ tracing: config.tracing,
116
+ builtInTools: Object.freeze(builtInToolNames.filter((name) => config.builtInTools.has(name))),
117
+ maxDurableWaitMs: config.maxDurableWaitMs,
118
+ planModeEnabled: config.planModeEnabled,
119
+ ...(config.compaction === undefined ? {} : { compaction: config.compaction }),
120
+ messageWindowSize: config.messageWindowSize,
121
+ messageChunkSize: config.messageChunkSize,
122
+ messageChunkMaxBytes: config.messageChunkMaxBytes,
123
+ retainedMessageLimit: config.retainedMessageLimit,
92
124
  });
93
125
  // A class per Flow gives each Flow its own RPC methods, which the Dex Client identifies by function.
94
126
  let AgentSessionFlowDefinition = (() => {
95
127
  let _instanceExtraInitializers = [];
96
128
  let _sendUserMessage_decorators;
129
+ let _executePlan_decorators;
130
+ let _steerUserMessage_decorators;
131
+ let _deleteQueuedMessage_decorators;
132
+ let _cancelTurn_decorators;
133
+ let _updateSessionSettings_decorators;
97
134
  let _resolveInterrupt_decorators;
135
+ let _answerQuestion_decorators;
98
136
  let _getAgentSnapshot_decorators;
99
137
  let _listAgentMessages_decorators;
100
138
  return class AgentSessionFlowDefinition {
@@ -104,6 +142,39 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
104
142
  name: "send_user_message",
105
143
  inputCodec: agentUserMessageCodec,
106
144
  outputCodec: booleanCodec,
145
+ isTransactional: true,
146
+ })];
147
+ _executePlan_decorators = [rpc({
148
+ name: "execute_plan",
149
+ inputCodec: executePlanRequestCodec,
150
+ outputCodec: booleanCodec,
151
+ lockAttributes: [persistence.pendingPlanExecution.lock()],
152
+ })];
153
+ _steerUserMessage_decorators = [rpc({
154
+ name: "steer_user_message",
155
+ inputCodec: steerUserMessageRequestCodec,
156
+ outputCodec: booleanCodec,
157
+ isTransactional: true,
158
+ loadChannels: [persistence.queuedUserMessages],
159
+ })];
160
+ _deleteQueuedMessage_decorators = [rpc({
161
+ name: "delete_queued_message",
162
+ inputCodec: deleteQueuedMessageRequestCodec,
163
+ outputCodec: booleanCodec,
164
+ isTransactional: true,
165
+ loadChannels: [persistence.queuedUserMessages],
166
+ })];
167
+ _cancelTurn_decorators = [rpc({
168
+ name: "cancel_turn",
169
+ inputCodec: cancelTurnRequestCodec,
170
+ outputCodec: booleanCodec,
171
+ lockAttributes: [persistence.turnCancellationRequest.lock(), persistence.pendingInterrupts.lock()],
172
+ })];
173
+ _updateSessionSettings_decorators = [rpc({
174
+ name: "update_session_settings",
175
+ inputCodec: updateSessionSettingsRequestCodec,
176
+ outputCodec: booleanCodec,
177
+ isTransactional: true,
107
178
  })];
108
179
  _resolveInterrupt_decorators = [rpc({
109
180
  name: "resolve_interrupt",
@@ -111,19 +182,32 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
111
182
  outputCodec: booleanCodec,
112
183
  lockAttributes: [persistence.pendingInterrupts.lock()],
113
184
  })];
185
+ _answerQuestion_decorators = [rpc({
186
+ name: "answer_question",
187
+ inputCodec: answerQuestionRequestCodec,
188
+ outputCodec: booleanCodec,
189
+ lockAttributes: [persistence.pendingInterrupts.lock()],
190
+ })];
114
191
  _getAgentSnapshot_decorators = [rpc({
115
192
  name: "get_agent_snapshot",
116
193
  outputCodec: agentSnapshotCodec,
117
- loadAttributeMaps: [persistence.agentMessages, persistence.agentToolCalls],
194
+ loadAttributeMaps: [persistence.agentMessages, persistence.agentMessageChunks, persistence.agentToolCalls],
195
+ loadChannels: [persistence.queuedUserMessages, persistence.steeredUserMessages],
118
196
  })];
119
197
  _listAgentMessages_decorators = [rpc({
120
198
  name: "list_agent_messages",
121
199
  inputCodec: listAgentMessagesInputCodec,
122
200
  outputCodec: agentMessagesPageCodec,
123
- loadAttributeMaps: [persistence.agentMessages],
201
+ loadAttributeMaps: [persistence.agentMessages, persistence.agentMessageChunks],
124
202
  })];
125
203
  __esDecorate(this, null, _sendUserMessage_decorators, { kind: "method", name: "sendUserMessage", static: false, private: false, access: { has: obj => "sendUserMessage" in obj, get: obj => obj.sendUserMessage }, metadata: _metadata }, null, _instanceExtraInitializers);
204
+ __esDecorate(this, null, _executePlan_decorators, { kind: "method", name: "executePlan", static: false, private: false, access: { has: obj => "executePlan" in obj, get: obj => obj.executePlan }, metadata: _metadata }, null, _instanceExtraInitializers);
205
+ __esDecorate(this, null, _steerUserMessage_decorators, { kind: "method", name: "steerUserMessage", static: false, private: false, access: { has: obj => "steerUserMessage" in obj, get: obj => obj.steerUserMessage }, metadata: _metadata }, null, _instanceExtraInitializers);
206
+ __esDecorate(this, null, _deleteQueuedMessage_decorators, { kind: "method", name: "deleteQueuedMessage", static: false, private: false, access: { has: obj => "deleteQueuedMessage" in obj, get: obj => obj.deleteQueuedMessage }, metadata: _metadata }, null, _instanceExtraInitializers);
207
+ __esDecorate(this, null, _cancelTurn_decorators, { kind: "method", name: "cancelTurn", static: false, private: false, access: { has: obj => "cancelTurn" in obj, get: obj => obj.cancelTurn }, metadata: _metadata }, null, _instanceExtraInitializers);
208
+ __esDecorate(this, null, _updateSessionSettings_decorators, { kind: "method", name: "updateSessionSettings", static: false, private: false, access: { has: obj => "updateSessionSettings" in obj, get: obj => obj.updateSessionSettings }, metadata: _metadata }, null, _instanceExtraInitializers);
126
209
  __esDecorate(this, null, _resolveInterrupt_decorators, { kind: "method", name: "resolveInterrupt", static: false, private: false, access: { has: obj => "resolveInterrupt" in obj, get: obj => obj.resolveInterrupt }, metadata: _metadata }, null, _instanceExtraInitializers);
210
+ __esDecorate(this, null, _answerQuestion_decorators, { kind: "method", name: "answerQuestion", static: false, private: false, access: { has: obj => "answerQuestion" in obj, get: obj => obj.answerQuestion }, metadata: _metadata }, null, _instanceExtraInitializers);
127
211
  __esDecorate(this, null, _getAgentSnapshot_decorators, { kind: "method", name: "getAgentSnapshot", static: false, private: false, access: { has: obj => "getAgentSnapshot" in obj, get: obj => obj.getAgentSnapshot }, metadata: _metadata }, null, _instanceExtraInitializers);
128
212
  __esDecorate(this, null, _listAgentMessages_decorators, { kind: "method", name: "listAgentMessages", static: false, private: false, access: { has: obj => "listAgentMessages" in obj, get: obj => obj.listAgentMessages }, metadata: _metadata }, null, _instanceExtraInitializers);
129
213
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -132,6 +216,8 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
132
216
  options = resolvedOptions;
133
217
  agentState = persistence.agentState;
134
218
  agentMessages = persistence.agentMessages;
219
+ agentMessageChunks = persistence.agentMessageChunks;
220
+ agentMessageIndex = persistence.agentMessageIndex;
135
221
  frameworkRunState = persistence.frameworkRunState;
136
222
  agentToolCalls = persistence.agentToolCalls;
137
223
  pendingInterrupts = persistence.pendingInterrupts;
@@ -139,37 +225,180 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
139
225
  queuedUserMessages = persistence.queuedUserMessages;
140
226
  interruptResolutions = persistence.interruptResolutions;
141
227
  toolCallResults = persistence.toolCallResults;
228
+ steeredUserMessages = persistence.steeredUserMessages;
229
+ turnControlRequests = persistence.turnControlRequests;
230
+ turnCancellationRequest = persistence.turnCancellationRequest;
231
+ toolCallCancellations = persistence.toolCallCancellations;
142
232
  agentEvents = persistence.agentEvents;
143
- steps = StepList.startStep(new StartAgentSessionStep(transitions)).otherSteps(new AwaitUserMessageStep(transitions), new RunModelStep(transitions), new AwaitToolApprovalStep(transitions), new ToolCallStep(transitions, agentSessionStepTypes.callTool), new ToolCallStep(transitions, agentSessionStepTypes.callSingleAttemptTool), new ToolCallFailureRecordingStep(transitions, agentSessionStepTypes.recordToolFailure, true), new ToolCallFailureRecordingStep(transitions, agentSessionStepTypes.recordToolOutcomeUnknown, false), new ResumeTurnStep(transitions), new RecordTurnFailureStep(transitions));
233
+ agentTraceContext = persistence.agentTraceContext;
234
+ agentPlan = persistence.agentPlan;
235
+ planExecutions = persistence.planExecutions;
236
+ pendingPlanExecution = persistence.pendingPlanExecution;
237
+ contextSummary = persistence.contextSummary;
238
+ sessionSettings = persistence.sessionSettings;
239
+ turnSessionSettings = persistence.turnSessionSettings;
240
+ /** The `TurnReplySequence` Attribute; see {@link AgentSessionPersistence.turnReplySequence}. */
241
+ turnReplySequence = persistence.turnReplySequence;
242
+ steps = StepList.startStep(new StartAgentSessionStep(transitions)).otherSteps(new AwaitUserMessageStep(transitions), new RunModelStep(transitions), new CompactContextStep(transitions), new AwaitToolApprovalStep(transitions), new AwaitQuestionAnswerStep(transitions), new AwaitTimerStep(transitions), new ToolCallStep(transitions, agentSessionStepTypes.callTool), new ToolCallStep(transitions, agentSessionStepTypes.callSingleAttemptTool), new PollToolTaskStep(transitions), new ToolCallFailureRecordingStep(transitions, agentSessionStepTypes.recordToolFailure, true), new ToolCallFailureRecordingStep(transitions, agentSessionStepTypes.recordToolOutcomeUnknown, false), new ResumeTurnStep(transitions), new ApplyTurnControlStep(transitions), new RecordTurnFailureStep(transitions), new FinishTurnCancellationStep(transitions), new CancelToolTaskStep(transitions));
144
243
  getFlowType() {
145
244
  return config.flowType;
146
245
  }
147
246
  getSteps() {
148
247
  return this.steps;
149
248
  }
249
+ // AgentTraceContext and ContextSummary are always registered, so Workers with and without tracing or
250
+ // compaction serve one Flow type.
150
251
  getPersistenceSchema() {
151
252
  return {
152
253
  attributes: [
153
254
  persistence.agentState,
154
255
  persistence.agentMessages,
256
+ persistence.agentMessageChunks,
257
+ persistence.agentMessageIndex,
155
258
  persistence.frameworkRunState,
156
259
  persistence.agentToolCalls,
157
260
  persistence.pendingInterrupts,
158
261
  persistence.agentUsage,
262
+ persistence.turnCancellationRequest,
263
+ persistence.agentTraceContext,
264
+ persistence.agentPlan,
265
+ persistence.pendingPlanExecution,
266
+ persistence.contextSummary,
267
+ persistence.sessionSettings,
268
+ persistence.turnSessionSettings,
269
+ persistence.turnReplySequence,
159
270
  ],
160
271
  channels: [
161
272
  persistence.queuedUserMessages,
162
273
  persistence.interruptResolutions,
163
274
  persistence.toolCallResults,
275
+ persistence.planExecutions,
276
+ persistence.steeredUserMessages,
277
+ persistence.turnControlRequests,
278
+ persistence.toolCallCancellations,
164
279
  ],
165
280
  streams: [persistence.agentEvents],
166
281
  };
167
282
  }
168
283
  sendUserMessage(context, message) {
169
- if (message.text.trim() === "") {
284
+ const planMode = message.planMode ?? false;
285
+ if (isBlankText(message.text) || (planMode && !config.planModeEnabled)) {
286
+ return { output: false };
287
+ }
288
+ persistence.queuedUserMessages.publish(context, { text: message.text, planMode });
289
+ return { output: true };
290
+ }
291
+ executePlan(context, input) {
292
+ const state = transitions.readOptionalAgentState(context);
293
+ const plan = transitions.readOptionalAgentPlan(context);
294
+ const pending = persistence.pendingPlanExecution.get(context);
295
+ if (state === null ||
296
+ state.status !== "waiting_for_user_message" ||
297
+ state.activeTurnId !== null ||
298
+ plan === null ||
299
+ plan.revision !== input.revision ||
300
+ !isExecutablePlanStatus(plan.status) ||
301
+ (pending !== undefined && pending.revision === plan.revision) ||
302
+ context.channelSize(persistence.queuedUserMessages) > 0 ||
303
+ context.channelSize(persistence.steeredUserMessages) > 0 ||
304
+ transitions.readPendingInterrupts(context).length > 0) {
305
+ return { output: false };
306
+ }
307
+ const request = { revision: plan.revision };
308
+ persistence.pendingPlanExecution.set(context, request);
309
+ persistence.planExecutions.publish(context, planExecutionKey(plan.revision), request);
310
+ return { output: true };
311
+ }
312
+ steerUserMessage(context, input) {
313
+ if ((input.messageId === null) === (input.text === null)) {
314
+ return { output: false };
315
+ }
316
+ const state = transitions.readOptionalAgentState(context);
317
+ if (state?.activeTurnId == null) {
318
+ // Any Worker version waits for queued messages while idle; a steer might wait forever.
319
+ if (input.text === null) {
320
+ return { output: findQueuedMessage(context, persistence, input.messageId ?? "") !== undefined };
321
+ }
322
+ return this.sendUserMessage(context, { text: input.text });
323
+ }
324
+ if (state.acceptsTurnControl !== true) {
325
+ return { output: false };
326
+ }
327
+ let steered;
328
+ if (input.text !== null) {
329
+ if (isBlankText(input.text)) {
330
+ return { output: false };
331
+ }
332
+ steered = { text: input.text };
333
+ }
334
+ else {
335
+ const queued = findQueuedMessage(context, persistence, input.messageId ?? "");
336
+ if (queued === undefined) {
337
+ return { output: false };
338
+ }
339
+ persistence.queuedUserMessages.delete(context, queued.messageId);
340
+ steered = queued.message;
341
+ }
342
+ persistence.steeredUserMessages.publish(context, steered);
343
+ persistence.turnControlRequests.publish(context, { kind: "steer" });
344
+ return { output: true };
345
+ }
346
+ deleteQueuedMessage(context, input) {
347
+ const queued = findQueuedMessage(context, persistence, input.messageId);
348
+ if (queued === undefined) {
349
+ return { output: false };
350
+ }
351
+ persistence.queuedUserMessages.delete(context, queued.messageId);
352
+ return { output: true };
353
+ }
354
+ // PendingInterrupts orders it with ResumeTurn, and TurnCancellationRequest with turn starts.
355
+ cancelTurn(context, input) {
356
+ const state = transitions.readOptionalAgentState(context);
357
+ const activeTurnId = state?.activeTurnId ?? null;
358
+ if (activeTurnId === null ||
359
+ state?.acceptsTurnControl !== true ||
360
+ (input.turnId !== null && input.turnId !== activeTurnId)) {
361
+ return { output: false };
362
+ }
363
+ if (transitions.isTurnCancelled(context, activeTurnId)) {
364
+ return { output: true };
365
+ }
366
+ persistence.turnCancellationRequest.set(context, {
367
+ turnId: activeTurnId,
368
+ requestedAt: new Date().toISOString(),
369
+ });
370
+ // Each cancelled Step has no outside effect or only waits; the model call's answer is lost.
371
+ return {
372
+ output: true,
373
+ nextSteps: [finishTurnCancellationMovement(activeTurnId)],
374
+ cancelingSteps: [
375
+ agentSessionStepTypes.runModel,
376
+ agentSessionStepTypes.compactContext,
377
+ agentSessionStepTypes.recordTurnFailure,
378
+ agentSessionStepTypes.awaitToolApproval,
379
+ agentSessionStepTypes.awaitQuestionAnswer,
380
+ agentSessionStepTypes.awaitTimer,
381
+ agentSessionStepTypes.pollToolTask,
382
+ ].map((stepType) => new StepRef(stepType)),
383
+ };
384
+ }
385
+ updateSessionSettings(context, input) {
386
+ const sessionSettings = input.sessionSettings;
387
+ if (transitions.readOptionalAgentState(context) === null || sessionSettings === null) {
170
388
  return { output: false };
171
389
  }
172
- persistence.queuedUserMessages.publish(context, { text: message.text });
390
+ try {
391
+ checkStoredSessionSettings(sessionSettings);
392
+ }
393
+ catch {
394
+ return { output: false };
395
+ }
396
+ if (Object.keys(sessionSettings).length > 0) {
397
+ persistence.sessionSettings.set(context, sessionSettings);
398
+ }
399
+ else if (transitions.readSessionSettings(context) !== null) {
400
+ persistence.sessionSettings.delete(context);
401
+ }
173
402
  return { output: true };
174
403
  }
175
404
  resolveInterrupt(context, input) {
@@ -177,13 +406,33 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
177
406
  const interrupt = pendingInterrupts.find((pending) => pending.interruptId === input.interruptId);
178
407
  // After the deadline, AwaitToolApproval rejects the call; a late answer must not win.
179
408
  if (interrupt === undefined ||
180
- (interrupt.deadline !== null && Date.parse(interrupt.deadline) <= Date.now())) {
409
+ (interrupt.deadline !== null && Date.parse(interrupt.deadline) <= Date.now()) ||
410
+ (interrupt.kind === "question" && input.approved)) {
181
411
  return { output: false };
182
412
  }
183
413
  persistence.pendingInterrupts.set(context, pendingInterrupts.filter((interrupt) => interrupt.interruptId !== input.interruptId));
184
414
  persistence.interruptResolutions.publish(context, input.interruptId, {
185
415
  approved: input.approved,
186
416
  rejectionMessage: input.approved ? null : input.rejectionMessage,
417
+ answer: null,
418
+ });
419
+ return { output: true };
420
+ }
421
+ answerQuestion(context, input) {
422
+ const pendingInterrupts = transitions.readPendingInterrupts(context);
423
+ const interrupt = pendingInterrupts.find((pending) => pending.interruptId === input.interruptId);
424
+ if (interrupt === undefined ||
425
+ interrupt.kind !== "question" ||
426
+ (interrupt.deadline !== null && Date.parse(interrupt.deadline) <= Date.now()) ||
427
+ isBlankText(input.answer) ||
428
+ isAnswerOutsideChoices(interrupt.choices ?? [], interrupt.allowsFreeText ?? true, input.answer)) {
429
+ return { output: false };
430
+ }
431
+ persistence.pendingInterrupts.set(context, pendingInterrupts.filter((pending) => pending.interruptId !== input.interruptId));
432
+ persistence.interruptResolutions.publish(context, input.interruptId, {
433
+ approved: true,
434
+ rejectionMessage: null,
435
+ answer: input.answer,
187
436
  });
188
437
  return { output: true };
189
438
  }
@@ -198,6 +447,11 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
198
447
  toolCalls: [],
199
448
  usage: transitions.readAgentUsage(context),
200
449
  queuedMessageCount: 0,
450
+ plan: null,
451
+ queuedMessages: [],
452
+ steeredMessages: [],
453
+ contextSummary: null,
454
+ sessionSettings: null,
201
455
  },
202
456
  };
203
457
  }
@@ -210,24 +464,31 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
210
464
  toolCalls: transitions.readTurnToolCalls(context, state.activeTurnId),
211
465
  usage: transitions.readAgentUsage(context),
212
466
  queuedMessageCount: context.channelSize(persistence.queuedUserMessages),
467
+ plan: transitions.readOptionalAgentPlan(context),
468
+ queuedMessages: readPendingUserMessages(context, persistence.queuedUserMessages),
469
+ steeredMessages: readPendingUserMessages(context, persistence.steeredUserMessages),
470
+ contextSummary: transitions.readContextSummary(context),
471
+ sessionSettings: transitions.readSessionSettings(context),
213
472
  },
214
473
  };
215
474
  }
216
475
  listAgentMessages(context, input) {
217
476
  const state = transitions.readOptionalAgentState(context);
218
477
  if (state === null) {
219
- return { output: { messages: [], nextBeforeSequence: null } };
478
+ return { output: { messages: [], nextBeforeSequence: null, deletedBeforeSequence: null } };
220
479
  }
221
480
  const limit = Math.max(1, Math.min(input.limit, messagePageLimit));
481
+ const firstSequence = transitions.readFirstStoredSequence(context);
222
482
  let end = state.nextMessageSequence;
223
483
  if (input.beforeSequence !== null) {
224
- end = Math.max(1, Math.min(input.beforeSequence, end));
484
+ end = Math.max(firstSequence, Math.min(input.beforeSequence, end));
225
485
  }
226
- const start = Math.max(1, end - limit);
486
+ const start = Math.max(firstSequence, end - limit);
227
487
  return {
228
488
  output: {
229
489
  messages: transitions.readMessages(context, start, end),
230
- nextBeforeSequence: start > 1 ? start : null,
490
+ nextBeforeSequence: start > firstSequence ? start : null,
491
+ deletedBeforeSequence: firstSequence > 1 ? firstSequence : null,
231
492
  },
232
493
  };
233
494
  }
@@ -260,14 +521,100 @@ function resolveAgentSessionConfig(runner, flowType, options) {
260
521
  (!Number.isFinite(interruptDeadlineMs) || interruptDeadlineMs <= 0)) {
261
522
  throw new RangeError("interruptDeadlineMs must be positive");
262
523
  }
524
+ const builtInTools = new Set();
525
+ for (const builtInTool of options.builtInTools ?? []) {
526
+ if (!builtInToolNames.includes(builtInTool)) {
527
+ throw new TypeError(`builtInTools has unknown built-in tool ${String(builtInTool)}`);
528
+ }
529
+ builtInTools.add(builtInTool);
530
+ }
531
+ for (const toolName of Object.keys(toolPolicies)) {
532
+ if (builtInTools.has(toolName)) {
533
+ throw new TypeError(`tool policy ${toolName} names an enabled built-in tool, whose policy is fixed`);
534
+ }
535
+ }
536
+ const planModeEnabled = options.planModeEnabled ?? false;
537
+ if (planModeEnabled && !builtInTools.has("write_todos")) {
538
+ throw new TypeError("planModeEnabled requires the write_todos built-in tool");
539
+ }
540
+ if (planModeEnabled && runner.supportsPlanMode !== true) {
541
+ throw new TypeError("planModeEnabled requires a runner that supports plan mode");
542
+ }
543
+ const maxDurableWaitMs = options.maxDurableWaitMs ?? defaultMaxDurableWaitMs;
544
+ if (!Number.isSafeInteger(maxDurableWaitMs) || maxDurableWaitMs < 1_000 || maxDurableWaitMs % 1_000 !== 0) {
545
+ throw new RangeError("maxDurableWaitMs must be a positive whole number of seconds, in milliseconds");
546
+ }
547
+ const compaction = options.compaction === undefined ? undefined : resolveCompactionPolicy(options.compaction);
548
+ if (compaction !== undefined && !isContextCompactionRunner(runner)) {
549
+ throw new TypeError("compaction needs a runner that implements estimateInputTokens, selectCompactionCutoff, and summarizeContext");
550
+ }
551
+ const messageChunkSize = options.messageChunkSize ?? defaultMessageChunkSize;
552
+ if (!Number.isSafeInteger(messageChunkSize) || messageChunkSize <= 0) {
553
+ throw new RangeError("messageChunkSize must be positive");
554
+ }
555
+ const messageWindowSize = options.messageWindowSize ?? defaultMessageWindowSize;
556
+ if (!Number.isSafeInteger(messageWindowSize) || messageWindowSize < messageChunkSize) {
557
+ throw new RangeError("messageWindowSize must be at least messageChunkSize");
558
+ }
559
+ const messageChunkMaxBytes = options.messageChunkMaxBytes ?? defaultMessageChunkMaxBytes;
560
+ if (!Number.isSafeInteger(messageChunkMaxBytes) ||
561
+ messageChunkMaxBytes < 1 ||
562
+ messageChunkMaxBytes > messageRolloverMaxBytesPerCommit) {
563
+ throw new RangeError(`messageChunkMaxBytes must be between 1 and ${messageRolloverMaxBytesPerCommit}`);
564
+ }
565
+ const retainedMessageLimit = options.retainedMessageLimit === undefined ? defaultRetainedMessageLimit : options.retainedMessageLimit;
566
+ if (retainedMessageLimit !== null && (!Number.isSafeInteger(retainedMessageLimit) || retainedMessageLimit < 0)) {
567
+ throw new RangeError("retainedMessageLimit must not be negative");
568
+ }
263
569
  return {
264
570
  flowType,
265
571
  toolPolicies: Object.freeze(toolPolicies),
266
572
  defaultToolEffect,
267
573
  eventStreamCapacityBytes,
268
574
  interruptDeadlineMs,
575
+ tracing: resolveAgentTracingOptions(flowType, options.tracing ?? {}),
576
+ builtInTools,
577
+ maxDurableWaitMs,
578
+ planModeEnabled,
579
+ compaction,
580
+ messageWindowSize,
581
+ messageChunkSize,
582
+ messageChunkMaxBytes,
583
+ retainedMessageLimit,
269
584
  };
270
585
  }
586
+ function resolveAgentTracingOptions(flowType, tracing) {
587
+ const agentName = tracing.agentName ?? flowType;
588
+ if (typeof agentName !== "string" || agentName.trim() === "") {
589
+ throw new TypeError("tracing.agentName must be a non-blank string");
590
+ }
591
+ const semanticConventionsVersion = tracing.semanticConventionsVersion ?? "1.42.0-dev";
592
+ if (!Object.hasOwn(genAISemanticConventionsSchemaUrls, semanticConventionsVersion)) {
593
+ throw new TypeError(`tracing.semanticConventionsVersion ${String(semanticConventionsVersion)} is unknown`);
594
+ }
595
+ const tracerProvider = tracing.tracerProvider;
596
+ if (tracerProvider !== undefined && typeof tracerProvider?.getTracer !== "function") {
597
+ throw new TypeError("tracing.tracerProvider must be an OpenTelemetry TracerProvider");
598
+ }
599
+ return Object.freeze({
600
+ isEnabled: tracing.isEnabled ?? true,
601
+ tracerProvider,
602
+ agentName,
603
+ shouldCaptureMessageContent: tracing.shouldCaptureMessageContent ?? false,
604
+ semanticConventionsVersion,
605
+ });
606
+ }
607
+ function readPendingUserMessages(context, channel) {
608
+ return channel
609
+ .pendingMessages(context)
610
+ .map((pending) => ({ messageId: pending.messageId, message: pending.value }));
611
+ }
612
+ function findQueuedMessage(context, persistence, messageId) {
613
+ return readPendingUserMessages(context, persistence.queuedUserMessages).find((queued) => queued.messageId === messageId);
614
+ }
615
+ function isAnswerOutsideChoices(choices, allowsFreeText, answer) {
616
+ return choices.length > 0 && !allowsFreeText && !choices.includes(answer);
617
+ }
271
618
  function requireToolEffect(effect, description) {
272
619
  if (!toolEffects.includes(effect)) {
273
620
  throw new TypeError(`${description} has unknown tool effect ${String(effect)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-flow.js","sourceRoot":"","sources":["../../src/agent-session-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-flow.js","sourceRoot":"","sources":["../../src/agent-session-flow.ts"],"names":[],"mappings":"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"}