@sema-agent/sdk 18.2.0 → 19.0.1

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.
Files changed (47) hide show
  1. package/README.md +109 -0
  2. package/dist/control-types.d.ts +4 -3
  3. package/dist/control-types.d.ts.map +1 -1
  4. package/dist/control-types.js.map +1 -1
  5. package/dist/errors.d.ts +68 -30
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +70 -30
  8. package/dist/errors.js.map +1 -1
  9. package/dist/events.d.ts +7 -6
  10. package/dist/events.d.ts.map +1 -1
  11. package/dist/events.js.map +1 -1
  12. package/dist/health.d.ts +1 -1
  13. package/dist/index.d.ts +9 -4
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +5 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/resources/admin.d.ts +1 -1
  18. package/dist/resources/approvals.d.ts +12 -8
  19. package/dist/resources/approvals.d.ts.map +1 -1
  20. package/dist/resources/approvals.js +12 -7
  21. package/dist/resources/approvals.js.map +1 -1
  22. package/dist/resources/images.d.ts +2 -1
  23. package/dist/resources/images.d.ts.map +1 -1
  24. package/dist/resources/images.js +3 -2
  25. package/dist/resources/images.js.map +1 -1
  26. package/dist/resources/sessions.d.ts +4 -0
  27. package/dist/resources/sessions.d.ts.map +1 -1
  28. package/dist/resources/sessions.js +6 -2
  29. package/dist/resources/sessions.js.map +1 -1
  30. package/dist/resources/tool-approvals.d.ts +29 -1
  31. package/dist/resources/tool-approvals.d.ts.map +1 -1
  32. package/dist/resources/tool-approvals.js +5 -0
  33. package/dist/resources/tool-approvals.js.map +1 -1
  34. package/dist/resources/trace.d.ts.map +1 -1
  35. package/dist/resources/trace.js +3 -3
  36. package/dist/resources/trace.js.map +1 -1
  37. package/dist/sse.d.ts +30 -10
  38. package/dist/sse.d.ts.map +1 -1
  39. package/dist/sse.js +44 -11
  40. package/dist/sse.js.map +1 -1
  41. package/dist/types.d.ts +29 -6
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js +14 -0
  44. package/dist/types.js.map +1 -1
  45. package/package.json +2 -2
  46. package/LICENSE +0 -103
  47. package/openapi.yaml +0 -20884
package/dist/sse.d.ts CHANGED
@@ -10,7 +10,8 @@
10
10
  * three missed beats) → treat as a drop, enter the resume loop.
11
11
  *
12
12
  * STATUS: M2 — implemented. `open(lastEventId?)` is the connection factory (the caller binds path/transport);
13
- * the resume loop feeds back the last seen event id. Terminal events (done/failed) end the generator.
13
+ * the resume loop feeds back the last seen event id. Terminal frames end the generator — ONE predicate for every resumable reader,
14
+ * {@link isTerminalFrame} (`done` / `failed` / every `error` frame except the 15-minute cap).
14
15
  */
15
16
  import type { AgentEvent } from "./events.js";
16
17
  /** Idle watchdog: declare a drop after this much silence. Sized off the service's own keep-alive cadence —
@@ -23,6 +24,23 @@ import type { AgentEvent } from "./events.js";
23
24
  * `sessions.watch` therefore passes its own 60s grace rather than this constant. ([2400] CB-9: the previous
24
25
  * note said "service heartbeat is 30s", a number no writer in the server emits.) */
25
26
  export declare const HEARTBEAT_GRACE_MS = 45000;
