@sema-agent/server 7.140.0 → 7.141.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/MIGRATION.md +290 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/USAGE.md +75 -13
- package/dist/approval-batch-census.d.ts +27 -0
- package/dist/approval-batch-census.js +27 -0
- package/dist/approval-card.d.ts +31 -16
- package/dist/approval-card.js +6 -3
- package/dist/approval.d.ts +15 -0
- package/dist/approval.js +10 -0
- package/dist/audit.d.ts +4 -2
- package/dist/audit.js +2 -2
- package/dist/boot/device-lane.d.ts +11 -0
- package/dist/boot/device-lane.js +16 -0
- package/dist/boot/engine-lease.d.ts +24 -3
- package/dist/boot/engine-lease.js +9 -2
- package/dist/boot/execution-env.js +8 -4
- package/dist/boot/memory-boundary.d.ts +2 -2
- package/dist/boot/memory-consolidation.d.ts +1 -1
- package/dist/boot/memory-consolidation.js +1 -1
- package/dist/boot/reapers.d.ts +2 -2
- package/dist/boot/resolve-spec.js +7 -4
- package/dist/boot/session-faces.d.ts +1 -1
- package/dist/boot/session-faces.js +4 -3
- package/dist/boot/shutdown.js +5 -0
- package/dist/boot/stage-05-execution-env.js +3 -1
- package/dist/boot/stage-06-runners.d.ts +0 -2
- package/dist/boot/stage-06-runners.js +1 -1
- package/dist/boot/stage-07-capability-layer.d.ts +0 -1
- package/dist/boot/stage-07-capability-layer.js +8 -10
- package/dist/boot/stage-08-reapers.d.ts +0 -1
- package/dist/boot/stage-09-leader.d.ts +0 -1
- package/dist/boot/stage-10-http-server.d.ts +0 -1
- package/dist/boot/stage-10-http-server.js +1 -0
- package/dist/boot/stores.js +10 -4
- package/dist/boot/web-admin.js +1 -0
- package/dist/capabilities/scenarios.d.ts +1 -1
- package/dist/capability-facts.d.ts +9 -0
- package/dist/capability-facts.js +9 -0
- package/dist/card-void.d.ts +38 -0
- package/dist/card-void.js +23 -0
- package/dist/config-catalog.js +11 -8
- package/dist/config-provider.d.ts +13 -13
- package/dist/config-provider.js +19 -33
- package/dist/config-types.d.ts +26 -8
- package/dist/config.js +55 -46
- package/dist/delegated-session-owner.d.ts +21 -19
- package/dist/delegated-session-owner.js +1 -1
- package/dist/device-store.d.ts +7 -0
- package/dist/device-store.js +3 -0
- package/dist/execution-config-root.d.ts +22 -0
- package/dist/execution-config-root.js +35 -0
- package/dist/execution-lane-caps.d.ts +49 -2
- package/dist/execution-lane-caps.js +90 -13
- package/dist/execution-placement.d.ts +3 -0
- package/dist/execution-placement.js +7 -0
- package/dist/fleet/drain-entry.d.ts +3 -0
- package/dist/hosted-posture.d.ts +8 -0
- package/dist/hosted-posture.js +4 -0
- package/dist/http/admission.js +3 -3
- package/dist/http/caller-trust.d.ts +3 -2
- package/dist/http/caller-trust.js +2 -1
- package/dist/http/dispatch.js +4 -0
- package/dist/http/live-frame.d.ts +24 -0
- package/dist/http/live-frame.js +16 -0
- package/dist/http/resume-legs.js +37 -20
- package/dist/http/route-table.js +2 -0
- package/dist/http/routes/approvals-assistant.js +1 -0
- package/dist/http/routes/capabilities.js +5 -4
- package/dist/http/routes/diagnostics.d.ts +0 -19
- package/dist/http/routes/diagnostics.js +16 -2
- package/dist/http/routes/memory-bundle.d.ts +2 -2
- package/dist/http/routes/memory-bundle.js +1 -1
- package/dist/http/routes/memory-compliance.js +1 -1
- package/dist/http/routes/memory-policy.js +2 -2
- package/dist/http/routes/run-permission-mode.d.ts +75 -0
- package/dist/http/routes/run-permission-mode.js +170 -0
- package/dist/http/routes/session-sync.d.ts +3 -6
- package/dist/http/routes/session-sync.js +7 -2
- package/dist/http/routes/sessions.js +5 -4
- package/dist/http/routes/tasks.js +63 -66
- package/dist/http/run-read-face.js +3 -3
- package/dist/http/send.d.ts +1 -1
- package/dist/http/send.js +2 -2
- package/dist/http/server.d.ts +9 -2
- package/dist/http/sse-log.d.ts +3 -8
- package/dist/http/stored-body-replay.d.ts +3 -3
- package/dist/http/stored-body-replay.js +3 -1
- package/dist/instruction-source-notice.d.ts +7 -0
- package/dist/instruction-source-notice.js +6 -6
- package/dist/mcp-assertion-header.d.ts +4 -0
- package/dist/mcp-assertion-header.js +5 -0
- package/dist/memory-posture.d.ts +1 -1
- package/dist/memory-scope.d.ts +4 -4
- package/dist/memory-scope.js +1 -1
- package/dist/memory-sync-client.d.ts +14 -2
- package/dist/memory-sync-client.js +80 -18
- package/dist/observability/fail-open.d.ts +30 -2
- package/dist/observability/fail-open.js +30 -2
- package/dist/observability/metrics.js +0 -1
- package/dist/observability/run-terminal.d.ts +6 -2
- package/dist/observability/run-terminal.js +25 -26
- package/dist/observability/secret-env-scrub.d.ts +20 -1
- package/dist/observability/secret-env-scrub.js +14 -0
- package/dist/orchestration/workflow-completion-inbox.d.ts +5 -2
- package/dist/orchestration/workflow-completion-inbox.js +13 -5
- package/dist/orchestration/workflow-notify-journal.d.ts +5 -3
- package/dist/orchestration/workflow-notify-journal.js +2 -1
- package/dist/permission-mode-admission.d.ts +68 -0
- package/dist/permission-mode-admission.js +23 -0
- package/dist/permission-rule-list.d.ts +55 -6
- package/dist/permission-rule-list.js +52 -5
- package/dist/plugins/caching-session-store.d.ts +6 -0
- package/dist/plugins/caching-session-store.js +3 -0
- package/dist/plugins/checkpoint-store-sql.d.ts +65 -17
- package/dist/plugins/checkpoint-store-sql.js +74 -3
- package/dist/plugins/device-store-sql.d.ts +5 -2
- package/dist/plugins/device-store-sql.js +4 -1
- package/dist/plugins/execution-placement-sql.d.ts +11 -1
- package/dist/plugins/execution-placement-sql.js +12 -1
- package/dist/plugins/file-run-store.d.ts +2 -2
- package/dist/plugins/file-run-store.js +1 -1
- package/dist/plugins/fork-routing-session-store.d.ts +10 -32
- package/dist/plugins/fork-routing-session-store.js +2 -61
- package/dist/plugins/k8s-exec-protocol.d.ts +4 -1
- package/dist/plugins/k8s-exec-protocol.js +6 -1
- package/dist/plugins/local-checkpoint-store.d.ts +10 -1
- package/dist/plugins/local-checkpoint-store.js +22 -0
- package/dist/plugins/local-session-store.d.ts +227 -35
- package/dist/plugins/local-session-store.js +518 -37
- package/dist/plugins/local-session-window.d.ts +17 -3
- package/dist/plugins/local-session-window.js +7 -13
- package/dist/plugins/memory-run-store.d.ts +2 -2
- package/dist/plugins/memory-run-store.js +1 -1
- package/dist/plugins/one-time-migrations.d.ts +42 -2
- package/dist/plugins/one-time-migrations.js +65 -3
- package/dist/plugins/pg-pool.js +3 -2
- package/dist/plugins/pg-session-storage.d.ts +2 -0
- package/dist/plugins/pg-session-storage.js +3 -2
- package/dist/plugins/remote-env-e2b.d.ts +24 -3
- package/dist/plugins/remote-env-e2b.js +131 -18
- package/dist/plugins/remote-env-k8s.d.ts +20 -1
- package/dist/plugins/remote-env-k8s.js +148 -25
- package/dist/plugins/remote-env-local-docker.d.ts +25 -11
- package/dist/plugins/remote-env-local-docker.js +87 -21
- package/dist/plugins/run-store-sql.d.ts +3 -3
- package/dist/plugins/run-store-sql.js +4 -3
- package/dist/plugins/sandbox-read-floor.d.ts +273 -0
- package/dist/plugins/sandbox-read-floor.js +608 -0
- package/dist/plugins/session-ownership.d.ts +2 -1
- package/dist/plugins/session-placement.d.ts +17 -4
- package/dist/plugins/session-placement.js +2 -1
- package/dist/plugins/session-store.d.ts +18 -20
- package/dist/plugins/session-store.js +4 -12
- package/dist/plugins/store-backend.d.ts +31 -0
- package/dist/plugins/store-backend.js +21 -4
- package/dist/plugins/store-contracts.d.ts +9 -2
- package/dist/plugins/tidb-pool.js +2 -1
- package/dist/plugins/tidb-session-store.d.ts +4 -1
- package/dist/plugins/tidb-session-store.js +3 -2
- package/dist/run-cancel-context.d.ts +34 -0
- package/dist/run-cancel-context.js +7 -0
- package/dist/runs.d.ts +39 -12
- package/dist/runs.js +68 -53
- package/dist/security.d.ts +2 -2
- package/dist/server-secret-env.d.ts +2 -1
- package/dist/server-secret-env.js +2 -4
- package/dist/session-error-wire.d.ts +22 -4
- package/dist/session-error-wire.js +16 -0
- package/dist/session-incarnation.d.ts +9 -3
- package/dist/session-sync-kernel.d.ts +42 -1
- package/dist/session-sync-kernel.js +17 -0
- package/dist/session-sync.js +16 -4
- package/dist/sql-engine-coordinates.d.ts +49 -0
- package/dist/sql-engine-coordinates.js +27 -0
- package/dist/standing-answer-grant.d.ts +31 -2
- package/dist/standing-answer-grant.js +14 -2
- package/dist/store-posture.d.ts +1 -1
- package/dist/task-a2a.d.ts +1 -1
- package/dist/task-mcp.d.ts +1 -1
- package/dist/task-settings.d.ts +52 -25
- package/dist/task-settings.js +91 -28
- package/dist/terminal.d.ts +77 -20
- package/dist/terminal.js +66 -20
- package/dist/trace/core-keyset-guard.d.ts +79 -2
- package/dist/trace/exit-seat.d.ts +7 -0
- package/dist/trace/exit-seat.js +1 -0
- package/dist/trace/model-segment.d.ts +2 -2
- package/dist/trace/redact.js +323 -90
- package/dist/trace/self-minted-wire.d.ts +168 -2
- package/dist/trace/self-minted-wire.js +63 -0
- package/dist/verifier-pause-card.d.ts +8 -0
- package/dist/verifier-pause-card.js +19 -0
- package/dist/web-admin-client/apply-effective.d.ts +5 -7
- package/dist/web-admin-client/apply-effective.js +2 -2
- package/dist/web-admin-client/candidate-gate.d.ts +1 -1
- package/dist/web-admin-client/read-warnings.d.ts +2 -2
- package/docs/DEVICE-EXECUTOR-PROTOCOL.md +3 -2
- package/package.json +2 -2
- package/wire-changes/server@7.141.0.json +367 -0
|
@@ -467,6 +467,20 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
467
467
|
};
|
|
468
468
|
};
|
|
469
469
|
};
|
|
470
|
+
/** 7.141.0:能力位 `mcpTransportKinds[]` 的成员(请求面读器与引擎今天能拨的 MCP 传输种类,书写序;恒在场、不随部署形变)。 */
|
|
471
|
+
readonly mcpTransportKind: {
|
|
472
|
+
readonly at: "GET /v1/capabilities mcpTransportKinds[]";
|
|
473
|
+
readonly members: {
|
|
474
|
+
stdio: {
|
|
475
|
+
attr: string;
|
|
476
|
+
since: string;
|
|
477
|
+
};
|
|
478
|
+
http: {
|
|
479
|
+
attr: string;
|
|
480
|
+
since: string;
|
|
481
|
+
};
|
|
482
|
+
};
|
|
483
|
+
};
|
|
470
484
|
/** 7.137.0:能力位 `credentialPlane.sandboxGit.state`(成员 git 凭据平面开 / 关;判官 `judgeSandboxGitPlane`)。 */
|
|
471
485
|
readonly credentialPlaneSandboxGitState: {
|
|
472
486
|
readonly at: "GET /v1/capabilities credentialPlane.sandboxGit.state";
|
|
@@ -643,6 +657,23 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
643
657
|
};
|
|
644
658
|
};
|
|
645
659
|
};
|
|
660
|
+
/**
|
|
661
|
+
* `GET /health` 的 `engineLease` 段(7.141.0):引擎附着租约窗 —— `lingerMs` = 自退腿会执行的**最短**静默窗(父活着的窗与孤儿窗取小),`tickMs` = 自退检查采样拍。
|
|
662
|
+
* present-iff 本进程装了租约腿(`ENGINE_AUTO_EXIT` 开或 `SEMA_PARENT_PID` 在场)∧ 腿还在观察 ∧ 窗会到期;键集属主 = `EngineLeaseFacts`(加一键而本表没跟 ⇒ tsc 红)。
|
|
663
|
+
*/
|
|
664
|
+
readonly healthEngineLeaseKey: {
|
|
665
|
+
readonly at: "GET /health engineLease";
|
|
666
|
+
readonly members: {
|
|
667
|
+
lingerMs: {
|
|
668
|
+
attr: string;
|
|
669
|
+
since: string;
|
|
670
|
+
};
|
|
671
|
+
tickMs: {
|
|
672
|
+
attr: string;
|
|
673
|
+
since: string;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
};
|
|
646
677
|
/** `GET /v1/models` 的 `models[]` 行键(只登本版新出现的键;行的其余键不是本版新上 wire):`supportsThinkingOff` —— 「这只模型的推理能不能关」,恒在场的布尔,值 = 引擎唯一读法 `thinkingOffSpelled(条目)`。 */
|
|
647
678
|
readonly modelsRowKey: {
|
|
648
679
|
readonly at: "GET /v1/models models[] 行键(<键> → 在场律)";
|
|
@@ -1092,8 +1123,9 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1092
1123
|
};
|
|
1093
1124
|
};
|
|
1094
1125
|
/**
|
|
1095
|
-
*
|
|
1096
|
-
* `
|
|
1126
|
+
* 停驻技能卡的「批它放行了什么」三位,7.136.0 起在运维队列行与订阅流 `pending` 帧上也带(此前只有助手收件箱行与活卡帧带)。清单与成因词由一只投影 `skillCardFacts` 投,
|
|
1127
|
+
* 摘要随授予绑定那一臂由 `parkRowFacts` 投(读自停驻行;7.141.0 起与 `boundGrantAbsence` 恰带其一 —— `boundGrantAbsence` 自 7.129.0 起就在本面,不是本表登记的新键);
|
|
1128
|
+
* `satisfies Record<keyof SkillCardFacts | 摘要, …>`:投影加 / 删一位而本表没跟 ⇒ tsc 红。在场律 `present-iff`:只在这一行有该位时才带键(普通卡三位三面都缺席,缺席不是断言)。
|
|
1097
1129
|
*/
|
|
1098
1130
|
readonly approvalQueuePendingKey: {
|
|
1099
1131
|
readonly at: "GET /v1/approvals pending[] 行 · GET /v1/approvals/stream pending 帧(停驻技能卡的批准绑定三位;与助手收件箱行同一只投影)";
|
|
@@ -1126,6 +1158,76 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1126
1158
|
};
|
|
1127
1159
|
};
|
|
1128
1160
|
};
|
|
1161
|
+
/**
|
|
1162
|
+
* 在飞 run 的权限模式切档口 `POST /v1/runs/:id/permission-mode`(本版新端点)200 体的键集(<键> → 在场律)。
|
|
1163
|
+
* `satisfies Record<keyof PermissionModeVerbReply, …>`(体形属主 = `http/routes/run-permission-mode.ts`,路由按这只型铸体;键加一个而本表没跟 ⇒ tsc 红)。
|
|
1164
|
+
* `permissionMode` 的值是引擎回执原样(引擎的词表,不在本表)。
|
|
1165
|
+
*/
|
|
1166
|
+
readonly permissionModeVerbBodyKey: {
|
|
1167
|
+
readonly at: "POST /v1/runs/:id/permission-mode 200 体(<键> → 在场律)";
|
|
1168
|
+
readonly members: {
|
|
1169
|
+
taskId: {
|
|
1170
|
+
attr: string;
|
|
1171
|
+
since: string;
|
|
1172
|
+
};
|
|
1173
|
+
sessionId: {
|
|
1174
|
+
attr: string;
|
|
1175
|
+
since: string;
|
|
1176
|
+
};
|
|
1177
|
+
status: {
|
|
1178
|
+
attr: string;
|
|
1179
|
+
since: string;
|
|
1180
|
+
};
|
|
1181
|
+
permissionMode: {
|
|
1182
|
+
attr: string;
|
|
1183
|
+
since: string;
|
|
1184
|
+
};
|
|
1185
|
+
admission: {
|
|
1186
|
+
attr: string;
|
|
1187
|
+
since: string;
|
|
1188
|
+
};
|
|
1189
|
+
persisted: {
|
|
1190
|
+
attr: string;
|
|
1191
|
+
since: string;
|
|
1192
|
+
};
|
|
1193
|
+
persistMiss: {
|
|
1194
|
+
attr: string;
|
|
1195
|
+
since: string;
|
|
1196
|
+
};
|
|
1197
|
+
};
|
|
1198
|
+
};
|
|
1199
|
+
/** 同一口 200 体 `admission.foldedBy`:受理判官改词的站。`satisfies Record<PermissionModeAdmissionFold, …>`(词表属主 = `permission-mode-admission.ts` 的 `PERMISSION_MODE_ADMISSION_FOLDS`)。 */
|
|
1200
|
+
readonly permissionModeAdmissionFold: {
|
|
1201
|
+
readonly at: "POST /v1/runs/:id/permission-mode 200 体 admission.foldedBy";
|
|
1202
|
+
readonly members: {
|
|
1203
|
+
entry_floor: {
|
|
1204
|
+
attr: string;
|
|
1205
|
+
since: string;
|
|
1206
|
+
};
|
|
1207
|
+
disable_auto_mode: {
|
|
1208
|
+
attr: string;
|
|
1209
|
+
since: string;
|
|
1210
|
+
};
|
|
1211
|
+
};
|
|
1212
|
+
};
|
|
1213
|
+
/** 同一口 200 体 `persistMiss`:回写没落定的成因。`satisfies Record<PermissionModePersistMiss, …>`(词表属主 = `http/routes/run-permission-mode.ts` 的 `PERMISSION_MODE_PERSIST_MISSES`)。 */
|
|
1214
|
+
readonly permissionModePersistMiss: {
|
|
1215
|
+
readonly at: "POST /v1/runs/:id/permission-mode 200 体 persistMiss(persisted:false 时)";
|
|
1216
|
+
readonly members: {
|
|
1217
|
+
claim_released: {
|
|
1218
|
+
attr: string;
|
|
1219
|
+
since: string;
|
|
1220
|
+
};
|
|
1221
|
+
context_absent: {
|
|
1222
|
+
attr: string;
|
|
1223
|
+
since: string;
|
|
1224
|
+
};
|
|
1225
|
+
store_failed: {
|
|
1226
|
+
attr: string;
|
|
1227
|
+
since: string;
|
|
1228
|
+
};
|
|
1229
|
+
};
|
|
1230
|
+
};
|
|
1129
1231
|
/**
|
|
1130
1232
|
* 逐端点「应答面 → HTTP 状态」映射里**本版改了状态的面**(形照 `submitIdempotency`:`<端点>#<面>` → 状态;面是调用方能观察到的那一形,不是内部分支名)。
|
|
1131
1233
|
* `since` 记**这一面以这个状态答**的起始版本;每个成员的旧状态写在 CHANGELOG 对应条里(旧状态的那一形此前没有登记,清单里它们是「本版新上 wire」,不是 changed)。
|
|
@@ -1198,6 +1300,18 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1198
1300
|
readonly attr: 400;
|
|
1199
1301
|
readonly since: "7.136.0";
|
|
1200
1302
|
};
|
|
1303
|
+
readonly "POST /v1/sessions/:id/sync/import#anchor_outside_declared_entries(Phase A \u4F53\u7684 anchors[i]:entryId \u4E0D\u5728 entryIds \u91CC / \u5143\u7D20\u4E0D\u662F\u5E26\u4E32\u578B eventId \u4E0E entryId \u7684\u5BF9\u8C61;\u4F53 request.field_invalid)": {
|
|
1304
|
+
readonly attr: 400;
|
|
1305
|
+
readonly since: "7.141.0";
|
|
1306
|
+
};
|
|
1307
|
+
readonly "POST /v1/sessions/:id/fork#stamped_archive(DB_BACKEND=local;\u6E90\u5B58\u6863\u4ECD\u5E26\u66F4\u65E9\u7248\u672C\u5199\u4E0B\u7684\u5C5E\u4E3B\u6233;\u96F6\u5199;\u4F53 conflict + \u5E26\u6233\u5B58\u6863\u7684\u56FA\u5B9A\u53E5)": {
|
|
1308
|
+
readonly attr: 409;
|
|
1309
|
+
readonly since: "7.141.0";
|
|
1310
|
+
};
|
|
1311
|
+
readonly "POST /v1/sessions/:id/sync/import/:stagingId/entries#stamped_archive(DB_BACKEND=local;\u63D0\u4EA4\u843D\u5728\u4ECD\u5E26\u5C5E\u4E3B\u6233\u7684\u5B58\u6863\u4E0A;\u884C\u51C0\u96F6\u5199;\u4F53 conflict + \u5E26\u6233\u5B58\u6863\u7684\u56FA\u5B9A\u53E5)": {
|
|
1312
|
+
readonly attr: 409;
|
|
1313
|
+
readonly since: "7.141.0";
|
|
1314
|
+
};
|
|
1201
1315
|
readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#images_url_credential(\u65B0\u63D0\u4EA4;\u4F53 request.field_invalid + field images[i].url + reason url_userinfo|url_credential_param)": {
|
|
1202
1316
|
readonly attr: 400;
|
|
1203
1317
|
readonly since: "7.136.0";
|
|
@@ -1250,6 +1364,14 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1250
1364
|
readonly attr: 200;
|
|
1251
1365
|
readonly since: "7.137.0";
|
|
1252
1366
|
};
|
|
1367
|
+
readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.permissions.deny|ask \u5E26\u5C42\u6761\u76EE { rule, layer }(\u65B0\u63D0\u4EA4;layer = \u8BBE\u7F6E\u6765\u6E90\u8BCD)": {
|
|
1368
|
+
readonly attr: 200;
|
|
1369
|
+
readonly since: "7.141.0";
|
|
1370
|
+
};
|
|
1371
|
+
readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#user \u5C42 / \u5F62\u8DEF\u5F84\u89C4\u5219\u800C\u6267\u884C\u73AF\u5883\u7684\u914D\u7F6E\u6839\u8BFB\u4E0D\u51FA(\u6C99\u7BB1\u8F66\u9053\u6CA1\u8F6C SEMA_CONFIG_DIR \u4E14 home \u672A\u77E5;\u4F53 request.unprocessable + problems[].reason home_unresolvable;\u7EED\u8DD1 409 \u540C\u53E5)": {
|
|
1372
|
+
readonly attr: 422;
|
|
1373
|
+
readonly since: "7.141.0";
|
|
1374
|
+
};
|
|
1253
1375
|
readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#\u9650\u5236\u4FA7\u540D\u5185\u5E26 *(excludeTools)": {
|
|
1254
1376
|
readonly attr: 200;
|
|
1255
1377
|
readonly since: "7.137.0";
|
|
@@ -1341,6 +1463,29 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1341
1463
|
};
|
|
1342
1464
|
};
|
|
1343
1465
|
};
|
|
1466
|
+
/**
|
|
1467
|
+
* `GET /v1/sessions/:id/memory-status` 200 体上本版新出现的顶层键:`memorySync` —— 本部署记忆同步腿的停驻事实(部署事实,不随会话、不随层座 `?scope=`;
|
|
1468
|
+
* 唯一读口 = 同步执行器的 `parked()`)。形 `{ parked: Array<{ scope, wayOut }> }`,`parked: []` = 在同步、没有层停驻;游标盘路径不上 wire。
|
|
1469
|
+
*/
|
|
1470
|
+
readonly sessionMemoryStatusKey: {
|
|
1471
|
+
readonly at: "GET /v1/sessions/:id/memory-status 200 体顶层键(<键> → 在场律)";
|
|
1472
|
+
readonly members: {
|
|
1473
|
+
readonly memorySync: {
|
|
1474
|
+
readonly attr: "present-iff this deployment runs a memory sync leg;{parked:[{scope,wayOut}]} in sync order;parked:[] ⇔ no layer parked;deployment fact (same for every session, ?scope= not applied)";
|
|
1475
|
+
readonly since: "7.141.0";
|
|
1476
|
+
};
|
|
1477
|
+
};
|
|
1478
|
+
};
|
|
1479
|
+
/** 停驻层出路 `memorySync.parked[].wayOut` 的闭集(同一只词也在运维行 `memory_sync_layer_parked` 的 `wayOut` 上)。`delete_cursor` = 删掉这一层的同步游标文件,下一轮从空基线重收敛(不推删除)。 */
|
|
1480
|
+
readonly memorySyncWayOut: {
|
|
1481
|
+
readonly at: "GET /v1/sessions/:id/memory-status memorySync.parked[].wayOut";
|
|
1482
|
+
readonly members: {
|
|
1483
|
+
delete_cursor: {
|
|
1484
|
+
attr: string;
|
|
1485
|
+
since: string;
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
};
|
|
1344
1489
|
/**
|
|
1345
1490
|
* 拒体 / 应答体**句子的形**里本版换了或新增的(`<码>#<座>` → 句型)。句子是展示文本,机读分支按 `errorCode` / `field` / `reason`;本表登记的是「句型换了」,
|
|
1346
1491
|
* 给按字面匹配句子的消费方对账(码、状态、体键在这些成员上都没变,变的只有 `message`)。`attr` 写句型的骨架(`<…>` 是占位),旧句型写在 CHANGELOG 对应条里。
|
|
@@ -1384,6 +1529,14 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1384
1529
|
readonly attr: "<field> <规则句> — the URL is kept as written (a parked task's resume context, logs), while images[i] can carry the image bytes inline: send { data, mimeType } instead of a URL that holds the credential";
|
|
1385
1530
|
readonly since: "7.136.0";
|
|
1386
1531
|
};
|
|
1532
|
+
readonly "400 request.field_invalid#settings.permissions.deny|ask.bad_entry": {
|
|
1533
|
+
readonly attr: "<field>[<index>] is neither a non-empty rule string nor a { \"rule\", \"layer\" } entry (…) — every entry must be one. …";
|
|
1534
|
+
readonly since: "7.141.0";
|
|
1535
|
+
};
|
|
1536
|
+
readonly "400 request.field_invalid#settings.permissions.allow.bad_entry": {
|
|
1537
|
+
readonly attr: "<field>[<index>] is not a string — every entry must be a permission-rule string (a settings layer's { \"rule\", \"layer\" } entry is read in deny / ask only). …";
|
|
1538
|
+
readonly since: "7.141.0";
|
|
1539
|
+
};
|
|
1387
1540
|
readonly "400 request.field_invalid#a2aPeers.not_array": {
|
|
1388
1541
|
readonly attr: "head: a2aPeers is <shape>, not an array of A2A peer declarations";
|
|
1389
1542
|
readonly since: "7.136.0";
|
|
@@ -1786,6 +1939,19 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
1786
1939
|
readonly attr: "cadence-without-horizon-refuses-boot";
|
|
1787
1940
|
readonly since: "7.139.0";
|
|
1788
1941
|
};
|
|
1942
|
+
/** device 车道设备入口必填:`DEVICE_RELAY_URL` 行改述两种合法值(ws(s) URL / 字面 none)与缺席拒起;缺席说明由「缺席 ⇒ 设备按引擎地址拨」改为「无缺省」;行上新带可写词 none(url 行上的可写词原样回显)。 */
|
|
1943
|
+
readonly "GET /v1/config/catalog#rows[DEVICE_RELAY_URL].semantics": {
|
|
1944
|
+
readonly attr: "required-on-device-lane;ws-url-or-literal-none;none-with-bindings-warns";
|
|
1945
|
+
readonly since: "7.141.0";
|
|
1946
|
+
};
|
|
1947
|
+
readonly "GET /v1/config/catalog#rows[DEVICE_RELAY_URL].derivedDefaultNote": {
|
|
1948
|
+
readonly attr: "no-default;absent-refuses-boot";
|
|
1949
|
+
readonly since: "7.141.0";
|
|
1950
|
+
};
|
|
1951
|
+
readonly "GET /v1/config/catalog#rows[DEVICE_RELAY_URL].enumValues": {
|
|
1952
|
+
readonly attr: "none(echoed-verbatim)";
|
|
1953
|
+
readonly since: "7.141.0";
|
|
1954
|
+
};
|
|
1789
1955
|
/**
|
|
1790
1956
|
* MCP 远端失败句在面板与重拨回执上的出口读法:出口座的 `mcp-remote-text` 行(`trace/exit-seat.ts`)—— 与 trace / 通告同一个脱敏器(引擎记号 `[redacted]` = 已抹的值,原样;
|
|
1791
1957
|
* 引擎记号占了方案词位时头值余下的部分照抹;引擎放过的形照抹),界 200(切点不落进记号)。7.137.0 是按记号切开、逐段过 `redactSecrets` 的另一只读法
|
|
@@ -150,6 +150,13 @@ export const SELF_MINTED_WIRE = {
|
|
|
150
150
|
title: { attr: "-", since: "7.133.0" },
|
|
151
151
|
},
|
|
152
152
|
},
|
|
153
|
+
mcpTransportKind: {
|
|
154
|
+
at: "GET /v1/capabilities mcpTransportKinds[]",
|
|
155
|
+
members: {
|
|
156
|
+
stdio: { attr: "-", since: "7.141.0" },
|
|
157
|
+
http: { attr: "-", since: "7.141.0" },
|
|
158
|
+
},
|
|
159
|
+
},
|
|
153
160
|
credentialPlaneSandboxGitState: {
|
|
154
161
|
at: "GET /v1/capabilities credentialPlane.sandboxGit.state",
|
|
155
162
|
members: {
|
|
@@ -228,6 +235,13 @@ export const SELF_MINTED_WIRE = {
|
|
|
228
235
|
deploymentPackages: { attr: "present-iff deployment mod packages loaded at boot", since: "7.138.0" },
|
|
229
236
|
},
|
|
230
237
|
},
|
|
238
|
+
healthEngineLeaseKey: {
|
|
239
|
+
at: "GET /health engineLease",
|
|
240
|
+
members: {
|
|
241
|
+
lingerMs: { attr: "present-iff engine lease leg armed and observing", since: "7.141.0" },
|
|
242
|
+
tickMs: { attr: "present-iff engine lease leg armed and observing", since: "7.141.0" },
|
|
243
|
+
},
|
|
244
|
+
},
|
|
231
245
|
modelsRowKey: {
|
|
232
246
|
at: "GET /v1/models models[] 行键(<键> → 在场律)",
|
|
233
247
|
members: {
|
|
@@ -418,6 +432,33 @@ export const SELF_MINTED_WIRE = {
|
|
|
418
432
|
acceptableForm: { attr: "present-iff", since: "7.137.0" },
|
|
419
433
|
},
|
|
420
434
|
},
|
|
435
|
+
permissionModeVerbBodyKey: {
|
|
436
|
+
at: "POST /v1/runs/:id/permission-mode 200 体(<键> → 在场律)",
|
|
437
|
+
members: {
|
|
438
|
+
taskId: { attr: "always", since: "7.141.0" },
|
|
439
|
+
sessionId: { attr: "always", since: "7.141.0" },
|
|
440
|
+
status: { attr: "always;running", since: "7.141.0" },
|
|
441
|
+
permissionMode: { attr: "always;engine receipt verbatim { requested?, effective, foldedBy? }", since: "7.141.0" },
|
|
442
|
+
admission: { attr: "present-iff the admission judge changed the word;{ requested, admitted, foldedBy }", since: "7.141.0" },
|
|
443
|
+
persisted: { attr: "always", since: "7.141.0" },
|
|
444
|
+
persistMiss: { attr: "present-iff persisted:false", since: "7.141.0" },
|
|
445
|
+
},
|
|
446
|
+
},
|
|
447
|
+
permissionModeAdmissionFold: {
|
|
448
|
+
at: "POST /v1/runs/:id/permission-mode 200 体 admission.foldedBy",
|
|
449
|
+
members: {
|
|
450
|
+
entry_floor: { attr: "-", since: "7.141.0" },
|
|
451
|
+
disable_auto_mode: { attr: "-", since: "7.141.0" },
|
|
452
|
+
},
|
|
453
|
+
},
|
|
454
|
+
permissionModePersistMiss: {
|
|
455
|
+
at: "POST /v1/runs/:id/permission-mode 200 体 persistMiss(persisted:false 时)",
|
|
456
|
+
members: {
|
|
457
|
+
claim_released: { attr: "-", since: "7.141.0" },
|
|
458
|
+
context_absent: { attr: "-", since: "7.141.0" },
|
|
459
|
+
store_failed: { attr: "-", since: "7.141.0" },
|
|
460
|
+
},
|
|
461
|
+
},
|
|
421
462
|
endpointFaceStatus: {
|
|
422
463
|
at: "逐端点应答面 → 状态(<端点>#<面> → 状态;只登记本版改了状态的面)",
|
|
423
464
|
members: {
|
|
@@ -437,6 +478,9 @@ export const SELF_MINTED_WIRE = {
|
|
|
437
478
|
"POST /v1/sessions/:id/sync/import#identical_repush_blob_missing(体 missing_blob)": { attr: 422, since: "7.136.0" },
|
|
438
479
|
"PATCH /v1/sessions/:id#title_no_visible_character(体 request.field_invalid)": { attr: 400, since: "7.136.0" },
|
|
439
480
|
"POST /v1/sessions/:id/sync/import#title_no_visible_character(Phase A 体的 title;体 request.field_invalid)": { attr: 400, since: "7.136.0" },
|
|
481
|
+
"POST /v1/sessions/:id/sync/import#anchor_outside_declared_entries(Phase A 体的 anchors[i]:entryId 不在 entryIds 里 / 元素不是带串型 eventId 与 entryId 的对象;体 request.field_invalid)": { attr: 400, since: "7.141.0" },
|
|
482
|
+
"POST /v1/sessions/:id/fork#stamped_archive(DB_BACKEND=local;源存档仍带更早版本写下的属主戳;零写;体 conflict + 带戳存档的固定句)": { attr: 409, since: "7.141.0" },
|
|
483
|
+
"POST /v1/sessions/:id/sync/import/:stagingId/entries#stamped_archive(DB_BACKEND=local;提交落在仍带属主戳的存档上;行净零写;体 conflict + 带戳存档的固定句)": { attr: 409, since: "7.141.0" },
|
|
440
484
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#images_url_credential(新提交;体 request.field_invalid + field images[i].url + reason url_userinfo|url_credential_param)": { attr: 400, since: "7.136.0" },
|
|
441
485
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#a2aPeers_malformed(新提交;列表不是数组 / 条目不是对象 / 键值判不出形;体 request.field_invalid)": { attr: 400, since: "7.136.0" },
|
|
442
486
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#a2aPeers_unknown_key(新提交;词表外的键;体 request.body_shape + unknownKeys)": { attr: 400, since: "7.136.0" },
|
|
@@ -450,6 +494,8 @@ export const SELF_MINTED_WIRE = {
|
|
|
450
494
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#skills[i].mods|agents[i].skills[j].mods(新提交;体 request.field_invalid)": { attr: 400, since: "7.137.0" },
|
|
451
495
|
"PUT /v1/sessions/:id/policy|POST /v1/sessions/:id/sync/import#toolDeny 名内带 *(`*` / `mcp__git*` / `Bas*`)": { attr: 200, since: "7.137.0" },
|
|
452
496
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#限制侧名内带 *(settings.permissions.deny|ask)": { attr: 200, since: "7.137.0" },
|
|
497
|
+
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.permissions.deny|ask 带层条目 { rule, layer }(新提交;layer = 设置来源词)": { attr: 200, since: "7.141.0" },
|
|
498
|
+
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#user 层 / 形路径规则而执行环境的配置根读不出(沙箱车道没转 SEMA_CONFIG_DIR 且 home 未知;体 request.unprocessable + problems[].reason home_unresolvable;续跑 409 同句)": { attr: 422, since: "7.141.0" },
|
|
453
499
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#限制侧名内带 *(excludeTools)": { attr: 200, since: "7.137.0" },
|
|
454
500
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#限制侧名内带 *(skills[i].disallowedTools|agents[i].skills[j].disallowedTools)": { attr: 200, since: "7.137.0" },
|
|
455
501
|
"POST /v1/tasks|/v1/tasks/stream|/v1/runs#限制侧名内带 *(agents[i].denyTools)": { attr: 200, since: "7.137.0" },
|
|
@@ -477,6 +523,18 @@ export const SELF_MINTED_WIRE = {
|
|
|
477
523
|
"POST /v1/sessions/:id/memory/erase#body.scope": { attr: "optional;non-empty-string else 400 request.field_invalid;names the layer whose store answers;absent ⇒ the deployment's store;selector still minted from the path", since: "7.140.0" },
|
|
478
524
|
},
|
|
479
525
|
},
|
|
526
|
+
sessionMemoryStatusKey: {
|
|
527
|
+
at: "GET /v1/sessions/:id/memory-status 200 体顶层键(<键> → 在场律)",
|
|
528
|
+
members: {
|
|
529
|
+
memorySync: { attr: "present-iff this deployment runs a memory sync leg;{parked:[{scope,wayOut}]} in sync order;parked:[] ⇔ no layer parked;deployment fact (same for every session, ?scope= not applied)", since: "7.141.0" },
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
memorySyncWayOut: {
|
|
533
|
+
at: "GET /v1/sessions/:id/memory-status memorySync.parked[].wayOut",
|
|
534
|
+
members: {
|
|
535
|
+
delete_cursor: { attr: "-", since: "7.141.0" },
|
|
536
|
+
},
|
|
537
|
+
},
|
|
480
538
|
refusalSentenceForm: {
|
|
481
539
|
at: "拒体 message 的句型(<码>#<座> → 句型骨架;码 / 状态 / 机读位不变)",
|
|
482
540
|
members: {
|
|
@@ -489,6 +547,8 @@ export const SELF_MINTED_WIRE = {
|
|
|
489
547
|
"503 state.file_history_unreadable#store_deployment_fault(会话同步三条拉取口)": { attr: "this session's stored state cannot be read: the store does not match what this deployment requires (a table is missing or the database account lacks a privilege), so nothing was exported — retrying will not help until an operator repairs the store", since: "7.137.0" },
|
|
490
548
|
"connect_failed(run 失败终局)#snapshot_bucket_missing(k8s 车道读 latest 得 404 NoSuchBucket;连沙箱失败,一只 pod 都不建)": { attr: "workspace space pointer read failed (snapshot_bucket_missing): the workspace snapshot bucket <name> (WORKSPACE_SNAPSHOT_BUCKET; default workspaces) does not exist in the object store — refusing to start this run … Ways out: create the bucket, or set WORKSPACE_SNAPSHOT_BUCKET to one that exists, or set WORKSPACE_PERSIST=off …", since: "7.136.0" },
|
|
491
549
|
"400 request.field_invalid#images[i].url.credential": { attr: "<field> <规则句> — the URL is kept as written (a parked task's resume context, logs), while images[i] can carry the image bytes inline: send { data, mimeType } instead of a URL that holds the credential", since: "7.136.0" },
|
|
550
|
+
"400 request.field_invalid#settings.permissions.deny|ask.bad_entry": { attr: "<field>[<index>] is neither a non-empty rule string nor a { \"rule\", \"layer\" } entry (…) — every entry must be one. …", since: "7.141.0" },
|
|
551
|
+
"400 request.field_invalid#settings.permissions.allow.bad_entry": { attr: "<field>[<index>] is not a string — every entry must be a permission-rule string (a settings layer's { \"rule\", \"layer\" } entry is read in deny / ask only). …", since: "7.141.0" },
|
|
492
552
|
"400 request.field_invalid#a2aPeers.not_array": { attr: "head: a2aPeers is <shape>, not an array of A2A peer declarations", since: "7.136.0" },
|
|
493
553
|
"400 request.field_invalid#a2aPeers[i].not_object": { attr: "head: a2aPeers[i] is <shape>, not an A2A peer declaration (an object)", since: "7.136.0" },
|
|
494
554
|
"400 request.field_invalid#a2aPeers[i].<key>.unusable(url / cardUrl 凭据拒之外的键值坏形)": { attr: "<field> (peer <name>) is not a usable declaration — <rule> …", since: "7.136.0" },
|
|
@@ -605,6 +665,9 @@ export const SELF_MINTED_WIRE = {
|
|
|
605
665
|
"GET /v1/config/catalog#rows[CONFIG_PROVIDER].semantics": { attr: "remote-without-center-url-refuses-boot", since: "7.139.0" },
|
|
606
666
|
"GET /v1/config/catalog#rows[RETENTION_MODE].semantics": { attr: "enforce-without-horizon-or-cadence-refuses-boot", since: "7.139.0" },
|
|
607
667
|
"GET /v1/config/catalog#rows[RETENTION_SWEEP_INTERVAL_SEC].semantics": { attr: "cadence-without-horizon-refuses-boot", since: "7.139.0" },
|
|
668
|
+
"GET /v1/config/catalog#rows[DEVICE_RELAY_URL].semantics": { attr: "required-on-device-lane;ws-url-or-literal-none;none-with-bindings-warns", since: "7.141.0" },
|
|
669
|
+
"GET /v1/config/catalog#rows[DEVICE_RELAY_URL].derivedDefaultNote": { attr: "no-default;absent-refuses-boot", since: "7.141.0" },
|
|
670
|
+
"GET /v1/config/catalog#rows[DEVICE_RELAY_URL].enumValues": { attr: "none(echoed-verbatim)", since: "7.141.0" },
|
|
608
671
|
"GET /v1/sessions/:id/mcp#servers[].error": { attr: "exit-seat:mcp-remote-text(engine-mark=masked-value)+truncate:200", since: "7.138.0" },
|
|
609
672
|
"POST /v1/sessions/:id/mcp/reconnect#reason|status.error|listingIncomplete.error": { attr: "exit-seat:mcp-remote-text(engine-mark=masked-value)+truncate:200", since: "7.138.0" },
|
|
610
673
|
"GET /v1/config/catalog#rows[MODEL_VISION].semantics": { attr: "names-engine-notice:model.capability_downgraded", since: "7.137.0" },
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CardVoidPort } from "./card-void.js";
|
|
2
|
+
/**
|
|
3
|
+
* 结果上若有验证器自己的停驻(带凭据)⇒ 作废它那张 pending 卡;否则零 I/O。**必须在出口封口之前调**(封口摘掉的正是这里要用的凭据)。
|
|
4
|
+
* 不抛:作废失败只让卡回到修前的形(由兜底收割),响亮留痕({@link VOID_FAILED});结算照常往下走。
|
|
5
|
+
* 卡已不 pending / 已不在 ⇒ 什么都不做(CAS 输给了收割,结局相同)。卡的会话与停驻报的验证器会话不一致 ⇒ 不动它(只作废**这一张**)。
|
|
6
|
+
*/
|
|
7
|
+
export declare function voidVerifierPauseCard(result: unknown, cards: CardVoidPort | undefined): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=verifier-pause-card.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { voidPendingCard } from "./card-void.js";
|
|
2
|
+
const VOID_FAILED = "server.verifier-pause.card-void-failed";
|
|
3
|
+
export async function voidVerifierPauseCard(result, cards) {
|
|
4
|
+
const pause = verifierPauseCardOf(result);
|
|
5
|
+
if (pause !== undefined)
|
|
6
|
+
await voidPendingCard(pause, cards, VOID_FAILED);
|
|
7
|
+
}
|
|
8
|
+
function verifierPauseCardOf(result) {
|
|
9
|
+
if (result === null || typeof result !== "object")
|
|
10
|
+
return undefined;
|
|
11
|
+
const pause = result.verification?.verifierPause;
|
|
12
|
+
if (pause === null || typeof pause !== "object")
|
|
13
|
+
return undefined;
|
|
14
|
+
const { checkpointToken, sessionId } = pause;
|
|
15
|
+
return typeof checkpointToken === "string" && checkpointToken !== "" && typeof sessionId === "string"
|
|
16
|
+
? { token: checkpointToken, sessionId }
|
|
17
|
+
: undefined;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=verifier-pause-card.js.map
|
|
@@ -107,17 +107,15 @@ export declare const PLANE_REFUSAL_INVARIANT_OF: {
|
|
|
107
107
|
readonly "config.gateway_fallback_without_primary": "model-route-endpoint";
|
|
108
108
|
};
|
|
109
109
|
/**
|
|
110
|
-
*
|
|
110
|
+
* 契约包出码、执法者是本仓但今天**未执法**的组拒码:本地配置腿上「管模型面的目录会顶替已声明的 env 表、决定不是 `replaced`」那道闸。
|
|
111
111
|
*
|
|
112
|
-
* 词义:settings-schema 发布说明里的「engine / 引擎一侧」指**本仓(worker)**,不是 `@sema-agent/core` ——
|
|
113
|
-
* `MODEL_ID` / `config.d`
|
|
112
|
+
* 词义:settings-schema 发布说明里的「engine / 引擎一侧」指**本仓(worker)**,不是 `@sema-agent/core` —— 这个码要的全部输入(本地配置腿、env 表、模型面 stage 与组拒口)只在本仓,core 里没有读
|
|
113
|
+
* `MODEL_ID` / `config.d` 的地方、也没有组拒码。所以本仓 stage 现在没有对应的不变量、不铸这个码,不是因为「归引擎」,而是**还没做**:
|
|
114
114
|
* · `CATALOG_REPLACES_ENV_MODELS_CODE`:执法是一整组跨仓件 —— 开机迁移 SS-M11(铸决定文档)· 本地腿每拍读决定(读数身份进候选的 etag)· 目录信任判官走根级文档 · 命令行 / 桌面 / 客户端核心三个写者先接契约包的计划助手;
|
|
115
115
|
* 候设计票。在那之前,候选目录管着模型面而 env 表也声明了时,仍照旧由目录服务(与升级前逐位同)。
|
|
116
|
-
*
|
|
117
|
-
* (summarize 的链是 → default,即回落缺省模型)并通告 `model.role_defaulted`;链上没有可解的模型才拒 —— 前提与所钉 core 相抵,候上游(settings-schema / core)重定义或退役这个码;在那之前 summarize 角色绑到不可用条目时仍是角色绑定那一行 warn(`ROLE_BINDING_UNAVAILABLE_HINT`),不是组拒。
|
|
118
|
-
* 两码开始被铸之后,它们进 `/health.modelRefusals.plane` 的座位是**另案设计**(现在没有座:见 `model-plane-face.ts` 对「装配期被引擎整份拒收」的披露),不在这张表里偷铸一个不变量替它占位。
|
|
116
|
+
* 这个码开始被铸之后,它进 `/health.modelRefusals.plane` 的座位是**另案设计**(现在没有座:见 `model-plane-face.ts` 对「装配期被引擎整份拒收」的披露),不在这张表里偷铸一个不变量替它占位。
|
|
119
117
|
*/
|
|
120
|
-
export declare const ENGINE_MINTED_PLANE_REFUSAL_CODES: readonly ["config.catalog_replaces_env_models"
|
|
118
|
+
export declare const ENGINE_MINTED_PLANE_REFUSAL_CODES: readonly ["config.catalog_replaces_env_models"];
|
|
121
119
|
/**
|
|
122
120
|
* [ref] —— **「无中心配置」档的候选**:中心凭证换人时,server 把在用的中心配置降到这一档({@link applyEffective} 吃它,和吃任何候选走同一条 stage → swap → commit)。
|
|
123
121
|
* 它的意思是「**撤回**中心配置」—— 中心下发的每个热面回 env 底:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { expandTiers, modelOriginOf, resolveTaskModel as coreResolveTaskModel } from "@sema-agent/core";
|
|
2
|
-
import { CATALOG_REPLACES_ENV_MODELS_CODE,
|
|
2
|
+
import { CATALOG_REPLACES_ENV_MODELS_CODE, WEB_ADMIN_ENV, narrowAtMention, resolveActiveTiers, resolveCatalogDefaultModel } from "@sema-agent/settings-schema";
|
|
3
3
|
import { modelKeyPoison } from "../key-resolver.js";
|
|
4
4
|
import { buildEnvModelIdNotServedNotice, mintCapabilityKeys, readAtMention, servedModelTableLeg } from "../model-select.js";
|
|
5
5
|
import { applyAutoCompactWindow, buildModelCostKey, ownCredentialHitsInForce, parseAutonomy, unmatchableToolNamesRefusal } from "../config.js";
|
|
@@ -248,7 +248,7 @@ export const PLANE_REFUSAL_INVARIANT_OF = {
|
|
|
248
248
|
"config.model_route_endpoint_missing": "model-route-endpoint",
|
|
249
249
|
"config.gateway_fallback_without_primary": "model-route-endpoint",
|
|
250
250
|
};
|
|
251
|
-
export const ENGINE_MINTED_PLANE_REFUSAL_CODES = [CATALOG_REPLACES_ENV_MODELS_CODE
|
|
251
|
+
export const ENGINE_MINTED_PLANE_REFUSAL_CODES = [CATALOG_REPLACES_ENV_MODELS_CODE];
|
|
252
252
|
function modelPlaneGroupReport(group) {
|
|
253
253
|
return {
|
|
254
254
|
applied: MODEL_PLANE_DOMAINS.flatMap((d) => (group.stages[d] !== undefined ? MODEL_PLANE_SURFACES[d] : [])),
|
|
@@ -37,7 +37,7 @@ export interface CandidateDomainError {
|
|
|
37
37
|
readonly error: string;
|
|
38
38
|
}
|
|
39
39
|
/** 判官拒一份候选的成因(闭集):某个域判形失败(含 prompts 面)`domain_invalid` ∪ 被拒文档自带的词(契约闭集 `CONFIG_DOCUMENT_REFUSAL_REASONS`:
|
|
40
|
-
* `empty` / `invalid_json` / `not_object` / `io` 文件层,`retired_domain` 墓碑)—— 被拒文档的词表只在契约一处定义,这里派生(契约加词 ⇒ 按词穷举的读者编译红)。 */
|
|
40
|
+
* `empty` / `invalid_json` / `not_object` / `io` / `too_deep` 文件层,`retired_domain` 墓碑)—— 被拒文档的词表只在契约一处定义,这里派生(契约加词 ⇒ 按词穷举的读者编译红)。 */
|
|
41
41
|
export type CandidateRejectReason = "domain_invalid" | ConfigDocumentRefusalReason;
|
|
42
42
|
/** 拒判里的一条:哪一域、为什么(读腿 / 契约包的原句)、成因词。`config_candidate_rejected` 行的 `errors` 就是这一列。 */
|
|
43
43
|
export interface CandidateDomainRejection extends CandidateDomainError {
|
|
@@ -31,8 +31,8 @@ import { type ConfigDocumentRefusal, type DroppedEntryIdentity, type DroppedEntr
|
|
|
31
31
|
* 带事实 ⇒ 一份被拒文档(契约的类型 `ConfigDocumentRefusal` 的墓碑臂:`document` = 退役域名,`reason: "retired_domain"`,`error` / `migration` 取
|
|
32
32
|
* `RetiredDomainError` 的同名字段)、这一键从体上拿掉(其余域照读、版本照读,判官整拒这份候选);缺席 / `{}` ⇒ 不理会(契约读腿自己丢 `{}`)。
|
|
33
33
|
* 体不是对象 ⇒ 原样交回、不判(载荷形错,契约读腿抛)。墓碑判据只在契约包,这里只分键。
|
|
34
|
-
* 被拒文档是两条读腿同形的发现(判决只在候选判官 `candidate-gate.ts` 的 `judgeConfigCandidate`,成因词 = 发现自带的 `reason`)
|
|
35
|
-
* `
|
|
34
|
+
* 被拒文档是两条读腿同形的发现(判决只在候选判官 `candidate-gate.ts` 的 `judgeConfigCandidate`,成因词 = 发现自带的 `reason`):本地腿的被拒文档是契约单读口
|
|
35
|
+
* `FileConfigStore.read()` 那一读的拒单原样(`config-provider.ts`),wire 上没有文件层,只有这一种墓碑。`error` 本模块不脱敏(与折叠产物同律):各腿在自己的产出边界上过
|
|
36
36
|
* `redactSecrets` 兜底、不过 `redactConfigError`(句子不含配置值;引号段读法会把句中点名的域名换成指纹)。
|
|
37
37
|
*/
|
|
38
38
|
export declare function separateRetiredDomains(body: unknown): {
|
|
@@ -20,9 +20,10 @@ dials the device, so the device needs no inbound port, no public address and no
|
|
|
20
20
|
(this deployment has no device lane) or an object `{ enabled: true, protocolVersion, maxInflightPerDevice,
|
|
21
21
|
wsPath, management, relayUrl? }`. Read `wsPath` from there rather than hardcoding it: the path is part of the wire
|
|
22
22
|
contract and reading it means a future path change is not a cross-repo break. `relayUrl` (server 7.137.0+) is present
|
|
23
|
-
only when the operator declared
|
|
23
|
+
only when the operator declared a relay URL (`DEVICE_RELAY_URL`): the engine sits behind a relay or gateway and the device
|
|
24
24
|
must dial that absolute `ws://` / `wss://` URL verbatim instead of the engine's own address — do not rebuild it from
|
|
25
|
-
the engine address and `wsPath`. Absent ⇒ dial the engine's own address at `wsPath`, as before
|
|
25
|
+
the engine address and `wsPath`. Absent ⇒ dial the engine's own address at `wsPath`, as before (the operator declared
|
|
26
|
+
`DEVICE_RELAY_URL=none`; a device-lane server does not start without one of the two declarations). `protocolVersion` tells you
|
|
26
27
|
which protocol **revision** the server speaks before you spend a handshake finding out (§2.1: the revision decides
|
|
27
28
|
which `errorCode` words the server accepts from you).
|
|
28
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/server",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.141.0",
|
|
4
4
|
"description": "Sema Server — the server/API implementation layer for Sema, wiring core, registry, model providers, and cloud agent execution. Built on @sema-agent/core.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@sema-agent/core": "7.60.0",
|
|
73
|
-
"@sema-agent/settings-schema": "
|
|
73
|
+
"@sema-agent/settings-schema": "16.0.0",
|
|
74
74
|
"e2b": "^2.28.0",
|
|
75
75
|
"libsodium-wrappers": "^0.8.4",
|
|
76
76
|
"mysql2": "^3.22.4",
|