@sema-agent/sdk 4.0.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -1
- package/dist/client.d.ts +10 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -2
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +42 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +81 -7
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +76 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/health.d.ts +2 -2
- package/dist/health.js +1 -1
- package/dist/idempotency.d.ts +11 -1
- package/dist/idempotency.d.ts.map +1 -1
- package/dist/idempotency.js +11 -1
- package/dist/idempotency.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/approvals.d.ts +43 -13
- package/dist/resources/approvals.d.ts.map +1 -1
- package/dist/resources/approvals.js +35 -12
- package/dist/resources/approvals.js.map +1 -1
- package/dist/resources/assistant.d.ts +21 -4
- package/dist/resources/assistant.d.ts.map +1 -1
- package/dist/resources/assistant.js +10 -3
- package/dist/resources/assistant.js.map +1 -1
- package/dist/resources/fleet.d.ts +8 -3
- package/dist/resources/fleet.d.ts.map +1 -1
- package/dist/resources/fleet.js +2 -1
- package/dist/resources/fleet.js.map +1 -1
- package/dist/resources/runs.d.ts +89 -18
- package/dist/resources/runs.d.ts.map +1 -1
- package/dist/resources/runs.js +53 -17
- package/dist/resources/runs.js.map +1 -1
- package/dist/resources/sessions.d.ts +10 -1
- package/dist/resources/sessions.d.ts.map +1 -1
- package/dist/resources/sessions.js +10 -1
- package/dist/resources/sessions.js.map +1 -1
- package/dist/resources/tool-approvals.d.ts +8 -5
- package/dist/resources/tool-approvals.d.ts.map +1 -1
- package/dist/resources/tool-approvals.js +2 -1
- package/dist/resources/tool-approvals.js.map +1 -1
- package/dist/sse.d.ts +58 -14
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +88 -15
- package/dist/sse.js.map +1 -1
- package/dist/transport.d.ts +14 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +20 -5
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +139 -44
- package/dist/types.d.ts.map +1 -1
- package/openapi.yaml +316 -12
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;kDAiBkD;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyBlH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAD,CAAC,EAAE,SAAS;IAEzC;;wGAEoG;IAC9F,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAU5F;;;;sFAIkF;IAC5E,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAiBjG;;;;4GAIwG;IAClG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ3F;;;;;2GAKuG;IACjG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASvH;;;;;8FAK0F;IACpF,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAO7F"}
|
|
@@ -50,7 +50,9 @@ export class AssistantResource {
|
|
|
50
50
|
}
|
|
51
51
|
/** §4b POST /v1/assistant/tasks/:id/resume(:id = taskId)—— resource_limit CONTINUE。**无 body**。
|
|
52
52
|
* 非 submit → 不重试(一次决策不重放)。🔴 GATE-KIND GUARD: human/policy_ask 门 → 409 gate_not_resumable
|
|
53
|
-
* ("continue" 绝不绕过人审, 那条路是 /decide)。owner 非属 → 404。
|
|
53
|
+
* ("continue" 绝不绕过人审, 那条路是 /decide)。owner 非属 → 404。
|
|
54
|
+
* 🔴 [2400] HITL-13 前置:**checkpointStore 必须挂着** —— 先读 `capabilities().approvals`(见本文件顶注)。
|
|
55
|
+
* 另需 durable run store:无则 501 `capability.run_store_required`(`routes/approvals-assistant.ts:341`)。 */
|
|
54
56
|
async resume(taskId, opts) {
|
|
55
57
|
return this.t.request({
|
|
56
58
|
method: "POST",
|
|
@@ -61,7 +63,9 @@ export class AssistantResource {
|
|
|
61
63
|
/** §4c POST /v1/assistant/tasks/:id/plan_review(:id = taskId)—— PRE-ACTION plan_review 门的 3-state 决策。
|
|
62
64
|
* body = {decision, editedPlan?, reason?}。approve/edit/reject 全跑模型 → 计费。非 submit → 不重试。
|
|
63
65
|
* 🔴 GATE-KIND GUARD: 非 plan_review 门 → 409 gate_not_plan_review。400: 坏/缺 decision; edit 缺非空 editedPlan;
|
|
64
|
-
* approve/reject 带 editedPlan; reason 非串。owner 非属 → 404。
|
|
66
|
+
* approve/reject 带 editedPlan; reason 非串。owner 非属 → 404。
|
|
67
|
+
* 🔴 [2400] HITL-13 前置:同 {@link AssistantResource.resume} —— checkpointStore(先读 `capabilities().approvals`)
|
|
68
|
+
* + durable run store(无则 501 `capability.run_store_required`,`routes/approvals-assistant.ts:362`)。 */
|
|
65
69
|
async planReview(taskId, req, opts) {
|
|
66
70
|
return this.t.request({
|
|
67
71
|
method: "POST",
|
|
@@ -72,7 +76,10 @@ export class AssistantResource {
|
|
|
72
76
|
}
|
|
73
77
|
/** §4d POST /v1/assistant/tasks/:id/preempt(:id = taskId)—— 优雅 YIELD(跨副本让位, 与 runs.cancel 的 kill 相反)。
|
|
74
78
|
* **无 body**。202 {status}(terminal → 202 no-op)。非 submit → 不重试。NOT billable。
|
|
75
|
-
* suspended → 409
|
|
79
|
+
* suspended → 409 `conflict.already_suspended`; owner 非属 → 404。
|
|
80
|
+
* 🔴 [2400] HITL-13 前置:本 verb 的 501 是**两与** —— `RESOURCE_SUSPEND=true` **且** checkpointStore 挂着
|
|
81
|
+
* (`routes/approvals-assistant.ts:297`,`feature.preemption_disabled`;缺 run store 另有
|
|
82
|
+
* `capability.run_store_required`)。先读 `capabilities().approvals` 判 store 那一半(见本文件顶注)。 */
|
|
76
83
|
async preempt(taskId, opts) {
|
|
77
84
|
return this.t.request({
|
|
78
85
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,8 +146,12 @@ export interface FleetWorkflowRow {
|
|
|
146
146
|
* - `task_remove` — the task row left the active set (terminal + swept) → delete `id` from the Map.
|
|
147
147
|
* - `workflow` — a single workflow-row UPSERT (FULL row) → replace by `row.id`.
|
|
148
148
|
* - `workflow_remove` — the workflow row left the active set → delete `id`.
|
|
149
|
-
* OPEN set — branch on `type`, ignore an unknown future frame
|
|
150
|
-
*
|
|
149
|
+
* OPEN set — branch on `type`, ignore an unknown future frame.
|
|
150
|
+
* 🔴 [2400] CB-8/CB-9 keep-alive 真形:fleet 的心跳是**命名真帧** `event: heartbeat\ndata: {}` 每 **15s**
|
|
151
|
+
* (server `routes/fleet.ts:223` — `setInterval(…, 15_000)`),NOT a bare `: hb` comment line (that shape belongs
|
|
152
|
+
* to `GET /v1/sessions/:id/events` alone, `routes/sessions.ts:359`, and beats at a tunable ~25s). The reader
|
|
153
|
+
* swallows it by NAME (`frame.event === "heartbeat"`), so it is never yielded — a `!frame.data` test alone would
|
|
154
|
+
* NOT catch it (`data` is the non-empty string `"{}"`).
|
|
151
155
|
*/
|
|
152
156
|
export type FleetFrame = {
|
|
153
157
|
type: "meta";
|
|
@@ -288,7 +292,8 @@ export declare class FleetResource {
|
|
|
288
292
|
*
|
|
289
293
|
* Emit order: `meta` (`{version, scoped}`) → `snapshot` (full visible set) → then a `task`/`workflow` upsert
|
|
290
294
|
* per transition + `task_remove`/`workflow_remove` per departure. Each `task`/`workflow` frame is the POST-MERGE
|
|
291
|
-
* FULL row (NOT a sparse patch) → replace by `row.id`.
|
|
295
|
+
* FULL row (NOT a sparse patch) → replace by `row.id`. The named `heartbeat` frames (real frames @15s, not
|
|
296
|
+
* `:`-comments — see the FleetFrame header) are swallowed by name and never yielded.
|
|
292
297
|
*
|
|
293
298
|
* 🔁 SNAPSHOT-RESUME: a drop ends the generator and re-calling IS the resume — the opening `snapshot` frame
|
|
294
299
|
* carries the complete visible state (no last-event-id cursor exists or is needed; see the module header).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/resources/fleet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD;;;uFAGuF;AACvF,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,mBAAmB,GACnB,MAAM,GACN,WAAW,GACX,QAAQ,GACR,QAAQ,CAAC;AAEb;;wFAEwF;AACxF,MAAM,WAAW,YAAY;IAC3B,wHAAwH;IACxH,EAAE,EAAE,MAAM,CAAC;IACX;mDAC+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yDACqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;sHAEkH;IAClH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;gEAE4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;0EACsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB;yEACqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;8EAE0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;sCAIkC;IAClC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD;;4DAEwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;uEAEmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;uFAOmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjI,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED;sFACsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX;mDAC+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;iCAG6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/resources/fleet.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/fleet.js
CHANGED
|
@@ -10,7 +10,8 @@ export class FleetResource {
|
|
|
10
10
|
*
|
|
11
11
|
* Emit order: `meta` (`{version, scoped}`) → `snapshot` (full visible set) → then a `task`/`workflow` upsert
|
|
12
12
|
* per transition + `task_remove`/`workflow_remove` per departure. Each `task`/`workflow` frame is the POST-MERGE
|
|
13
|
-
* FULL row (NOT a sparse patch) → replace by `row.id`.
|
|
13
|
+
* FULL row (NOT a sparse patch) → replace by `row.id`. The named `heartbeat` frames (real frames @15s, not
|
|
14
|
+
* `:`-comments — see the FleetFrame header) are swallowed by name and never yielded.
|
|
14
15
|
*
|
|
15
16
|
* 🔁 SNAPSHOT-RESUME: a drop ends the generator and re-calling IS the resume — the opening `snapshot` frame
|
|
16
17
|
* carries the complete visible state (no last-event-id cursor exists or is needed; see the module header).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/resources/fleet.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/resources/fleet.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/runs.d.ts
CHANGED
|
@@ -4,6 +4,40 @@
|
|
|
4
4
|
import type { Transport } from "../transport.js";
|
|
5
5
|
import type { TaskRequest, RunReceipt, RunRecord, CancelAck } from "../types.js";
|
|
6
6
|
import type { AgentEvent } from "../events.js";
|
|
7
|
+
/** [2400] TR-4 — per-message queue priority on the MAIN-run steer (`POST /v1/runs/:id/steer`).
|
|
8
|
+
* 🔴 ACCEPTED + ENUM-VALIDATED FAIL-LOUD server-side (`routes/runs.ts:603` — anything else is a 400
|
|
9
|
+
* `request.field_invalid`), but ADVISORY today: core's steer is a single-slot last-writer-wins with no
|
|
10
|
+
* per-message priority or addressable drop, so a faithful priority queue (and `DELETE /v1/runs/:id/queue/:msgId`)
|
|
11
|
+
* waits on a core seam. It is echoed back on the receipt, so a UI can show what it asked for honestly. */
|
|
12
|
+
export type SteerPriority = "now" | "next" | "later";
|
|
13
|
+
/** [2400] TR-4 — the `POST /v1/runs/:id/steer` receipt, DISCRIMINATED on `delivery` (server has three mint
|
|
14
|
+
* points and they mean three different things — the verb used to return `unknown`, so every consumer re-derived
|
|
15
|
+
* this by hand):
|
|
16
|
+
* · `applied` (200, `routes/runs.ts:648`) — injected into the run LIVE on this replica; it drains at
|
|
17
|
+
* the next turn boundary. `status:"running"`.
|
|
18
|
+
* · `queued` (202, `:641`) — the run is durably SUSPENDED, so the steer was PARKED on its pending
|
|
19
|
+
* checkpoint and is injected when the run resumes. `status:"suspended"`.
|
|
20
|
+
* 🔴 This is the shape TR-3's old JSDoc got wrong: a suspended run is NOT a 409.
|
|
21
|
+
* · `parked_for_wake` (202, `:734`) — the run already ENDED; the server minted a `task_done` checkpoint and
|
|
22
|
+
* parked the message on it. It is delivered only when someone calls
|
|
23
|
+
* `POST /v1/sessions/:id/wake` — i.e. **nothing happens until you wake the session**.
|
|
24
|
+
* `messageId` is server-minted and stable across all three (dedup/correlation handle). */
|
|
25
|
+
export type SteerReceipt = {
|
|
26
|
+
taskId: string;
|
|
27
|
+
/** The run's status as the server saw it at delivery time (`running` / `suspended` / a terminal status). */
|
|
28
|
+
status: string;
|
|
29
|
+
messageId: string;
|
|
30
|
+
/** Echoed back only when the request carried one. */
|
|
31
|
+
priority?: SteerPriority;
|
|
32
|
+
/** Human-readable note on the two parked legs (absent on `applied`). */
|
|
33
|
+
note?: string;
|
|
34
|
+
} & ({
|
|
35
|
+
delivery: "applied";
|
|
36
|
+
} | {
|
|
37
|
+
delivery: "queued";
|
|
38
|
+
} | {
|
|
39
|
+
delivery: "parked_for_wake";
|
|
40
|
+
});
|
|
7
41
|
/** server 1.89 subagent-steer receipt (2xx body). `note` = the CC-verbatim queued copy. `marker` = the
|
|
8
42
|
* engine-minted delivery marker (server 1.214 subagent verb region, server.js:1828/1832 — present on both
|
|
9
43
|
* steer and resume 200s). */
|
|
@@ -123,21 +157,34 @@ export declare class RunsResource {
|
|
|
123
157
|
/** design/80 D-A — STEER a RUNNING durable run: inject mid-flight direction (the core of *supervision* vs mere
|
|
124
158
|
* approve/deny). AT-MOST-ONCE — steer is NOT idempotent, so NO submit/retry. `trusted` is NOT a body field:
|
|
125
159
|
* the server derives it from the authenticated operator (the BFF's operator role), never a client-set flag.
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
160
|
+
*
|
|
161
|
+
* 🔴 STEER ITSELF IS LIVE/SHIPPED (service §K-6, runStore-gated). Branch on {@link SteerReceipt.delivery},
|
|
162
|
+
* NOT on the status code — the three legs are (`routes/runs.ts:641`/`:648`/`:734`):
|
|
163
|
+
* · 200 `applied` — injected into the live run on this replica.
|
|
164
|
+
* · 202 `queued` — the run is durably **suspended**: the steer is PARKED on its pending checkpoint
|
|
165
|
+
* and injected on resume. ⚠️ [2400] TR-3 correction: the previous note here said a
|
|
166
|
+
* `suspended` run yields `steering.not_running` (409). It does not — the server
|
|
167
|
+
* parks it. A 409 only comes from a run that is TERMINAL-with-no-park-path, or
|
|
168
|
+
* running on ANOTHER replica (cross-replica live-steer is not wired yet).
|
|
169
|
+
* · 202 `parked_for_wake` — the run already ENDED; the message sits on a freshly-minted `task_done`
|
|
170
|
+
* checkpoint and is delivered ONLY by `POST /v1/sessions/:id/wake`.
|
|
171
|
+
* Typed errors: `SteeringNotRunningError` (`steering.not_running`, 409) / `SteeringInvalidContentError`
|
|
172
|
+
* (`steering.invalid_content`, 422) / `CapabilityUnavailableError` (`capability.checkpoint_store_required`,
|
|
173
|
+
* 501 — steering a suspended run needs the checkpoint store).
|
|
174
|
+
*
|
|
175
|
+
* 🔴 ONE narrow caveat (NOT "steer is a draft"): the per-call `mode` arg is currently a NO-OP — core's steer is
|
|
176
|
+
* HARNESS-LEVEL (`setSteeringMode`), set globally on the runner, not switched per steer call; the `mode`
|
|
177
|
+
* mapping is pending D-A core (search [76]). Sending `mode` is harmless (ignored); steer delivery itself works
|
|
178
|
+
* today. `mode` semantics (when wired): "all" = drain ALL queued steers at the next turn boundary;
|
|
179
|
+
* "one-at-a-time" (default) = one per turn, FIFO. `priority` is likewise advisory — see {@link SteerPriority}. */
|
|
134
180
|
steer(taskId: string, steer: {
|
|
135
181
|
text: string;
|
|
136
182
|
mode?: "all" | "one-at-a-time";
|
|
183
|
+
priority?: SteerPriority;
|
|
137
184
|
}, opts?: {
|
|
138
185
|
session?: string;
|
|
139
186
|
signal?: AbortSignal;
|
|
140
|
-
}): Promise<
|
|
187
|
+
}): Promise<SteerReceipt>;
|
|
141
188
|
/** core 1.219 C2 / server 1.89 — STEER a RUNNING SUBAGENT of this run (the CC "enter the agent's view and
|
|
142
189
|
* type to it" semantic, `AGe` pendingMessages: the message drains at the subagent's NEXT TOOL ROUND).
|
|
143
190
|
* `target` = the delegating tool call's id (`parentToolCallId`, stamped on every forwarded subagent
|
|
@@ -181,7 +228,18 @@ export declare class RunsResource {
|
|
|
181
228
|
* (status/retrieval_status/partial flags verbatim). Non-blocking (no long-poll). server 1.250: no longer
|
|
182
229
|
* replica-local — a full in-process miss falls back to the durable agent record (cross-instance /
|
|
183
230
|
* post-restart): terminal = final snapshot served, still-running-elsewhere = honest "outcome unknown
|
|
184
|
-
* here".
|
|
231
|
+
* here".
|
|
232
|
+
* 🔴 [2400] TR-15 — the 404 is NOT one indistinguishable arm: it carries TWO codes and they mean different
|
|
233
|
+
* things (server `src/http/routes/runs.ts`, all `sendError(…, 404, …)` sites on this verb):
|
|
234
|
+
* · `not_found.run` (:869/:873) — the RUN is unknown, or you are not its owner. The owner-gate and the
|
|
235
|
+
* unknown-run arm deliberately share this code+text (no existence oracle across tenants) — that pair, and
|
|
236
|
+
* only that pair, is indistinguishable by design.
|
|
237
|
+
* · `not_found.subagent` (:937/:982) — the run is yours and visible, but THIS HANDLE is not one of its
|
|
238
|
+
* background children: unknown handle, not this run's child, already reaped (bg children live in the
|
|
239
|
+
* replica-local registry for the parent's lifetime), or a `wa…` workflow-agent row (read those via the
|
|
240
|
+
* workflow journal instead).
|
|
241
|
+
* Consumer value: the first says "check the taskId / your identity", the second says "the parent is fine,
|
|
242
|
+
* the child handle is wrong or gone" — a UI that collapsed them sent users to re-check the wrong thing.
|
|
185
243
|
*
|
|
186
244
|
* 🔴 server 1.245 [1493]: this is a CONVERSATION-CONTENT read, so it is SESSION-scoped, not just
|
|
187
245
|
* principal-scoped — pass `session` (your own conversation's sessionId, the one POST /v1/runs returned). A
|
|
@@ -197,7 +255,9 @@ export declare class RunsResource {
|
|
|
197
255
|
* spooled handles re-read in full, cursor-only handles return only new bytes; trust the projection's own
|
|
198
256
|
* flags), monitor (batches), and background_agent (final report). A workflow handle 404s (its read face is
|
|
199
257
|
* the workflow journal). 🔴 `target` is the CANONICAL task handle only (b…/m…/a… task_id from the spawn) —
|
|
200
|
-
* the in-engine tools' agent-name / legacy-id resolution is NOT on the wire (404
|
|
258
|
+
* the in-engine tools' agent-name / legacy-id resolution is NOT on the wire (404 `not_found.task_handle`,
|
|
259
|
+
* `:1076` — DISTINCT from `not_found.run`, [2400] TR-15: the run is visible, the HANDLE is not one of its
|
|
260
|
+
* tasks / was reaped / is a workflow handle). 🔴 NO server-side
|
|
201
261
|
* filter: `?filter=` is REFUSED with 400 on both verbs (wire-supplied regexes don't run on the server) —
|
|
202
262
|
* fetch the output and apply your regex locally, knowing the wire serves the CLIPPED projection (matches
|
|
203
263
|
* inside a clipped middle are not recoverable, and a cursor-only bash leg consumes what it serves; the
|
|
@@ -215,12 +275,21 @@ export declare class RunsResource {
|
|
|
215
275
|
}): Promise<SubagentOutputResult>;
|
|
216
276
|
/** server 1.246 ([1499]) — stop a background task handle (CC TaskStop 对位): bash kill / monitor stop /
|
|
217
277
|
* agent abort, attributed "user" (`output.stoppedBy`). Idempotent on a terminal handle — the 200
|
|
218
|
-
* `output.status` tells you what actually happened. 🔴
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
278
|
+
* `output.status` tells you what actually happened. 🔴 Treat ONLY 200 as stopped — every other outcome is a
|
|
279
|
+
* 409, and [2400] TR-14 lists the family in full (server `src/http/routes/runs.ts:1111-1118`, one ternary
|
|
280
|
+
* chain; all five are {@link import("../errors.js").TaskStopConflictError}, discriminate on `.errorCode`):
|
|
281
|
+
* · `stop.not_local` — the handle lives on ANOTHER replica (cross-instance / post-restart):
|
|
282
|
+
* **no kill was attempted**. Distinct from not_landed. Retry via the
|
|
283
|
+
* owning replica, or read the durable record.
|
|
284
|
+
* · `stop.not_landed` — a kill WAS attempted and did not land; the body carries the honest
|
|
285
|
+
* projection (`output.status` stays "running"). Retry.
|
|
286
|
+
* · `stop.parked` — the row is PARKED (no live process to kill). Resolve its gate instead.
|
|
287
|
+
* · `stop.park_resume_won` — stop RACED the "approval landed → resume" path and the resume won;
|
|
288
|
+
* the task is running again. Re-read, then stop again if still wanted.
|
|
289
|
+
* · `stop.park_arbiter_unreachable`— the arbiter store is unreachable, so the truth is UNKNOWN (core 1.397's
|
|
290
|
+
* three-way split). Neither "stopped" nor "still running" — retry later.
|
|
291
|
+
* Open set: a future `stop.*` code still lands on TaskStopConflictError, so keep a `default` in your switch.
|
|
292
|
+
* Same session scoping + kind set + canonical-handle
|
|
224
293
|
* addressing as {@link taskOutput} (a workflow handle 404s — stop workflows via their cancel face). Gate
|
|
225
294
|
* on `capabilities.taskHandles`. */
|
|
226
295
|
taskStop(taskId: string, target: string, opts?: {
|
|
@@ -255,7 +324,9 @@ export declare class RunsResource {
|
|
|
255
324
|
data: Record<string, unknown>;
|
|
256
325
|
}>;
|
|
257
326
|
/** Resumable event stream. Internally: SSE + Last-Event-ID auto-reconnect; on a 416 (evicted past retention,
|
|
258
|
-
* body `{error,retainedFrom}` —
|
|
327
|
+
* body `{error, errorCode:"limit.retention_evicted", retainedFrom}` — [2400] CB-7: the machine code IS on the
|
|
328
|
+
* wire (server `src/http/sse-log.ts:41`); this loop keys on the STATUS only because what it needs is
|
|
329
|
+
* `retainedFrom`) → full-sync via trace.turns then resume
|
|
259
330
|
* from `retainedFrom` (sse.ts). Established-stream drops do NOT count as retries. */
|
|
260
331
|
events(taskId: string, opts?: {
|
|
261
332
|
session?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/resources/runs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/resources/runs.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/runs.js
CHANGED
|
@@ -83,14 +83,26 @@ export class RunsResource {
|
|
|
83
83
|
/** design/80 D-A — STEER a RUNNING durable run: inject mid-flight direction (the core of *supervision* vs mere
|
|
84
84
|
* approve/deny). AT-MOST-ONCE — steer is NOT idempotent, so NO submit/retry. `trusted` is NOT a body field:
|
|
85
85
|
* the server derives it from the authenticated operator (the BFF's operator role), never a client-set flag.
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
86
|
+
*
|
|
87
|
+
* 🔴 STEER ITSELF IS LIVE/SHIPPED (service §K-6, runStore-gated). Branch on {@link SteerReceipt.delivery},
|
|
88
|
+
* NOT on the status code — the three legs are (`routes/runs.ts:641`/`:648`/`:734`):
|
|
89
|
+
* · 200 `applied` — injected into the live run on this replica.
|
|
90
|
+
* · 202 `queued` — the run is durably **suspended**: the steer is PARKED on its pending checkpoint
|
|
91
|
+
* and injected on resume. ⚠️ [2400] TR-3 correction: the previous note here said a
|
|
92
|
+
* `suspended` run yields `steering.not_running` (409). It does not — the server
|
|
93
|
+
* parks it. A 409 only comes from a run that is TERMINAL-with-no-park-path, or
|
|
94
|
+
* running on ANOTHER replica (cross-replica live-steer is not wired yet).
|
|
95
|
+
* · 202 `parked_for_wake` — the run already ENDED; the message sits on a freshly-minted `task_done`
|
|
96
|
+
* checkpoint and is delivered ONLY by `POST /v1/sessions/:id/wake`.
|
|
97
|
+
* Typed errors: `SteeringNotRunningError` (`steering.not_running`, 409) / `SteeringInvalidContentError`
|
|
98
|
+
* (`steering.invalid_content`, 422) / `CapabilityUnavailableError` (`capability.checkpoint_store_required`,
|
|
99
|
+
* 501 — steering a suspended run needs the checkpoint store).
|
|
100
|
+
*
|
|
101
|
+
* 🔴 ONE narrow caveat (NOT "steer is a draft"): the per-call `mode` arg is currently a NO-OP — core's steer is
|
|
102
|
+
* HARNESS-LEVEL (`setSteeringMode`), set globally on the runner, not switched per steer call; the `mode`
|
|
103
|
+
* mapping is pending D-A core (search [76]). Sending `mode` is harmless (ignored); steer delivery itself works
|
|
104
|
+
* today. `mode` semantics (when wired): "all" = drain ALL queued steers at the next turn boundary;
|
|
105
|
+
* "one-at-a-time" (default) = one per turn, FIFO. `priority` is likewise advisory — see {@link SteerPriority}. */
|
|
94
106
|
async steer(taskId, steer, opts) {
|
|
95
107
|
return this.t.request({
|
|
96
108
|
method: "POST",
|
|
@@ -146,7 +158,18 @@ export class RunsResource {
|
|
|
146
158
|
* (status/retrieval_status/partial flags verbatim). Non-blocking (no long-poll). server 1.250: no longer
|
|
147
159
|
* replica-local — a full in-process miss falls back to the durable agent record (cross-instance /
|
|
148
160
|
* post-restart): terminal = final snapshot served, still-running-elsewhere = honest "outcome unknown
|
|
149
|
-
* here".
|
|
161
|
+
* here".
|
|
162
|
+
* 🔴 [2400] TR-15 — the 404 is NOT one indistinguishable arm: it carries TWO codes and they mean different
|
|
163
|
+
* things (server `src/http/routes/runs.ts`, all `sendError(…, 404, …)` sites on this verb):
|
|
164
|
+
* · `not_found.run` (:869/:873) — the RUN is unknown, or you are not its owner. The owner-gate and the
|
|
165
|
+
* unknown-run arm deliberately share this code+text (no existence oracle across tenants) — that pair, and
|
|
166
|
+
* only that pair, is indistinguishable by design.
|
|
167
|
+
* · `not_found.subagent` (:937/:982) — the run is yours and visible, but THIS HANDLE is not one of its
|
|
168
|
+
* background children: unknown handle, not this run's child, already reaped (bg children live in the
|
|
169
|
+
* replica-local registry for the parent's lifetime), or a `wa…` workflow-agent row (read those via the
|
|
170
|
+
* workflow journal instead).
|
|
171
|
+
* Consumer value: the first says "check the taskId / your identity", the second says "the parent is fine,
|
|
172
|
+
* the child handle is wrong or gone" — a UI that collapsed them sent users to re-check the wrong thing.
|
|
150
173
|
*
|
|
151
174
|
* 🔴 server 1.245 [1493]: this is a CONVERSATION-CONTENT read, so it is SESSION-scoped, not just
|
|
152
175
|
* principal-scoped — pass `session` (your own conversation's sessionId, the one POST /v1/runs returned). A
|
|
@@ -166,7 +189,9 @@ export class RunsResource {
|
|
|
166
189
|
* spooled handles re-read in full, cursor-only handles return only new bytes; trust the projection's own
|
|
167
190
|
* flags), monitor (batches), and background_agent (final report). A workflow handle 404s (its read face is
|
|
168
191
|
* the workflow journal). 🔴 `target` is the CANONICAL task handle only (b…/m…/a… task_id from the spawn) —
|
|
169
|
-
* the in-engine tools' agent-name / legacy-id resolution is NOT on the wire (404
|
|
192
|
+
* the in-engine tools' agent-name / legacy-id resolution is NOT on the wire (404 `not_found.task_handle`,
|
|
193
|
+
* `:1076` — DISTINCT from `not_found.run`, [2400] TR-15: the run is visible, the HANDLE is not one of its
|
|
194
|
+
* tasks / was reaped / is a workflow handle). 🔴 NO server-side
|
|
170
195
|
* filter: `?filter=` is REFUSED with 400 on both verbs (wire-supplied regexes don't run on the server) —
|
|
171
196
|
* fetch the output and apply your regex locally, knowing the wire serves the CLIPPED projection (matches
|
|
172
197
|
* inside a clipped middle are not recoverable, and a cursor-only bash leg consumes what it serves; the
|
|
@@ -187,12 +212,21 @@ export class RunsResource {
|
|
|
187
212
|
}
|
|
188
213
|
/** server 1.246 ([1499]) — stop a background task handle (CC TaskStop 对位): bash kill / monitor stop /
|
|
189
214
|
* agent abort, attributed "user" (`output.stoppedBy`). Idempotent on a terminal handle — the 200
|
|
190
|
-
* `output.status` tells you what actually happened. 🔴
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
215
|
+
* `output.status` tells you what actually happened. 🔴 Treat ONLY 200 as stopped — every other outcome is a
|
|
216
|
+
* 409, and [2400] TR-14 lists the family in full (server `src/http/routes/runs.ts:1111-1118`, one ternary
|
|
217
|
+
* chain; all five are {@link import("../errors.js").TaskStopConflictError}, discriminate on `.errorCode`):
|
|
218
|
+
* · `stop.not_local` — the handle lives on ANOTHER replica (cross-instance / post-restart):
|
|
219
|
+
* **no kill was attempted**. Distinct from not_landed. Retry via the
|
|
220
|
+
* owning replica, or read the durable record.
|
|
221
|
+
* · `stop.not_landed` — a kill WAS attempted and did not land; the body carries the honest
|
|
222
|
+
* projection (`output.status` stays "running"). Retry.
|
|
223
|
+
* · `stop.parked` — the row is PARKED (no live process to kill). Resolve its gate instead.
|
|
224
|
+
* · `stop.park_resume_won` — stop RACED the "approval landed → resume" path and the resume won;
|
|
225
|
+
* the task is running again. Re-read, then stop again if still wanted.
|
|
226
|
+
* · `stop.park_arbiter_unreachable`— the arbiter store is unreachable, so the truth is UNKNOWN (core 1.397's
|
|
227
|
+
* three-way split). Neither "stopped" nor "still running" — retry later.
|
|
228
|
+
* Open set: a future `stop.*` code still lands on TaskStopConflictError, so keep a `default` in your switch.
|
|
229
|
+
* Same session scoping + kind set + canonical-handle
|
|
196
230
|
* addressing as {@link taskOutput} (a workflow handle 404s — stop workflows via their cancel face). Gate
|
|
197
231
|
* on `capabilities.taskHandles`. */
|
|
198
232
|
async taskStop(taskId, target, opts) {
|
|
@@ -244,7 +278,9 @@ export class RunsResource {
|
|
|
244
278
|
}
|
|
245
279
|
}
|
|
246
280
|
/** Resumable event stream. Internally: SSE + Last-Event-ID auto-reconnect; on a 416 (evicted past retention,
|
|
247
|
-
* body `{error,retainedFrom}` —
|
|
281
|
+
* body `{error, errorCode:"limit.retention_evicted", retainedFrom}` — [2400] CB-7: the machine code IS on the
|
|
282
|
+
* wire (server `src/http/sse-log.ts:41`); this loop keys on the STATUS only because what it needs is
|
|
283
|
+
* `retainedFrom`) → full-sync via trace.turns then resume
|
|
248
284
|
* from `retainedFrom` (sse.ts). Established-stream drops do NOT count as retries. */
|
|
249
285
|
async *events(taskId, opts) {
|
|
250
286
|
let first = opts?.lastEventId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/resources/runs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/resources/runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,16 @@ export declare class SessionsResource {
|
|
|
101
101
|
leafId?: string | null;
|
|
102
102
|
}>;
|
|
103
103
|
/** GET /v1/sessions/:id/events — session 级 SSE 真订阅(server ≥1.230,[1196] S1):`event: head`
|
|
104
|
-
* 帧流(latest-wins
|
|
104
|
+
* 帧流(latest-wins)。
|
|
105
|
+
*
|
|
106
|
+
* 🔴 [2400] CB-8/CB-9 —— 这条腿的保活是**裸注释行**,与其它 SSE 面不同,别照搬:server
|
|
107
|
+
* `routes/sessions.ts:355-379` 开流先写 `: connected\n\n`,之后每拍写 `: hb\n\n`;拍长 =
|
|
108
|
+
* `deps.sessionEventsHeartbeatMs ?? 25_000`(**运维可调**,不是固定 25s)。其它面(task/run/trace/
|
|
109
|
+
* workflow/fleet)写的是命名真帧 `event: heartbeat\ndata: {}` @15s —— 两种形状**都**要能吞:本 verb
|
|
110
|
+
* 用 `parseFrameStream` + `frame.event !== "head"` 过滤(裸注释行本就没有 `event`/`data`,天然滤掉),
|
|
111
|
+
* 并因为拍更慢而自带 60s grace(不是全局的 `HEARTBEAT_GRACE_MS`)。
|
|
112
|
+
*
|
|
113
|
+
* 轮询→订阅的换轨面:每帧=`{ sessionId, leafId }` 新水位,
|
|
105
114
|
* 拿到即拉 tail 增量(内容职责仍在 tail/turns 面)。`lastLeafId` 传上次水位=命中现值时无首帧
|
|
106
115
|
* (304 同义);断线自动重连并以最近水位续(重复帧被服务端抑制)。503=帽满(消费方回落 head 轮询,
|
|
107
116
|
* `capabilities.sessionEvents` 预判);会话被删/换主时 server 主动断流,重连将 404 → 迭代器抛出。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,7 +57,16 @@ export class SessionsResource {
|
|
|
57
57
|
return { changed: true, etag: res.headers.get("etag") ?? `"${body.leafId ?? "empty"}"`, leafId: body.leafId };
|
|
58
58
|
}
|
|
59
59
|
/** GET /v1/sessions/:id/events — session 级 SSE 真订阅(server ≥1.230,[1196] S1):`event: head`
|
|
60
|
-
* 帧流(latest-wins
|
|
60
|
+
* 帧流(latest-wins)。
|
|
61
|
+
*
|
|
62
|
+
* 🔴 [2400] CB-8/CB-9 —— 这条腿的保活是**裸注释行**,与其它 SSE 面不同,别照搬:server
|
|
63
|
+
* `routes/sessions.ts:355-379` 开流先写 `: connected\n\n`,之后每拍写 `: hb\n\n`;拍长 =
|
|
64
|
+
* `deps.sessionEventsHeartbeatMs ?? 25_000`(**运维可调**,不是固定 25s)。其它面(task/run/trace/
|
|
65
|
+
* workflow/fleet)写的是命名真帧 `event: heartbeat\ndata: {}` @15s —— 两种形状**都**要能吞:本 verb
|
|
66
|
+
* 用 `parseFrameStream` + `frame.event !== "head"` 过滤(裸注释行本就没有 `event`/`data`,天然滤掉),
|
|
67
|
+
* 并因为拍更慢而自带 60s grace(不是全局的 `HEARTBEAT_GRACE_MS`)。
|
|
68
|
+
*
|
|
69
|
+
* 轮询→订阅的换轨面:每帧=`{ sessionId, leafId }` 新水位,
|
|
61
70
|
* 拿到即拉 tail 增量(内容职责仍在 tail/turns 面)。`lastLeafId` 传上次水位=命中现值时无首帧
|
|
62
71
|
* (304 同义);断线自动重连并以最近水位续(重复帧被服务端抑制)。503=帽满(消费方回落 head 轮询,
|
|
63
72
|
* `capabilities.sessionEvents` 预判);会话被删/换主时 server 主动断流,重连将 404 → 迭代器抛出。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"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"}
|