@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
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
* approval, and `ResumeTurn` waits for their results.
|
|
8
8
|
* - `compacting_context`: `CompactContext` summarizes earlier messages before the turn's next model
|
|
9
9
|
* call. Only a session with {@link AgentSessionOptions.compaction} reaches it.
|
|
10
|
+
* - `failed`: the session ended and takes no more messages. Its Flow closed failed, and
|
|
11
|
+
* {@link AgentState.lastTurnError} holds the reason.
|
|
10
12
|
*/
|
|
11
|
-
export type AgentSessionStatus = "waiting_for_user_message" | "running_model" | "running_tools" | "compacting_context";
|
|
13
|
+
export type AgentSessionStatus = "waiting_for_user_message" | "running_model" | "running_tools" | "compacting_context" | "failed";
|
|
12
14
|
/**
|
|
13
15
|
* Kind of a turn, stored in {@link AgentState.interactionMode} when the turn starts, for the runner to choose
|
|
14
16
|
* the tools it offers. Plan mode needs {@link AgentSessionOptions.planModeEnabled}; without it every turn is
|
|
@@ -133,7 +135,10 @@ export interface AgentState {
|
|
|
133
135
|
readonly activeTurnId: string | null;
|
|
134
136
|
/** Sequence assigned to the next stored message; starts at 1. Wire field: `next_message_sequence`. */
|
|
135
137
|
readonly nextMessageSequence: number;
|
|
136
|
-
/**
|
|
138
|
+
/**
|
|
139
|
+
* Error text of the most recent failed turn, or `null`. With status `failed`, the reason the session ended.
|
|
140
|
+
* Wire field: `last_turn_error`.
|
|
141
|
+
*/
|
|
137
142
|
readonly lastTurnError: string | null;
|
|
138
143
|
/**
|
|
139
144
|
* Kind of the active turn, or of the last turn between turns; the session sets it when a turn starts.
|
|
@@ -370,6 +375,36 @@ export interface AgentToolCall {
|
|
|
370
375
|
* the same reason as {@link waitUntil}.
|
|
371
376
|
*/
|
|
372
377
|
readonly taskAnswerPending?: boolean;
|
|
378
|
+
/**
|
|
379
|
+
* Whether the call is a write that runs in the model's order after the turn's earlier ordered writes,
|
|
380
|
+
* from {@link DeferredToolCall.ordered}; `false` for every other call. Wire field: `ordered_write`. A
|
|
381
|
+
* missing value means `false`.
|
|
382
|
+
* @since 0.4.0
|
|
383
|
+
*/
|
|
384
|
+
readonly orderedWrite?: boolean;
|
|
385
|
+
/**
|
|
386
|
+
* Whether the call waits for an earlier ordered write of its turn. No Step runs it yet, and its approval
|
|
387
|
+
* is not raised yet. `RunModel` starts it once every earlier call is final and every earlier ordered
|
|
388
|
+
* write succeeded; otherwise `RunModel` records it `failed` with {@link skipped} set. `ResumeTurn` does
|
|
389
|
+
* not wait for it. Wire field: `write_queued`. A missing value means `false`.
|
|
390
|
+
* @since 0.4.0
|
|
391
|
+
*/
|
|
392
|
+
readonly writeQueued?: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* Whether write ordering skipped the call because an earlier ordered write of the turn failed, was
|
|
395
|
+
* rejected, or ended `outcome_unknown`. The record is `failed`, and its `error` starts with
|
|
396
|
+
* {@link toolCallNotRunErrorPrefix}, so a reader that does not know this field still sees that the tool
|
|
397
|
+
* did not run. Wire field: `skipped`. A missing value means `false`.
|
|
398
|
+
* @since 0.4.0
|
|
399
|
+
*/
|
|
400
|
+
readonly skipped?: boolean;
|
|
401
|
+
/**
|
|
402
|
+
* Size in bytes of the full output when {@link output} holds a truncated copy, from
|
|
403
|
+
* {@link ToolExecutionResult.truncatedOutputBytes}; otherwise `null`. Wire field:
|
|
404
|
+
* `truncated_output_bytes`. A missing value means `null`.
|
|
405
|
+
* @since 0.4.0
|
|
406
|
+
*/
|
|
407
|
+
readonly truncatedOutputBytes?: number | null;
|
|
373
408
|
}
|
|
374
409
|
/**
|
|
375
410
|
* Why steering or cancellation abandoned a tool call before it started.
|
|
@@ -953,6 +988,12 @@ export declare const toolTaskAbandonedError = "the turn was cancelled while the
|
|
|
953
988
|
* Python core.
|
|
954
989
|
*/
|
|
955
990
|
export declare const toolCallNotRunErrorPrefix = "the tool did not run, so it is safe to call again";
|
|
991
|
+
/**
|
|
992
|
+
* Detail after {@link toolCallNotRunErrorPrefix} and `": "` on a record that write ordering skipped; the same
|
|
993
|
+
* text as the Python core.
|
|
994
|
+
* @since 0.4.0
|
|
995
|
+
*/
|
|
996
|
+
export declare const toolCallSkippedAfterWriteDetail = "an earlier write of this turn did not succeed";
|
|
956
997
|
/**
|
|
957
998
|
* Returns the note text that tells the model what a failed turn already did.
|
|
958
999
|
*
|
|
@@ -89,6 +89,12 @@ export const toolTaskAbandonedError = "the turn was cancelled while the tool's t
|
|
|
89
89
|
* Python core.
|
|
90
90
|
*/
|
|
91
91
|
export const toolCallNotRunErrorPrefix = "the tool did not run, so it is safe to call again";
|
|
92
|
+
/**
|
|
93
|
+
* Detail after {@link toolCallNotRunErrorPrefix} and `": "` on a record that write ordering skipped; the same
|
|
94
|
+
* text as the Python core.
|
|
95
|
+
* @since 0.4.0
|
|
96
|
+
*/
|
|
97
|
+
export const toolCallSkippedAfterWriteDetail = "an earlier write of this turn did not succeed";
|
|
92
98
|
/**
|
|
93
99
|
* Returns the note text that tells the model what a failed turn already did.
|
|
94
100
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session-values.js","sourceRoot":"","sources":["../../src/agent-session-values.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;
|
|
1
|
+
{"version":3,"file":"agent-session-values.js","sourceRoot":"","sources":["../../src/agent-session-values.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AA+/B1D;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,IAAgB,EAAE,KAAiB;IAC/D,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;QAC9C,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;QACjD,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;QACpD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB;QACnE,eAAe,EAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiC;IACrE,OAAO,CACL,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,iBAAiB,CACvG,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,MAAM,wBAAwB,GACnC,uFAAuF;IACvF,qEAAqE,CAAC;AAExE,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,4DAA4D,CAAC;AAElG,8BAA8B;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,4DAA4D,CAAC;AAElG,2GAA2G;AAC3G,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC;AAE9E,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE,oEAAoE;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE,iHAAiH;AACjH,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAEhF,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,qEAAqE,CAAC;AAE3G,yFAAyF;AACzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,sEAAsE,CAAC;AAE9G,uHAAuH;AACvH,MAAM,CAAC,MAAM,iCAAiC,GAC5C,sEAAsE,CAAC;AAEzE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,yCAAyC,GAAG,0DAA0D,CAAC;AAEpH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,yEAAyE,CAAC;AAE/G,4GAA4G;AAC5G,MAAM,CAAC,MAAM,eAAe,GAAG,2CAA2C,CAAC;AAE3E,oGAAoG;AACpG,MAAM,CAAC,MAAM,2BAA2B,GAAG,+CAA+C,CAAC;AAE3F,iHAAiH;AACjH,MAAM,CAAC,MAAM,sBAAsB,GACjC,0FAA0F,CAAC;AAE7F;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,mDAAmD,CAAC;AAE7F;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,+CAA+C,CAAC;AAE/F;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA2D;IAC9F,OAAO,iBAAiB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,SAA2D;IAE3D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACtG,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA6C;IACnF,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,yBAAyB,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;QACtE,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QACjE,KAAK,iBAAiB;YACpB,OAAO,wBAAwB,CAAC;QAClC,KAAK,mBAAmB,CAAC;QACzB,KAAK,UAAU,CAAC;QAChB,KAAK,iBAAiB,CAAC;QACvB,KAAK,mBAAmB,CAAC;QACzB,KAAK,kBAAkB;YACrB,MAAM,IAAI,SAAS,CAAC,aAAa,QAAQ,CAAC,UAAU,2BAA2B,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
import { Timer, Wait, deadEnd, goToMany, stringCodec, } from "@superdurable/dex";
|
|
9
9
|
import { buildDurableWaitCompletedOutput, buildQuestionAnsweredOutput } from "./agent-built-in-tools.js";
|
|
10
10
|
import { ToolExecutionError, } from "./agent-framework-runner.js";
|
|
11
|
-
import { cancelWaitingToolCall, isToolInputRequested, noPendingToolQuestion, questionAnswerMovement, questionInterruptId, recordToolInputRequest, recordToolTaskDefect, toolStepMovement, toolStepOptions, toolTaskPollIntervalSeconds, toolTaskPollMovement, } from "./agent-session-steps.js";
|
|
12
|
-
import { agentSessionStepTypes, cancelledToolCall, finishTurnCancellationMovement, isCancellableByTurnControl,
|
|
11
|
+
import { cancelWaitingToolCall, isToolInputRequested, noPendingToolQuestion, questionAnswerMovement, questionInterruptId, recordToolInputRequest, recordToolTaskDefect, toolCallMovement, toolStepMovement, toolStepOptions, toolTaskPollIntervalSeconds, toolTaskPollMovement, } from "./agent-session-steps.js";
|
|
12
|
+
import { agentSessionStepTypes, cancelledToolCall, finishTurnCancellationMovement, isCancellableByTurnControl, } from "./agent-session-transitions.js";
|
|
13
13
|
import { defaultQuestionDeclinedToolResult, invalidToolTaskPollInterval, isFinalToolCallStatus, missingToolTaskPoller, questionDeadlinePassed, } from "./agent-session-values.js";
|
|
14
14
|
/**
|
|
15
15
|
* Waits for the answer to one question: an `ask_user` call, or a tool's {@link ToolInputRequested}.
|
|
@@ -191,7 +191,7 @@ export class AwaitQuestionAnswerStep {
|
|
|
191
191
|
cancellationReason: null,
|
|
192
192
|
...noPendingToolQuestion,
|
|
193
193
|
});
|
|
194
|
-
return goToMany(
|
|
194
|
+
return goToMany(toolCallMovement(transitions, { ...toolCall, status: "approved" }));
|
|
195
195
|
}
|
|
196
196
|
/** Hands a started task's question back to it; its result, not `rejected`, ends the call. */
|
|
197
197
|
returnQuestionToTask(context, toolCall, interruptId, resolution, isDeadlinePassed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session-wait-steps.js","sourceRoot":"","sources":["../../src/agent-session-wait-steps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session-wait-steps.js","sourceRoot":"","sources":["../../src/agent-session-wait-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type JsonSchema = Readonly<Record<string, unknown>>;
|
|
2
|
+
/**
|
|
3
|
+
* Throws when a schema uses a keyword the agent core cannot enforce.
|
|
4
|
+
* @param schema - A Connector operation's `inputSchema`.
|
|
5
|
+
* @throws {TypeError} When the schema is not an object schema, uses an unknown keyword or type, or has a `$ref`
|
|
6
|
+
* outside `#/$defs/`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function checkConnectorInputSchema(schema: JsonSchema): void;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the first way the arguments break the schema, such as `arguments.amount must be integer`, or
|
|
11
|
+
* `undefined`. The texts match the Python core.
|
|
12
|
+
* @param value - The decoded JSON arguments.
|
|
13
|
+
* @param schema - A schema that {@link checkConnectorInputSchema} accepted.
|
|
14
|
+
* @returns The violation text, or `undefined`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findConnectorInputViolation(value: unknown, schema: JsonSchema): string | undefined;
|
|
17
|
+
/** Orders keys by code point, as Python's `sorted` does. */
|
|
18
|
+
export declare function compareCodePoints(left: string, right: string): number;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,228 @@
|
|
|
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
|
+
// Checks the JSON Schema subset of Connector `inputSchema` values with the Python core's messages.
|
|
9
|
+
import { serializeJsonWithSpacedSeparators } from "../stepwise/json-schema-validation.js";
|
|
10
|
+
// Keywords that constrain a value; an unlisted keyword refuses the tool, so nothing is unchecked.
|
|
11
|
+
const checkedKeywords = new Set([
|
|
12
|
+
"type",
|
|
13
|
+
"properties",
|
|
14
|
+
"required",
|
|
15
|
+
"additionalProperties",
|
|
16
|
+
"items",
|
|
17
|
+
"enum",
|
|
18
|
+
"anyOf",
|
|
19
|
+
"$ref",
|
|
20
|
+
"$defs",
|
|
21
|
+
"minimum",
|
|
22
|
+
"maximum",
|
|
23
|
+
]);
|
|
24
|
+
// Annotations: format is an annotation in draft 2020-12, and the operation's validator checks it.
|
|
25
|
+
const annotationKeywords = new Set([
|
|
26
|
+
"description",
|
|
27
|
+
"title",
|
|
28
|
+
"format",
|
|
29
|
+
"contentEncoding",
|
|
30
|
+
"default",
|
|
31
|
+
"$schema",
|
|
32
|
+
"$id",
|
|
33
|
+
"examples",
|
|
34
|
+
]);
|
|
35
|
+
const jsonTypes = new Set(["string", "boolean", "null", "array", "object", "number", "integer"]);
|
|
36
|
+
const definitionsPrefix = "#/$defs/";
|
|
37
|
+
/**
|
|
38
|
+
* Throws when a schema uses a keyword the agent core cannot enforce.
|
|
39
|
+
* @param schema - A Connector operation's `inputSchema`.
|
|
40
|
+
* @throws {TypeError} When the schema is not an object schema, uses an unknown keyword or type, or has a `$ref`
|
|
41
|
+
* outside `#/$defs/`.
|
|
42
|
+
*/
|
|
43
|
+
export function checkConnectorInputSchema(schema) {
|
|
44
|
+
if (schema["type"] !== "object") {
|
|
45
|
+
throw new TypeError("inputSchema must have type object");
|
|
46
|
+
}
|
|
47
|
+
const definitions = schema["$defs"] ?? {};
|
|
48
|
+
if (!isRecord(definitions)) {
|
|
49
|
+
throw new TypeError("inputSchema $defs must be an object");
|
|
50
|
+
}
|
|
51
|
+
checkNode(schema, definitions, "inputSchema");
|
|
52
|
+
}
|
|
53
|
+
function checkNode(node, definitions, path) {
|
|
54
|
+
if (!isRecord(node)) {
|
|
55
|
+
throw new TypeError(`${path} must be a schema object`);
|
|
56
|
+
}
|
|
57
|
+
for (const [keyword, value] of Object.entries(node)) {
|
|
58
|
+
if (annotationKeywords.has(keyword)) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (!checkedKeywords.has(keyword)) {
|
|
62
|
+
throw new TypeError(`${path} uses ${keyword}, which agent tools do not check`);
|
|
63
|
+
}
|
|
64
|
+
if (keyword === "type") {
|
|
65
|
+
const names = typeof value === "string" ? [value] : value;
|
|
66
|
+
if (!Array.isArray(names) || names.some((name) => typeof name !== "string" || !jsonTypes.has(name))) {
|
|
67
|
+
throw new TypeError(`${path}.type is not a JSON type`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (keyword === "properties" || keyword === "$defs") {
|
|
71
|
+
if (!isRecord(value)) {
|
|
72
|
+
throw new TypeError(`${path}.${keyword} must be an object`);
|
|
73
|
+
}
|
|
74
|
+
for (const [name, child] of Object.entries(value)) {
|
|
75
|
+
checkNode(child, definitions, `${path}.${keyword}.${name}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else if (keyword === "items" || (keyword === "additionalProperties" && typeof value !== "boolean")) {
|
|
79
|
+
checkNode(value, definitions, `${path}.${keyword}`);
|
|
80
|
+
}
|
|
81
|
+
else if (keyword === "anyOf") {
|
|
82
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
83
|
+
throw new TypeError(`${path}.anyOf must be a non-empty array`);
|
|
84
|
+
}
|
|
85
|
+
value.forEach((child, index) => checkNode(child, definitions, `${path}.anyOf[${index}]`));
|
|
86
|
+
}
|
|
87
|
+
else if (keyword === "$ref") {
|
|
88
|
+
if (typeof value !== "string" || !value.startsWith(definitionsPrefix)) {
|
|
89
|
+
throw new TypeError(`${path}.$ref must point into #/$defs/`);
|
|
90
|
+
}
|
|
91
|
+
if (!Object.hasOwn(definitions, value.slice(definitionsPrefix.length))) {
|
|
92
|
+
throw new TypeError(`${path}.$ref names a missing definition`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (keyword === "required" && (!Array.isArray(value) || value.some((name) => typeof name !== "string"))) {
|
|
96
|
+
throw new TypeError(`${path}.required must be an array of names`);
|
|
97
|
+
}
|
|
98
|
+
else if (keyword === "enum" && !Array.isArray(value)) {
|
|
99
|
+
throw new TypeError(`${path}.enum must be an array`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Returns the first way the arguments break the schema, such as `arguments.amount must be integer`, or
|
|
105
|
+
* `undefined`. The texts match the Python core.
|
|
106
|
+
* @param value - The decoded JSON arguments.
|
|
107
|
+
* @param schema - A schema that {@link checkConnectorInputSchema} accepted.
|
|
108
|
+
* @returns The violation text, or `undefined`.
|
|
109
|
+
*/
|
|
110
|
+
export function findConnectorInputViolation(value, schema) {
|
|
111
|
+
const definitions = schema["$defs"];
|
|
112
|
+
return findViolation(value, schema, isRecord(definitions) ? definitions : {}, "arguments");
|
|
113
|
+
}
|
|
114
|
+
function findViolation(value, schema, definitions, path) {
|
|
115
|
+
const reference = schema["$ref"];
|
|
116
|
+
if (typeof reference === "string") {
|
|
117
|
+
const problem = findViolation(value, definitions[reference.slice(definitionsPrefix.length)], definitions, path);
|
|
118
|
+
if (problem !== undefined) {
|
|
119
|
+
return problem;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const anyOf = schema["anyOf"];
|
|
123
|
+
if (Array.isArray(anyOf) &&
|
|
124
|
+
anyOf.every((option) => findViolation(value, option, definitions, path) !== undefined)) {
|
|
125
|
+
return `${path} matches none of the allowed types`;
|
|
126
|
+
}
|
|
127
|
+
const expected = schema["type"];
|
|
128
|
+
if (expected !== undefined) {
|
|
129
|
+
const expectedTypes = (typeof expected === "string" ? [expected] : expected).map(String);
|
|
130
|
+
if (!expectedTypes.some((type) => matchesJsonType(type, value))) {
|
|
131
|
+
return `${path} must be ${expectedTypes.join(" or ")}`;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const allowedValues = schema["enum"];
|
|
135
|
+
if (Array.isArray(allowedValues) && !allowedValues.some((allowed) => isJsonEqual(value, allowed))) {
|
|
136
|
+
return `${path} must be one of ${serializeJsonWithSpacedSeparators(allowedValues)}`;
|
|
137
|
+
}
|
|
138
|
+
if (isRecord(value)) {
|
|
139
|
+
return findObjectViolation(value, schema, definitions, path);
|
|
140
|
+
}
|
|
141
|
+
const items = schema["items"];
|
|
142
|
+
if (Array.isArray(value) && isRecord(items)) {
|
|
143
|
+
for (const [index, item] of value.entries()) {
|
|
144
|
+
const problem = findViolation(item, items, definitions, `${path}[${index}]`);
|
|
145
|
+
if (problem !== undefined) {
|
|
146
|
+
return problem;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (typeof value === "number") {
|
|
151
|
+
if (typeof schema["minimum"] === "number" && value < schema["minimum"]) {
|
|
152
|
+
return `${path} must be at least ${schema["minimum"]}`;
|
|
153
|
+
}
|
|
154
|
+
if (typeof schema["maximum"] === "number" && value > schema["maximum"]) {
|
|
155
|
+
return `${path} must be at most ${schema["maximum"]}`;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
function findObjectViolation(value, schema, definitions, path) {
|
|
161
|
+
const properties = (schema["properties"] ?? {});
|
|
162
|
+
for (const name of (schema["required"] ?? [])) {
|
|
163
|
+
if (!Object.hasOwn(value, name)) {
|
|
164
|
+
return `${path}.${name} is required`;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const additional = schema["additionalProperties"] ?? true;
|
|
168
|
+
for (const name of Object.keys(value).sort(compareCodePoints)) {
|
|
169
|
+
const item = value[name];
|
|
170
|
+
let problem;
|
|
171
|
+
if (Object.hasOwn(properties, name)) {
|
|
172
|
+
problem = findViolation(item, properties[name] ?? {}, definitions, `${path}.${name}`);
|
|
173
|
+
}
|
|
174
|
+
else if (additional === false) {
|
|
175
|
+
problem = `${path}.${name} is not allowed`;
|
|
176
|
+
}
|
|
177
|
+
else if (isRecord(additional)) {
|
|
178
|
+
problem = findViolation(item, additional, definitions, `${path}.${name}`);
|
|
179
|
+
}
|
|
180
|
+
if (problem !== undefined) {
|
|
181
|
+
return problem;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
/** JSON equality: booleans never equal numbers, and `1` equals `1.0`. */
|
|
187
|
+
function isJsonEqual(left, right) {
|
|
188
|
+
if (Array.isArray(left) || Array.isArray(right)) {
|
|
189
|
+
return (Array.isArray(left) &&
|
|
190
|
+
Array.isArray(right) &&
|
|
191
|
+
left.length === right.length &&
|
|
192
|
+
left.every((item, index) => isJsonEqual(item, right[index])));
|
|
193
|
+
}
|
|
194
|
+
if (isRecord(left) && isRecord(right)) {
|
|
195
|
+
const leftKeys = Object.keys(left);
|
|
196
|
+
return (leftKeys.length === Object.keys(right).length &&
|
|
197
|
+
leftKeys.every((key) => Object.hasOwn(right, key) && isJsonEqual(left[key], right[key])));
|
|
198
|
+
}
|
|
199
|
+
return left === right;
|
|
200
|
+
}
|
|
201
|
+
function matchesJsonType(type, value) {
|
|
202
|
+
switch (type) {
|
|
203
|
+
case "string":
|
|
204
|
+
return typeof value === "string";
|
|
205
|
+
case "boolean":
|
|
206
|
+
return typeof value === "boolean";
|
|
207
|
+
case "null":
|
|
208
|
+
return value === null;
|
|
209
|
+
case "array":
|
|
210
|
+
return Array.isArray(value);
|
|
211
|
+
case "object":
|
|
212
|
+
return isRecord(value);
|
|
213
|
+
case "number":
|
|
214
|
+
return typeof value === "number";
|
|
215
|
+
case "integer":
|
|
216
|
+
return typeof value === "number" && Number.isInteger(value);
|
|
217
|
+
default:
|
|
218
|
+
throw new TypeError(`unsupported JSON Schema type ${type}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** Orders keys by code point, as Python's `sorted` does. */
|
|
222
|
+
export function compareCodePoints(left, right) {
|
|
223
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
224
|
+
}
|
|
225
|
+
function isRecord(value) {
|
|
226
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=connector-input-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-input-schema.js","sourceRoot":"","sources":["../../../src/connectors/connector-input-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { AsyncContext } from "@superdurable/dex";
|
|
2
|
+
/** Returns the last heartbeat value this context saved in this attempt, or `undefined`. Internal to the core. */
|
|
3
|
+
export declare function readSavedHeartbeatValue(context: ConnectorStepContext): unknown;
|
|
4
|
+
/** How a {@link ConnectorStepContext} reaches the tool Step's heartbeats. */
|
|
5
|
+
export interface ConnectorStepHeartbeats {
|
|
6
|
+
/** The text checkpoint an earlier attempt of the tool Step saved, or `undefined`. */
|
|
7
|
+
readonly previousCheckpoint: string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Records a plain heartbeat, which repeats the attempt's saved checkpoint.
|
|
10
|
+
* @returns A Promise that resolves when the Worker accepted the heartbeat.
|
|
11
|
+
*/
|
|
12
|
+
heartbeat(): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Records a heartbeat carrying a text checkpoint; absent when the tool Step cannot save checkpoints.
|
|
15
|
+
* @param checkpoint - The text to hand to the next attempt.
|
|
16
|
+
* @returns A Promise that resolves when the Worker accepted the heartbeat.
|
|
17
|
+
*/
|
|
18
|
+
saveCheckpoint?(checkpoint: string): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The Step context a connector operation sees inside an agent tool Step, with heartbeat values kept as text.
|
|
22
|
+
*
|
|
23
|
+
* The single-dispatch fence records markers as heartbeat values and reads the previous attempt's marker back. The
|
|
24
|
+
* agent session's tool Step keeps one text checkpoint per attempt and repeats it on every background heartbeat.
|
|
25
|
+
* This context stores each heartbeat value as that text checkpoint, as JSON with sorted keys, and parses it on the
|
|
26
|
+
* next attempt, so a marker survives the session's own heartbeats and a retry can read it. It exposes only the
|
|
27
|
+
* members the fence uses, plus the identities a Call needs; the agent core's conformance tests pin that list.
|
|
28
|
+
*
|
|
29
|
+
* `ConnectorToolSource` builds one per tool Step attempt. Applications do not construct it.
|
|
30
|
+
* @since 0.4.0
|
|
31
|
+
*/
|
|
32
|
+
export declare class ConnectorStepContext {
|
|
33
|
+
private readonly context;
|
|
34
|
+
private readonly heartbeats;
|
|
35
|
+
/**
|
|
36
|
+
* Creates the context for one tool Step attempt.
|
|
37
|
+
* @param context - The tool Step's live context.
|
|
38
|
+
* @param heartbeats - The tool Step's checkpoint and heartbeat functions.
|
|
39
|
+
*/
|
|
40
|
+
constructor(context: AsyncContext, heartbeats: ConnectorStepHeartbeats);
|
|
41
|
+
/** The Flow ID. */
|
|
42
|
+
get flowId(): string;
|
|
43
|
+
/** The Flow run ID. */
|
|
44
|
+
get runId(): string;
|
|
45
|
+
/** The tool Step's execution ID, the same on every attempt. */
|
|
46
|
+
get stepExecutionId(): string;
|
|
47
|
+
/** The one-based attempt. */
|
|
48
|
+
get attempt(): number;
|
|
49
|
+
/** The attempt's deadline, or `undefined`. */
|
|
50
|
+
get deadline(): Date | undefined;
|
|
51
|
+
/** The signal Dex aborts when it cancels the attempt. */
|
|
52
|
+
get cancellationSignal(): AbortSignal;
|
|
53
|
+
/**
|
|
54
|
+
* Reports whether an earlier attempt of this tool Step saved a heartbeat value.
|
|
55
|
+
* @returns `true` when the session read a checkpoint for this attempt.
|
|
56
|
+
*/
|
|
57
|
+
hasLastHeartbeatValue(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Parses the earlier attempt's heartbeat value from its JSON text.
|
|
60
|
+
* @param codec - Must be omitted; values are JSON.
|
|
61
|
+
* @returns The parsed value, or `undefined` when there is none.
|
|
62
|
+
* @throws {TypeError} When a codec is given.
|
|
63
|
+
* @throws {SyntaxError} When the checkpoint is not JSON.
|
|
64
|
+
*/
|
|
65
|
+
getLastHeartbeatValue<T = unknown>(codec?: unknown): T | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Records a heartbeat, saving a value as the attempt's text checkpoint.
|
|
68
|
+
* @param value - The heartbeat value, such as a fence marker; `undefined` records a plain heartbeat, which
|
|
69
|
+
* repeats the saved checkpoint.
|
|
70
|
+
* @param codec - Must be omitted; values are JSON.
|
|
71
|
+
* @returns A Promise that resolves when the Worker accepted the heartbeat.
|
|
72
|
+
* @throws {TypeError} When a codec is given, or a value is given and the tool Step cannot save checkpoints.
|
|
73
|
+
*/
|
|
74
|
+
recordHeartbeat<T>(value?: T, codec?: unknown): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
/** Returns compact JSON with object keys sorted by code point, the text the Python core stores. */
|
|
77
|
+
export declare function stringifyWithSortedKeys(value: unknown): string;
|