@superdurable/dex-agents 0.2.0 → 0.4.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 +143 -6
- package/dist/src/agent-context-compaction.d.ts +150 -4
- package/dist/src/agent-context-compaction.js +253 -5
- package/dist/src/agent-context-compaction.js.map +1 -1
- package/dist/src/agent-framework-runner.d.ts +89 -0
- package/dist/src/agent-framework-runner.js +26 -0
- package/dist/src/agent-framework-runner.js.map +1 -1
- package/dist/src/agent-session-codecs.js +9 -0
- 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 +2204 -0
- package/dist/src/agent-session-flow.d.ts +23 -2
- package/dist/src/agent-session-flow.js +5 -0
- package/dist/src/agent-session-flow.js.map +1 -1
- 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 +52 -1
- package/dist/src/agent-session-step-options.js +34 -2
- package/dist/src/agent-session-step-options.js.map +1 -1
- package/dist/src/agent-session-steps.d.ts +9 -0
- package/dist/src/agent-session-steps.js +247 -50
- package/dist/src/agent-session-steps.js.map +1 -1
- package/dist/src/agent-session-transitions.d.ts +14 -1
- package/dist/src/agent-session-transitions.js +61 -1
- package/dist/src/agent-session-transitions.js.map +1 -1
- package/dist/src/agent-session-values.d.ts +43 -2
- package/dist/src/agent-session-values.js +6 -0
- package/dist/src/agent-session-values.js.map +1 -1
- package/dist/src/agent-session-wait-steps.js +3 -3
- package/dist/src/agent-session-wait-steps.js.map +1 -1
- package/dist/src/connectors/connector-input-schema.d.ts +19 -0
- package/dist/src/connectors/connector-input-schema.js +228 -0
- package/dist/src/connectors/connector-input-schema.js.map +1 -0
- package/dist/src/connectors/connector-step-context.d.ts +77 -0
- package/dist/src/connectors/connector-step-context.js +124 -0
- package/dist/src/connectors/connector-step-context.js.map +1 -0
- package/dist/src/connectors/connector-tool-source.d.ts +353 -0
- package/dist/src/connectors/connector-tool-source.js +541 -0
- package/dist/src/connectors/connector-tool-source.js.map +1 -0
- package/dist/src/connectors/index.d.ts +3 -0
- package/dist/src/connectors/index.js +11 -0
- package/dist/src/connectors/index.js.map +1 -0
- package/dist/src/index.d.ts +10 -3
- package/dist/src/index.js +8 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/stepwise/agent-definition.d.ts +8 -0
- package/dist/src/stepwise/index.d.ts +2 -1
- package/dist/src/stepwise/index.js +2 -1
- package/dist/src/stepwise/index.js.map +1 -1
- package/dist/src/stepwise/stepwise-agent-runner.d.ts +15 -32
- package/dist/src/stepwise/stepwise-agent-runner.js +37 -200
- package/dist/src/stepwise/stepwise-agent-runner.js.map +1 -1
- package/dist/src/stepwise/stepwise-agent-session-flow.js +1 -0
- package/dist/src/stepwise/stepwise-agent-session-flow.js.map +1 -1
- package/dist/src/stepwise/tool-source.d.ts +11 -1
- package/dist/src/testing/agent-session-test-client.js +2 -5
- 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 +1 -0
- package/dist/src/testing/index.js +1 -0
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/tool-source-router.d.ts +211 -0
- package/dist/src/tool-source-router.js +380 -0
- package/dist/src/tool-source-router.js.map +1 -0
- package/dist/src/ui-stream/agent-event-sse.d.ts +3 -2
- package/dist/src/ui-stream/agent-event-sse.js +11 -3
- package/dist/src/ui-stream/agent-event-sse.js.map +1 -1
- package/dist/src/ui-stream/agent-session-record-reader.d.ts +2 -0
- package/dist/src/ui-stream/agent-session-record-reader.js +5 -0
- package/dist/src/ui-stream/agent-session-record-reader.js.map +1 -1
- package/dist/src/ui-stream/agent-ui-message-stream-responses.js +3 -2
- package/dist/src/ui-stream/agent-ui-message-stream-responses.js.map +1 -1
- package/dist/src/ui-stream/agent-ui-message-stream.js +17 -3
- package/dist/src/ui-stream/agent-ui-message-stream.js.map +1 -1
- package/dist/src/ui-stream/agent-ui-messages.d.ts +2 -0
- package/dist/src/ui-stream/agent-ui-messages.js +5 -3
- package/dist/src/ui-stream/agent-ui-messages.js.map +1 -1
- package/package.json +15 -3
|
@@ -3,6 +3,8 @@ import { type BuiltInTool } from "./agent-built-in-tools.js";
|
|
|
3
3
|
import { type CompactionPolicy, type ResolvedCompactionPolicy } from "./agent-context-compaction.js";
|
|
4
4
|
import type { AgentFrameworkRunner, DeferredToolOutcome, ToolPolicy } from "./agent-framework-runner.js";
|
|
5
5
|
import { type AgentSessionPersistence } from "./agent-session-persistence.js";
|
|
6
|
+
import type { ModelSpendLimit } from "./agent-session-spend-limit.js";
|
|
7
|
+
import { type ResolvedRunModelLimit, type RunModelLimit } from "./agent-session-step-options.js";
|
|
6
8
|
import { messageRolloverMaxBytesPerCommit, messageRolloverMaxChunksPerCommit } from "./agent-session-transitions.js";
|
|
7
9
|
import type { AgentMessagesPage, AgentSessionStartInput, AgentSnapshot, AgentUserMessage, AnswerQuestionRequest, CancelTurnRequest, DeleteQueuedMessageRequest, ExecutePlanRequest, ListAgentMessagesInput, ResolveInterruptInput, SteerUserMessageRequest, ToolEffect, UpdateSessionSettingsRequest } from "./agent-session-values.js";
|
|
8
10
|
import { type AgentTracingOptions, type ResolvedAgentTracingOptions } from "./agent-tracing-options.js";
|
|
@@ -110,6 +112,20 @@ export interface AgentSessionOptions {
|
|
|
110
112
|
* `list_agent_messages` before more than `retainedMessageLimit` messages follow them.
|
|
111
113
|
*/
|
|
112
114
|
readonly retainedMessageLimit?: number | null;
|
|
115
|
+
/**
|
|
116
|
+
* Method timeout and attempts of `RunModel`, for a runner whose `RunModel` takes longer than one model call, such as
|
|
117
|
+
* a harness. Defaults to 15 minutes and 3 attempts in 30 minutes. See {@link RunModelLimit}.
|
|
118
|
+
*
|
|
119
|
+
* @since 0.3.0
|
|
120
|
+
*/
|
|
121
|
+
readonly runModelLimit?: RunModelLimit;
|
|
122
|
+
/**
|
|
123
|
+
* The application's spend limit, called before and after each model call of `RunModel` and `CompactContext`.
|
|
124
|
+
* Omit it to make no checks. See {@link ModelSpendLimit}.
|
|
125
|
+
*
|
|
126
|
+
* @since 0.3.0
|
|
127
|
+
*/
|
|
128
|
+
readonly spendLimit?: ModelSpendLimit;
|
|
113
129
|
}
|
|
114
130
|
/** Options applied by an {@link AgentSessionFlow}, with every default filled in. */
|
|
115
131
|
export interface ResolvedAgentSessionOptions {
|
|
@@ -145,6 +161,10 @@ export interface ResolvedAgentSessionOptions {
|
|
|
145
161
|
readonly messageChunkMaxBytes?: number;
|
|
146
162
|
/** The retention limit, or `null` to keep every message. A Flow always sets it; optional for 0.1.0 code. */
|
|
147
163
|
readonly retainedMessageLimit?: number | null;
|
|
164
|
+
/** The `RunModel` limit and its retry budget. A Flow always sets it; optional for 0.2.0 code. */
|
|
165
|
+
readonly runModelLimit?: ResolvedRunModelLimit;
|
|
166
|
+
/** The application's spend limit, or `undefined` for none. */
|
|
167
|
+
readonly spendLimit?: ModelSpendLimit;
|
|
148
168
|
}
|
|
149
169
|
/**
|
|
150
170
|
* Durable agent session Flow: one Flow execution is one agent session, and its Flow ID is the session ID.
|
|
@@ -169,7 +189,7 @@ export interface ResolvedAgentSessionOptions {
|
|
|
169
189
|
* const flow = createAgentSessionFlow(runner, "SupportAgent");
|
|
170
190
|
* const registry = new Registry([flow]);
|
|
171
191
|
* // ... start a Worker and a Client with this registry ...
|
|
172
|
-
* await client
|
|
192
|
+
* await startAgentSession(client, flow, sessionId);
|
|
173
193
|
* await client.invokeRPC(flow.sendUserMessage, sessionId, { text: "Where is order 42?" });
|
|
174
194
|
* const snapshot = await client.invokeRPC(flow.getAgentSnapshot, sessionId);
|
|
175
195
|
* for (const interrupt of snapshot.pendingInterrupts) {
|
|
@@ -319,7 +339,8 @@ export interface AgentSessionFlow<Runner extends AgentFrameworkRunner<DeferredTo
|
|
|
319
339
|
* It removes the interrupt from `PendingInterrupts` and publishes the answer in one commit, so only
|
|
320
340
|
* one call succeeds per interrupt. It locks `PendingInterrupts`, so a call that races
|
|
321
341
|
* `AwaitToolApproval`, `AwaitQuestionAnswer`, `ResumeTurn`, `FinishTurnCancellation`, or `cancel_turn` can fail
|
|
322
|
-
* with `RpcLockConflictError`, which is safe to retry. The
|
|
342
|
+
* with `RpcLockConflictError`, which is safe to retry. The caller sends the RPC's locks: SDK clients and Dex Web do,
|
|
343
|
+
* but a raw `InvokeRPC` request without them runs unlocked, and then more than one call can succeed. The rejection message is dropped when `approved` is `true`. A question needs an answer, so
|
|
323
344
|
* `approved` `true` on a `question` interrupt is refused; answer it with {@link answerQuestion}.
|
|
324
345
|
*
|
|
325
346
|
* @param context - RPC Context supplied by Dex.
|
|
@@ -45,6 +45,7 @@ import { isContextCompactionRunner, resolveCompactionPolicy, } from "./agent-con
|
|
|
45
45
|
import { agentMessagesPageCodec, agentSnapshotCodec, agentUserMessageCodec, answerQuestionRequestCodec, cancelTurnRequestCodec, deleteQueuedMessageRequestCodec, executePlanRequestCodec, listAgentMessagesInputCodec, resolveInterruptInputCodec, steerUserMessageRequestCodec, updateSessionSettingsRequestCodec, } from "./agent-session-codecs.js";
|
|
46
46
|
import { createAgentSessionPersistence, defaultAgentEventsCapacityBytes, planExecutionKey, } from "./agent-session-persistence.js";
|
|
47
47
|
import { checkStoredSessionSettings } from "./agent-session-settings.js";
|
|
48
|
+
import { resolveRunModelLimit } from "./agent-session-step-options.js";
|
|
48
49
|
import { ApplyTurnControlStep, AwaitToolApprovalStep, AwaitUserMessageStep, CompactContextStep, isExecutablePlanStatus, RecordTurnFailureStep, ResumeTurnStep, RunModelStep, StartAgentSessionStep, ToolCallFailureRecordingStep, ToolCallStep, } from "./agent-session-steps.js";
|
|
49
50
|
import { AgentSessionTracer } from "./agent-session-tracer.js";
|
|
50
51
|
import { CancelToolTaskStep, FinishTurnCancellationStep } from "./agent-session-cancellation-steps.js";
|
|
@@ -121,6 +122,8 @@ export function createAgentSessionFlow(runner, flowType, options = {}) {
|
|
|
121
122
|
messageChunkSize: config.messageChunkSize,
|
|
122
123
|
messageChunkMaxBytes: config.messageChunkMaxBytes,
|
|
123
124
|
retainedMessageLimit: config.retainedMessageLimit,
|
|
125
|
+
runModelLimit: config.runModelLimit,
|
|
126
|
+
...(config.spendLimit === undefined ? {} : { spendLimit: config.spendLimit }),
|
|
124
127
|
});
|
|
125
128
|
// A class per Flow gives each Flow its own RPC methods, which the Dex Client identifies by function.
|
|
126
129
|
let AgentSessionFlowDefinition = (() => {
|
|
@@ -581,6 +584,8 @@ function resolveAgentSessionConfig(runner, flowType, options) {
|
|
|
581
584
|
messageChunkSize,
|
|
582
585
|
messageChunkMaxBytes,
|
|
583
586
|
retainedMessageLimit,
|
|
587
|
+
runModelLimit: resolveRunModelLimit(options.runModelLimit),
|
|
588
|
+
spendLimit: options.spendLimit,
|
|
584
589
|
};
|
|
585
590
|
}
|
|
586
591
|
function resolveAgentTracingOptions(flowType, tracing) {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { AgentUsage, SessionSettings } from "./agent-session-values.js";
|
|
2
|
+
/**
|
|
3
|
+
* How long the session waits for {@link ModelSpendLimit.checkModelCall} or {@link ModelSpendLimit.reportModelUsage},
|
|
4
|
+
* in milliseconds. Bound your own calls below it. A check that takes longer counts as a check that threw. A report
|
|
5
|
+
* that takes longer is dropped.
|
|
6
|
+
*
|
|
7
|
+
* @since 0.3.0
|
|
8
|
+
*/
|
|
9
|
+
export declare const spendLimitCallTimeoutMs = 30000;
|
|
10
|
+
/**
|
|
11
|
+
* Starts `AgentState.lastTurnError` of a turn that a spend limit ended. The text goes on with `": "` and the reason
|
|
12
|
+
* from {@link ModelCallDecision}. Test for it to tell a refused call from a failed one.
|
|
13
|
+
*
|
|
14
|
+
* @since 0.3.0
|
|
15
|
+
*/
|
|
16
|
+
export declare const modelCallRefusedErrorPrefix = "the model call was refused";
|
|
17
|
+
/**
|
|
18
|
+
* Describes one model call that is about to run. The session builds one for every attempt of `RunModel` and
|
|
19
|
+
* `CompactContext`, because every attempt can cost money.
|
|
20
|
+
*
|
|
21
|
+
* @since 0.3.0
|
|
22
|
+
*/
|
|
23
|
+
export interface ModelCallCheck {
|
|
24
|
+
/** The session's Flow ID. */
|
|
25
|
+
readonly flowId: string;
|
|
26
|
+
/** The turn that makes the call. */
|
|
27
|
+
readonly turnId: string;
|
|
28
|
+
/** `"RunModel"` or `"CompactContext"`. */
|
|
29
|
+
readonly stepType: string;
|
|
30
|
+
/** One-based attempt of the Step. */
|
|
31
|
+
readonly attempt: number;
|
|
32
|
+
/** The turn's session settings. Put the account or API key reference that the limit applies to here. Never a secret. */
|
|
33
|
+
readonly sessionSettings: SessionSettings;
|
|
34
|
+
/** Committed usage of this session so far. */
|
|
35
|
+
readonly sessionUsage: AgentUsage;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Says whether a model call may run. `reason` reaches `AgentState.lastTurnError`, so people read it, and it is stored.
|
|
39
|
+
* Never put a secret in it.
|
|
40
|
+
*
|
|
41
|
+
* @since 0.3.0
|
|
42
|
+
*/
|
|
43
|
+
export type ModelCallDecision = {
|
|
44
|
+
readonly isAllowed: true;
|
|
45
|
+
} | {
|
|
46
|
+
readonly isAllowed: false;
|
|
47
|
+
readonly reason: string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Reports what one finished model call used.
|
|
51
|
+
*
|
|
52
|
+
* @since 0.3.0
|
|
53
|
+
*/
|
|
54
|
+
export interface ModelUsageReport {
|
|
55
|
+
/**
|
|
56
|
+
* Stable ID of this attempt's call: `<flow>/<turn>/<step execution>/<attempt>`. Count each ID once. A retry has a new
|
|
57
|
+
* ID because it is a new paid call.
|
|
58
|
+
*/
|
|
59
|
+
readonly reportId: string;
|
|
60
|
+
/** The session's Flow ID. */
|
|
61
|
+
readonly flowId: string;
|
|
62
|
+
/** The turn that made the call. */
|
|
63
|
+
readonly turnId: string;
|
|
64
|
+
/** `"RunModel"` or `"CompactContext"`. */
|
|
65
|
+
readonly stepType: string;
|
|
66
|
+
/** One-based attempt of the Step. */
|
|
67
|
+
readonly attempt: number;
|
|
68
|
+
/** The turn's session settings. */
|
|
69
|
+
readonly sessionSettings: SessionSettings;
|
|
70
|
+
/**
|
|
71
|
+
* What the runner reported. A harness runner, such as the Claude Agent SDK adapter, reports a whole segment here:
|
|
72
|
+
* several model calls in `usage.modelCalls`. Zero tokens with `modelCalls` above zero mean the framework did not
|
|
73
|
+
* expose token counts, not that the call was free.
|
|
74
|
+
*/
|
|
75
|
+
readonly usage: AgentUsage;
|
|
76
|
+
/**
|
|
77
|
+
* `usage` added to the committed session usage. It includes a call whose report threw or timed out, for an
|
|
78
|
+
* application that counts per session.
|
|
79
|
+
*/
|
|
80
|
+
readonly sessionUsage: AgentUsage;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Lets an application decide whether a session may spend on a model call.
|
|
84
|
+
*
|
|
85
|
+
* A spend limit is usually per account or per API key, across many sessions, so the counters and the limit belong to
|
|
86
|
+
* the application. Pass an implementation as `AgentSessionOptions.spendLimit`. Without one, the session makes no
|
|
87
|
+
* checks. The object lives in the Worker and is not stored.
|
|
88
|
+
*
|
|
89
|
+
* The session calls {@link checkModelCall} before each attempt of `RunModel` and `CompactContext`, and
|
|
90
|
+
* {@link reportModelUsage} after the attempt's model call returns. Both run inside the Step, on the Worker, so keep
|
|
91
|
+
* them fast and bound them below {@link spendLimitCallTimeoutMs}.
|
|
92
|
+
*
|
|
93
|
+
* A refused call ends the turn: the session records {@link modelCallRefusedErrorPrefix} and the reason in
|
|
94
|
+
* `AgentState.lastTurnError`, keeps the turn's finished tool results, and waits for the next user message, which is
|
|
95
|
+
* checked again. A check that throws or times out fails closed. It fails the attempt, Dex retries it under the Step's
|
|
96
|
+
* retry policy, and no model call runs without a passed check. When the retries run out the turn fails. To fail open,
|
|
97
|
+
* catch your own errors in `checkModelCall` and return `{ isAllowed: true }`.
|
|
98
|
+
*
|
|
99
|
+
* A report that throws or times out is logged and dropped, because failing the attempt would repeat a call that was
|
|
100
|
+
* already paid for.
|
|
101
|
+
*
|
|
102
|
+
* Limits to design for:
|
|
103
|
+
*
|
|
104
|
+
* - A check bounds the next call, not its cost. Sessions that pass together can overshoot a limit. A harness runner is
|
|
105
|
+
* checked once per segment, so the overshoot can be a whole segment. Set the harness's own budget option too, such
|
|
106
|
+
* as `maxBudgetUsd` for the Claude Agent SDK.
|
|
107
|
+
* - A call that fails, is cancelled, or is lost with its Worker reports nothing, though the provider may bill it. So
|
|
108
|
+
* the reports can be lower than the bill. They can also exceed `AgentUsage`: a call whose Step did not commit reports
|
|
109
|
+
* here and again on its retry, under a new `reportId`, while `AgentUsage` keeps only the committed attempt.
|
|
110
|
+
* - Reports are not durable. A report runs inside the Step, so a Worker that dies between the model's answer and the
|
|
111
|
+
* report loses it. That attempt never commits, so `AgentUsage` does not hold the call either, and only the provider's
|
|
112
|
+
* bill does. A report that threw or timed out is different: its attempt commits, so the next report's `sessionUsage`
|
|
113
|
+
* includes it.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```ts
|
|
117
|
+
* const spendLimit: ModelSpendLimit = {
|
|
118
|
+
* async checkModelCall(check) {
|
|
119
|
+
* const account = check.sessionSettings.account as string;
|
|
120
|
+
* return (await spentThisMonth(account)) >= limitOf(account)
|
|
121
|
+
* ? { isAllowed: false, reason: "account over its monthly limit" }
|
|
122
|
+
* : { isAllowed: true };
|
|
123
|
+
* },
|
|
124
|
+
* async reportModelUsage(report) {
|
|
125
|
+
* await recordOnce(report.reportId, report.usage);
|
|
126
|
+
* },
|
|
127
|
+
* };
|
|
128
|
+
* const flow = createAgentSessionFlow(runner, "SupportAgent", { spendLimit });
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @since 0.3.0
|
|
132
|
+
*/
|
|
133
|
+
export interface ModelSpendLimit {
|
|
134
|
+
/**
|
|
135
|
+
* Decides whether one model call may run.
|
|
136
|
+
* @param check - The call that is about to run.
|
|
137
|
+
* @returns The decision.
|
|
138
|
+
* @throws Any error fails the attempt, so the call does not run.
|
|
139
|
+
*/
|
|
140
|
+
checkModelCall(check: ModelCallCheck): Promise<ModelCallDecision>;
|
|
141
|
+
/**
|
|
142
|
+
* Records what one finished model call used.
|
|
143
|
+
* @param report - The call's usage. Count each `reportId` once.
|
|
144
|
+
* @returns A Promise that settles when the usage is recorded.
|
|
145
|
+
* @throws Any error is logged and dropped.
|
|
146
|
+
*/
|
|
147
|
+
reportModelUsage(report: ModelUsageReport): Promise<void>;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Settles with `operation`, or rejects after {@link spendLimitCallTimeoutMs}.
|
|
151
|
+
* @param description - What is running, for the timeout message.
|
|
152
|
+
* @param operation - The application's call.
|
|
153
|
+
* @returns The call's result.
|
|
154
|
+
* @throws {Error} When the call takes too long, or what the call threw.
|
|
155
|
+
*/
|
|
156
|
+
export declare function withinSpendLimitCallTimeout<Result>(description: string, operation: Promise<Result>): Promise<Result>;
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* How long the session waits for {@link ModelSpendLimit.checkModelCall} or {@link ModelSpendLimit.reportModelUsage},
|
|
10
|
+
* in milliseconds. Bound your own calls below it. A check that takes longer counts as a check that threw. A report
|
|
11
|
+
* that takes longer is dropped.
|
|
12
|
+
*
|
|
13
|
+
* @since 0.3.0
|
|
14
|
+
*/
|
|
15
|
+
export const spendLimitCallTimeoutMs = 30_000;
|
|
16
|
+
/**
|
|
17
|
+
* Starts `AgentState.lastTurnError` of a turn that a spend limit ended. The text goes on with `": "` and the reason
|
|
18
|
+
* from {@link ModelCallDecision}. Test for it to tell a refused call from a failed one.
|
|
19
|
+
*
|
|
20
|
+
* @since 0.3.0
|
|
21
|
+
*/
|
|
22
|
+
export const modelCallRefusedErrorPrefix = "the model call was refused";
|
|
23
|
+
/**
|
|
24
|
+
* Settles with `operation`, or rejects after {@link spendLimitCallTimeoutMs}.
|
|
25
|
+
* @param description - What is running, for the timeout message.
|
|
26
|
+
* @param operation - The application's call.
|
|
27
|
+
* @returns The call's result.
|
|
28
|
+
* @throws {Error} When the call takes too long, or what the call threw.
|
|
29
|
+
*/
|
|
30
|
+
export async function withinSpendLimitCallTimeout(description, operation) {
|
|
31
|
+
let timer;
|
|
32
|
+
const timeout = new Promise((_, reject) => {
|
|
33
|
+
timer = setTimeout(() => reject(new Error(`${description} took more than ${spendLimitCallTimeoutMs} ms`)), spendLimitCallTimeoutMs);
|
|
34
|
+
});
|
|
35
|
+
try {
|
|
36
|
+
return await Promise.race([operation, timeout]);
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
clearTimeout(timer);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=agent-session-spend-limit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-spend-limit.js","sourceRoot":"","sources":["../../src/agent-session-spend-limit.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAI1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,4BAA4B,CAAC;AAqIxE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,SAA0B;IAE1B,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,WAAW,mBAAmB,uBAAuB,KAAK,CAAC,CAAC,EACtF,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ActiveStepSearchMode, type Client, type StartFlowOptions } from "@superdurable/dex";
|
|
2
|
+
import type { AgentFrameworkRunner, DeferredToolOutcome } from "./agent-framework-runner.js";
|
|
3
|
+
import type { AgentSessionFlow } from "./agent-session-flow.js";
|
|
4
|
+
import type { AgentSessionStartInput } from "./agent-session-values.js";
|
|
5
|
+
/**
|
|
6
|
+
* The search mode {@link startAgentSession} gives a new session.
|
|
7
|
+
*
|
|
8
|
+
* It indexes the Steps that wait, such as `AwaitToolApproval`, `AwaitQuestionAnswer`, and `AwaitUserMessage`, and
|
|
9
|
+
* leaves out Steps that run straight away, such as `RunModel`. So a session's search entry changes when it enters or
|
|
10
|
+
* leaves a wait, not on every Step.
|
|
11
|
+
*
|
|
12
|
+
* Pass it as `activeStepSearchMode` in `StartFlowOptions.configOverride` to `Client.startFlow`, in a SubFlow's
|
|
13
|
+
* `configOverride`, or to `Client.updateFlowConfig` for a running session.
|
|
14
|
+
*
|
|
15
|
+
* The value is `ActiveStepSearchMode.DEFAULT` because the Dex SDK this core supports has no `WITH_WAIT_FOR` value.
|
|
16
|
+
* It sends the unspecified mode, which the server stores on the Flow and treats as Steps with a wait.
|
|
17
|
+
*
|
|
18
|
+
* @since 0.3.0
|
|
19
|
+
*/
|
|
20
|
+
export declare const agentSessionActiveStepSearchMode: ActiveStepSearchMode;
|
|
21
|
+
/**
|
|
22
|
+
* Starts one agent session, searchable by the Steps it waits in.
|
|
23
|
+
*
|
|
24
|
+
* `ActiveStepTypes = "AwaitToolApproval"` then finds the session while a tool call waits for a person. Prefer this to
|
|
25
|
+
* `Client.startFlow`, which leaves the session out of that search unless `configOverride` sets
|
|
26
|
+
* {@link agentSessionActiveStepSearchMode}.
|
|
27
|
+
*
|
|
28
|
+
* Set `configOverride.activeStepSearchMode` to choose another mode. To leave a session out of the search, start it
|
|
29
|
+
* with `Client.startFlow` and no mode: the Dex SDK this core supports cannot send the disabled mode. A session started
|
|
30
|
+
* as a SubFlow inherits its parent's mode unless its `configOverride` sets one.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* await startAgentSession(client, flow, "session-42", { initialMessage: "Refund order 7" });
|
|
35
|
+
* const page = await client.searchFlows('ActiveStepTypes = "AwaitToolApproval"', 50);
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param client - An open Client whose Registry contains `flow`.
|
|
39
|
+
* @param flow - The registered agent session Flow.
|
|
40
|
+
* @param sessionId - Flow ID of the new session.
|
|
41
|
+
* @param input - The first user message and the session's settings.
|
|
42
|
+
* @param options - Start options, such as a Request ID for an idempotent start. `configOverride` keeps every field
|
|
43
|
+
* it sets.
|
|
44
|
+
* @returns The server-assigned run ID.
|
|
45
|
+
* @throws {TypeError | RangeError} From `validateSessionSettings`, before anything is sent.
|
|
46
|
+
* @throws {FlowAlreadyStartedError} When the Flow ID is already in use.
|
|
47
|
+
* @since 0.3.0
|
|
48
|
+
*/
|
|
49
|
+
export declare function startAgentSession(client: Client, flow: AgentSessionFlow<AgentFrameworkRunner<DeferredToolOutcome>>, sessionId: string, input?: Partial<AgentSessionStartInput>, options?: StartFlowOptions): Promise<string>;
|
|
@@ -0,0 +1,67 @@
|
|
|
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 { ActiveStepSearchMode } from "@superdurable/dex";
|
|
9
|
+
import { validateSessionSettings } from "./agent-session-settings.js";
|
|
10
|
+
/**
|
|
11
|
+
* The search mode {@link startAgentSession} gives a new session.
|
|
12
|
+
*
|
|
13
|
+
* It indexes the Steps that wait, such as `AwaitToolApproval`, `AwaitQuestionAnswer`, and `AwaitUserMessage`, and
|
|
14
|
+
* leaves out Steps that run straight away, such as `RunModel`. So a session's search entry changes when it enters or
|
|
15
|
+
* leaves a wait, not on every Step.
|
|
16
|
+
*
|
|
17
|
+
* Pass it as `activeStepSearchMode` in `StartFlowOptions.configOverride` to `Client.startFlow`, in a SubFlow's
|
|
18
|
+
* `configOverride`, or to `Client.updateFlowConfig` for a running session.
|
|
19
|
+
*
|
|
20
|
+
* The value is `ActiveStepSearchMode.DEFAULT` because the Dex SDK this core supports has no `WITH_WAIT_FOR` value.
|
|
21
|
+
* It sends the unspecified mode, which the server stores on the Flow and treats as Steps with a wait.
|
|
22
|
+
*
|
|
23
|
+
* @since 0.3.0
|
|
24
|
+
*/
|
|
25
|
+
export const agentSessionActiveStepSearchMode = ActiveStepSearchMode.DEFAULT;
|
|
26
|
+
/**
|
|
27
|
+
* Starts one agent session, searchable by the Steps it waits in.
|
|
28
|
+
*
|
|
29
|
+
* `ActiveStepTypes = "AwaitToolApproval"` then finds the session while a tool call waits for a person. Prefer this to
|
|
30
|
+
* `Client.startFlow`, which leaves the session out of that search unless `configOverride` sets
|
|
31
|
+
* {@link agentSessionActiveStepSearchMode}.
|
|
32
|
+
*
|
|
33
|
+
* Set `configOverride.activeStepSearchMode` to choose another mode. To leave a session out of the search, start it
|
|
34
|
+
* with `Client.startFlow` and no mode: the Dex SDK this core supports cannot send the disabled mode. A session started
|
|
35
|
+
* as a SubFlow inherits its parent's mode unless its `configOverride` sets one.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* await startAgentSession(client, flow, "session-42", { initialMessage: "Refund order 7" });
|
|
40
|
+
* const page = await client.searchFlows('ActiveStepTypes = "AwaitToolApproval"', 50);
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @param client - An open Client whose Registry contains `flow`.
|
|
44
|
+
* @param flow - The registered agent session Flow.
|
|
45
|
+
* @param sessionId - Flow ID of the new session.
|
|
46
|
+
* @param input - The first user message and the session's settings.
|
|
47
|
+
* @param options - Start options, such as a Request ID for an idempotent start. `configOverride` keeps every field
|
|
48
|
+
* it sets.
|
|
49
|
+
* @returns The server-assigned run ID.
|
|
50
|
+
* @throws {TypeError | RangeError} From `validateSessionSettings`, before anything is sent.
|
|
51
|
+
* @throws {FlowAlreadyStartedError} When the Flow ID is already in use.
|
|
52
|
+
* @since 0.3.0
|
|
53
|
+
*/
|
|
54
|
+
export async function startAgentSession(client, flow, sessionId, input = {}, options = {}) {
|
|
55
|
+
const sessionSettings = input.sessionSettings ?? null;
|
|
56
|
+
if (sessionSettings !== null) {
|
|
57
|
+
validateSessionSettings(sessionSettings);
|
|
58
|
+
}
|
|
59
|
+
return client.startFlow(flow, sessionId, { initialMessage: input.initialMessage ?? null, sessionSettings }, {
|
|
60
|
+
...options,
|
|
61
|
+
configOverride: {
|
|
62
|
+
...options.configOverride,
|
|
63
|
+
activeStepSearchMode: options.configOverride?.activeStepSearchMode ?? agentSessionActiveStepSearchMode,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=agent-session-start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-start.js","sourceRoot":"","sources":["../../src/agent-session-start.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,oBAAoB,EAAsC,MAAM,mBAAmB,CAAC;AAI7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAyB,oBAAoB,CAAC,OAAO,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,IAAiE,EACjE,SAAiB,EACjB,QAAyC,EAAE,EAC3C,UAA4B,EAAE;IAE9B,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;IACtD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CACrB,IAAI,EACJ,SAAS,EACT,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,eAAe,EAAE,EACjE;QACE,GAAG,OAAO;QACV,cAAc,EAAE;YACd,GAAG,OAAO,CAAC,cAAc;YACzB,oBAAoB,EAAE,OAAO,CAAC,cAAc,EAAE,oBAAoB,IAAI,gCAAgC;SACvG;KACF,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,57 @@
|
|
|
1
1
|
import { ExecuteFailure, type AttributeMapLoad, type RetryPolicy, type StepOptions } from "@superdurable/dex";
|
|
2
2
|
import type { AgentSessionPersistence } from "./agent-session-persistence.js";
|
|
3
3
|
export declare const minuteMs = 60000;
|
|
4
|
+
/**
|
|
5
|
+
* Sets how long one `RunModel` Step may run and how often it runs again.
|
|
6
|
+
*
|
|
7
|
+
* The defaults fit one model call. A harness runner, such as the Claude Agent SDK adapter, runs a whole turn segment
|
|
8
|
+
* in one `RunModel`: several model calls and inline tool calls. Raise {@link methodTimeoutMs} when a segment needs
|
|
9
|
+
* longer than 15 minutes.
|
|
10
|
+
*
|
|
11
|
+
* Background heartbeats continue through the Step, so a long silent call stays within the heartbeat timeout and
|
|
12
|
+
* `methodTimeoutMs` is its only cap. Dex ends an attempt at `methodTimeoutMs` and aborts its `cancellationSignal`. The
|
|
13
|
+
* next attempt reruns the whole segment and pays for it again, so consider `maximumAttempts: 1` for an expensive
|
|
14
|
+
* segment. A hung call holds its Worker slot until `methodTimeoutMs`, so do not set it higher than needed.
|
|
15
|
+
*
|
|
16
|
+
* The retry budget moves with these values. It is `methodTimeoutMs` times one less than `maximumAttempts`, and at least
|
|
17
|
+
* twice `methodTimeoutMs`, so the default limit gives 30 minutes. Dex checks it only after an attempt fails, and never
|
|
18
|
+
* ends a running attempt, so it must exceed `methodTimeoutMs` for a timed-out attempt to retry at all.
|
|
19
|
+
*
|
|
20
|
+
* `CompactContext` keeps the defaults, because it makes one model call. A changed limit applies to each `RunModel`
|
|
21
|
+
* scheduled after the Worker restarts. An attempt in flight, and its retries, keep their limit.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const flow = createClaudeAgentSessionFlow(agent, "SupportAgent", {
|
|
26
|
+
* runModelLimit: { methodTimeoutMs: 60 * 60_000, maximumAttempts: 2 },
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @since 0.3.0
|
|
31
|
+
*/
|
|
32
|
+
export interface RunModelLimit {
|
|
33
|
+
/** Longest one attempt may run, in milliseconds, a whole number of seconds. Defaults to 15 minutes. */
|
|
34
|
+
readonly methodTimeoutMs?: number;
|
|
35
|
+
/** Attempts, including the first. `1` disables retries. Defaults to 3. */
|
|
36
|
+
readonly maximumAttempts?: number;
|
|
37
|
+
}
|
|
38
|
+
/** A {@link RunModelLimit} with every default filled in and the retry budget it implies. */
|
|
39
|
+
export interface ResolvedRunModelLimit {
|
|
40
|
+
/** Longest one attempt may run, in milliseconds. */
|
|
41
|
+
readonly methodTimeoutMs: number;
|
|
42
|
+
/** Attempts, including the first. */
|
|
43
|
+
readonly maximumAttempts: number;
|
|
44
|
+
/** The retry budget in milliseconds. */
|
|
45
|
+
readonly totalDurationMs: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Fills in a {@link RunModelLimit}.
|
|
49
|
+
* @param limit - The application's limit.
|
|
50
|
+
* @returns The limit with its defaults and retry budget.
|
|
51
|
+
* @throws {RangeError} When `methodTimeoutMs` is not a positive whole number of seconds, `maximumAttempts` is not a
|
|
52
|
+
* positive integer, or the retry budget does not fit a signed 32-bit number of seconds.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveRunModelLimit(limit?: RunModelLimit): ResolvedRunModelLimit;
|
|
4
55
|
export declare const modelCallStepOptions: {
|
|
5
56
|
readonly executeMethodTimeoutMs: number;
|
|
6
57
|
readonly heartbeatTimeoutMs: number;
|
|
@@ -24,4 +75,4 @@ export interface MessageChunkLoads {
|
|
|
24
75
|
readonly instances: readonly AttributeMapLoad[];
|
|
25
76
|
}
|
|
26
77
|
/** Returns the options of a Step that reads model input and stores messages, with its chunk loads. */
|
|
27
|
-
export declare function messageStepOptions(persistence: AgentSessionPersistence, stepType: string, chunkLoads: MessageChunkLoads): StepOptions;
|
|
78
|
+
export declare function messageStepOptions(persistence: AgentSessionPersistence, stepType: string, chunkLoads: MessageChunkLoads, runModelLimit: ResolvedRunModelLimit): StepOptions;
|
|
@@ -8,6 +8,29 @@
|
|
|
8
8
|
import { ExecuteFailure, StepRef } from "@superdurable/dex";
|
|
9
9
|
import { agentSessionStepTypes } from "./agent-session-step-types.js";
|
|
10
10
|
export const minuteMs = 60_000;
|
|
11
|
+
const maxStepDurationMs = 2_147_483_647_000;
|
|
12
|
+
/**
|
|
13
|
+
* Fills in a {@link RunModelLimit}.
|
|
14
|
+
* @param limit - The application's limit.
|
|
15
|
+
* @returns The limit with its defaults and retry budget.
|
|
16
|
+
* @throws {RangeError} When `methodTimeoutMs` is not a positive whole number of seconds, `maximumAttempts` is not a
|
|
17
|
+
* positive integer, or the retry budget does not fit a signed 32-bit number of seconds.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveRunModelLimit(limit = {}) {
|
|
20
|
+
const methodTimeoutMs = limit.methodTimeoutMs ?? modelCallStepOptions.executeMethodTimeoutMs;
|
|
21
|
+
if (!Number.isSafeInteger(methodTimeoutMs) || methodTimeoutMs < 1_000 || methodTimeoutMs % 1_000 !== 0) {
|
|
22
|
+
throw new RangeError("runModelLimit.methodTimeoutMs must be a whole number of seconds, at least one");
|
|
23
|
+
}
|
|
24
|
+
const maximumAttempts = limit.maximumAttempts ?? modelCallStepOptions.executeRetry.maximumAttempts;
|
|
25
|
+
if (!Number.isSafeInteger(maximumAttempts) || maximumAttempts < 1) {
|
|
26
|
+
throw new RangeError("runModelLimit.maximumAttempts must be positive");
|
|
27
|
+
}
|
|
28
|
+
const totalDurationMs = methodTimeoutMs * Math.max(maximumAttempts - 1, 2);
|
|
29
|
+
if (totalDurationMs > maxStepDurationMs) {
|
|
30
|
+
throw new RangeError("runModelLimit.methodTimeoutMs times maximumAttempts is too long for Dex");
|
|
31
|
+
}
|
|
32
|
+
return Object.freeze({ methodTimeoutMs, maximumAttempts, totalDurationMs });
|
|
33
|
+
}
|
|
11
34
|
// CompactContext makes one model call, so it shares RunModel's timeouts and retries.
|
|
12
35
|
export const modelCallStepOptions = {
|
|
13
36
|
executeMethodTimeoutMs: 15 * minuteMs,
|
|
@@ -20,7 +43,7 @@ export const recoveryRetry = { maximumIntervalMs: 5_000 };
|
|
|
20
43
|
// An ASYNC FlowConfig could replay a committed result after a Server failover, re-running a write.
|
|
21
44
|
export const syncDurability = { waitForDurability: "sync", executeDurability: "sync" };
|
|
22
45
|
/** Returns the options of a Step that reads model input and stores messages, with its chunk loads. */
|
|
23
|
-
export function messageStepOptions(persistence, stepType, chunkLoads) {
|
|
46
|
+
export function messageStepOptions(persistence, stepType, chunkLoads, runModelLimit) {
|
|
24
47
|
const loads = {
|
|
25
48
|
executeLoadAttributeMaps: chunkLoads.isWholeMap
|
|
26
49
|
? [persistence.agentMessages, persistence.agentToolCalls, persistence.agentMessageChunks]
|
|
@@ -29,7 +52,16 @@ export function messageStepOptions(persistence, stepType, chunkLoads) {
|
|
|
29
52
|
};
|
|
30
53
|
switch (stepType) {
|
|
31
54
|
case agentSessionStepTypes.runModel:
|
|
32
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
...syncDurability,
|
|
57
|
+
...modelCallStepOptions,
|
|
58
|
+
executeMethodTimeoutMs: runModelLimit.methodTimeoutMs,
|
|
59
|
+
executeRetry: {
|
|
60
|
+
maximumAttempts: runModelLimit.maximumAttempts,
|
|
61
|
+
totalDurationMs: runModelLimit.totalDurationMs,
|
|
62
|
+
},
|
|
63
|
+
...loads,
|
|
64
|
+
};
|
|
33
65
|
case agentSessionStepTypes.applyTurnControl:
|
|
34
66
|
return { ...syncDurability, executeRetry: recoveryRetry, ...loads };
|
|
35
67
|
default:
|