27
+ /**
28
+ * 🔴 **订阅流终帧的唯一判据** —— 五只可续读读口同读这一只:`runs.events`(`parseSse`)· `trace.stream` / `bakes.events` / `sessions.watch`(`parseFrameStream`)·
29
+ * `approvals.stream`(自带循环)。读口 yield 终帧之后结束本腿,**不重连**。
30
+ *
31
+ * 一条规则:**server 写完它就收流、而原地重开也续不下去的帧,是终帧** ——
32
+ * · `done` / `failed`:这条流观察的对象到了终局(run / bake / trace;trace 的 `done{suspended:true}` 同为终帧);
33
+ * · `error`:除帽帧之外的**一切** `error` 帧 —— 排空 `draining`(server ≥7.122.0 在排空进入那一拍、与硬停起点对每条订阅流各发一次:
34
+ * 实例要走了,重开交给调用方按自己的节奏与退避去替代实例 —— 本包此前把它当可重连的流控信号,一条连上就发终帧的对端会让读口零退避热重连)、
35
+ * trace 腿的 `WORKER_DOWN`(run 失联 / 失败)、以及任何读不出的码(server 宣告的错,本包不替调用方静默重连)。
36
+ * 唯一的例外是 15 分钟帽 `STREAM_MAX_DURATION`:流被服务端按时长截断而观察的对象还活着 ⇒ 读口自己带 `Last-Event-ID` 续读(一条已经跑满 15 分钟的腿,不是热循环)。
37
+ * 帧名取 SSE `event:`(缺席读载荷的 `type` —— 剥了事件名的中继之后仍判得出);没有 `data` / 载荷读不成 JSON ⇒ 不是终帧(读口自己的解析把契约违约报出来)。
38
+ * ⚠️ 终帧是**连接面**的信号:排空帧不说 run 或审批此刻的状态(server 对每一条订阅流同发),要知道状态重开之后读 `runs.get` / `approvals.list`。
39
+ */
40
+ export declare function isTerminalFrame(frame: {
41
+ event?: string;
42
+ data?: string;
43
+ }): boolean;
26
44
  /** Heartbeat-silence watchdog fired: no bytes arrived within the grace window. Typed so a caller (shell
27
45
  * liveClient tear-verdict) can DIAGNOSE "engine alive but stream idle" apart from other stream errors.
28
46
  * 🔴 The message is a FROZEN literal (`SSE: no data for ${ms}ms (heartbeat silence)`) — downstream scripts
@@ -31,7 +49,7 @@ export declare class SseIdleError extends Error {
31
49
  readonly elapsedMs: number;
32
50
  constructor(elapsedMs: number);
33
51
  }
34
- /** [2400] X-2 — the durable event stream ended WITHOUT a terminal (`done`/`failed`) and re-opening it produced
52
+ /** [2400] X-2 — the durable event stream ended WITHOUT a terminal frame ({@link isTerminalFrame}) and re-opening it produced
35
53
  * nothing, repeatedly. The overwhelmingly common cause is a **parked run**: when a run is `suspended` /
36
54
  * `needs_review`, the server's tail sees a non-`running` row and closes the leg immediately — connection fine,
37
55
  * zero frames, forever. It is NOT a transport failure and NOT a terminal.
@@ -66,7 +84,8 @@ export interface SseRetentionGap {
66
84
  retainedFrom: number;
67
85
  }
68
86
  /** Resumable stream: (re)opens via `open(lastEventId)`, parses SSE frames into AgentEvents, resumes on drops
69
- * and heartbeat silences, handles 416 eviction by resuming from `retainedFrom`. Ends on done/failed.
87
+ * and heartbeat silences, handles 416 eviction by resuming from `retainedFrom`. Ends on a terminal frame ({@link isTerminalFrame}:
88
+ * `done` / `failed` / every `error` frame except the 15-minute cap — a `draining` frame is yielded and then the generator returns).
70
89
  * A run that PARKS (the tail keeps re-opening empty) surfaces as {@link StreamEndedWithoutTerminalError}.
71
90
  * S-56:416 续传前经 `onGap` 通报被淘汰段({@link SseRetentionGap};回调被 await,异常/rejection 传播);
72
91
  * 缺席 = 旧行为逐字不变(透明续传)。`initialLastEventId` = 调用方已持有的 resume 游标(codex R1-F2):
@@ -97,15 +116,16 @@ export declare function parseSse(open: (lastEventId?: string) => Promise<Respons
97
116
  export type StampedAgentEvent = AgentEvent & {
98
117
  id?: string;
99
118
  };
100
- /** Generic RESUMABLE frame reader — the vocabulary-agnostic sibling of `parseSse`. Unlike `parseSse` (which is
101
- * hardcoded to the AgentEvent union + its terminal `done`/`failed`), this yields RAW `SseFrame`s so a caller with
102
- * a DIFFERENT SSE vocabulary (the trace relay's `block-*`/`turn`/`tool-*` frames, mapTraceEvent) can resume on
103
- * drops and on a 416 eviction WITHOUT inheriting AgentEvent semantics. Reconnect is driven by the last seen
104
- * `id:` (Last-Event-ID); a terminal frame is the CALLER's concern (it decides what `event` ends the stream — so
105
- * pass `isTerminal`). Heartbeat/comment frames (no `data`) are yielded too (the caller filters). 416 → read
119
+ /** Generic RESUMABLE frame reader — the vocabulary-agnostic sibling of `parseSse`. Unlike `parseSse` (which parses
120
+ * into the AgentEvent union), this yields RAW `SseFrame`s so a caller with a DIFFERENT SSE vocabulary (the trace relay's
121
+ * `block-*`/`turn`/`tool-*` frames, mapTraceEvent; bake events; session heads) can resume on drops and on a 416 eviction
122
+ * WITHOUT inheriting AgentEvent semantics. Reconnect is driven by the last seen `id:` (Last-Event-ID); the stream ends on
123
+ * the ONE terminal predicate shared with `parseSse` ({@link isTerminalFrame}) — callers no longer pass their own (three
124
+ * readers used to carry three different rules: `done || error`, `done || error`, and "never").
125
+ * Heartbeat/comment frames (no `data`) are yielded too (the caller filters). 416 → read
106
126
  * `retainedFrom` and resume from there (the consumer full-syncs missed ground truth via the turns API);
107
127
  * S-56:`onGap` 在场时续传前通报被淘汰段({@link SseRetentionGap}),缺席 = 透明续传不变。 */
