@sema-agent/sdk 4.2.0 → 5.0.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 +22 -0
- package/dist/control-types.d.ts +22 -4
- package/dist/control-types.d.ts.map +1 -1
- package/dist/control-types.js +3 -1
- package/dist/control-types.js.map +1 -1
- package/dist/health.d.ts +76 -7
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +40 -2
- package/dist/health.js.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/registry/auth.d.ts.map +1 -1
- package/dist/registry/auth.js +3 -1
- package/dist/registry/auth.js.map +1 -1
- package/dist/registry/health.d.ts +6 -1
- package/dist/registry/health.d.ts.map +1 -1
- package/dist/registry/health.js +6 -4
- package/dist/registry/health.js.map +1 -1
- package/dist/registry/index.d.ts +7 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +7 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/me-config.d.ts +2 -2
- package/dist/registry/me-config.d.ts.map +1 -1
- package/dist/registry/me-config.js +1 -1
- package/dist/registry/me-config.js.map +1 -1
- package/dist/registry/scope-config-feedback.d.ts +3 -3
- package/dist/registry/scope-config-feedback.d.ts.map +1 -1
- package/dist/registry/scope-config-feedback.js +3 -3
- package/dist/registry/scope-config-feedback.js.map +1 -1
- package/dist/resources/attachments.d.ts +9 -2
- package/dist/resources/attachments.d.ts.map +1 -1
- package/dist/resources/attachments.js.map +1 -1
- package/dist/resources/control/secrets.d.ts +10 -1
- package/dist/resources/control/secrets.d.ts.map +1 -1
- package/dist/resources/control/secrets.js +10 -1
- package/dist/resources/control/secrets.js.map +1 -1
- package/dist/resources/fleet.d.ts +3 -2
- package/dist/resources/fleet.d.ts.map +1 -1
- package/dist/resources/fleet.js.map +1 -1
- package/dist/resources/images.d.ts +11 -2
- package/dist/resources/images.d.ts.map +1 -1
- package/dist/resources/images.js +20 -5
- package/dist/resources/images.js.map +1 -1
- package/dist/resources/leader.d.ts +7 -3
- package/dist/resources/leader.d.ts.map +1 -1
- package/dist/resources/leader.js +7 -3
- package/dist/resources/leader.js.map +1 -1
- package/dist/resources/ops.d.ts +29 -2
- package/dist/resources/ops.d.ts.map +1 -1
- package/dist/resources/ops.js +6 -1
- package/dist/resources/ops.js.map +1 -1
- package/dist/resources/session-sync.d.ts +77 -17
- package/dist/resources/session-sync.d.ts.map +1 -1
- package/dist/resources/session-sync.js +81 -20
- package/dist/resources/session-sync.js.map +1 -1
- package/dist/resources/sessions.d.ts +72 -12
- package/dist/resources/sessions.d.ts.map +1 -1
- package/dist/resources/sessions.js +29 -6
- package/dist/resources/sessions.js.map +1 -1
- package/dist/resources/trace.d.ts +17 -3
- package/dist/resources/trace.d.ts.map +1 -1
- package/dist/resources/trace.js +25 -5
- package/dist/resources/trace.js.map +1 -1
- package/dist/resources/workflows.d.ts +42 -10
- package/dist/resources/workflows.d.ts.map +1 -1
- package/dist/resources/workflows.js +46 -9
- package/dist/resources/workflows.js.map +1 -1
- package/dist/resources/workspace.d.ts +36 -11
- package/dist/resources/workspace.d.ts.map +1 -1
- package/dist/resources/workspace.js.map +1 -1
- package/dist/sync.d.ts +37 -8
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +24 -8
- package/dist/sync.js.map +1 -1
- package/dist/transport.d.ts +17 -3
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +18 -1
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +88 -27
- package/dist/types.d.ts.map +1 -1
- package/openapi.yaml +174 -73
- package/package.json +2 -2
- package/registry-openapi.yaml +34 -3
package/README.md
CHANGED
|
@@ -40,6 +40,28 @@ for await (const ev of client.runs.events(task.taskId)) {
|
|
|
40
40
|
|
|
41
41
|
Typed errors (`APIError` hierarchy: `AuthError`, `RateLimitedError`, `ConflictError`, `ApprovalStaleError`, …) let callers branch on semantics instead of strings.
|
|
42
42
|
|
|
43
|
+
## 5.0.0 — manual-audit BREAKING corrections (five, all lie-removals)
|
|
44
|
+
|
|
45
|
+
Every change removes a documented lie rather than adding behavior; migration is mechanical:
|
|
46
|
+
|
|
47
|
+
1. **`Capabilities.excludeTools` / `deferTools` deleted** (CAPS-OPS-1). No server version ever emitted them; the real fields live on `TaskRequest` (unchanged). If you read them off capabilities, you were always reading `undefined` — delete the branch.
|
|
48
|
+
2. **Fabricated fallbacks → honest `null`** (RC-2/-3): `getPublishState().approvalsRequired` (`number | null` — absent now means *unknown*, treat as fail-closed, not "no approvals needed"); `getScopeConfigDraft()/putScopeConfigDraft()` `version` (`number | null` — `0` was a legal-looking CAS baseline that could overwrite another writer); `putMeConfig()` result `scope`/`updatedAt` (`string | null` — `""` was a third state neither side recognized).
|
|
49
|
+
3. **`pollUntilApproved` abort → standard `AbortError`** (RC-8): a caller-side cancel no longer masquerades as the server code `expired_token` (whose documented semantics — "restart the flow" — made cancellation restart the flow). Branch on `err.name === "AbortError"`.
|
|
50
|
+
4. **`WorkflowRunStatus` drops phantom `queued`** (X-20): core's closed set is `running|completed|failed`; the open arm still accepts unknown strings.
|
|
51
|
+
5. **`images.list()` `nextCursor` is `string | null`** (wire truth: always emitted, `null` on the last page). `r.nextCursor == null` remains the correct termination test.
|
|
52
|
+
|
|
53
|
+
## 4.3.0 — manual-audit additive batch (no breaking change)
|
|
54
|
+
|
|
55
|
+
The ch4–ch7 additive claims from the incorporated manual (`docs/manual/`, blackboard [2404]②), all zero-BREAKING:
|
|
56
|
+
|
|
57
|
+
- **session-sync**: `PushSessionOptions.logDigest` is wired (and skips the local `identical` short-circuit — the digest IS the content check); `toNdjsonStream` opt-in streaming push (`stream:true`, needs fetch `duplex:"half"`); default remains byte-identical.
|
|
58
|
+
- **capabilities/health**: `TaskRequest.retainSubagentSessions` + `forwardSubagentEvents` (the two knobs whose capability bits existed without the field); `probeAuth` distinguishes `principal_required` (a VALID service token on a multi-tenant worker is not "unauthorized"); `EngineHealth` +6 previously-undeclared keys; `SendfileLinkRow` fully typed; workspace list/tree return types exported (and now inside the schema gate).
|
|
59
|
+
- **fleet/workflows**: `journal(limit, offset)` — `nextOffset` is finally consumable; `WorkflowStreamEvent` error arm carries `errorCode`, meta arm carries `data.type`; `bakes.ingest` checks `res.ok` before parsing (gateway HTML 502 → typed error, not SyntaxError); phantom `FleetFrame` meta `ts` removed (server never sent it).
|
|
60
|
+
- **registry/control**: `REGISTRY_OAUTH_ERROR_CODES` + `CONTROL_ROLES` exported as values; registry-core anchor re-pinned to ^0.13.0 with a declared-vs-installed lockstep gate; registry spec gate upgraded to path × method (which immediately surfaced the publish `get`/`202`/`?source=published` gaps — all now in spec).
|
|
61
|
+
- New gates: `Capabilities` bidirectional setdiff (fixture modernized to server 5.3.0), probeAuth suite (was zero-coverage).
|
|
62
|
+
|
|
63
|
+
Known deferred (major batch): `images.list` `nextCursor` type widening to `| null` (wire truth; `== null` is the correct termination test today).
|
|
64
|
+
|
|
43
65
|
## 4.2.0 — spec-audit fixes, additive (no breaking change)
|
|
44
66
|
|
|
45
67
|
[2400] 说明书审计 ch1–ch3 的修复车。全部 additive:没有类型收窄、没有删面。三处**行为**变化写在表里的前三行
|
package/dist/control-types.d.ts
CHANGED
|
@@ -14,14 +14,32 @@
|
|
|
14
14
|
* in any of these types, never in an error message (errors.ts scrub), never logged.
|
|
15
15
|
*/
|
|
16
16
|
/** The config domains live behind GET/PUT /api/config/[domain]. Open string — the registry is the source of
|
|
17
|
-
* truth for the exact set (DOMAIN_SCHEMAS); a stale hard-coded union here would drift.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* truth for the exact set (`DOMAIN_SCHEMAS`); a stale hard-coded union here would drift.
|
|
18
|
+
*
|
|
19
|
+
* 🔴 **域集刷新到 registry-core 0.13.0 实测 16 键**(4.3.0,RC-7 —— 此前这段列的是 0.6 的名单,少了六个域、
|
|
20
|
+
* 多了三个早已下线的名字;类型是开放 `string` 所以运行时不断,但照它探索「有哪些可管理域」的操作者
|
|
21
|
+
* 会完全看不见新面)。
|
|
22
|
+
* ⚠️ 下面两行的 `LIVE-DOMAINS:` / `RETIRED-DOMAINS:` 是**机器标记**,`test/control-resources.test.ts` 的
|
|
23
|
+
* 域集锚按它俩切段并与 `DOMAIN_SCHEMAS` 双向对账 —— 别改标记文字,也别把域名写到标记行之外。
|
|
24
|
+
* LIVE-DOMAINS: `models` `rosters` `skills` `mcp` `plugins` `scenarios` `systems` `collab`
|
|
25
|
+
* `workers` `hosts` `runtime` `governance` `entitlement` `execution` `projects` `prompts`
|
|
26
|
+
* RETIRED-DOMAINS: `teams` `auth` `providers`
|
|
27
|
+
* (`teams` 在 server 侧只作为 effective 的 legacy 透传键存在,已不是 `DOMAIN_SCHEMAS` 域。)
|
|
28
|
+
* 新增里有三个是 server 5.x 的**活跃消费面**,别当摆设:`prompts`(prompt artifact/blob 拉取)、
|
|
29
|
+
* `execution`(sealed execution keys)、`entitlement`(per-principal 生效配置)。
|
|
30
|
+
* 单源仍是 registry-core;本段由 `test/control-resources.test.ts` 的域集锚测试机器对账,不靠人肉记得。 */
|
|
20
31
|
export type ConfigDomain = string;
|
|
21
32
|
/** Min RBAC role a write needs. Read endpoints accept any authenticated role (viewer+). The SDK does NOT
|
|
22
33
|
* hard-code the per-domain write-role table (domainWriteRole drifts with the registry) — it sends the write
|
|
23
|
-
* and surfaces a 403 as a ControlForbiddenError. This type is for documentation/typing only.
|
|
34
|
+
* and surfaces a 403 as a ControlForbiddenError. This type is for documentation/typing only.
|
|
35
|
+
*
|
|
36
|
+
* 🔴 值域与 registry-core 的 `USER_ROLES` 逐字等值,并由 `test/control-resources.test.ts` 的锚测试对账
|
|
37
|
+
* (4.3.0,RC-7):此前它是**手抄且零锚**的 —— 与 registry 面的 `OAUTH_ERROR_CODES` 有锚形成对照,
|
|
38
|
+
* 同一个域内两套标准。 */
|
|
24
39
|
export type ControlRole = "viewer" | "editor" | "publisher" | "admin";
|
|
40
|
+
/** {@link ControlRole} 的**运行时值**(锚测试对账用,也让消费端能枚举/校验)。顺序与 registry-core
|
|
41
|
+
* `USER_ROLES` 一致 —— 它是**递增权限序**,`indexOf` 可以直接当「够不够格」的比较基准。 */
|
|
42
|
+
export declare const CONTROL_ROLES: readonly ["viewer", "editor", "publisher", "admin"];
|
|
25
43
|
/** GET /api/config/[domain] → the domain value + the GLOBAL config version (echo it back as `baseVersion` on a
|
|
26
44
|
* PUT for true optimistic locking). `value` is the domain's own (already schema-valid) payload — left `unknown`
|
|
27
45
|
* because the SDK does not interpret per-domain shapes (use control.config.schema to introspect them). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-types.d.ts","sourceRoot":"","sources":["../src/control-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH
|
|
1
|
+
{"version":3,"file":"control-types.d.ts","sourceRoot":"","sources":["../src/control-types.ts"],"names":[],"mappings":"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"}
|
package/dist/control-types.js
CHANGED
|
@@ -13,5 +13,7 @@
|
|
|
13
13
|
* 🔴 secret discipline: the registry token is the SAME tier of secret as the worker token — it never appears
|
|
14
14
|
* in any of these types, never in an error message (errors.ts scrub), never logged.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
/** {@link ControlRole} 的**运行时值**(锚测试对账用,也让消费端能枚举/校验)。顺序与 registry-core
|
|
17
|
+
* `USER_ROLES` 一致 —— 它是**递增权限序**,`indexOf` 可以直接当「够不够格」的比较基准。 */
|
|
18
|
+
export const CONTROL_ROLES = ["viewer", "editor", "publisher", "admin"];
|
|
17
19
|
//# sourceMappingURL=control-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-types.js","sourceRoot":"","sources":["../src/control-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
1
|
+
{"version":3,"file":"control-types.js","sourceRoot":"","sources":["../src/control-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4BH;iEACiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC"}
|
package/dist/health.d.ts
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* require an AgentClient:
|
|
4
4
|
*
|
|
5
5
|
* ① {@link probeHealth} — process-noise liveness. `/health` is the worker's UNAUTHENTICATED door
|
|
6
|
-
* (server `src/http/server.ts:713` — no token, no principal
|
|
6
|
+
* (server 5.3.0 `src/http/server.ts:713` — no token, no principal; it sits ABOVE the global
|
|
7
|
+
* service-credential gate at `:839` and outside the admit counter), and the probe's whole job is "is anything
|
|
7
8
|
* alive there?" BEFORE credentials/TOFU exist (engine spawn wait-loops, port arbitration, dead-engine
|
|
8
9
|
* triage, teardown confirmation — the shell's 6-strong probe family). Constructing a principal-first,
|
|
9
10
|
* token-bearing client to ask that would invert the trust order, so the SDK ships the probe as a STATIC
|
|
@@ -17,8 +18,16 @@
|
|
|
17
18
|
* Everything ELSE goes through AgentClient — these two are the WHOLE exception surface (plus labelled
|
|
18
19
|
* contract-probe raws in tests; see the SDK constitution in the repo CLAUDE.md).
|
|
19
20
|
*/
|
|
20
|
-
/** The `/health` 200 body, subset-typed
|
|
21
|
-
*
|
|
21
|
+
/** The `/health` 200 body, subset-typed.
|
|
22
|
+
*
|
|
23
|
+
* **Exact producer**: server 5.3.0 `src/http/server.ts:713-770` (the `url === "/health"` branch, one `sendJson`).
|
|
24
|
+
* (Until 4.3.0 both JSDocs here pointed at `server 1.214 server.js:296-320` — a file that no longer exists;
|
|
25
|
+
* the routes split moved it years of versions ago.)
|
|
26
|
+
*
|
|
27
|
+
* Open set for the conditional fields: the degradation/lifecycle keys appear ONLY when the condition holds, so a
|
|
28
|
+
* healthy worker's `/health` shape stays unchanged — absence is the normal case, never an error.
|
|
29
|
+
* 🔴 `/health` is NOT in `spec/openapi.yaml` (it is inside the path-drift gate's BASELINE), so a client generated
|
|
30
|
+
* from the spec cannot see the most basic liveness face at all. This interface is its only published shape. */
|
|
22
31
|
export interface EngineHealth {
|
|
23
32
|
/** "ok" on the live door — {@link probeHealth} requires it for `alive` (a 200 with anything else is `not_ok`). */
|
|
24
33
|
status: string;
|
|
@@ -27,16 +36,58 @@ export interface EngineHealth {
|
|
|
27
36
|
sessionBackend?: string;
|
|
28
37
|
sessions?: number;
|
|
29
38
|
instanceId?: string;
|
|
39
|
+
/** 🔴 **公开承诺字段** (server `:748-751`, with USAGE「嵌入形契约」as the written contract). Together with
|
|
40
|
+
* {@link pid} this is what a desktop host's engine-identity check is entirely staked on: `dataRoot` must equal
|
|
41
|
+
* the configured data root and `pid` must equal the spawned child — **either one missing ⇒ judge it a FOREIGN
|
|
42
|
+
* engine**, do not fall back to "probably mine". They are `optional` here only because this type is a subset
|
|
43
|
+
* view of an open body; on server 5.x both are emitted UNCONDITIONALLY (`localDataRoot` always resolves,
|
|
44
|
+
* falling back to `~/.ai-agent`, so its conditional spread is effectively always-true). */
|
|
30
45
|
dataRoot?: string;
|
|
31
|
-
/** sha256[0:16] over the engine's identity config (model/backends/dataRoot/port) — the shell's drift detector.
|
|
46
|
+
/** sha256[0:16] over the engine's identity config (model/backends/dataRoot/port) — the shell's drift detector.
|
|
47
|
+
* Emitted UNCONDITIONALLY (`:752`). */
|
|
32
48
|
configHash?: string;
|
|
49
|
+
/** 🔴 公开承诺字段 — see {@link dataRoot}. Emitted UNCONDITIONALLY (`:753`). */
|
|
33
50
|
pid?: number;
|
|
51
|
+
/** Emitted UNCONDITIONALLY (`:754`). */
|
|
34
52
|
port?: number;
|
|
35
53
|
draining?: boolean;
|
|
36
|
-
/**
|
|
54
|
+
/** ISO timestamp of when draining began — present only alongside `draining:true` (`:734`). */
|
|
55
|
+
drainingSince?: string;
|
|
56
|
+
/** false = model roster pending (first effective-config pull) — alive but not accepting billable submits.
|
|
57
|
+
* ⚠️ `ready:false` COEXISTS with `status:"ok"` ⇒ {@link probeHealth} reports `alive:true` while the worker
|
|
58
|
+
* 503s every billable submit. To answer "can I submit?", read this — `alive` is not enough. */
|
|
37
59
|
ready?: boolean;
|
|
60
|
+
/** Human-readable reason accompanying `ready:false` (`:741`; today "model roster pending (first
|
|
61
|
+
* effective-config pull)"). Present only with `ready:false`. */
|
|
62
|
+
readyReason?: string;
|
|
38
63
|
storeDegraded?: boolean;
|
|
64
|
+
/** S5 degradation twin of `storeDegraded` (both emitted together, `:738`): `durable:false` = this replica is
|
|
65
|
+
* NOT persisting although a DB was configured (boot auto-probe fell back to in-memory) — an orchestrator
|
|
66
|
+
* restart/alarm signal. An in-memory-BY-CHOICE worker omits both keys, so absence ≠ "not durable". */
|
|
67
|
+
durable?: boolean;
|
|
68
|
+
/** D-G go-live marker (`:758`): present (and `true`) only on a crypto-bound DIRECT-DOOR worker
|
|
69
|
+
* (trusted-header path disabled). Previously inferrable only behaviorally via a 401. */
|
|
70
|
+
directDoorActive?: boolean;
|
|
39
71
|
restartRequired?: boolean;
|
|
72
|
+
/** Which restart-to-apply slices changed, since when, and at what version — present together with
|
|
73
|
+
* `restartRequired:true` (`:759`). This is what the orchestrator polls to decide a rolling restart. */
|
|
74
|
+
restart?: {
|
|
75
|
+
reasons: string[];
|
|
76
|
+
version: string;
|
|
77
|
+
since: string;
|
|
78
|
+
[k: string]: unknown;
|
|
79
|
+
};
|
|
80
|
+
/** DEGRADED model plane (`:764-767`): the plane is deferred but NO next-boot handoff exists (LKG is not
|
|
81
|
+
* restart-surviving), so nothing forces a restart and the plane stays unapplied. Present ⇒ an operator must
|
|
82
|
+
* either mount restart-surviving LKG storage (+ `CONFIG_LKG_DURABLE`) or restart manually after ensuring the
|
|
83
|
+
* candidate is re-pulled at boot. `noHandoff` is always `true` on this arm — the key's presence IS the signal. */
|
|
84
|
+
modelPlaneDeferred?: {
|
|
85
|
+
version: string;
|
|
86
|
+
since: string;
|
|
87
|
+
noHandoff: boolean;
|
|
88
|
+
blockedReasons?: string[];
|
|
89
|
+
[k: string]: unknown;
|
|
90
|
+
};
|
|
40
91
|
[k: string]: unknown;
|
|
41
92
|
}
|
|
42
93
|
/** Judgement-typed probe outcome. `alive` iff HTTP 200 AND `status === "ok"`; every dead arm carries WHY:
|
|
@@ -65,13 +116,16 @@ export type ProbeHealthResult = {
|
|
|
65
116
|
* exception ①).
|
|
66
117
|
*/
|
|
67
118
|
export declare function probeHealth(baseUrl: string, timeoutMs?: number, fetchImpl?: typeof fetch): Promise<ProbeHealthResult>;
|
|
68
|
-
/** probeAuth 的判决形(zero-throw:网络世界的所有失败形都收敛为值,绝不抛)。
|
|
119
|
+
/** probeAuth 的判决形(zero-throw:网络世界的所有失败形都收敛为值,绝不抛)。
|
|
120
|
+
*
|
|
121
|
+
* 🔴 `reason` 是**开集**(4.3.0 加了 `principal_required`,见 {@link probeAuth});消费方按已知值分支、
|
|
122
|
+
* 未知值一律按「不通过,但原因未知」渲染,别写 exhaustive switch 而不留 default。 */
|
|
69
123
|
export type ProbeAuthResult = {
|
|
70
124
|
ok: true;
|
|
71
125
|
status: number;
|
|
72
126
|
} | {
|
|
73
127
|
ok: false;
|
|
74
|
-
reason: "unauthorized" | "http" | "network" | "timeout";
|
|
128
|
+
reason: "unauthorized" | "principal_required" | "http" | "network" | "timeout";
|
|
75
129
|
status?: number;
|
|
76
130
|
};
|
|
77
131
|
/**
|
|
@@ -85,6 +139,21 @@ export type ProbeAuthResult = {
|
|
|
85
139
|
* - **刻意不做词汇校验**:token 形不预判(service token/trace token/SSO JWT 都可能过某道门),
|
|
86
140
|
* 真相以服务端判决为准。
|
|
87
141
|
* 静态导出(宪法例外①同族:探活/探权先于 AgentClient 构造)。
|
|
142
|
+
*
|
|
143
|
+
* 🔴 **`principal_required` 这条臂为什么必须存在**(4.3.0,CAPS-OPS-7)。`GET /v1/policy` 串了**两道**门:
|
|
144
|
+
* ① 全局 service-credential 门(`src/http/server.ts:839-855`,判的是 token);
|
|
145
|
+
* ② 路由自门(`src/http/routes/memory-policy.ts:127-131`):`requirePrincipal && !principal` ⇒ 401
|
|
146
|
+
* `auth.principal_required`。
|
|
147
|
+
* 而 `gatedPrincipal` 只在 SSO / registry-JWT / BFF 头姿势下拿得到 principal ——**纯 service token 直连拿不到**。
|
|
148
|
+
* 于是在 `REQUIRE_PRINCIPAL=true` 的多租部署里,一枚**完全有效**的 service token 会在②被 401:
|
|
149
|
+
* 上一版把它判成 `unauthorized`,UI 于是显示「凭证无效,请检查 token」,运维照着这句话去轮换一枚本来
|
|
150
|
+
* 好好的 token。区分办法本来就是现成的 —— 错误 body 的 `errorCode` 是 `auth.principal_required` 而不是
|
|
151
|
+
* `auth.unauthorized` —— 只是探针**只读状态码、不解 body**,把这层判别力主动丢掉了。
|
|
152
|
+
*
|
|
153
|
+
* 现在:401 且 body `errorCode === "auth.principal_required"` ⇒ `reason:"principal_required"`,语义是
|
|
154
|
+
* **「token 本身没问题,但这个部署要求 principal,而探针刻意不带」** ⇒ UI 该说的是「凭证可用;此部署为多租户,
|
|
155
|
+
* 需以用户身份登录后使用」,而不是「凭证无效」。其余 401/403 仍是 `unauthorized`(既有四臂一个不动 = 加法)。
|
|
156
|
+
* body 读失败/非 JSON/无该码 ⇒ 一律回落 `unauthorized`(判别力只增不减,且绝不因解 body 而抛)。
|
|
88
157
|
*/
|
|
89
158
|
export declare function probeAuth(baseUrl: string, token: string, timeoutMs?: number, fetchImpl?: typeof fetch): Promise<ProbeAuthResult>;
|
|
90
159
|
/**
|
package/dist/health.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;gHASgH;AAChH,MAAM,WAAW,YAAY;IAC3B,kHAAkH;IAClH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;gGAK4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;4CACwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;oGAEgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;qEACiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2GAEuG;IACvG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;6FACyF;IACzF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;4GACwG;IACxG,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtF;;;uHAGmH;IACnH,kBAAkB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7H,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;;gDAMgD;AAChD,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,SAAS,SAAO,EAChB,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;AAED;;;4DAG4D;AAC5D,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,SAAO,EAChB,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAiBD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D"}
|
package/dist/health.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* require an AgentClient:
|
|
4
4
|
*
|
|
5
5
|
* ① {@link probeHealth} — process-noise liveness. `/health` is the worker's UNAUTHENTICATED door
|
|
6
|
-
* (server `src/http/server.ts:713` — no token, no principal
|
|
6
|
+
* (server 5.3.0 `src/http/server.ts:713` — no token, no principal; it sits ABOVE the global
|
|
7
|
+
* service-credential gate at `:839` and outside the admit counter), and the probe's whole job is "is anything
|
|
7
8
|
* alive there?" BEFORE credentials/TOFU exist (engine spawn wait-loops, port arbitration, dead-engine
|
|
8
9
|
* triage, teardown confirmation — the shell's 6-strong probe family). Constructing a principal-first,
|
|
9
10
|
* token-bearing client to ask that would invert the trust order, so the SDK ships the probe as a STATIC
|
|
@@ -61,6 +62,21 @@ export async function probeHealth(baseUrl, timeoutMs = 2000, fetchImpl = fetch)
|
|
|
61
62
|
* - **刻意不做词汇校验**:token 形不预判(service token/trace token/SSO JWT 都可能过某道门),
|
|
62
63
|
* 真相以服务端判决为准。
|
|
63
64
|
* 静态导出(宪法例外①同族:探活/探权先于 AgentClient 构造)。
|
|
65
|
+
*
|
|
66
|
+
* 🔴 **`principal_required` 这条臂为什么必须存在**(4.3.0,CAPS-OPS-7)。`GET /v1/policy` 串了**两道**门:
|
|
67
|
+
* ① 全局 service-credential 门(`src/http/server.ts:839-855`,判的是 token);
|
|
68
|
+
* ② 路由自门(`src/http/routes/memory-policy.ts:127-131`):`requirePrincipal && !principal` ⇒ 401
|
|
69
|
+
* `auth.principal_required`。
|
|
70
|
+
* 而 `gatedPrincipal` 只在 SSO / registry-JWT / BFF 头姿势下拿得到 principal ——**纯 service token 直连拿不到**。
|
|
71
|
+
* 于是在 `REQUIRE_PRINCIPAL=true` 的多租部署里,一枚**完全有效**的 service token 会在②被 401:
|
|
72
|
+
* 上一版把它判成 `unauthorized`,UI 于是显示「凭证无效,请检查 token」,运维照着这句话去轮换一枚本来
|
|
73
|
+
* 好好的 token。区分办法本来就是现成的 —— 错误 body 的 `errorCode` 是 `auth.principal_required` 而不是
|
|
74
|
+
* `auth.unauthorized` —— 只是探针**只读状态码、不解 body**,把这层判别力主动丢掉了。
|
|
75
|
+
*
|
|
76
|
+
* 现在:401 且 body `errorCode === "auth.principal_required"` ⇒ `reason:"principal_required"`,语义是
|
|
77
|
+
* **「token 本身没问题,但这个部署要求 principal,而探针刻意不带」** ⇒ UI 该说的是「凭证可用;此部署为多租户,
|
|
78
|
+
* 需以用户身份登录后使用」,而不是「凭证无效」。其余 401/403 仍是 `unauthorized`(既有四臂一个不动 = 加法)。
|
|
79
|
+
* body 读失败/非 JSON/无该码 ⇒ 一律回落 `unauthorized`(判别力只增不减,且绝不因解 body 而抛)。
|
|
64
80
|
*/
|
|
65
81
|
export async function probeAuth(baseUrl, token, timeoutMs = 2000, fetchImpl = fetch) {
|
|
66
82
|
const controller = new AbortController();
|
|
@@ -73,8 +89,14 @@ export async function probeAuth(baseUrl, token, timeoutMs = 2000, fetchImpl = fe
|
|
|
73
89
|
});
|
|
74
90
|
if (res.ok)
|
|
75
91
|
return { ok: true, status: res.status };
|
|
76
|
-
if (res.status === 401 || res.status === 403)
|
|
92
|
+
if (res.status === 401 || res.status === 403) {
|
|
93
|
+
// 只在 401 上解 body(403 不是这个码的产地),且**全程吞异常** —— zero-throw 是本探针的硬契约,
|
|
94
|
+
// 多解一个 body 绝不许把它变成会抛的函数。
|
|
95
|
+
if (res.status === 401 && (await readErrorCode(res)) === "auth.principal_required") {
|
|
96
|
+
return { ok: false, reason: "principal_required", status: res.status };
|
|
97
|
+
}
|
|
77
98
|
return { ok: false, reason: "unauthorized", status: res.status };
|
|
99
|
+
}
|
|
78
100
|
return { ok: false, reason: "http", status: res.status };
|
|
79
101
|
}
|
|
80
102
|
catch {
|
|
@@ -84,6 +106,22 @@ export async function probeAuth(baseUrl, token, timeoutMs = 2000, fetchImpl = fe
|
|
|
84
106
|
clearTimeout(timer);
|
|
85
107
|
}
|
|
86
108
|
}
|
|
109
|
+
/** 从一个错误 `Response` 里尽力取 `errorCode`,任何失败都回 `undefined`(绝不抛 —— 见 {@link probeAuth} 的
|
|
110
|
+
* zero-throw 契约:body 不可读 / 非 JSON / 无该键都只意味着「拿不到更细的判别位」)。 */
|
|
111
|
+
async function readErrorCode(res) {
|
|
112
|
+
try {
|
|
113
|
+
const body = await res.json();
|
|
114
|
+
if (body !== null && typeof body === "object") {
|
|
115
|
+
const code = body.errorCode;
|
|
116
|
+
if (typeof code === "string")
|
|
117
|
+
return code;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
/* 非 JSON / 已被消费 / 连接断 —— 判别位拿不到,按未知处理 */
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
87
125
|
/**
|
|
88
126
|
* Single-source engine URL builder (constitution exception ② — the teardown fire-and-forget raw's URL comes
|
|
89
127
|
* from HERE, never hand-concatenated). Join semantic is byte-identical to Transport's:
|
package/dist/health.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,12 +39,17 @@ export { SideQueryResource, type SideQueryRequest, type SideQueryResult } from "
|
|
|
39
39
|
export type { SubagentSteerReceipt, SubagentOutputResult, CompactAck, DetachAck } from "./resources/runs.js";
|
|
40
40
|
/** [2400] TR-4 — `runs.steer` 的判别联合回执(applied / queued / parked_for_wake)+ 每条消息的建议优先级。 */
|
|
41
41
|
export type { SteerReceipt, SteerPriority } from "./resources/runs.js";
|
|
42
|
-
export type { SessionGetParams, SessionInitBundle, SessionInitModel, SessionSettingsResponse, SessionEffectiveSettings, SessionAppliedSettings, SessionEffectiveLimits, SessionNotifyBody, SessionNotifyStatus,
|
|
42
|
+
export type { SessionGetParams, SessionInitBundle, SessionInitModel, SessionSettingsResponse, SessionEffectiveSettings, SessionAppliedSettings, SessionEffectiveLimits, SessionNotifyBody, SessionNotifyStatus,
|
|
43
|
+
/** 4.3.0(SM-9):notify 的 live/parked 判别联合 + wake 的 200 形 —— 此前两者都是裸 `Record<string, unknown>`。 */
|
|
44
|
+
SessionNotifyResult, SessionWakeResult, } from "./resources/sessions.js";
|
|
43
45
|
export type { WorkflowAgentSteerReceipt, WorkflowJournalPage, WorkflowJournalRow, WorkflowJournalEntry, WorkflowJournalEntryTruncated, } from "./resources/workflows.js";
|
|
44
46
|
/** Control-plane (sema-registry) typed errors — distinct hierarchy from the worker APIError tree. */
|
|
45
47
|
export { ControlError, ControlAuthError, ControlForbiddenError, ControlNotFoundError, ControlValidationError, ControlConflictError, toControlError } from "./errors.js";
|
|
46
48
|
/** Control-plane wire types (sema-registry /api/config/*). */
|
|
47
49
|
export type { ConfigDomain, ControlRole, DomainRead, PutResult, BatchChange, BatchResult, ControlIssue, SchemaAll, SchemaOne, ExportResult, ConfigChange, ChangeDiff, RollbackResult, PublishedMeta, PendingPublish, PublishState, PublishResult, ApprovePublishResult, CancelPublishResult, FleetSnapshot, FleetMetrics, SchedulePlan, ScheduleApplyResult, WorkerStatuses, RollResult, RotateResult, CascadeOwnerResult, SweepResult, ControlImageEntry, ControlImageList, ImageListQuery, ImageSelectQuery, ImageSelectResolution, SecretInventory, SecretWriteResult, SecretRotateResult, SecretDeleteResult, SecretRefsResult, AuthProviderConfig, AuthProviderUpsert, AuthProvidersResult, AuthProviderUpsertResult, ControlUser, UsersResult, UserUpsertResult, UserTokenMintResult, UserTokenRevokeResult, } from "./control-types.js";
|
|
50
|
+
/** 4.3.0(RC-7):`ControlRole` 的运行时值 —— 消费端要枚举角色 / 校验外来串 / 比较权限档次时能拿到值,
|
|
51
|
+
* 不必再手抄第四份。与 registry-core `USER_ROLES` 由锚测试对账。 */
|
|
52
|
+
export { CONTROL_ROLES } from "./control-types.js";
|
|
48
53
|
export { newIdempotencyKey } from "./idempotency.js";
|
|
49
54
|
/** SDK 宪法例外①②收编(免构造工具)— unauthenticated liveness probe + the single-source URL builder for the
|
|
50
55
|
* teardown fire-and-forget raw. Static on purpose: usable before/without an AgentClient. */
|
|
@@ -60,5 +65,8 @@ export type { ToolApprovalFrame, ToolApprovalDecision, ToolApprovalRespondAck }
|
|
|
60
65
|
export { FleetResource } from "./resources/fleet.js";
|
|
61
66
|
export type { FleetTaskRow, FleetWorkflowRow, FleetTaskStatus, FleetFrame, FleetMeta, FleetBgNotification, FleetHookNotice } from "./resources/fleet.js";
|
|
62
67
|
export { gateViewFromApprovals, gateViewFromSummary, gateViewFromInbox, gateViewFromAssistant, taskCostMicroUsd, type GateView } from "./normalize.js";
|
|
63
|
-
export { WorkspaceResource, type WorkspaceSnapshotRow, type WorkspaceTreeEntry, type WorkspaceFile
|
|
68
|
+
export { WorkspaceResource, type WorkspaceSnapshotRow, type WorkspaceTreeEntry, type WorkspaceFile,
|
|
69
|
+
/** 4.3.0(CAPS-OPS-8):list/tree 的两个 200 信封 —— 此前是方法返回位上的内联闭合字面量(两道 spec 门都
|
|
70
|
+
* 扫不到),漏声明了 server 与 spec 都列为 required 的 `sessionId`。 */
|
|
71
|
+
type WorkspaceSnapshotPage, type WorkspaceTreePage, } from "./resources/workspace.js";
|
|
64
72
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,9 @@ export { SessionSyncResource } from "./resources/session-sync.js";
|
|
|
39
39
|
export { SideQueryResource } from "./resources/side-query.js";
|
|
40
40
|
/** Control-plane (sema-registry) typed errors — distinct hierarchy from the worker APIError tree. */
|
|
41
41
|
export { ControlError, ControlAuthError, ControlForbiddenError, ControlNotFoundError, ControlValidationError, ControlConflictError, toControlError } from "./errors.js";
|
|
42
|
+
/** 4.3.0(RC-7):`ControlRole` 的运行时值 —— 消费端要枚举角色 / 校验外来串 / 比较权限档次时能拿到值,
|
|
43
|
+
* 不必再手抄第四份。与 registry-core `USER_ROLES` 由锚测试对账。 */
|
|
44
|
+
export { CONTROL_ROLES } from "./control-types.js";
|
|
42
45
|
export { newIdempotencyKey } from "./idempotency.js";
|
|
43
46
|
/** SDK 宪法例外①②收编(免构造工具)— unauthenticated liveness probe + the single-source URL builder for the
|
|
44
47
|
* teardown fire-and-forget raw. Static on purpose: usable before/without an AgentClient. */
|
|
@@ -50,5 +53,5 @@ export { FleetResource } from "./resources/fleet.js";
|
|
|
50
53
|
// checkpoint 五族 → GateView(每读面显式构造器);cost 双轨 → taskCostMicroUsd 规范取数。
|
|
51
54
|
export { gateViewFromApprovals, gateViewFromSummary, gateViewFromInbox, gateViewFromAssistant, taskCostMicroUsd } from "./normalize.js";
|
|
52
55
|
// workspace 浏览面(#3,[1894] 表态后落地)——E19 快照店只读投影四 verb。
|
|
53
|
-
export { WorkspaceResource } from "./resources/workspace.js";
|
|
56
|
+
export { WorkspaceResource, } from "./resources/workspace.js";
|
|
54
57
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AACvF;qEACqE;AACrE,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AA2B9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAyC,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,eAAe;AAC5jB,6EAA6E;AAC7E,2FAA2F;AAC3F,iCAAiC;AACjC,aAAa;AACb,2FAA2F;AAC3F,yBAAyB,EAAE,0BAA0B,EACrD,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,2BAA2B;AACtF,2EAA2E;AAC3E,4EAA4E;AAC5E,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,oBAAoB,EACpG,mBAAmB,EAAE,iBAAiB;AACtC,kEAAkE;AAClE,aAAa,EAAE,4BAA4B,EAAE,yBAAyB;AACtE,+DAA+D;AAC/D,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGhD;yDACyD;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C;6GAC6G;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC;;sGAEsG;AACtG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAC3D;6GAC6G;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAA+C,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AACvF;qEACqE;AACrE,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AA2B9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAyC,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,eAAe;AAC5jB,6EAA6E;AAC7E,2FAA2F;AAC3F,iCAAiC;AACjC,aAAa;AACb,2FAA2F;AAC3F,yBAAyB,EAAE,0BAA0B,EACrD,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,2BAA2B;AACtF,2EAA2E;AAC3E,4EAA4E;AAC5E,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,oBAAoB,EACpG,mBAAmB,EAAE,iBAAiB;AACtC,kEAAkE;AAClE,aAAa,EAAE,4BAA4B,EAAE,yBAAyB;AACtE,+DAA+D;AAC/D,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGhD;yDACyD;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C;6GAC6G;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC;;sGAEsG;AACtG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAC3D;6GAC6G;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAA+C,MAAM,2BAA2B,CAAC;AAe3G,qGAAqG;AACrG,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAaxK;oDACoD;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD;6FAC6F;AAC7F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOhE;iHACiH;AACjH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAiB,MAAM,gBAAgB,CAAC;AACvJ,qDAAqD;AACrD,OAAO,EACL,iBAAiB,GAKlB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/registry/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,kDAAkD;AAClD,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAyBvD,iEAAiE;AACjE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAC7E,OAAO,CAAC,kBAAkB,CAAC,CAS7B;AAED;;;;;qCAKqC;AACrC,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC,EAC3E,IAAI,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GACjH,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/registry/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,kDAAkD;AAClD,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAyBvD,iEAAiE;AACjE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAC7E,OAAO,CAAC,kBAAkB,CAAC,CAS7B;AAED;;;;;qCAKqC;AACrC,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC,EAC3E,IAAI,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GACjH,OAAO,CAAC,kBAAkB,CAAC,CAwB7B;AAED;;6CAE6C;AAC7C,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC1E,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;AAED;2DAC2D;AAC3D,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC1E,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/dist/registry/auth.js
CHANGED
|
@@ -47,8 +47,10 @@ export async function pollUntilApproved(baseUrl, device, opts) {
|
|
|
47
47
|
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
48
48
|
let intervalSeconds = device.interval;
|
|
49
49
|
for (;;) {
|
|
50
|
+
// [2400] RC-8(5.0.0):调用方 abort 是客户端事件,不再盗用服务端码 `expired_token`(其成文语义=
|
|
51
|
+
// 「重开流程」,把用户取消编成它 ⇒ 宿主自动重开,取消不掉)。标准 AbortError 形,消费方按 name 分支。
|
|
50
52
|
if (opts.signal?.aborted)
|
|
51
|
-
throw new
|
|
53
|
+
throw new DOMException("polling aborted by caller", "AbortError");
|
|
52
54
|
await sleep(intervalSeconds * 1000);
|
|
53
55
|
const { status, body } = await postJson(f, joinUrl(baseUrl, REGISTRY_AUTH_PATHS.deviceToken), { grant_type: REGISTRY_DEVICE_GRANT_TYPE, device_code: device.device_code }, opts.signal);
|
|
54
56
|
if (status === 200) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/registry/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/registry/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* probeRegistryHealth(G18 顺并进 R1):zero-throw 健康探针——`/api/healthz` 唯一探活口
|
|
3
3
|
* ([2354] 兼容面全清:旧 `/healthz` 回落腿与 `legacy` 提示字段已删)。与 worker 面的 probeAuth
|
|
4
4
|
* 同族姿势:judgement-typed,永不抛。
|
|
5
|
+
*
|
|
6
|
+
* 4.3.0 措辞除锈(RC-12):本文件残留过三处双腿时代的化石 —— `reason` 的「**末次** HTTP status」(只剩一次
|
|
7
|
+
* 探测,没有「末次」)、辅助函数名 `tryOne`(为多路探测而设)、变量名 `modern`(`modern`/`legacy` 配对的残半)。
|
|
8
|
+
* 零行为影响,纯可读性。⚠️ 这段说明**只能待在模块头**:`test/breaking-4.0.0-removals.test.ts` 有一道门盯着
|
|
9
|
+
* `RegistryHealthResult` 接口体内不许再出现描述已删腿的字眼(孤儿注就是那么长出来的),把理由写进字段注会红。
|
|
5
10
|
*/
|
|
6
11
|
export interface RegistryHealthResult {
|
|
7
12
|
ok: boolean;
|
|
8
|
-
/** ok:false 时的原因(网络错文本 /
|
|
13
|
+
/** ok:false 时的原因(网络错文本 / HTTP status)。 */
|
|
9
14
|
reason?: string;
|
|
10
15
|
}
|
|
11
16
|
export declare function probeRegistryHealth(baseUrl: string, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/registry/health.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/registry/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC,oBAAoB,CAAC,CAqB/B"}
|
package/dist/registry/health.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export async function probeRegistryHealth(baseUrl, opts = {}) {
|
|
2
2
|
const f = opts.fetch ?? fetch;
|
|
3
3
|
const base = baseUrl.replace(/\/+$/, "");
|
|
4
|
-
|
|
4
|
+
// 4.3.0 除锈:此函数原名 `tryOne` —— 「try ONE (of several)」是为多路探测起的名字,双腿退役后只被调用一次。
|
|
5
|
+
const probeOnce = async (path) => {
|
|
5
6
|
const ac = new AbortController();
|
|
6
7
|
const timer = setTimeout(() => ac.abort(), opts.timeoutMs ?? 5_000);
|
|
7
8
|
try {
|
|
@@ -16,9 +17,10 @@ export async function probeRegistryHealth(baseUrl, opts = {}) {
|
|
|
16
17
|
}
|
|
17
18
|
};
|
|
18
19
|
// [2354] 兼容面全清:旧 `/healthz` 回落腿与 `legacy` 提示字段已删——registry 现代部署唯一探活口=/api/healthz。
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
// 4.3.0 除锈:变量原名 `modern` —— 它是 `modern`/`legacy` 配对的残半,配对的另一半早已删除。
|
|
21
|
+
const probed = await probeOnce("/api/healthz");
|
|
22
|
+
if (probed.ok)
|
|
21
23
|
return { ok: true };
|
|
22
|
-
return { ok: false, reason:
|
|
24
|
+
return { ok: false, reason: probed.reason ?? `HTTP ${probed.status ?? "?"} (/api/healthz)` };
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=health.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/registry/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/registry/health.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,OAAqD,EAAE;IAEvD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,2EAA2E;IAC3E,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAA8D,EAAE;QACnG,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACjF,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,mFAAmF;IACnF,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;AAC/F,CAAC"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -14,7 +14,13 @@ export { InMemoryTokenProvider, type TokenProvider, type RegistryTokens } from "
|
|
|
14
14
|
export { requestDeviceCode, pollUntilApproved, refreshTokens, logoutRegistry, REGISTRY_AUTH_PATHS, REGISTRY_DEVICE_GRANT_TYPE, type DeviceCodeResponse, type TokenGrantResponse, } from "./auth.js";
|
|
15
15
|
export { probeRegistryHealth, type RegistryHealthResult } from "./health.js";
|
|
16
16
|
export { listScopes, switchScope, getEffective, REGISTRY_SCOPES_PATHS, type ScopesListResponse, type ScopeSwitchResponse, type EffectiveResult, } from "./scopes-effective.js";
|
|
17
|
-
export { RegistryApiError, OAuthFlowError, type OAuthFlowErrorCode
|
|
17
|
+
export { RegistryApiError, OAuthFlowError, type OAuthFlowErrorCode,
|
|
18
|
+
/** 🔴 RC-13(4.3.0):这个**值**此前没出去 —— re-export 只带了两个类 + 一个 type,而
|
|
19
|
+
* `REGISTRY_OAUTH_ERROR_CODES` 恰恰是同源锚测试对账的那个数组。上游把它当**值**导出
|
|
20
|
+
* (`registry-core` 的 `OAUTH_ERROR_CODES`)正是因为消费端需要在运行时枚举:渲染错误码表、
|
|
21
|
+
* 给 exhaustive switch 的 `default` 写断言、校验一个外来字符串是不是合法码 —— 三件事都拿不到它,
|
|
22
|
+
* 只能再手抄一份,而那正是这条常量存在要消除的东西。纯 additive。 */
|
|
23
|
+
REGISTRY_OAUTH_ERROR_CODES, } from "./errors.js";
|
|
18
24
|
export { getMeConfig, putMeConfig, ConfigCasConflictError, type PersonalConfigDomain, type MeConfigValue, type MeConfigPut, type MeConfigPutResult, } from "./me-config.js";
|
|
19
25
|
export { RegistryAdmin, ADMIN_ENDPOINTS } from "./admin.js";
|
|
20
26
|
export { ScopeConfigCasConflictError, getScopeConfigDraft, getScopeConfigPublished, putScopeConfigDraft, getPublishState, requestPublish, postFeedback, skillContentAddress, } from "./scope-config-feedback.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,kBAAkB;AACvB;;;;2CAI2C;AAC3C,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAC"}
|
package/dist/registry/index.js
CHANGED
|
@@ -14,7 +14,13 @@ export { InMemoryTokenProvider } from "./token-provider.js";
|
|
|
14
14
|
export { requestDeviceCode, pollUntilApproved, refreshTokens, logoutRegistry, REGISTRY_AUTH_PATHS, REGISTRY_DEVICE_GRANT_TYPE, } from "./auth.js";
|
|
15
15
|
export { probeRegistryHealth } from "./health.js";
|
|
16
16
|
export { listScopes, switchScope, getEffective, REGISTRY_SCOPES_PATHS, } from "./scopes-effective.js";
|
|
17
|
-
export { RegistryApiError, OAuthFlowError
|
|
17
|
+
export { RegistryApiError, OAuthFlowError,
|
|
18
|
+
/** 🔴 RC-13(4.3.0):这个**值**此前没出去 —— re-export 只带了两个类 + 一个 type,而
|
|
19
|
+
* `REGISTRY_OAUTH_ERROR_CODES` 恰恰是同源锚测试对账的那个数组。上游把它当**值**导出
|
|
20
|
+
* (`registry-core` 的 `OAUTH_ERROR_CODES`)正是因为消费端需要在运行时枚举:渲染错误码表、
|
|
21
|
+
* 给 exhaustive switch 的 `default` 写断言、校验一个外来字符串是不是合法码 —— 三件事都拿不到它,
|
|
22
|
+
* 只能再手抄一份,而那正是这条常量存在要消除的东西。纯 additive。 */
|
|
23
|
+
REGISTRY_OAUTH_ERROR_CODES, } from "./errors.js";
|
|
18
24
|
export { getMeConfig, putMeConfig, ConfigCasConflictError, } from "./me-config.js";
|
|
19
25
|
export { RegistryAdmin, ADMIN_ENDPOINTS } from "./admin.js";
|
|
20
26
|
export { ScopeConfigCasConflictError, getScopeConfigDraft, getScopeConfigPublished, putScopeConfigDraft, getPublishState, requestPublish, postFeedback, skillContentAddress, } from "./scope-config-feedback.js";
|