@superdurable/dex-agents 0.1.0 → 0.3.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.
- package/README.md +1608 -64
- package/dist/src/agent-built-in-tools.d.ts +81 -0
- package/dist/src/agent-built-in-tools.js +246 -0
- package/dist/src/agent-built-in-tools.js.map +1 -0
- package/dist/src/agent-context-compaction.d.ts +254 -0
- package/dist/src/agent-context-compaction.js +287 -0
- package/dist/src/agent-context-compaction.js.map +1 -0
- package/dist/src/agent-framework-runner.d.ts +456 -16
- package/dist/src/agent-framework-runner.js +4 -3
- package/dist/src/agent-framework-runner.js.map +1 -1
- package/dist/src/agent-plans.d.ts +48 -0
- package/dist/src/agent-plans.js +86 -0
- package/dist/src/agent-plans.js.map +1 -0
- package/dist/src/agent-session-cancellation-steps.d.ts +28 -0
- package/dist/src/agent-session-cancellation-steps.js +154 -0
- package/dist/src/agent-session-cancellation-steps.js.map +1 -0
- package/dist/src/agent-session-codecs.d.ts +65 -4
- package/dist/src/agent-session-codecs.js +343 -8
- package/dist/src/agent-session-codecs.js.map +1 -1
- package/dist/src/agent-session-failure.d.ts +58 -0
- package/dist/src/agent-session-failure.js +126 -0
- package/dist/src/agent-session-failure.js.map +1 -0
- package/dist/src/agent-session-flow-graph-cli.d.ts +2 -0
- package/dist/src/agent-session-flow-graph-cli.js +47 -0
- package/dist/src/agent-session-flow-graph-cli.js.map +1 -0
- package/dist/src/agent-session-flow-graph.d.ts +38 -0
- package/dist/src/agent-session-flow-graph.js +54 -0
- package/dist/src/agent-session-flow-graph.js.map +1 -0
- package/dist/src/agent-session-flow-graph.json +2187 -0
- package/dist/src/agent-session-flow.d.ts +317 -28
- package/dist/src/agent-session-flow.js +373 -21
- package/dist/src/agent-session-flow.js.map +1 -1
- package/dist/src/agent-session-persistence.d.ts +81 -4
- package/dist/src/agent-session-persistence.js +33 -2
- package/dist/src/agent-session-persistence.js.map +1 -1
- package/dist/src/agent-session-settings.d.ts +58 -0
- package/dist/src/agent-session-settings.js +81 -0
- package/dist/src/agent-session-settings.js.map +1 -0
- package/dist/src/agent-session-spend-limit.d.ts +156 -0
- package/dist/src/agent-session-spend-limit.js +42 -0
- package/dist/src/agent-session-spend-limit.js.map +1 -0
- package/dist/src/agent-session-start.d.ts +49 -0
- package/dist/src/agent-session-start.js +67 -0
- package/dist/src/agent-session-start.js.map +1 -0
- package/dist/src/agent-session-step-options.d.ts +78 -0
- package/dist/src/agent-session-step-options.js +71 -0
- package/dist/src/agent-session-step-options.js.map +1 -0
- package/dist/src/agent-session-step-types.d.ts +20 -0
- package/dist/src/agent-session-step-types.js +28 -0
- package/dist/src/agent-session-step-types.js.map +1 -0
- package/dist/src/agent-session-steps.d.ts +103 -8
- package/dist/src/agent-session-steps.js +997 -197
- package/dist/src/agent-session-steps.js.map +1 -1
- package/dist/src/agent-session-tracer.d.ts +61 -0
- package/dist/src/agent-session-tracer.js +608 -0
- package/dist/src/agent-session-tracer.js.map +1 -0
- package/dist/src/agent-session-transitions.d.ts +200 -26
- package/dist/src/agent-session-transitions.js +732 -32
- package/dist/src/agent-session-transitions.js.map +1 -1
- package/dist/src/agent-session-values.d.ts +696 -30
- package/dist/src/agent-session-values.js +39 -4
- package/dist/src/agent-session-values.js.map +1 -1
- package/dist/src/agent-session-wait-steps.d.ts +53 -0
- package/dist/src/agent-session-wait-steps.js +389 -0
- package/dist/src/agent-session-wait-steps.js.map +1 -0
- package/dist/src/agent-tracing-options.d.ts +107 -0
- package/dist/src/agent-tracing-options.js +20 -0
- package/dist/src/agent-tracing-options.js.map +1 -0
- package/dist/src/ai-sdk/ai-sdk-model-client.d.ts +40 -0
- package/dist/src/ai-sdk/ai-sdk-model-client.js +235 -0
- package/dist/src/ai-sdk/ai-sdk-model-client.js.map +1 -0
- package/dist/src/ai-sdk/index.d.ts +1 -0
- package/dist/src/ai-sdk/index.js +9 -0
- package/dist/src/ai-sdk/index.js.map +1 -0
- package/dist/src/index.d.ts +14 -3
- package/dist/src/index.js +12 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/index.d.ts +3 -0
- package/dist/src/mcp/index.js +10 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/mcp-resource-and-prompt-tools.d.ts +29 -0
- package/dist/src/mcp/mcp-resource-and-prompt-tools.js +185 -0
- package/dist/src/mcp/mcp-resource-and-prompt-tools.js.map +1 -0
- package/dist/src/mcp/mcp-server-config.d.ts +86 -0
- package/dist/src/mcp/mcp-server-config.js +38 -0
- package/dist/src/mcp/mcp-server-config.js.map +1 -0
- package/dist/src/mcp/mcp-tool-source.d.ts +470 -0
- package/dist/src/mcp/mcp-tool-source.js +1204 -0
- package/dist/src/mcp/mcp-tool-source.js.map +1 -0
- package/dist/src/stepwise/agent-definition.d.ts +166 -0
- package/dist/src/stepwise/agent-definition.js +9 -0
- package/dist/src/stepwise/agent-definition.js.map +1 -0
- package/dist/src/stepwise/function-tool.d.ts +130 -0
- package/dist/src/stepwise/function-tool.js +75 -0
- package/dist/src/stepwise/function-tool.js.map +1 -0
- package/dist/src/stepwise/index.d.ts +8 -0
- package/dist/src/stepwise/index.js +13 -0
- package/dist/src/stepwise/index.js.map +1 -0
- package/dist/src/stepwise/json-schema-validation.d.ts +9 -0
- package/dist/src/stepwise/json-schema-validation.js +141 -0
- package/dist/src/stepwise/json-schema-validation.js.map +1 -0
- package/dist/src/stepwise/model-client.d.ts +194 -0
- package/dist/src/stepwise/model-client.js +9 -0
- package/dist/src/stepwise/model-client.js.map +1 -0
- package/dist/src/stepwise/scripted-model-client.d.ts +99 -0
- package/dist/src/stepwise/scripted-model-client.js +156 -0
- package/dist/src/stepwise/scripted-model-client.js.map +1 -0
- package/dist/src/stepwise/stepwise-agent-runner.d.ts +171 -0
- package/dist/src/stepwise/stepwise-agent-runner.js +777 -0
- package/dist/src/stepwise/stepwise-agent-runner.js.map +1 -0
- package/dist/src/stepwise/stepwise-agent-session-flow.d.ts +35 -0
- package/dist/src/stepwise/stepwise-agent-session-flow.js +57 -0
- package/dist/src/stepwise/stepwise-agent-session-flow.js.map +1 -0
- package/dist/src/stepwise/stepwise-input-items.d.ts +12 -0
- package/dist/src/stepwise/stepwise-input-items.js +172 -0
- package/dist/src/stepwise/stepwise-input-items.js.map +1 -0
- package/dist/src/stepwise/tool-source.d.ts +103 -0
- package/dist/src/stepwise/tool-source.js +9 -0
- package/dist/src/stepwise/tool-source.js.map +1 -0
- package/dist/src/testing/agent-session-test-client.d.ts +65 -8
- package/dist/src/testing/agent-session-test-client.js +92 -22
- package/dist/src/testing/agent-session-test-client.js.map +1 -1
- package/dist/src/testing/context-window.d.ts +194 -0
- package/dist/src/testing/context-window.js +360 -0
- package/dist/src/testing/context-window.js.map +1 -0
- package/dist/src/testing/index.d.ts +2 -0
- package/dist/src/testing/index.js +2 -0
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/testing/private-dex-engine.d.ts +9 -0
- package/dist/src/testing/private-dex-engine.js +9 -1
- package/dist/src/testing/private-dex-engine.js.map +1 -1
- package/dist/src/testing/scripted-model-client.d.ts +1 -0
- package/dist/src/testing/scripted-model-client.js +10 -0
- package/dist/src/testing/scripted-model-client.js.map +1 -0
- package/dist/src/ui-stream/agent-event-json.d.ts +30 -0
- package/dist/src/ui-stream/agent-event-json.js +64 -0
- package/dist/src/ui-stream/agent-event-json.js.map +1 -0
- package/dist/src/ui-stream/agent-event-sse.d.ts +155 -0
- package/dist/src/ui-stream/agent-event-sse.js +167 -0
- package/dist/src/ui-stream/agent-event-sse.js.map +1 -0
- package/dist/src/ui-stream/agent-event-stream-positions.d.ts +42 -0
- package/dist/src/ui-stream/agent-event-stream-positions.js +153 -0
- package/dist/src/ui-stream/agent-event-stream-positions.js.map +1 -0
- package/dist/src/ui-stream/agent-session-record-reader.d.ts +74 -0
- package/dist/src/ui-stream/agent-session-record-reader.js +246 -0
- package/dist/src/ui-stream/agent-session-record-reader.js.map +1 -0
- package/dist/src/ui-stream/agent-ui-message-stream-responses.d.ts +219 -0
- package/dist/src/ui-stream/agent-ui-message-stream-responses.js +441 -0
- package/dist/src/ui-stream/agent-ui-message-stream-responses.js.map +1 -0
- package/dist/src/ui-stream/agent-ui-message-stream.d.ts +138 -0
- package/dist/src/ui-stream/agent-ui-message-stream.js +695 -0
- package/dist/src/ui-stream/agent-ui-message-stream.js.map +1 -0
- package/dist/src/ui-stream/agent-ui-message-types.d.ts +238 -0
- package/dist/src/ui-stream/agent-ui-message-types.js +57 -0
- package/dist/src/ui-stream/agent-ui-message-types.js.map +1 -0
- package/dist/src/ui-stream/agent-ui-messages.d.ts +68 -0
- package/dist/src/ui-stream/agent-ui-messages.js +222 -0
- package/dist/src/ui-stream/agent-ui-messages.js.map +1 -0
- package/dist/src/ui-stream/agent-ui-stream-cursor.d.ts +64 -0
- package/dist/src/ui-stream/agent-ui-stream-cursor.js +186 -0
- package/dist/src/ui-stream/agent-ui-stream-cursor.js.map +1 -0
- package/dist/src/ui-stream/index.d.ts +14 -0
- package/dist/src/ui-stream/index.js +22 -0
- package/dist/src/ui-stream/index.js.map +1 -0
- package/dist/src/ui-stream/server-sent-event-responses.d.ts +6 -0
- package/dist/src/ui-stream/server-sent-event-responses.js +34 -0
- package/dist/src/ui-stream/server-sent-event-responses.js.map +1 -0
- package/package.json +44 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-source.js","sourceRoot":"","sources":["../../../src/mcp/mcp-tool-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { BuiltInTool } from "../agent-built-in-tools.js";
|
|
2
|
+
import type { CompactionPolicy } from "../agent-context-compaction.js";
|
|
3
|
+
import type { ModelSpendLimit } from "../agent-session-spend-limit.js";
|
|
4
|
+
import type { ToolPolicy } from "../agent-framework-runner.js";
|
|
5
|
+
import type { AgentPlan, InteractionMode, SessionSettings, ToolEffect } from "../agent-session-values.js";
|
|
6
|
+
import type { FunctionTool } from "./function-tool.js";
|
|
7
|
+
import type { ModelClient, ModelSettings } from "./model-client.js";
|
|
8
|
+
import type { ToolSource } from "./tool-source.js";
|
|
9
|
+
/**
|
|
10
|
+
* How the first model call of a planning turn without a draft uses `write_todos`, as
|
|
11
|
+
* {@link AgentDefinition.planningToolChoice}: `auto` lets the model choose, and `required` forces it.
|
|
12
|
+
*/
|
|
13
|
+
export type PlanningToolChoice = "auto" | "required";
|
|
14
|
+
/** What a function for {@link AgentDefinition.instructions} receives in every `RunModel`. */
|
|
15
|
+
export interface InstructionContext {
|
|
16
|
+
/** Flow ID, which is the session ID. */
|
|
17
|
+
readonly flowId: string;
|
|
18
|
+
/** Turn ID. */
|
|
19
|
+
readonly turnId: string;
|
|
20
|
+
/** One-based `RunModel` attempt. */
|
|
21
|
+
readonly attempt: number;
|
|
22
|
+
/** The turn's mode. The runner always sets it; it is optional so that hand-built contexts keep compiling. */
|
|
23
|
+
readonly interactionMode?: InteractionMode;
|
|
24
|
+
/**
|
|
25
|
+
* The session's plan before this model call, or `null`. The runner already shows it to the model; use it to
|
|
26
|
+
* adapt the instructions. The runner always sets it.
|
|
27
|
+
*/
|
|
28
|
+
readonly plan?: AgentPlan | null;
|
|
29
|
+
/**
|
|
30
|
+
* The {@link SessionSettings} the turn started with, such as a persona or prompt name. Empty when the session
|
|
31
|
+
* has none. The runner always sets it; treat `undefined` as `{}`.
|
|
32
|
+
*/
|
|
33
|
+
readonly sessionSettings?: SessionSettings;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* An agent defined in Dex terms, run by the built-in Stepwise loop.
|
|
37
|
+
*
|
|
38
|
+
* Pass it to {@link createStepwiseAgentSessionFlow}. The session Flow, its Steps, approvals, events,
|
|
39
|
+
* and RPCs are the ones every adapter uses: each model call is one `RunModel` Step, and each function
|
|
40
|
+
* tool call is its own Step. Nothing replays a loop, so no code follows a determinism rule, and a
|
|
41
|
+
* deployed change to the definition takes effect at the next model call.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { openai } from "@ai-sdk/openai";
|
|
46
|
+
* import { createAiSdkModelClient } from "@superdurable/dex-agents/ai-sdk";
|
|
47
|
+
* import { createStepwiseAgentSessionFlow } from "@superdurable/dex-agents/stepwise";
|
|
48
|
+
*
|
|
49
|
+
* export const supportAgentFlow = createStepwiseAgentSessionFlow(
|
|
50
|
+
* {
|
|
51
|
+
* name: "support",
|
|
52
|
+
* instructions: "You help customers with their orders.",
|
|
53
|
+
* model: createAiSdkModelClient(openai("gpt-5-mini")),
|
|
54
|
+
* tools: [lookupOrder, refundOrder],
|
|
55
|
+
* builtInTools: ["ask_user", "durable_wait"],
|
|
56
|
+
* },
|
|
57
|
+
* "SupportAgent",
|
|
58
|
+
* );
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export interface AgentDefinition {
|
|
62
|
+
/** Agent name, non-blank. */
|
|
63
|
+
readonly name: string;
|
|
64
|
+
/**
|
|
65
|
+
* System instructions, or a function that returns them. A function runs in every `RunModel`, so
|
|
66
|
+
* it can depend on the turn; it must not have side effects.
|
|
67
|
+
*/
|
|
68
|
+
readonly instructions: string | ((context: InstructionContext) => string | Promise<string>);
|
|
69
|
+
/**
|
|
70
|
+
* The model client, such as `createAiSdkModelClient(model)`. It serves every model call unless
|
|
71
|
+
* {@link resolveModel} is set.
|
|
72
|
+
*/
|
|
73
|
+
readonly model: ModelClient;
|
|
74
|
+
/**
|
|
75
|
+
* Maps the turn's `AgentTurnContext.sessionSettings` to the model client of each model call, including the
|
|
76
|
+
* calls that write and size a summary.
|
|
77
|
+
*
|
|
78
|
+
* It runs on every `RunModel` and `CompactContext` attempt, so keep it fast and free of I/O: look the model up
|
|
79
|
+
* in clients the Worker built at startup. The settings come from the application's start input or
|
|
80
|
+
* `update_session_settings`, so choose only from models the Worker allows. A session without settings passes
|
|
81
|
+
* `{}`. An exception fails that attempt like a model error, and its message becomes the turn's
|
|
82
|
+
* `lastTurnError`, which snapshots show, so never put the settings in an error message. Absent, {@link model}
|
|
83
|
+
* serves every call. Only model calls see the settings: tool calls do not receive them, and the compaction
|
|
84
|
+
* policy's `contextWindowTokens` is one value for every resolved model, so set it for the smallest window. This
|
|
85
|
+
* core does not check whether a resolved model accepts a forced tool choice; see {@link planningToolChoice}.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const models: Record<string, ModelClient> = {
|
|
90
|
+
* "gpt-5-mini": createAiSdkModelClient(openai("gpt-5-mini")),
|
|
91
|
+
* "gpt-5": createAiSdkModelClient(openai("gpt-5")),
|
|
92
|
+
* };
|
|
93
|
+
* const definition: AgentDefinition = {
|
|
94
|
+
* name: "support",
|
|
95
|
+
* instructions: "You help customers with their orders.",
|
|
96
|
+
* model: models["gpt-5-mini"],
|
|
97
|
+
* resolveModel: (settings) => models[String(settings.model)] ?? models["gpt-5-mini"],
|
|
98
|
+
* };
|
|
99
|
+
* ```
|
|
100
|
+
* @param sessionSettings - The settings the turn started with.
|
|
101
|
+
* @returns The model client for this call.
|
|
102
|
+
*/
|
|
103
|
+
readonly resolveModel?: (sessionSettings: SessionSettings) => ModelClient;
|
|
104
|
+
/** Temperature, maximum output tokens, reasoning effort, and provider options. Defaults to none. */
|
|
105
|
+
readonly modelSettings?: ModelSettings;
|
|
106
|
+
/** Function tools from {@link functionTool}. Defaults to none. */
|
|
107
|
+
readonly tools?: readonly FunctionTool[];
|
|
108
|
+
/**
|
|
109
|
+
* Tool sources, such as `McpToolSource`, whose tools the runner lists in every `RunModel` of a chat or
|
|
110
|
+
* executing turn and offers after the function tools. Each call of a source tool runs in its own tool Step
|
|
111
|
+
* through the source, with the source's policy, effect, idempotency key, and tool tasks. A listed name that
|
|
112
|
+
* repeats a function tool, an enabled built-in tool, or another source's tool fails that `RunModel` attempt
|
|
113
|
+
* with a `TypeError`; a source's `declaredToolNames` are checked when the runner is constructed. A source whose
|
|
114
|
+
* listing fails or takes longer than {@link toolSourceListingTimeoutMs} offers no tools in that model call. See
|
|
115
|
+
* {@link ToolSource}. Defaults to none.
|
|
116
|
+
*/
|
|
117
|
+
readonly toolSources?: readonly ToolSource[];
|
|
118
|
+
/**
|
|
119
|
+
* Milliseconds one model call waits for each tool source's `listTools`. A source that takes longer offers no tools
|
|
120
|
+
* in that call, and its listing may finish in the background. Defaults to 10 seconds.
|
|
121
|
+
*/
|
|
122
|
+
readonly toolSourceListingTimeoutMs?: number;
|
|
123
|
+
/** Policies by tool name; a policy overrides a function tool's own effect and approval. Defaults to none. */
|
|
124
|
+
readonly toolPolicies?: Readonly<Record<string, ToolPolicy>>;
|
|
125
|
+
/** Effect of a tool that declares none. Defaults to `"unclassified"`. */
|
|
126
|
+
readonly defaultToolEffect?: ToolEffect;
|
|
127
|
+
/** Built-in tools the model sees, such as `["ask_user", "durable_wait"]`. Defaults to none. */
|
|
128
|
+
readonly builtInTools?: readonly BuiltInTool[];
|
|
129
|
+
/**
|
|
130
|
+
* Whether the session accepts `planMode` user messages. A planning turn offers only `write_todos`, and the
|
|
131
|
+
* `execute_plan` RPC then runs the draft with every tool. Requires `write_todos` in {@link builtInTools}.
|
|
132
|
+
* Defaults to `false`.
|
|
133
|
+
*/
|
|
134
|
+
readonly planModeEnabled?: boolean;
|
|
135
|
+
/**
|
|
136
|
+
* `auto`, the default, lets the model of a planning turn call `write_todos` or answer in text, such as
|
|
137
|
+
* with a clarifying question; the plan note tells it to write the plan with `write_todos`, and a text
|
|
138
|
+
* answer ends the turn without a draft. `required` forces `write_todos` on the first model call of a
|
|
139
|
+
* planning turn while no draft exists. It needs a provider and model that accept a forced tool choice:
|
|
140
|
+
* Claude Opus 5.5 and Claude Sonnet 5.5, for example, refuse one, and so does Anthropic extended thinking,
|
|
141
|
+
* which fails every attempt of that model call. Unlike the Python core, this core cannot check the model
|
|
142
|
+
* when the definition is built.
|
|
143
|
+
*/
|
|
144
|
+
readonly planningToolChoice?: PlanningToolChoice;
|
|
145
|
+
/**
|
|
146
|
+
* After this many model calls in one turn, the next call offers no tools, so the model must answer.
|
|
147
|
+
* Defaults to 100.
|
|
148
|
+
*/
|
|
149
|
+
readonly maxModelCallsPerTurn?: number;
|
|
150
|
+
/** Milliseconds an approval or question may stay pending. Defaults to no deadline. */
|
|
151
|
+
readonly interruptDeadlineMs?: number;
|
|
152
|
+
/** Byte budget of the `AgentEvents` Stream. Defaults to 10 MiB. */
|
|
153
|
+
readonly eventStreamCapacityBytes?: number;
|
|
154
|
+
/**
|
|
155
|
+
* When to summarize earlier messages so the model input stays under the window, counted by the model
|
|
156
|
+
* client's `estimateInputTokens`. Defaults to no compaction. See {@link CompactionPolicy}.
|
|
157
|
+
*/
|
|
158
|
+
readonly compaction?: CompactionPolicy;
|
|
159
|
+
/**
|
|
160
|
+
* The application's spend limit, called before and after each model call. Defaults to no checks. See
|
|
161
|
+
* {@link ModelSpendLimit}.
|
|
162
|
+
*
|
|
163
|
+
* @since 0.3.0
|
|
164
|
+
*/
|
|
165
|
+
readonly spendLimit?: ModelSpendLimit;
|
|
166
|
+
}
|
|
@@ -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=agent-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-definition.js","sourceRoot":"","sources":["../../../src/stepwise/agent-definition.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { AgentEventWriter } from "../agent-framework-runner.js";
|
|
2
|
+
import type { QuestionAnswer, ToolEffect } from "../agent-session-values.js";
|
|
3
|
+
/**
|
|
4
|
+
* What a function tool receives besides its arguments, for one run of one tool call.
|
|
5
|
+
*
|
|
6
|
+
* Pass {@link idempotencyKey} to services that deduplicate requests: it is the same on every attempt
|
|
7
|
+
* of the call, so an `idempotent_write` retried by `CallTool` is applied once.
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolCallContext {
|
|
10
|
+
/** Flow ID, which is the session ID. */
|
|
11
|
+
readonly flowId: string;
|
|
12
|
+
/** Turn that requested the call. */
|
|
13
|
+
readonly turnId: string;
|
|
14
|
+
/** Model tool call ID. */
|
|
15
|
+
readonly toolCallId: string;
|
|
16
|
+
/** Stable key `<flowId>/<turnId>/<toolCallId>`, identical on every attempt of the call. */
|
|
17
|
+
readonly idempotencyKey: string;
|
|
18
|
+
/** One-based attempt of the tool Step; `read` and `idempotent_write` calls get up to three. */
|
|
19
|
+
readonly attempt: number;
|
|
20
|
+
/** Events writer bound to the turn and attempt, for progress text. */
|
|
21
|
+
readonly events: AgentEventWriter;
|
|
22
|
+
/** Signal aborted when Dex cancels the attempt; pass it to network calls. */
|
|
23
|
+
readonly cancellationSignal: AbortSignal;
|
|
24
|
+
/** Absolute deadline of the current attempt, or `undefined`. */
|
|
25
|
+
readonly deadline: Date | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Answers to the questions this call asked by returning {@link ToolInputRequested}, oldest first;
|
|
28
|
+
* empty on the first run.
|
|
29
|
+
*/
|
|
30
|
+
readonly inputAnswers: readonly QuestionAnswer[];
|
|
31
|
+
/** `continuation` of the call's last {@link ToolInputRequested}, or `null`. */
|
|
32
|
+
readonly inputContinuation: string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Records a heartbeat. The session already records one every 20 seconds while the tool runs.
|
|
35
|
+
* @returns A Promise that resolves when the Worker accepted the heartbeat.
|
|
36
|
+
*/
|
|
37
|
+
heartbeat(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
/** Definition passed to {@link functionTool}. */
|
|
40
|
+
export interface FunctionToolDefinition<Arguments> {
|
|
41
|
+
/** Tool name as the model calls it: 1 to 64 letters, digits, `_`, or `-`, unique within the agent. */
|
|
42
|
+
readonly name: string;
|
|
43
|
+
/** Description for the model; say what the tool does and when to use it. */
|
|
44
|
+
readonly description: string;
|
|
45
|
+
/**
|
|
46
|
+
* JSON Schema of the arguments, with `type` `"object"`. The runner checks the model's arguments
|
|
47
|
+
* against it before {@link execute} runs, as the Python core does: `type`, `enum`, `anyOf`,
|
|
48
|
+
* `properties`, `required`, `additionalProperties`, `items`, `minimum`, and `maximum` are checked, and
|
|
49
|
+
* other keywords are only shown to the model.
|
|
50
|
+
*/
|
|
51
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
52
|
+
/** Side-effect class; it picks `CallTool` or `CallSingleAttemptTool` and the default approval. */
|
|
53
|
+
readonly effect: ToolEffect;
|
|
54
|
+
/**
|
|
55
|
+
* Whether every call waits for `resolve_interrupt` before it runs. Defaults to `true` for
|
|
56
|
+
* `non_idempotent_write` and `unclassified` and to `false` otherwise. A tool policy in
|
|
57
|
+
* {@link AgentDefinition.toolPolicies} overrides it.
|
|
58
|
+
*/
|
|
59
|
+
readonly requiresApproval?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Runs the tool once, inside its own tool Step.
|
|
62
|
+
*
|
|
63
|
+
* A `string` result is the output the model sees. A {@link ToolInputRequested} result asks the user a
|
|
64
|
+
* question; return it only before the tool took any effect, and the tool runs again with the answer in
|
|
65
|
+
* {@link ToolCallContext.inputAnswers}. Any other result is serialized as JSON, with the separators
|
|
66
|
+
* of Python's `json.dumps`. Throw `ToolExecutionError` for a failure the model should see; any other
|
|
67
|
+
* error fails the attempt, as {@link ToolExecutionError} describes.
|
|
68
|
+
* @param args - Arguments that passed the {@link parameters} check.
|
|
69
|
+
* @param context - Idempotency key, attempt, events, and heartbeat of this run.
|
|
70
|
+
* @returns The tool result.
|
|
71
|
+
*/
|
|
72
|
+
readonly execute: (args: Arguments, context: ToolCallContext) => unknown;
|
|
73
|
+
}
|
|
74
|
+
/** A tool implemented by a plain function, created by {@link functionTool}. */
|
|
75
|
+
export interface FunctionTool {
|
|
76
|
+
/** Discriminator. */
|
|
77
|
+
readonly kind: "function_tool";
|
|
78
|
+
/** Tool name. */
|
|
79
|
+
readonly name: string;
|
|
80
|
+
/** Description for the model. */
|
|
81
|
+
readonly description: string;
|
|
82
|
+
/** JSON Schema of the arguments. */
|
|
83
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
84
|
+
/** Side-effect class. */
|
|
85
|
+
readonly effect: ToolEffect;
|
|
86
|
+
/** Approval override, or `undefined` for the effect's default. */
|
|
87
|
+
readonly requiresApproval: boolean | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Runs the tool with checked arguments.
|
|
90
|
+
* @param args - Arguments that passed the schema check.
|
|
91
|
+
* @param context - Context of this run.
|
|
92
|
+
* @returns A Promise of the tool result.
|
|
93
|
+
*/
|
|
94
|
+
execute(args: unknown, context: ToolCallContext): Promise<unknown>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Creates a function tool for a Stepwise agent.
|
|
98
|
+
*
|
|
99
|
+
* Every function tool declares its effect, which picks the tool Step and the default approval exactly
|
|
100
|
+
* as for adapter tools. Each call runs in its own Step, so a crash repeats at most a `read` or
|
|
101
|
+
* `idempotent_write` call and never repeats a `non_idempotent_write` call.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* const lookupOrder = functionTool<{ order_id: string }>({
|
|
106
|
+
* name: "lookup_order",
|
|
107
|
+
* description: "Look up an order by its ID.",
|
|
108
|
+
* parameters: { type: "object", properties: { order_id: { type: "string" } }, required: ["order_id"] },
|
|
109
|
+
* effect: "read",
|
|
110
|
+
* execute: async ({ order_id }) => orders.get(order_id),
|
|
111
|
+
* });
|
|
112
|
+
* const refundOrder = functionTool<{ order_id: string; amount_cents: number }>({
|
|
113
|
+
* name: "refund_order",
|
|
114
|
+
* description: "Refund part of an order.",
|
|
115
|
+
* parameters: {
|
|
116
|
+
* type: "object",
|
|
117
|
+
* properties: { order_id: { type: "string" }, amount_cents: { type: "integer", minimum: 1 } },
|
|
118
|
+
* required: ["order_id", "amount_cents"],
|
|
119
|
+
* },
|
|
120
|
+
* effect: "non_idempotent_write",
|
|
121
|
+
* execute: async ({ order_id, amount_cents }, context) =>
|
|
122
|
+
* payments.refund(order_id, amount_cents, { idempotencyKey: context.idempotencyKey }),
|
|
123
|
+
* });
|
|
124
|
+
* ```
|
|
125
|
+
* @typeParam Arguments - Type of the checked arguments; it is not checked against the schema.
|
|
126
|
+
* @param definition - Name, description, schema, effect, approval, and implementation.
|
|
127
|
+
* @returns The tool, to pass in {@link AgentDefinition.tools}.
|
|
128
|
+
* @throws {TypeError} When the name, description, schema, effect, or implementation is invalid.
|
|
129
|
+
*/
|
|
130
|
+
export declare function functionTool<Arguments = Record<string, unknown>>(definition: FunctionToolDefinition<Arguments>): FunctionTool;
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
const toolNamePattern = /^[A-Za-z0-9_-]{1,64}$/;
|
|
9
|
+
const toolEffects = ["read", "idempotent_write", "non_idempotent_write", "unclassified"];
|
|
10
|
+
/**
|
|
11
|
+
* Creates a function tool for a Stepwise agent.
|
|
12
|
+
*
|
|
13
|
+
* Every function tool declares its effect, which picks the tool Step and the default approval exactly
|
|
14
|
+
* as for adapter tools. Each call runs in its own Step, so a crash repeats at most a `read` or
|
|
15
|
+
* `idempotent_write` call and never repeats a `non_idempotent_write` call.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const lookupOrder = functionTool<{ order_id: string }>({
|
|
20
|
+
* name: "lookup_order",
|
|
21
|
+
* description: "Look up an order by its ID.",
|
|
22
|
+
* parameters: { type: "object", properties: { order_id: { type: "string" } }, required: ["order_id"] },
|
|
23
|
+
* effect: "read",
|
|
24
|
+
* execute: async ({ order_id }) => orders.get(order_id),
|
|
25
|
+
* });
|
|
26
|
+
* const refundOrder = functionTool<{ order_id: string; amount_cents: number }>({
|
|
27
|
+
* name: "refund_order",
|
|
28
|
+
* description: "Refund part of an order.",
|
|
29
|
+
* parameters: {
|
|
30
|
+
* type: "object",
|
|
31
|
+
* properties: { order_id: { type: "string" }, amount_cents: { type: "integer", minimum: 1 } },
|
|
32
|
+
* required: ["order_id", "amount_cents"],
|
|
33
|
+
* },
|
|
34
|
+
* effect: "non_idempotent_write",
|
|
35
|
+
* execute: async ({ order_id, amount_cents }, context) =>
|
|
36
|
+
* payments.refund(order_id, amount_cents, { idempotencyKey: context.idempotencyKey }),
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
* @typeParam Arguments - Type of the checked arguments; it is not checked against the schema.
|
|
40
|
+
* @param definition - Name, description, schema, effect, approval, and implementation.
|
|
41
|
+
* @returns The tool, to pass in {@link AgentDefinition.tools}.
|
|
42
|
+
* @throws {TypeError} When the name, description, schema, effect, or implementation is invalid.
|
|
43
|
+
*/
|
|
44
|
+
export function functionTool(definition) {
|
|
45
|
+
if (typeof definition?.name !== "string" || !toolNamePattern.test(definition.name)) {
|
|
46
|
+
throw new TypeError(`function tool name ${JSON.stringify(definition?.name)} must be 1 to 64 letters, digits, _ or -`);
|
|
47
|
+
}
|
|
48
|
+
if (typeof definition.description !== "string" || definition.description.trim() === "") {
|
|
49
|
+
throw new TypeError(`function tool ${definition.name} needs a non-blank description`);
|
|
50
|
+
}
|
|
51
|
+
const parameters = definition.parameters;
|
|
52
|
+
if (typeof parameters !== "object" || parameters === null || parameters["type"] !== "object") {
|
|
53
|
+
throw new TypeError(`function tool ${definition.name} needs a JSON Schema object with type "object"`);
|
|
54
|
+
}
|
|
55
|
+
if (!toolEffects.includes(definition.effect)) {
|
|
56
|
+
throw new TypeError(`function tool ${definition.name} has unknown effect ${String(definition.effect)}`);
|
|
57
|
+
}
|
|
58
|
+
if (definition.requiresApproval !== undefined && typeof definition.requiresApproval !== "boolean") {
|
|
59
|
+
throw new TypeError(`function tool ${definition.name} requiresApproval must be a boolean`);
|
|
60
|
+
}
|
|
61
|
+
if (typeof definition.execute !== "function") {
|
|
62
|
+
throw new TypeError(`function tool ${definition.name} needs an execute function`);
|
|
63
|
+
}
|
|
64
|
+
const execute = definition.execute;
|
|
65
|
+
return Object.freeze({
|
|
66
|
+
kind: "function_tool",
|
|
67
|
+
name: definition.name,
|
|
68
|
+
description: definition.description,
|
|
69
|
+
parameters,
|
|
70
|
+
effect: definition.effect,
|
|
71
|
+
requiresApproval: definition.requiresApproval,
|
|
72
|
+
execute: async (args, context) => await execute(args, context),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=function-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-tool.js","sourceRoot":"","sources":["../../../src/stepwise/function-tool.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAK1D,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAChD,MAAM,WAAW,GAA0B,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;AAkGhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,YAAY,CAC1B,UAA6C;IAE7C,IAAI,OAAO,UAAU,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,SAAS,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvF,MAAM,IAAI,SAAS,CAAC,iBAAiB,UAAU,CAAC,IAAI,gCAAgC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,UAA2D,CAAC;IAC1F,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7F,MAAM,IAAI,SAAS,CAAC,iBAAiB,UAAU,CAAC,IAAI,gDAAgD,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,iBAAiB,UAAU,CAAC,IAAI,uBAAuB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,UAAU,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAClG,MAAM,IAAI,SAAS,CAAC,iBAAiB,UAAU,CAAC,IAAI,qCAAqC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,iBAAiB,UAAU,CAAC,IAAI,4BAA4B,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU;QACV,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,OAAwB,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,IAAiB,EAAE,OAAO,CAAC;KACtG,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { type AgentDefinition, type InstructionContext, type PlanningToolChoice } from "./agent-definition.js";
|
|
2
|
+
export { functionTool, type FunctionTool, type FunctionToolDefinition, type ToolCallContext, } from "./function-tool.js";
|
|
3
|
+
export { type ModelClient, type ModelInputItem, type ModelOutputItem, type ModelOutputWriter, type ModelRequest, type ModelRequestMetadata, type ModelResponse, type ModelSettings, type ModelToolCall, type ModelToolChoice, type ModelToolDefinition, type ModelToolResultItem, type ModelUserTextItem, } from "./model-client.js";
|
|
4
|
+
export { ScriptedModelClient, defaultMaxRecordedRequests, scriptedModelApi, scriptedModelProvider, type ScriptedModelReply, type ScriptedModelResponder, type ScriptedToolCall, } from "./scripted-model-client.js";
|
|
5
|
+
export { createStepwiseAgentSessionFlow } from "./stepwise-agent-session-flow.js";
|
|
6
|
+
export { buildContextSummaryNote, buildContextSummaryOmissionNote, contextSummaryInstructions, contextSummaryNoteHeader, contextSummaryRequest, } from "../agent-context-compaction.js";
|
|
7
|
+
export { StepwiseAgentRunner, defaultToolSourceListingTimeoutMs } from "./stepwise-agent-runner.js";
|
|
8
|
+
export { type SourceToolDefinition, type ToolSource } from "./tool-source.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { functionTool, } from "./function-tool.js";
|
|
9
|
+
export { ScriptedModelClient, defaultMaxRecordedRequests, scriptedModelApi, scriptedModelProvider, } from "./scripted-model-client.js";
|
|
10
|
+
export { createStepwiseAgentSessionFlow } from "./stepwise-agent-session-flow.js";
|
|
11
|
+
export { buildContextSummaryNote, buildContextSummaryOmissionNote, contextSummaryInstructions, contextSummaryNoteHeader, contextSummaryRequest, } from "../agent-context-compaction.js";
|
|
12
|
+
export { StepwiseAgentRunner, defaultToolSourceListingTimeoutMs } from "./stepwise-agent-runner.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stepwise/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAG1D,OAAO,EACL,YAAY,GAIb,MAAM,oBAAoB,CAAC;AAgB5B,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type JsonSchema = Readonly<Record<string, unknown>>;
|
|
2
|
+
/** Returns the first way `value` breaks the schema, such as `arguments.order_id must be string`, or `undefined`. */
|
|
3
|
+
export declare function findJsonSchemaViolation(value: unknown, schema: JsonSchema, path: string): string | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Serializes JSON with `", "` and `": "` separators and unescaped non-ASCII text, the format of Python's
|
|
6
|
+
* `json.dumps`, so model-visible text matches the Python core.
|
|
7
|
+
*/
|
|
8
|
+
export declare function serializeJsonWithSpacedSeparators(value: unknown): string;
|
|
9
|
+
export {};
|