@claudexor/schema 3.20.1 → 3.22.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/dist/agent-capabilities.d.ts +1 -1
- package/dist/agent-capabilities.d.ts.map +1 -1
- package/dist/agent-capabilities.js +1 -0
- package/dist/agent-capabilities.js.map +1 -1
- package/dist/continuation-admission.d.ts +41 -0
- package/dist/continuation-admission.d.ts.map +1 -0
- package/dist/continuation-admission.js +136 -0
- package/dist/continuation-admission.js.map +1 -0
- package/dist/control-operation-responses.d.ts +352 -0
- package/dist/control-operation-responses.d.ts.map +1 -1
- package/dist/control-operation-responses.js +2 -0
- package/dist/control-operation-responses.js.map +1 -1
- package/dist/control-run-detail.d.ts +716 -0
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control.d.ts +315 -6
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +21 -3
- package/dist/control.js.map +1 -1
- package/dist/credential-profile-snapshot.d.ts +144 -0
- package/dist/credential-profile-snapshot.d.ts.map +1 -1
- package/dist/credential-profile.d.ts +1 -1
- package/dist/credential-profile.js +1 -1
- package/dist/decision.d.ts +12 -0
- package/dist/decision.d.ts.map +1 -1
- package/dist/effort.d.ts +33 -12
- package/dist/effort.d.ts.map +1 -1
- package/dist/effort.js +43 -13
- package/dist/effort.js.map +1 -1
- package/dist/events.d.ts +4 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +11 -0
- package/dist/events.js.map +1 -1
- package/dist/harness.d.ts +16 -9
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +3 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-run-result.d.ts +155 -0
- package/dist/mcp-run-result.d.ts.map +1 -1
- package/dist/mcp-run-result.js +38 -0
- package/dist/mcp-run-result.js.map +1 -1
- package/dist/quota.d.ts +252 -0
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +42 -17
- package/dist/quota.js.map +1 -1
- package/dist/raw.d.ts +1 -1
- package/dist/raw.d.ts.map +1 -1
- package/dist/raw.js +0 -1
- package/dist/raw.js.map +1 -1
- package/dist/run-continuation.d.ts +166 -0
- package/dist/run-continuation.d.ts.map +1 -0
- package/dist/run-continuation.js +65 -0
- package/dist/run-continuation.js.map +1 -0
- package/dist/run-continuity.d.ts +215 -0
- package/dist/run-continuity.d.ts.map +1 -0
- package/dist/run-continuity.js +170 -0
- package/dist/run-continuity.js.map +1 -0
- package/dist/run-facts.d.ts +7 -0
- package/dist/run-facts.d.ts.map +1 -1
- package/dist/status-projection.d.ts +8 -1
- package/dist/status-projection.d.ts.map +1 -1
- package/dist/status-projection.js +22 -1
- package/dist/status-projection.js.map +1 -1
- package/dist/telemetry.d.ts +33 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +3 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/work-report.d.ts +18 -4
- package/dist/work-report.d.ts.map +1 -1
- package/dist/work-report.js +26 -5
- package/dist/work-report.js.map +1 -1
- package/generated/AgentCapabilityCatalog.schema.json +1 -1
- package/generated/ControlCredentialProfilesQueryResponse.schema.json +21 -6
- package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +21 -6
- package/generated/ControlHarnessListResponse.schema.json +1 -1
- package/generated/ControlHarnessSettingsPatch.schema.json +1 -1
- package/generated/ControlQuotaResponse.schema.json +20 -5
- package/generated/ControlRetainedEnvelope.schema.json +63 -0
- package/generated/ControlRunAgainDraft.schema.json +16 -0
- package/generated/ControlRunDetail.schema.json +398 -1
- package/generated/ControlRunListResponse.schema.json +398 -1
- package/generated/ControlRunStartRequest.schema.json +16 -0
- package/generated/ControlRunSummary.schema.json +398 -1
- package/generated/ControlSettingsSnapshot.schema.json +1 -1
- package/generated/ControlSettingsUpdateRequest.schema.json +1 -1
- package/generated/ControlThreadDetail.schema.json +14 -1
- package/generated/ControlThreadTurnRequest.schema.json +4 -0
- package/generated/DecisionRecord.schema.json +14 -1
- package/generated/EnvelopeCustody.schema.json +195 -0
- package/generated/GlobalConfig.schema.json +1 -1
- package/generated/HarnessEvent.schema.json +7 -2
- package/generated/HarnessManifest.schema.json +1 -1
- package/generated/HarnessStatusDto.schema.json +1 -1
- package/generated/McpRunHandleResult.schema.json +109 -1
- package/generated/McpRunToolResult.schema.json +14 -1
- package/generated/RunContinuityReceipt.schema.json +182 -0
- package/generated/RunEvent.schema.json +3 -1
- package/generated/RunFacts.schema.json +14 -1
- package/generated/RunResumable.schema.json +153 -0
- package/generated/RunTelemetry.schema.json +14 -1
- package/generated/SessionCapsule.schema.json +78 -0
- package/generated/TaskContract.schema.json +1 -1
- package/package.json +2 -2
|
@@ -25,7 +25,7 @@ import { ModeKind } from "./primitives.js";
|
|
|
25
25
|
* because the daemon-internal enqueue params still carry it (the turn route
|
|
26
26
|
* fills it in), exactly like turnId.
|
|
27
27
|
*/
|
|
28
|
-
export declare const RUN_START_CLIENT_REJECTED_KEYS: readonly ["threadId", "turnId", "planRunId", "planRef", "retryOf", "parentRunId", "delegatedFromRunId"];
|
|
28
|
+
export declare const RUN_START_CLIENT_REJECTED_KEYS: readonly ["threadId", "turnId", "planRunId", "planRef", "retryOf", "parentRunId", "delegatedFromRunId", "continueModelInherited"];
|
|
29
29
|
/**
|
|
30
30
|
* Mode -> tree mutability. ask/plan are read-only BY CONSTRUCTION
|
|
31
31
|
* (Bible invariant); agent writes. The catalog derives its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-capabilities.d.ts","sourceRoot":"","sources":["../src/agent-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAiB,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAkB1E;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,8BAA8B,YACzC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,oBAAoB,
|
|
1
|
+
{"version":3,"file":"agent-capabilities.d.ts","sourceRoot":"","sources":["../src/agent-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAiB,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAkB1E;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,8BAA8B,YACzC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,wBAAwB,CAChB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAI9E,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAmBkE,CAAC;AACnG,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsEsD,CAAC;AAClF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAe3B,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;EA0BjC,CAAC;AACJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAQ4C,CAAC;AACpF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEpF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ChC,CAAC;AACJ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-capabilities.js","sourceRoot":"","sources":["../src/agent-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,aAAa;IACb,oBAAoB;
|
|
1
|
+
{"version":3,"file":"agent-capabilities.js","sourceRoot":"","sources":["../src/agent-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE admission rule of the `continueFrom` run chain (INTERFACES §1),
|
|
3
|
+
* shared by the daemon (the atomic guard inside the enqueue RPC, where the
|
|
4
|
+
* accepted successor command is the durable claim) and the control API (the
|
|
5
|
+
* same verdict answered with its typed context before enqueue). Both the
|
|
6
|
+
* daemon's `JobRecord` and the control plane's `DaemonRunRecord` satisfy the
|
|
7
|
+
* minimal record shape, so neither package depends on the other.
|
|
8
|
+
*/
|
|
9
|
+
export interface ContinuationRecord {
|
|
10
|
+
id: string;
|
|
11
|
+
state: string;
|
|
12
|
+
runId?: string;
|
|
13
|
+
params?: unknown;
|
|
14
|
+
}
|
|
15
|
+
export type ContinuationRefusalCode = "continue_from_with_thread" | "predecessor_unknown" | "predecessor_live" | "continuation_superseded" | "continue_from_unsupported";
|
|
16
|
+
export interface ContinuationRefusal {
|
|
17
|
+
code: ContinuationRefusalCode;
|
|
18
|
+
status: 400 | 404 | 409;
|
|
19
|
+
message: string;
|
|
20
|
+
requiredAction: string;
|
|
21
|
+
context?: {
|
|
22
|
+
runId: string;
|
|
23
|
+
state?: string;
|
|
24
|
+
head?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** The predecessor a request continues (`continueFrom`), or null. */
|
|
28
|
+
export declare function continuedRunOf(params: unknown): string | null;
|
|
29
|
+
/** The record `continueFrom` names (by run id or job id), or undefined. */
|
|
30
|
+
export declare function continuationPredecessor<R extends ContinuationRecord>(from: string, records: readonly R[]): R | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Why `request` may not be admitted as a successor now, or null when it may
|
|
33
|
+
* (or when it is no continuation at all). One accepted successor per
|
|
34
|
+
* predecessor: a second request is refused with the chain head it should
|
|
35
|
+
* continue instead; an exact idempotent replay never reaches this rule
|
|
36
|
+
* because replay lookup precedes admission on every ingress.
|
|
37
|
+
*/
|
|
38
|
+
export declare function continuationRefusal<R extends ContinuationRecord>(request: unknown, records: readonly R[]): ContinuationRefusal | null;
|
|
39
|
+
/** The typed error a surface throws for a refusal (problem-response shape). */
|
|
40
|
+
export declare function continuationRefusalError(refusal: ContinuationRefusal): Error;
|
|
41
|
+
//# sourceMappingURL=continuation-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-admission.d.ts","sourceRoot":"","sources":["../src/continuation-admission.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,GAClB,yBAAyB,GACzB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAQD,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE7D;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EAClE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,CAAC,GAAG,SAAS,CAEf;AA+CD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,EAC9D,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,mBAAmB,GAAG,IAAI,CA6D5B;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK,CAQ5E"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { isTerminalLifecycle } from "./status-projection.js";
|
|
2
|
+
function stringParam(params, key) {
|
|
3
|
+
if (!params || typeof params !== "object" || Array.isArray(params))
|
|
4
|
+
return null;
|
|
5
|
+
const value = params[key];
|
|
6
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
7
|
+
}
|
|
8
|
+
/** The predecessor a request continues (`continueFrom`), or null. */
|
|
9
|
+
export function continuedRunOf(params) {
|
|
10
|
+
return stringParam(params, "continueFrom");
|
|
11
|
+
}
|
|
12
|
+
/** The record `continueFrom` names (by run id or job id), or undefined. */
|
|
13
|
+
export function continuationPredecessor(from, records) {
|
|
14
|
+
return records.find((record) => record.runId === from || record.id === from);
|
|
15
|
+
}
|
|
16
|
+
/** The successor holding `predecessor`'s claim, or null. A successor that
|
|
17
|
+
* settled before its run started (a typed refusal before spawn) touched none
|
|
18
|
+
* of the predecessor's work and holds no claim. */
|
|
19
|
+
function successorOf(predecessor, records) {
|
|
20
|
+
return (records.find((record) => {
|
|
21
|
+
const from = continuedRunOf(record.params);
|
|
22
|
+
if (from === null || (from !== predecessor.runId && from !== predecessor.id))
|
|
23
|
+
return false;
|
|
24
|
+
return !(isTerminalLifecycle(record.state) && !record.runId);
|
|
25
|
+
}) ?? null);
|
|
26
|
+
}
|
|
27
|
+
/** The newest link of a continuation chain: what a caller continues instead
|
|
28
|
+
* of a superseded predecessor (a run id, or the job id while still queued). */
|
|
29
|
+
function chainHead(successor, records) {
|
|
30
|
+
let head = successor;
|
|
31
|
+
const seen = new Set([head.id]);
|
|
32
|
+
for (let next = successorOf(head, records); next && !seen.has(next.id);) {
|
|
33
|
+
head = next;
|
|
34
|
+
seen.add(head.id);
|
|
35
|
+
next = successorOf(head, records);
|
|
36
|
+
}
|
|
37
|
+
return head.runId ?? head.id;
|
|
38
|
+
}
|
|
39
|
+
const THREAD_ACTION = "Continue a thread through POST /v2/threads/:id/turns; continueFrom continues one-shot runs.";
|
|
40
|
+
/** The run shape a successor request names, when its first try cannot carry
|
|
41
|
+
* the predecessor's work: the engine plans one session for the first
|
|
42
|
+
* candidate attempt of an Agent or Ask run, so several racing candidates, a
|
|
43
|
+
* repair loop, a research sweep or a plan would run without it. */
|
|
44
|
+
function unsupportedShape(request) {
|
|
45
|
+
const p = (request ?? {});
|
|
46
|
+
if (p["mode"] === "plan")
|
|
47
|
+
return "plan";
|
|
48
|
+
if (typeof p["n"] === "number" && p["n"] > 1)
|
|
49
|
+
return "best-of";
|
|
50
|
+
if (typeof p["attempts"] === "number" || p["untilClean"] === true)
|
|
51
|
+
return "repair-loop";
|
|
52
|
+
if (p["deepScan"] === true)
|
|
53
|
+
return "deep-scan";
|
|
54
|
+
return p["council"] === true ? "council" : null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Why `request` may not be admitted as a successor now, or null when it may
|
|
58
|
+
* (or when it is no continuation at all). One accepted successor per
|
|
59
|
+
* predecessor: a second request is refused with the chain head it should
|
|
60
|
+
* continue instead; an exact idempotent replay never reaches this rule
|
|
61
|
+
* because replay lookup precedes admission on every ingress.
|
|
62
|
+
*/
|
|
63
|
+
export function continuationRefusal(request, records) {
|
|
64
|
+
const from = continuedRunOf(request);
|
|
65
|
+
if (from === null)
|
|
66
|
+
return null;
|
|
67
|
+
if (stringParam(request, "threadId") !== null) {
|
|
68
|
+
return {
|
|
69
|
+
code: "continue_from_with_thread",
|
|
70
|
+
status: 400,
|
|
71
|
+
message: "continueFrom and threadId are mutually exclusive",
|
|
72
|
+
requiredAction: THREAD_ACTION,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const shape = unsupportedShape(request);
|
|
76
|
+
if (shape !== null) {
|
|
77
|
+
return {
|
|
78
|
+
code: "continue_from_unsupported",
|
|
79
|
+
status: 400,
|
|
80
|
+
message: `continueFrom continues single-candidate Agent and Ask runs, not a ${shape} run`,
|
|
81
|
+
requiredAction: "Continue with a single-candidate Agent or Ask run (omit n, attempts, untilClean, deepScan and council; pass mode explicitly when the predecessor was a plan), or start a new run.",
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const predecessor = continuationPredecessor(from, records);
|
|
85
|
+
// A queued job has no run yet but will: it is live, not unknown.
|
|
86
|
+
if (predecessor && !isTerminalLifecycle(predecessor.state)) {
|
|
87
|
+
const runId = predecessor.runId ?? predecessor.id;
|
|
88
|
+
return {
|
|
89
|
+
code: "predecessor_live",
|
|
90
|
+
status: 409,
|
|
91
|
+
message: `run ${runId} is still ${predecessor.state}; it can be continued once it is terminal`,
|
|
92
|
+
requiredAction: "Wait for the run to finish or cancel it, then continue it.",
|
|
93
|
+
context: { runId, state: predecessor.state },
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (!predecessor?.runId) {
|
|
97
|
+
return {
|
|
98
|
+
code: "predecessor_unknown",
|
|
99
|
+
status: 404,
|
|
100
|
+
message: `no run ${from} owned by this daemon can be continued`,
|
|
101
|
+
requiredAction: "Pass the id of a run this daemon started (GET /v2/runs lists them).",
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const runId = predecessor.runId;
|
|
105
|
+
if (stringParam(predecessor.params, "threadId") !== null) {
|
|
106
|
+
return {
|
|
107
|
+
code: "continue_from_with_thread",
|
|
108
|
+
status: 400,
|
|
109
|
+
message: `run ${runId} is a thread turn`,
|
|
110
|
+
requiredAction: THREAD_ACTION,
|
|
111
|
+
context: { runId },
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const successor = successorOf(predecessor, records);
|
|
115
|
+
if (!successor)
|
|
116
|
+
return null;
|
|
117
|
+
const head = chainHead(successor, records);
|
|
118
|
+
return {
|
|
119
|
+
code: "continuation_superseded",
|
|
120
|
+
status: 409,
|
|
121
|
+
message: `run ${runId} was already continued; continue its head ${head} instead`,
|
|
122
|
+
requiredAction: `Continue ${head}, the newest run of this continuation chain.`,
|
|
123
|
+
context: { runId, head },
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** The typed error a surface throws for a refusal (problem-response shape). */
|
|
127
|
+
export function continuationRefusalError(refusal) {
|
|
128
|
+
return Object.assign(new Error(refusal.message), {
|
|
129
|
+
code: refusal.code,
|
|
130
|
+
status: refusal.status,
|
|
131
|
+
retryable: false,
|
|
132
|
+
requiredActions: [refusal.requiredAction],
|
|
133
|
+
...(refusal.context ? { context: refusal.context } : {}),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=continuation-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-admission.js","sourceRoot":"","sources":["../src/continuation-admission.ts"],"names":[],"mappings":"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"}
|