108
- export declare function parseFrameStream(open: (lastEventId?: string) => Promise<Response>, isTerminal: (frame: SseFrame) => boolean, opts?: {
128
+ export declare function parseFrameStream(open: (lastEventId?: string) => Promise<Response>, opts?: {
109
129
  heartbeatGraceMs?: number;
110
130
  signal?: AbortSignal;
111
131
  onGap?: (gap: SseRetentionGap) => void | Promise<void>;
package/dist/sse.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
package/dist/sse.js CHANGED
@@ -15,6 +15,37 @@ const MAX_CONSECUTIVE_FAILURES = 5;
15
15
  * Two, not five: a park is a STEADY state (the server closes the tail because the run is not `running`), so the
16
16
  * extra three round-trips only delay the moment the consumer can go ask `runs.get()`. */
17
17
  const EMPTY_LEGS_BEFORE_PARK_VERDICT = 2;
18
+ /** 15 分钟帽帧的码 —— server 原话「reconnect with Last-Event-ID to continue (the run is still active)」的那一种 `error` 帧。 */
19
+ const STREAM_CAP_CODE = "STREAM_MAX_DURATION";
20
+ /**
21
+ * 🔴 **订阅流终帧的唯一判据** —— 五只可续读读口同读这一只:`runs.events`(`parseSse`)· `trace.stream` / `bakes.events` / `sessions.watch`(`parseFrameStream`)·
22
+ * `approvals.stream`(自带循环)。读口 yield 终帧之后结束本腿,**不重连**。
23
+ *
24
+ * 一条规则:**server 写完它就收流、而原地重开也续不下去的帧,是终帧** ——
25
+ * · `done` / `failed`:这条流观察的对象到了终局(run / bake / trace;trace 的 `done{suspended:true}` 同为终帧);
26
+ * · `error`:除帽帧之外的**一切** `error` 帧 —— 排空 `draining`(server ≥7.122.0 在排空进入那一拍、与硬停起点对每条订阅流各发一次:
27
+ * 实例要走了,重开交给调用方按自己的节奏与退避去替代实例 —— 本包此前把它当可重连的流控信号,一条连上就发终帧的对端会让读口零退避热重连)、
28
+ * trace 腿的 `WORKER_DOWN`(run 失联 / 失败)、以及任何读不出的码(server 宣告的错,本包不替调用方静默重连)。
29
+ * 唯一的例外是 15 分钟帽 `STREAM_MAX_DURATION`:流被服务端按时长截断而观察的对象还活着 ⇒ 读口自己带 `Last-Event-ID` 续读(一条已经跑满 15 分钟的腿,不是热循环)。
30
+ * 帧名取 SSE `event:`(缺席读载荷的 `type` —— 剥了事件名的中继之后仍判得出);没有 `data` / 载荷读不成 JSON ⇒ 不是终帧(读口自己的解析把契约违约报出来)。
31
+ * ⚠️ 终帧是**连接面**的信号:排空帧不说 run 或审批此刻的状态(server 对每一条订阅流同发),要知道状态重开之后读 `runs.get` / `approvals.list`。
32
+ */
33
+ export function isTerminalFrame(frame) {
34
+ if (frame.data === undefined)
35
+ return false;
36
+ let payload;
37
+ try {
38
+ payload = JSON.parse(frame.data);
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ const p = typeof payload === "object" && payload !== null ? payload : {};
44
+ const name = frame.event ?? (typeof p.type === "string" ? p.type : undefined);
45
+ if (name === "done" || name === "failed")
46
+ return true;
47
+ return name === "error" && p.errorCode !== STREAM_CAP_CODE;
48
+ }
18
49
  /** Heartbeat-silence watchdog fired: no bytes arrived within the grace window. Typed so a caller (shell
19
50
  * liveClient tear-verdict) can DIAGNOSE "engine alive but stream idle" apart from other stream errors.
20
51
  * 🔴 The message is a FROZEN literal (`SSE: no data for ${ms}ms (heartbeat silence)`) — downstream scripts
@@ -27,7 +58,7 @@ export class SseIdleError extends Error {
27
58
  this.name = "SseIdleError";
28
59
  }
29
60
  }
30
- /** [2400] X-2 — the durable event stream ended WITHOUT a terminal (`done`/`failed`) and re-opening it produced
61
+ /** [2400] X-2 — the durable event stream ended WITHOUT a terminal frame ({@link isTerminalFrame}) and re-opening it produced
31
62
  * nothing, repeatedly. The overwhelmingly common cause is a **parked run**: when a run is `suspended` /
32
63
  * `needs_review`, the server's tail sees a non-`running` row and closes the leg immediately — connection fine,
33
64
  * zero frames, forever. It is NOT a transport failure and NOT a terminal.
@@ -61,7 +92,8 @@ async function notifyGap(onGap, lastId, retainedFrom) {
61
92
  await onGap({ ...(Number.isFinite(prev) ? { from: prev + 1 } : {}), to: retainedFrom - 1, retainedFrom });
62
93
  }
63
94
  /** Resumable stream: (re)opens via `open(lastEventId)`, parses SSE frames into AgentEvents, resumes on drops
64
- * and heartbeat silences, handles 416 eviction by resuming from `retainedFrom`. Ends on done/failed.
95
+ * and heartbeat silences, handles 416 eviction by resuming from `retainedFrom`. Ends on a terminal frame ({@link isTerminalFrame}:
96
+ * `done` / `failed` / every `error` frame except the 15-minute cap — a `draining` frame is yielded and then the generator returns).
65
97
  * A run that PARKS (the tail keeps re-opening empty) surfaces as {@link StreamEndedWithoutTerminalError}.
66
98
  * S-56:416 续传前经 `onGap` 通报被淘汰段({@link SseRetentionGap};回调被 await,异常/rejection 传播);
67
99
  * 缺席 = 旧行为逐字不变(透明续传)。`initialLastEventId` = 调用方已持有的 resume 游标(codex R1-F2):
@@ -130,7 +162,7 @@ export async function* parseSse(open, opts) {
130
162
  if (frame.id)
131
163
  ev.id = frame.id; // stamp the durable seq (BFF relays need it for resume)
132
164
  yield ev;
133
- if (ev.type === "done" || ev.type === "failed") {
165
+ if (isTerminalFrame(frame)) {
134
166
  sawTerminal = true;
135
167
  return;
136
168
  }
@@ -159,15 +191,16 @@ export async function* parseSse(open, opts) {
159
191
  // stream ended without a terminal event → reconnect and tail on
160
192
  }
161
193
  }
162
- /** Generic RESUMABLE frame reader — the vocabulary-agnostic sibling of `parseSse`. Unlike `parseSse` (which is
163
- * hardcoded to the AgentEvent union + its terminal `done`/`failed`), this yields RAW `SseFrame`s so a caller with
164
- * a DIFFERENT SSE vocabulary (the trace relay's `block-*`/`turn`/`tool-*` frames, mapTraceEvent) can resume on
165
- * drops and on a 416 eviction WITHOUT inheriting AgentEvent semantics. Reconnect is driven by the last seen
166
- * `id:` (Last-Event-ID); a terminal frame is the CALLER's concern (it decides what `event` ends the stream — so
167
- * pass `isTerminal`). Heartbeat/comment frames (no `data`) are yielded too (the caller filters). 416 → read
194
+ /** Generic RESUMABLE frame reader — the vocabulary-agnostic sibling of `parseSse`. Unlike `parseSse` (which parses
195
+ * into the AgentEvent union), this yields RAW `SseFrame`s so a caller with a DIFFERENT SSE vocabulary (the trace relay's
196
+ * `block-*`/`turn`/`tool-*` frames, mapTraceEvent; bake events; session heads) can resume on drops and on a 416 eviction
197
+ * WITHOUT inheriting AgentEvent semantics. Reconnect is driven by the last seen `id:` (Last-Event-ID); the stream ends on
198
+ * the ONE terminal predicate shared with `parseSse` ({@link isTerminalFrame}) — callers no longer pass their own (three
199
+ * readers used to carry three different rules: `done || error`, `done || error`, and "never").
200
+ * Heartbeat/comment frames (no `data`) are yielded too (the caller filters). 416 → read
168
201
  * `retainedFrom` and resume from there (the consumer full-syncs missed ground truth via the turns API);
169
202
  * S-56:`onGap` 在场时续传前通报被淘汰段({@link SseRetentionGap}),缺席 = 透明续传不变。 */
170
- export async function* parseFrameStream(open, isTerminal, opts) {
203
+ export async function* parseFrameStream(open, opts) {
171
204
  const grace = opts?.heartbeatGraceMs ?? HEARTBEAT_GRACE_MS;
172
205
  let lastId = opts?.initialLastEventId;
173
206
  let failures = 0;
@@ -208,7 +241,7 @@ export async function* parseFrameStream(open, isTerminal, opts) {
208
241
  if (frame.id)
209
242
  lastId = frame.id;
210
243
  yield frame;
211
- if (isTerminal(frame)) {
244
+ if (isTerminalFrame(frame)) {
212
245
  sawTerminal = true;
213
246
  return;
214
247
  }
package/dist/sse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2172,6 +2172,22 @@ export interface LegacyPlaneTaskResult {
2172
2172
  toolCallId?: string;
2173
2173
  retryAfterMs?: number;
2174
2174
  }
2175
+ /**
2176
+ * **run 死亡判决码的运行期码表**(闭集三码;server ≥7.116.0 起出现在 `GET /v1/runs/:id` 的 {@link RunRecord.errorCode} 上)—— 让各端按**同一张表**判
2177
+ * 「这条 run 是被收割 / 回收掉的」,不各抄一份。词表属主 = server 契约附录 A.1 第(6)节;铸点 = server 发布字节的 `RUN_HOLDER_DEATH_CODES`(前两码)
2178
+ * 与三只 run 店写的 `approval.expired`(测试逐字对拍):
2179
+ * · `run.stalled` —— 失联收割:持有这条 run 的实例心跳旧于 `REAP_RUN_STALE_SEC`(读面在收割落盘前提前折叠的那一形同码;句子 `run stalled (instance lost?)`);
2180
+ * · `run.orphaned` —— 重启回收:local 车道上持有它的进程随重启没了(孤儿回收 / 会话占用接管;句子 `run orphaned by engine restart`);
2181
+ * · `approval.expired` —— 停在审批上的 run 被收割(挂起超时,或它的检查点过期被清;句子 `approval expired before decision`)。
2182
+ * server 把三码分两类:前两码 = 「持有这条 run 的进程死在这条腿收场之前」(server 的 `isHolderDeathVerdict` 只认它们);`approval.expired` = 停在审批上的 run 被收割,
2183
+ * 严格说不是持有者死亡 —— 三码共同点是「请求本身没错、这条 run 续不上了,把工作作为新任务再提交(新 run)」。
2184
+ * 🔴 **只按码判,不读 `error` 句子**(句子给人看)。🔴 **缺席不反推**:码位缺席 ≠ 不是收割(旧行迁移窗之后仍可能只有句子)。
2185
+ * 表外的码不在这里答:{@link RunRecord.errorCode} 本身仍是开集串(还有 `cancelled` / `budget.exceeded` / `review.pending` …)。
2186
+ * 冻结的字面元组,成员型 {@link RunDeathVerdictCode};判成员用 `(RUN_DEATH_VERDICT_CODES as readonly string[]).includes(code)`。
2187
+ */
2188
+ export declare const RUN_DEATH_VERDICT_CODES: readonly ["run.stalled", "run.orphaned", "approval.expired"];
2189
+ /** {@link RUN_DEATH_VERDICT_CODES} 的成员型(闭集三码)。 */
2190
+ export type RunDeathVerdictCode = (typeof RUN_DEATH_VERDICT_CODES)[number];
2175
2191
  /** Run state (`GET /v1/runs/:id`) — LIVE shape (service Drift 2): `result` is the NESTED TaskResult
2176
2192
  * (output text = result.result, stats = result.stats; no top-level stats); error text field is `error`. */
2177
2193
  export interface RunRecord {
@@ -2199,7 +2215,8 @@ export interface RunRecord {
2199
2215
  * **先读 `status`**(`failed`)再按码分支。本位**仍是开集串**(词表属主在 server / core,分支永远带 `default`),没有闭集可加。
2200
2216
  * 🔴 **缺席语义(旧行)**:升级前(≤7.115.x)写下的死亡判决行只有 `error` 句子、码列为空 —— 7.116.0 每次起服做**一次性迁移补码**(`one_time_migrations_applied` 的
2201
2217
  * `holderDeathCodeRowsBackfilled`),SQL 后端的新副本读这种行时同样读成码(升级窗);**但迁移有窗**(发布日 + 30 天之后的第一个小版本把写回与读侧一起删),
2202
- * 删后仍只有句子的行不再带码、`errorCode` 缺席 —— 所以「本位缺席 ≠ 不是持有者死亡」,**旧行迁移补码之后仍可能无码**,别拿缺席反推别的。 */
2218
+ * 删后仍只有句子的行不再带码、`errorCode` 缺席 —— 所以「本位缺席 ≠ 不是持有者死亡」,**旧行迁移补码之后仍可能无码**,别拿缺席反推别的。
2219
+ * 三码的运行期码表 = 包入口导出的 `RUN_DEATH_VERDICT_CODES`({@link RUN_DEATH_VERDICT_CODES};成员型 {@link RunDeathVerdictCode})—— 判「被收割 / 回收」读它,别手抄。 */
2203
2220
  errorCode?: string;
2204
2221
  error?: string;
2205
2222
  /** Work-view correlation. Present when the run has a jobId (omitted when null). LIVE server-side
@@ -3080,8 +3097,9 @@ export type TraceBlock = {
3080
3097
  * - `turn` — `{ seq, tokens? }` a turn boundary (+ usage if present).
3081
3098
  * - `done` — `{ seq, suspended? }` terminal (suspended:true = paused on HITL, NOT completed).
3082
3099
  * - `error` — `{ errorCode, message }` terminal failure / `WORKER_DOWN` (stalled) / `STREAM_MAX_DURATION` /
3083
- * `draining` (server >= 7.122.0: the instance entered drain, the server closes the stream right after the frame —
3084
- * reconnect to the replacement instance)
3100
+ * `draining` (server >= 7.122.0: the instance entered drain, the server closes the stream right after the frame).
3101
+ * The reader ends on every `error` frame except `STREAM_MAX_DURATION` (the 15-minute cap — it resumes with
3102
+ * Last-Event-ID); after `draining` re-opening is the caller's call (shared terminal predicate `isTerminalFrame`)
3085
3103
  * (机器键 = `errorCode`,与 HTTP 错误体同一个单键;server 3.0.0 [1989]/[1990]).
3086
3104
  * - `heartbeat` — `{}` keep-alive (the SDK reader swallows these; not yielded). */
3087
3105
  /** Facade note (2026-07-24 audit): `data` used to be a bare `Record<string, unknown>` for every `event` —
@@ -4073,7 +4091,7 @@ export interface Capabilities {
4073
4091
  /** **「这台引擎此刻接没接着中心、你的额度执不执行」**(K-32 扩项;server ≥7.106.0 / S-866 ②;铸点发布字节
4074
4092
  * `dist/http/routes/capabilities.js` 应答字面量 `centerWiring: deps.centerWiring?.(gatedPrincipal(req, deps.config))`,段形属主
4075
4093
  * `dist/capabilities/center-wiring.d.ts` 的 `CenterWiring`,投影 `buildCenterWiring`)。段形与读法见 {@link CenterWiringCapability}。
4076
- * 🔴 **present-iff 接了中心**(`SEMA_REGISTRY_URL` → `config.configCenter` 在场;与 {@link sealedKey} 同为契约附录 B.1 逐键登记的
4094
+ * 🔴 **present-iff 接了中心**(server ≥7.124.0 读 `SEMA_WEB_ADMIN_URL` → `config.webAdmin`;≤7.123.x 读 `SEMA_REGISTRY_URL` → `config.configCenter`;与 {@link sealedKey} 同为契约附录 B.1 逐键登记的
4077
4095
  * present-iff 例外):缺席是**键不在**,不是 `null`,两种含义 —— 老 server(< 7.106.0)/ 这台引擎没接中心(纯 env / `CONFIG_PROVIDER=local`),
4078
4096
  * 同一体的 `version` 能分;两种下都读作「本面答不了中心接线与额度执行」,**不许**读作「额度在执行」。
4079
4097
  * 🔴 **按调用方**(`caller` 是本次请求已验 principal 的租约读数):**不许跨身份缓存**本位。读 caps **不** admit、不打中心。 */
@@ -4453,7 +4471,7 @@ export interface CenterWiringCapability {
4453
4471
  version: number;
4454
4472
  updatedAt: string;
4455
4473
  } | null;
4456
- /** `"configured"` = 中心三件(URL + 凭证 + `SEMA_REGISTRY_WORKER`)齐、装了租约管理器;`"absent"` = 没装(下面三键缺席)。 */
4474
+ /** `"configured"` = 中心三件(URL + 凭证 + worker 名:server ≥7.124.0 `SEMA_WEB_ADMIN_WORKER`,≤7.123.x `SEMA_REGISTRY_WORKER`)齐、装了租约管理器;`"absent"` = 没装(下面三键缺席)。 */
4457
4475
  lease: "configured" | "absent" | (string & {});
4458
4476
  /** **present-iff `lease:"configured"`** —— 最近一次租约谈判的收尾:`ok`(中心合法答复,含 409 not-lease / 耗尽)/ `auth-rejected`
4459
4477
  * (中心 401 / 403 / 400,或凭证读不出)/ `unreachable`(不可达 / 5xx / 超时 / 坏体 / 其余状态码,含中心 404 / 429 / 3xx)/
@@ -4465,8 +4483,13 @@ export interface CenterWiringCapability {
4465
4483
  failMode?: "open" | "closed" | (string & {});
4466
4484
  /** 用量上报环装了(中心三件齐即装,**不看** `FLEET_ADVERTISE_ADDRESS`,S-866 ④)。 */
4467
4485
  usageReport: boolean;
4468
- /** 鉴权桥 issuer:`explicit`(`AUTH_BRIDGE_ISSUER` 显式)/ `fallback`(回退 `SEMA_REGISTRY_URL`)。词表属主 server `CENTER_ISSUER_WORDS`。 */
4486
+ /** 鉴权桥 issuer:`explicit`(`AUTH_BRIDGE_ISSUER` 显式)/ `fallback`(回退中心基址:server ≥7.124.0 `SEMA_WEB_ADMIN_URL`,≤7.123.x `SEMA_REGISTRY_URL`)。词表属主 server `CENTER_ISSUER_WORDS`。 */
4469
4487
  issuer: "explicit" | "fallback" | (string & {});
4488
+ /** server ≥7.124.0 —— 引擎向中心登记用的 **worker 名**(取值口 `SEMA_WEB_ADMIN_WORKER`,与排空口身份四元的 `worker` 读同一只),原样串。
4489
+ * 🔴 **present-iff 配了名且名可披露**:没配 ⇒ 缺席(不拼不猜);配了但不是标识符形 / 是秘密形(契约的标识符律 `isDisclosableIdentity`)⇒ 按无名处置、键缺席,**不打码**。
4490
+ * 它只住在这张**有鉴权**的能力面:无鉴权的 `/health` 刻意不带 worker 名。壳附着后用它拼网页会话链接 `<webBaseUrl>/chat?agent=<worker>&session=<id>`
4491
+ * (与 `/health.center.webBaseUrl` 配对;两只都在才拼)。缺席 = 老 server / 没配名 / 名不可披露 —— 三种下都别拼深链。 */
4492
+ worker?: string;
4470
4493
  /** **present-iff `lease:"configured"`** —— **本次请求的已验 principal**(与租约门同键)此刻的租约读数(🔴 不许跨身份缓存):
4471
4494
  * `enforced`(未到期且有余)· `not-enforced`(中心说「不走租约」且负缓存未过期 ⇒ 壳可渲 unlimited)· `exhausted`(中心判耗尽且窗未过,
4472
4495
  * 带 `retryAfterSec`,正整数,**只随这一词**)· `unobserved`(无条目 / 过期 / 耗尽而未续成 / 被逐出 / 无 principal —— server 裁 F-1: