@superdurable/dex-agents 0.0.0-stage → 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 (171) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +1981 -2
  3. package/dist/src/agent-built-in-tools.d.ts +81 -0
  4. package/dist/src/agent-built-in-tools.js +246 -0
  5. package/dist/src/agent-built-in-tools.js.map +1 -0
  6. package/dist/src/agent-context-compaction.d.ts +108 -0
  7. package/dist/src/agent-context-compaction.js +39 -0
  8. package/dist/src/agent-context-compaction.js.map +1 -0
  9. package/dist/src/agent-event-writer.d.ts +26 -0
  10. package/dist/src/agent-event-writer.js +110 -0
  11. package/dist/src/agent-event-writer.js.map +1 -0
  12. package/dist/src/agent-framework-runner.d.ts +808 -0
  13. package/dist/src/agent-framework-runner.js +82 -0
  14. package/dist/src/agent-framework-runner.js.map +1 -0
  15. package/dist/src/agent-plans.d.ts +48 -0
  16. package/dist/src/agent-plans.js +86 -0
  17. package/dist/src/agent-plans.js.map +1 -0
  18. package/dist/src/agent-session-cancellation-steps.d.ts +28 -0
  19. package/dist/src/agent-session-cancellation-steps.js +154 -0
  20. package/dist/src/agent-session-cancellation-steps.js.map +1 -0
  21. package/dist/src/agent-session-codecs.d.ts +105 -0
  22. package/dist/src/agent-session-codecs.js +689 -0
  23. package/dist/src/agent-session-codecs.js.map +1 -0
  24. package/dist/src/agent-session-flow.d.ts +416 -0
  25. package/dist/src/agent-session-flow.js +623 -0
  26. package/dist/src/agent-session-flow.js.map +1 -0
  27. package/dist/src/agent-session-persistence.d.ts +133 -0
  28. package/dist/src/agent-session-persistence.js +74 -0
  29. package/dist/src/agent-session-persistence.js.map +1 -0
  30. package/dist/src/agent-session-settings.d.ts +58 -0
  31. package/dist/src/agent-session-settings.js +81 -0
  32. package/dist/src/agent-session-settings.js.map +1 -0
  33. package/dist/src/agent-session-step-options.d.ts +27 -0
  34. package/dist/src/agent-session-step-options.js +39 -0
  35. package/dist/src/agent-session-step-options.js.map +1 -0
  36. package/dist/src/agent-session-step-types.d.ts +20 -0
  37. package/dist/src/agent-session-step-types.js +28 -0
  38. package/dist/src/agent-session-step-types.js.map +1 -0
  39. package/dist/src/agent-session-steps.d.ts +179 -0
  40. package/dist/src/agent-session-steps.js +1272 -0
  41. package/dist/src/agent-session-steps.js.map +1 -0
  42. package/dist/src/agent-session-tracer.d.ts +61 -0
  43. package/dist/src/agent-session-tracer.js +608 -0
  44. package/dist/src/agent-session-tracer.js.map +1 -0
  45. package/dist/src/agent-session-transitions.d.ts +224 -0
  46. package/dist/src/agent-session-transitions.js +850 -0
  47. package/dist/src/agent-session-transitions.js.map +1 -0
  48. package/dist/src/agent-session-values.d.ts +998 -0
  49. package/dist/src/agent-session-values.js +162 -0
  50. package/dist/src/agent-session-values.js.map +1 -0
  51. package/dist/src/agent-session-wait-steps.d.ts +53 -0
  52. package/dist/src/agent-session-wait-steps.js +389 -0
  53. package/dist/src/agent-session-wait-steps.js.map +1 -0
  54. package/dist/src/agent-tracing-options.d.ts +107 -0
  55. package/dist/src/agent-tracing-options.js +20 -0
  56. package/dist/src/agent-tracing-options.js.map +1 -0
  57. package/dist/src/ai-sdk/ai-sdk-model-client.d.ts +40 -0
  58. package/dist/src/ai-sdk/ai-sdk-model-client.js +235 -0
  59. package/dist/src/ai-sdk/ai-sdk-model-client.js.map +1 -0
  60. package/dist/src/ai-sdk/index.d.ts +1 -0
  61. package/dist/src/ai-sdk/index.js +9 -0
  62. package/dist/src/ai-sdk/index.js.map +1 -0
  63. package/dist/src/index.d.ts +10 -0
  64. package/dist/src/index.js +17 -0
  65. package/dist/src/index.js.map +1 -0
  66. package/dist/src/mcp/index.d.ts +3 -0
  67. package/dist/src/mcp/index.js +10 -0
  68. package/dist/src/mcp/index.js.map +1 -0
  69. package/dist/src/mcp/mcp-resource-and-prompt-tools.d.ts +29 -0
  70. package/dist/src/mcp/mcp-resource-and-prompt-tools.js +185 -0
  71. package/dist/src/mcp/mcp-resource-and-prompt-tools.js.map +1 -0
  72. package/dist/src/mcp/mcp-server-config.d.ts +86 -0
  73. package/dist/src/mcp/mcp-server-config.js +38 -0
  74. package/dist/src/mcp/mcp-server-config.js.map +1 -0
  75. package/dist/src/mcp/mcp-tool-source.d.ts +470 -0
  76. package/dist/src/mcp/mcp-tool-source.js +1204 -0
  77. package/dist/src/mcp/mcp-tool-source.js.map +1 -0
  78. package/dist/src/stepwise/agent-definition.d.ts +158 -0
  79. package/dist/src/stepwise/agent-definition.js +9 -0
  80. package/dist/src/stepwise/agent-definition.js.map +1 -0
  81. package/dist/src/stepwise/function-tool.d.ts +130 -0
  82. package/dist/src/stepwise/function-tool.js +75 -0
  83. package/dist/src/stepwise/function-tool.js.map +1 -0
  84. package/dist/src/stepwise/index.d.ts +7 -0
  85. package/dist/src/stepwise/index.js +12 -0
  86. package/dist/src/stepwise/index.js.map +1 -0
  87. package/dist/src/stepwise/json-schema-validation.d.ts +9 -0
  88. package/dist/src/stepwise/json-schema-validation.js +141 -0
  89. package/dist/src/stepwise/json-schema-validation.js.map +1 -0
  90. package/dist/src/stepwise/model-client.d.ts +194 -0
  91. package/dist/src/stepwise/model-client.js +9 -0
  92. package/dist/src/stepwise/model-client.js.map +1 -0
  93. package/dist/src/stepwise/scripted-model-client.d.ts +99 -0
  94. package/dist/src/stepwise/scripted-model-client.js +156 -0
  95. package/dist/src/stepwise/scripted-model-client.js.map +1 -0
  96. package/dist/src/stepwise/stepwise-agent-runner.d.ts +189 -0
  97. package/dist/src/stepwise/stepwise-agent-runner.js +804 -0
  98. package/dist/src/stepwise/stepwise-agent-runner.js.map +1 -0
  99. package/dist/src/stepwise/stepwise-agent-session-flow.d.ts +35 -0
  100. package/dist/src/stepwise/stepwise-agent-session-flow.js +56 -0
  101. package/dist/src/stepwise/stepwise-agent-session-flow.js.map +1 -0
  102. package/dist/src/stepwise/stepwise-input-items.d.ts +12 -0
  103. package/dist/src/stepwise/stepwise-input-items.js +172 -0
  104. package/dist/src/stepwise/stepwise-input-items.js.map +1 -0
  105. package/dist/src/stepwise/tool-source.d.ts +103 -0
  106. package/dist/src/stepwise/tool-source.js +9 -0
  107. package/dist/src/stepwise/tool-source.js.map +1 -0
  108. package/dist/src/testing/agent-session-test-client.d.ts +205 -0
  109. package/dist/src/testing/agent-session-test-client.js +290 -0
  110. package/dist/src/testing/agent-session-test-client.js.map +1 -0
  111. package/dist/src/testing/agent-test-environment.d.ts +52 -0
  112. package/dist/src/testing/agent-test-environment.js +86 -0
  113. package/dist/src/testing/agent-test-environment.js.map +1 -0
  114. package/dist/src/testing/agent-worker-process.d.ts +91 -0
  115. package/dist/src/testing/agent-worker-process.js +150 -0
  116. package/dist/src/testing/agent-worker-process.js.map +1 -0
  117. package/dist/src/testing/child-process-group.d.ts +33 -0
  118. package/dist/src/testing/child-process-group.js +164 -0
  119. package/dist/src/testing/child-process-group.js.map +1 -0
  120. package/dist/src/testing/coordination.d.ts +99 -0
  121. package/dist/src/testing/coordination.js +155 -0
  122. package/dist/src/testing/coordination.js.map +1 -0
  123. package/dist/src/testing/index.d.ts +8 -0
  124. package/dist/src/testing/index.js +16 -0
  125. package/dist/src/testing/index.js.map +1 -0
  126. package/dist/src/testing/polling.d.ts +31 -0
  127. package/dist/src/testing/polling.js +51 -0
  128. package/dist/src/testing/polling.js.map +1 -0
  129. package/dist/src/testing/private-dex-engine.d.ts +101 -0
  130. package/dist/src/testing/private-dex-engine.js +223 -0
  131. package/dist/src/testing/private-dex-engine.js.map +1 -0
  132. package/dist/src/testing/scripted-model-client.d.ts +1 -0
  133. package/dist/src/testing/scripted-model-client.js +10 -0
  134. package/dist/src/testing/scripted-model-client.js.map +1 -0
  135. package/dist/src/testing/step-history.d.ts +40 -0
  136. package/dist/src/testing/step-history.js +59 -0
  137. package/dist/src/testing/step-history.js.map +1 -0
  138. package/dist/src/ui-stream/agent-event-json.d.ts +30 -0
  139. package/dist/src/ui-stream/agent-event-json.js +64 -0
  140. package/dist/src/ui-stream/agent-event-json.js.map +1 -0
  141. package/dist/src/ui-stream/agent-event-sse.d.ts +154 -0
  142. package/dist/src/ui-stream/agent-event-sse.js +159 -0
  143. package/dist/src/ui-stream/agent-event-sse.js.map +1 -0
  144. package/dist/src/ui-stream/agent-event-stream-positions.d.ts +42 -0
  145. package/dist/src/ui-stream/agent-event-stream-positions.js +153 -0
  146. package/dist/src/ui-stream/agent-event-stream-positions.js.map +1 -0
  147. package/dist/src/ui-stream/agent-session-record-reader.d.ts +72 -0
  148. package/dist/src/ui-stream/agent-session-record-reader.js +241 -0
  149. package/dist/src/ui-stream/agent-session-record-reader.js.map +1 -0
  150. package/dist/src/ui-stream/agent-ui-message-stream-responses.d.ts +219 -0
  151. package/dist/src/ui-stream/agent-ui-message-stream-responses.js +440 -0
  152. package/dist/src/ui-stream/agent-ui-message-stream-responses.js.map +1 -0
  153. package/dist/src/ui-stream/agent-ui-message-stream.d.ts +138 -0
  154. package/dist/src/ui-stream/agent-ui-message-stream.js +681 -0
  155. package/dist/src/ui-stream/agent-ui-message-stream.js.map +1 -0
  156. package/dist/src/ui-stream/agent-ui-message-types.d.ts +238 -0
  157. package/dist/src/ui-stream/agent-ui-message-types.js +57 -0
  158. package/dist/src/ui-stream/agent-ui-message-types.js.map +1 -0
  159. package/dist/src/ui-stream/agent-ui-messages.d.ts +66 -0
  160. package/dist/src/ui-stream/agent-ui-messages.js +220 -0
  161. package/dist/src/ui-stream/agent-ui-messages.js.map +1 -0
  162. package/dist/src/ui-stream/agent-ui-stream-cursor.d.ts +64 -0
  163. package/dist/src/ui-stream/agent-ui-stream-cursor.js +186 -0
  164. package/dist/src/ui-stream/agent-ui-stream-cursor.js.map +1 -0
  165. package/dist/src/ui-stream/index.d.ts +14 -0
  166. package/dist/src/ui-stream/index.js +22 -0
  167. package/dist/src/ui-stream/index.js.map +1 -0
  168. package/dist/src/ui-stream/server-sent-event-responses.d.ts +6 -0
  169. package/dist/src/ui-stream/server-sent-event-responses.js +34 -0
  170. package/dist/src/ui-stream/server-sent-event-responses.js.map +1 -0
  171. package/package.json +86 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepwise-agent-runner.js","sourceRoot":"","sources":["../../../src/stepwise/stepwise-agent-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type AgentSessionFlow } from "../agent-session-flow.js";
2
+ import type { AgentDefinition } from "./agent-definition.js";
3
+ import { StepwiseAgentRunner } from "./stepwise-agent-runner.js";
4
+ /**
5
+ * Creates the agent session Flow for an agent defined in Dex terms, run by the built-in Stepwise loop.
6
+ *
7
+ * It builds the session Flow with a {@link StepwiseAgentRunner} and derives the session options from
8
+ * the definition, so tool policies, built-in tools, plan mode, the deadlines, and compaction are declared once. The Flow is the
9
+ * same session Flow every adapter uses, with the same Steps, RPCs, and events. Construct it once at
10
+ * application startup and register the same object in the Worker and Client Registry.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const supportAgentFlow = createStepwiseAgentSessionFlow(
15
+ * {
16
+ * name: "support",
17
+ * instructions: "You help customers with their orders.",
18
+ * model: createAiSdkModelClient(openai("gpt-5-mini")),
19
+ * tools: [lookupOrder, refundOrder],
20
+ * builtInTools: ["ask_user", "durable_wait"],
21
+ * interruptDeadlineMs: 24 * 60 * 60 * 1000,
22
+ * },
23
+ * "SupportAgent",
24
+ * );
25
+ * const registry = new Registry([supportAgentFlow]);
26
+ * await client.startFlow(supportAgentFlow, sessionId, { initialMessage: "Where is order 42?" });
27
+ * ```
28
+ * @param definition - The agent definition.
29
+ * @param flowType - Flow type, unique within the Registry. Keep it stable: running sessions resume by it.
30
+ * @returns A new Flow; its `runner` is the {@link StepwiseAgentRunner}.
31
+ * @throws {TypeError} When the definition is invalid; see {@link StepwiseAgentRunner} and
32
+ * `createAgentSessionFlow`.
33
+ * @throws {RangeError} When a limit or deadline in the definition is out of range.
34
+ */
35
+ export declare function createStepwiseAgentSessionFlow(definition: AgentDefinition, flowType: string): AgentSessionFlow<StepwiseAgentRunner>;
@@ -0,0 +1,56 @@
1
+ // Copyright (c) 2026 Super Durable, Inc.
2
+ //
3
+ // Licensed under the Sustainable Use License 1.0.
4
+ // You may not use this file except in compliance with the License.
5
+ // See the LICENSE file in the repository root.
6
+ //
7
+ // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
+ import { createAgentSessionFlow } from "../agent-session-flow.js";
9
+ import { StepwiseAgentRunner } from "./stepwise-agent-runner.js";
10
+ /**
11
+ * Creates the agent session Flow for an agent defined in Dex terms, run by the built-in Stepwise loop.
12
+ *
13
+ * It builds the session Flow with a {@link StepwiseAgentRunner} and derives the session options from
14
+ * the definition, so tool policies, built-in tools, plan mode, the deadlines, and compaction are declared once. The Flow is the
15
+ * same session Flow every adapter uses, with the same Steps, RPCs, and events. Construct it once at
16
+ * application startup and register the same object in the Worker and Client Registry.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const supportAgentFlow = createStepwiseAgentSessionFlow(
21
+ * {
22
+ * name: "support",
23
+ * instructions: "You help customers with their orders.",
24
+ * model: createAiSdkModelClient(openai("gpt-5-mini")),
25
+ * tools: [lookupOrder, refundOrder],
26
+ * builtInTools: ["ask_user", "durable_wait"],
27
+ * interruptDeadlineMs: 24 * 60 * 60 * 1000,
28
+ * },
29
+ * "SupportAgent",
30
+ * );
31
+ * const registry = new Registry([supportAgentFlow]);
32
+ * await client.startFlow(supportAgentFlow, sessionId, { initialMessage: "Where is order 42?" });
33
+ * ```
34
+ * @param definition - The agent definition.
35
+ * @param flowType - Flow type, unique within the Registry. Keep it stable: running sessions resume by it.
36
+ * @returns A new Flow; its `runner` is the {@link StepwiseAgentRunner}.
37
+ * @throws {TypeError} When the definition is invalid; see {@link StepwiseAgentRunner} and
38
+ * `createAgentSessionFlow`.
39
+ * @throws {RangeError} When a limit or deadline in the definition is out of range.
40
+ */
41
+ export function createStepwiseAgentSessionFlow(definition, flowType) {
42
+ const runner = new StepwiseAgentRunner(definition);
43
+ const options = {
44
+ ...(definition.toolPolicies === undefined ? {} : { toolPolicies: definition.toolPolicies }),
45
+ ...(definition.defaultToolEffect === undefined ? {} : { defaultToolEffect: definition.defaultToolEffect }),
46
+ ...(definition.builtInTools === undefined ? {} : { builtInTools: definition.builtInTools }),
47
+ ...(definition.planModeEnabled === undefined ? {} : { planModeEnabled: definition.planModeEnabled }),
48
+ ...(definition.interruptDeadlineMs === undefined ? {} : { interruptDeadlineMs: definition.interruptDeadlineMs }),
49
+ ...(definition.eventStreamCapacityBytes === undefined
50
+ ? {}
51
+ : { eventStreamCapacityBytes: definition.eventStreamCapacityBytes }),
52
+ ...(definition.compaction === undefined ? {} : { compaction: definition.compaction }),
53
+ };
54
+ return createAgentSessionFlow(runner, flowType, options);
55
+ }
56
+ //# sourceMappingURL=stepwise-agent-session-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepwise-agent-session-flow.js","sourceRoot":"","sources":["../../../src/stepwise/stepwise-agent-session-flow.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,sBAAsB,EAAmD,MAAM,0BAA0B,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA2B,EAC3B,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAwB;QACnC,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC1G,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;QACpG,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAChH,GAAG,CAAC,UAAU,CAAC,wBAAwB,KAAK,SAAS;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;KACtF,CAAC;IACF,OAAO,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type AgentMessage, type FrameworkMessage } from "../agent-session-values.js";
2
+ import type { ModelInputItem } from "./model-client.js";
3
+ /** Returns the session message that stores one item; `frameworkItem` is the item's compact snake_case JSON. */
4
+ export declare function toStepwiseFrameworkMessage(item: ModelInputItem): FrameworkMessage;
5
+ /** Reads the Stepwise item stored in one session message. */
6
+ export declare function readStoredModelInputItem(message: AgentMessage): ModelInputItem;
7
+ /**
8
+ * Returns the items with exactly one result after every tool call. A call without a result, such as one
9
+ * whose turn failed before it was stored, gets the outcome-unknown text before the next user text; a
10
+ * result without its call is dropped. Providers reject either kind of orphan.
11
+ */
12
+ export declare function pairToolCallsWithResults(items: readonly ModelInputItem[]): ModelInputItem[];
@@ -0,0 +1,172 @@
1
+ // Copyright (c) 2026 Super Durable, Inc.
2
+ //
3
+ // Licensed under the Sustainable Use License 1.0.
4
+ // You may not use this file except in compliance with the License.
5
+ // See the LICENSE file in the repository root.
6
+ //
7
+ // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
+ import { outcomeUnknownToolResult } from "../agent-session-values.js";
9
+ /** Returns the session message that stores one item; `frameworkItem` is the item's compact snake_case JSON. */
10
+ export function toStepwiseFrameworkMessage(item) {
11
+ switch (item.type) {
12
+ case "user_text":
13
+ return {
14
+ ...emptyProjection,
15
+ role: "user",
16
+ text: item.text,
17
+ frameworkItem: JSON.stringify({ type: "user_text", text: item.text }),
18
+ };
19
+ case "tool_result":
20
+ return {
21
+ ...emptyProjection,
22
+ role: "tool",
23
+ toolCallId: item.toolCallId,
24
+ toolName: item.toolName,
25
+ toolOutput: item.output,
26
+ frameworkItem: JSON.stringify({
27
+ type: "tool_result",
28
+ tool_call_id: item.toolCallId,
29
+ tool_name: item.toolName,
30
+ output: item.output,
31
+ }),
32
+ };
33
+ case "model_output": {
34
+ const singleToolCall = item.toolCalls.length === 1 ? item.toolCalls[0] : undefined;
35
+ return {
36
+ ...emptyProjection,
37
+ role: "assistant",
38
+ text: item.text,
39
+ toolCallId: singleToolCall?.toolCallId ?? null,
40
+ toolName: singleToolCall?.toolName ?? null,
41
+ toolArguments: singleToolCall?.arguments ?? null,
42
+ frameworkItem: JSON.stringify({
43
+ type: "model_output",
44
+ provider: item.provider,
45
+ api: item.api,
46
+ item: item.item,
47
+ text: item.text,
48
+ tool_calls: item.toolCalls.map((toolCall) => ({
49
+ tool_call_id: toolCall.toolCallId,
50
+ tool_name: toolCall.toolName,
51
+ arguments: toolCall.arguments,
52
+ })),
53
+ }),
54
+ };
55
+ }
56
+ }
57
+ }
58
+ /** Reads the Stepwise item stored in one session message. */
59
+ export function readStoredModelInputItem(message) {
60
+ try {
61
+ return decodeModelInputItem(JSON.parse(message.frameworkItem));
62
+ }
63
+ catch (error) {
64
+ throw new TypeError(`message ${message.sequence} is not a Stepwise item`, { cause: error });
65
+ }
66
+ }
67
+ /**
68
+ * Returns the items with exactly one result after every tool call. A call without a result, such as one
69
+ * whose turn failed before it was stored, gets the outcome-unknown text before the next user text; a
70
+ * result without its call is dropped. Providers reject either kind of orphan.
71
+ */
72
+ export function pairToolCallsWithResults(items) {
73
+ const paired = [];
74
+ const openToolCalls = new Map();
75
+ const closeOpenToolCalls = () => {
76
+ for (const toolCall of openToolCalls.values()) {
77
+ paired.push(createOutcomeUnknownResult(toolCall));
78
+ }
79
+ openToolCalls.clear();
80
+ };
81
+ for (const item of items) {
82
+ switch (item.type) {
83
+ case "model_output":
84
+ paired.push(item);
85
+ for (const toolCall of item.toolCalls) {
86
+ openToolCalls.set(toolCall.toolCallId, toolCall);
87
+ }
88
+ break;
89
+ case "tool_result":
90
+ if (openToolCalls.delete(item.toolCallId)) {
91
+ paired.push(item);
92
+ }
93
+ break;
94
+ case "user_text":
95
+ closeOpenToolCalls();
96
+ paired.push(item);
97
+ break;
98
+ }
99
+ }
100
+ closeOpenToolCalls();
101
+ return paired;
102
+ }
103
+ function createOutcomeUnknownResult(toolCall) {
104
+ return {
105
+ type: "tool_result",
106
+ toolCallId: toolCall.toolCallId,
107
+ toolName: toolCall.toolName,
108
+ output: outcomeUnknownToolResult,
109
+ };
110
+ }
111
+ function decodeModelInputItem(value) {
112
+ const record = requireRecord(value, "Stepwise item");
113
+ switch (record["type"]) {
114
+ case "user_text":
115
+ return { type: "user_text", text: requireString(record, "text") };
116
+ case "tool_result":
117
+ return {
118
+ type: "tool_result",
119
+ toolCallId: requireString(record, "tool_call_id"),
120
+ toolName: requireString(record, "tool_name"),
121
+ output: requireString(record, "output"),
122
+ };
123
+ case "model_output": {
124
+ const text = record["text"] ?? null;
125
+ if (text !== null && typeof text !== "string") {
126
+ throw new TypeError("model_output.text must be a string or null");
127
+ }
128
+ const toolCalls = record["tool_calls"] ?? [];
129
+ if (!Array.isArray(toolCalls)) {
130
+ throw new TypeError("model_output.tool_calls must be an array");
131
+ }
132
+ return {
133
+ type: "model_output",
134
+ provider: requireString(record, "provider"),
135
+ api: requireString(record, "api"),
136
+ item: requireString(record, "item"),
137
+ text,
138
+ toolCalls: toolCalls.map((toolCall) => {
139
+ const toolCallRecord = requireRecord(toolCall, "model_output.tool_calls item");
140
+ return {
141
+ toolCallId: requireString(toolCallRecord, "tool_call_id"),
142
+ toolName: requireString(toolCallRecord, "tool_name"),
143
+ arguments: requireString(toolCallRecord, "arguments"),
144
+ };
145
+ }),
146
+ };
147
+ }
148
+ default:
149
+ throw new TypeError(`unknown Stepwise item type ${JSON.stringify(record["type"])}`);
150
+ }
151
+ }
152
+ const emptyProjection = {
153
+ text: null,
154
+ toolCallId: null,
155
+ toolName: null,
156
+ toolArguments: null,
157
+ toolOutput: null,
158
+ };
159
+ function requireRecord(value, typeName) {
160
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
161
+ throw new TypeError(`${typeName} must be a JSON object`);
162
+ }
163
+ return value;
164
+ }
165
+ function requireString(record, field) {
166
+ const value = record[field];
167
+ if (typeof value !== "string") {
168
+ throw new TypeError(`${field} must be a string`);
169
+ }
170
+ return value;
171
+ }
172
+ //# sourceMappingURL=stepwise-input-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepwise-input-items.js","sourceRoot":"","sources":["../../../src/stepwise/stepwise-input-items.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import type { AgentTurnContext, DeferredToolCall, DeferredToolExecution, DeferredToolOutcome, ToolTaskCancellation, ToolTaskPoll, ToolTaskPollOutcome } from "../agent-framework-runner.js";
2
+ /**
3
+ * One tool that a {@link ToolSource} lists, as the model sees it. `McpTool` satisfies it; the runner reads only
4
+ * these three fields.
5
+ */
6
+ export interface SourceToolDefinition {
7
+ /**
8
+ * Tool name the model calls. It must not repeat a function tool, an enabled built-in tool, or another
9
+ * source's tool.
10
+ */
11
+ readonly name: string;
12
+ /** Tool description for the model. */
13
+ readonly description: string;
14
+ /** JSON Schema of the tool's arguments object. */
15
+ readonly inputSchema: Readonly<Record<string, unknown>>;
16
+ }
17
+ /**
18
+ * Tools that a Stepwise agent lists at run time, such as an MCP server's tools, run one tool Step per call.
19
+ *
20
+ * Put a source in `AgentDefinition.toolSources`. `McpToolSource` from `@superdurable/dex-agents/mcp`
21
+ * implements it. In every `RunModel` of a chat or executing turn, the runner awaits {@link listTools} and
22
+ * offers the listed tools after the function tools and before the built-in tools, waiting at most
23
+ * `AgentDefinition.toolSourceListingTimeoutMs`. A source whose listing throws or takes longer offers no tools in
24
+ * that model call, so a down server never fails a turn; cache the listing per Worker and keep it cheap, as
25
+ * `McpToolSource` does. A planning turn and a turn past its model call limit list nothing.
26
+ *
27
+ * When the model calls a listed tool, the runner returns the source's {@link deferredToolCall}, so the source
28
+ * picks the policy, the effect, and the `toolSourceReference`. The runner passes the tool definition it offered as
29
+ * `listedTool`, so a refresh during the model call cannot change it. The runner stores the source's
30
+ * {@link sourceName} with that reference, so the tool Step and `PollToolTask` reach the same source, with the
31
+ * source's own reference, on any Worker, without a listing, and whatever the order of `toolSources`. Keep
32
+ * `sourceName` stable across deploys: a stored call whose source name no Worker has throws a `RangeError`, so its
33
+ * effect decides its outcome. The call then runs in its own tool Step through {@link executeDeferredToolCall},
34
+ * after an approval when its policy needs one, and a tool task that it starts is polled through
35
+ * {@link pollToolTask}. A name that no listing offered fails as an unknown tool without an approval; it never
36
+ * reaches a source.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const tools = new McpToolSource([{ name: "files", transport: "stdio", command: "mcp-files" }]);
41
+ * const flow = createStepwiseAgentSessionFlow(
42
+ * { name: "files", instructions: "You manage reports.", model, toolSources: [tools] },
43
+ * "FilesAgent",
44
+ * );
45
+ * ```
46
+ */
47
+ export interface ToolSource {
48
+ /** The source's stable, non-blank name, unique within one agent definition. Stored calls are routed by it. */
49
+ readonly sourceName: string;
50
+ /**
51
+ * Returns the tools to offer now, in the order the model sees them.
52
+ * @returns The tools.
53
+ * @throws Any error, which fails the `RunModel` attempt so that it retries.
54
+ */
55
+ listTools(): Promise<readonly SourceToolDefinition[]>;
56
+ /**
57
+ * Builds the deferred call for one model call of a listed tool. Resolve the policy with
58
+ * `turn.resolveToolPolicy`, so session policies win.
59
+ * @param turn - The `RunModel` context.
60
+ * @param call - Model tool call ID, the listed tool name the model called, the arguments as JSON text, and
61
+ * `listedTool`, the definition this source listed for this model call. Build from it, not from a cache a refresh
62
+ * may change.
63
+ * @returns The deferred call.
64
+ */
65
+ deferredToolCall(turn: AgentTurnContext, call: {
66
+ readonly toolCallId: string;
67
+ readonly toolName: string;
68
+ readonly arguments: string;
69
+ readonly listedTool: SourceToolDefinition;
70
+ }): DeferredToolCall;
71
+ /**
72
+ * Runs one call of a listed tool in its tool Step.
73
+ * @param call - The approved call.
74
+ * @returns The tool's outcome.
75
+ * @throws {ToolExecutionError} For a failure the model sees.
76
+ */
77
+ executeDeferredToolCall(call: DeferredToolExecution): Promise<DeferredToolOutcome>;
78
+ /**
79
+ * Polls a tool task that {@link executeDeferredToolCall} started, once.
80
+ * @param poll - The call's record.
81
+ * @returns The outcome of this poll.
82
+ */
83
+ pollToolTask(poll: ToolTaskPoll): Promise<ToolTaskPollOutcome>;
84
+ /**
85
+ * Optional: names this source always lists, whatever its servers offer, so the runner refuses a collision when
86
+ * it is constructed instead of on every model call. `McpToolSource` returns its resource and prompt tool names.
87
+ * @returns The names.
88
+ */
89
+ declaredToolNames?(): ReadonlySet<string>;
90
+ /**
91
+ * Optional: the last listing without I/O, so `estimateInputTokens` counts the source's tools before the runner
92
+ * has listed them on this Worker.
93
+ * @returns The cached tools, or none.
94
+ */
95
+ cachedTools?(): readonly SourceToolDefinition[];
96
+ /**
97
+ * Optional: cancels a task that `cancel_turn` abandoned, as {@link AgentFrameworkRunner.cancelToolTask}
98
+ * describes. A source without it leaves the task running. `McpToolSource` sends `tasks/cancel`.
99
+ * @param cancellation - The abandoned call's record.
100
+ * @returns A Promise that resolves once the remote system took the cancellation.
101
+ */
102
+ cancelToolTask?(cancellation: ToolTaskCancellation): Promise<void>;
103
+ }
@@ -0,0 +1,9 @@
1
+ // Copyright (c) 2026 Super Durable, Inc.
2
+ //
3
+ // Licensed under the Sustainable Use License 1.0.
4
+ // You may not use this file except in compliance with the License.
5
+ // See the LICENSE file in the repository root.
6
+ //
7
+ // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
+ export {};
9
+ //# sourceMappingURL=tool-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-source.js","sourceRoot":"","sources":["../../../src/stepwise/tool-source.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D"}