@sema-agent/sdk 10.0.0 → 11.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 +17 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/rules.d.ts +69 -17
- package/dist/resources/rules.d.ts.map +1 -1
- package/dist/resources/rules.js +19 -8
- package/dist/resources/rules.js.map +1 -1
- package/openapi.yaml +102 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -98,6 +98,21 @@ not, so a decoder that rejects "any Z" is wrong).
|
|
|
98
98
|
|
|
99
99
|
Typed errors (`APIError` hierarchy: `AuthError`, `RateLimitedError`, `ConflictError`, `ApprovalStaleError`, …) let callers branch on semantics instead of strings.
|
|
100
100
|
|
|
101
|
+
## 11.0.0 — 2026-09-21(🔴 BREAKING:`RuleWriteResult` 改**判别联合** —— 200 体加 `stillLive`,`rule` 只住在 `"yes"` 那一支;随 server 7.92.2)
|
|
102
|
+
|
|
103
|
+
**一句话:写口此前把「写落了、可回读它时一条并发撤销已先到」折成 `indeterminate` ⇒ 503 +「retry」,而照着重试会把刚被人撤掉的收紧重新立起来。server 7.92.2 起那一形有了自己的 200:`status` 答「这次调用写没写」,新的 `stillLive` 答「本腿亲眼看见它现在活着吗」—— 与 `DELETE /v1/rules` 同一只键、同一张三词表。**
|
|
104
|
+
|
|
105
|
+
- **变了什么**:`RuleWriteResult` 从一只 `interface {status, rev, rule}` 变成**判别联合**(判别位 `stillLive`):
|
|
106
|
+
- `{ status, rev, stillLive: "yes", rule: PersistedRule }` —— 常态,读回看见它活着;
|
|
107
|
+
- `{ status, rev, stillLive: "no" }` —— 写**落了**(`rev` 是真的),回读时并发撤销先到 ⇒ **不带 `rule`**(这个键在这一支上根本不存在,不是「在场但空」)。
|
|
108
|
+
- `"unknown"` 在本口**不可达**(读回读不出来一律 5xx),但词表与撤销口**共用同一只** `RemovalLiveness` —— 两个动词一套分支读得通。spec 侧 `oneOf` 两支(**命名 schema** `RuleWriteResult_yes` / `RuleWriteResult_no`,因为 OAS 3.1 的 `discriminator` 明文不考虑内联臂 —— 指回父联合的映射等于「选不出臂」)+ `discriminator: stillLive` 逐词映射到对应那一支,每支用 `enum` 把**共用的**三词表收窄到自己那一个词(**不分叉词表**)。
|
|
109
|
+
- **谁受伤**:**不判 `stillLive` 就直接读 `result.rule` 的消费端** —— 编译红(`Property 'rule' does not exist on type ...`);`RuleWriteResult["rule"]` 这类索引写法同样红。按 spec 严格校验响应的客户端也会在没有 `stillLive` 的老 server 上红(见下)。**零别名、零双读、SDK 不补默认值。**
|
|
110
|
+
- **什么补偿**:红就是通知 —— 收窄一次即可:`if (out.stillLive === "yes") { out.rule … }`(收窄之后不需要 `!`、不需要断言);要单独给活行支起名用 `Extract<RuleWriteResult, { stillLive: "yes" }>`。`"no"` 那一支的处置**只有一个**:🔴 **不要重试**(重试 = 把刚被撤的收紧重新立起来),用 `rules.list()` 看现状。
|
|
111
|
+
- **适用版本下界(必读)**:本 spec / 型面描述 **server ≥ 7.92.2**。老 server(≤7.92.1)这条口**恒带 `rule`、不带 `stillLive`**(那一代上「写落了随即被撤」走 503 `state.rule_write_failed`),**用本 spec 校验它会红——那是预期,不是缺陷**。SDK **不铸默认值**:缺席原样透传;跨两代混用的壳自己把**缺席读成 `"yes"`**(那是它对自己部署的判断,不是 SDK 替旧 server 说的话)。
|
|
112
|
+
- **连带一处成文收窄**:503 `state.rule_write_failed` 自 server 7.92.2 起只剩「店抖动 / 兑付面没交回可判的终局」两种成因,JSDoc 与 spec 同批改真。
|
|
113
|
+
- **同批补一格导出面(additive)**:`RemovalLiveness` **进包根导出**(`import type { RemovalLiveness } from "@sema-agent/sdk"`)。它是 `DELETE /v1/rules` 与 `POST /v1/rules` **共用**的那一张三词表(两个动词一只键),写口只是用 `Extract` 把值域收窄到自己可达的两个词 —— **本仓只有这一份词表**。10.0.0 的说明里已经把它写成「新导出型」,而它当时只从内部模块导出:那句话从包根验不出来,这一车补齐。
|
|
114
|
+
- **顺带(同一类 boolean 时代残句,一版清完)**:`rules.revoke()` 方法级 JSDoc 四处(「它为真」「这一位」「两个真值证明力不对称」「`catch` 吞成 `false`」)、`src/index.ts` 撤销面导出块的段注一处、随包 spec `rulesRevoke` 描述里的 `` `true` means … `` 一处 —— 全部改三词口径(字段级注 10.0.0 已改,这些是那一版留下的残句),外加一条仍写着 `stillLive: false` 的旧 fixture 改真。
|
|
115
|
+
|
|
101
116
|
## 10.0.0 — 2026-09-20(🔴 BREAKING:`RuleRevokeResult.stillLive` 从 boolean 改三词闭集;随 server 7.92.0 / 引擎 7.25.0)
|
|
102
117
|
|
|
103
118
|
- **变了什么**:`stillLive: boolean` → `stillLive: "yes" | "no" | "unknown"`(新导出型 `RemovalLiveness`,spec 同名 schema)。此前引擎把「读回没取到」折进 `false`,一次店抖动与一次真验证过的撤销字节相同——现在不确定态是它自己的词。
|
|
@@ -119,13 +134,13 @@ Typed errors (`APIError` hierarchy: `AuthError`, `RateLimitedError`, `ConflictEr
|
|
|
119
134
|
|
|
120
135
|
### 逐件
|
|
121
136
|
|
|
122
|
-
1. **`client.rules.write(input)` → `POST /v1/rules`**(server ≥7.91.0)。体 = `{behavior: "deny" | "ask", rule, scope, principal?}`,与 `rules.revoke()` **同一份身份三元组**(server 侧是同一只 `.strict()` schema、同一句形拒文案);路径上同样**没有 `:id` 段**。200 = `{status, rev, rule}
|
|
137
|
+
1. **`client.rules.write(input)` → `POST /v1/rules`**(server ≥7.91.0)。体 = `{behavior: "deny" | "ask", rule, scope, principal?}`,与 `rules.revoke()` **同一份身份三元组**(server 侧是同一只 `.strict()` schema、同一句形拒文案);路径上同样**没有 `:id` 段**。200 = `{status, rev, rule}`(⚠️ **自 SDK 11.0.0 / server 7.92.2 起是 `{status, rev, stillLive, rule?}` 的判别联合** —— `rule` 只住在 `stillLive:"yes"` 那一支,见本文 11.0.0 段):
|
|
123
138
|
|
|
124
139
|
- **`status` 的判别位是「这次调用有没有往店里写」**,不是「这条规则现在在不在」、也不是「一条新规则诞生了」(并发窗里等价规则已在店的那一支**仍然铸一枚新 dot**,车道如实报 `persisted` —— 要判**逻辑规则**是不是新的,读 `rule.adds`)。`persisted` = 真写了;`no-op` = 这条身份此前就站着,本次**一个字都没写** —— `rule.adds`(批准台账)不增长,桶的 `rev` 不推进(它是列举游标的锚)。**幂等**:同一份三元组重复 POST 恒 `no-op`,而重试**不是**第二次批准。
|
|
125
140
|
- **`rule` 是从店里读回的那一行**,键集与 `rules.list()` 的行逐格相同(含派生的 `source` / `status`)。
|
|
126
141
|
- ⚠️ **`rule.adds[].origin` 读不出「谁写的这条规则」**,两条成因叠在一起:①**本口自己铸的那一枚 add 今天恒记 `imported-cc`** —— 落店走的是引擎的**导入**兑付腿,而出处词由引擎从审批记录的**种类**派生、不是那条腿的入参(server 已如实登记,上游给出处词一个入参之后撤销);②**`no-op` 那一支回的是已经站着的那一行**,它的 `adds` 是它自己的历史(`user` / `starter` / `imported-cc`)—— 本口一个字都没写,也就不会改写它的出处。
|
|
127
142
|
|
|
128
|
-
拒因三档,处置各不相同:**400 `request.field_invalid`** —— 方向(`allow`)在**更早**的一道门上拒,带自己的整句文案、**不带** `reason` 键;内容判据拒则带闭集 `reason` + 人读的 `detail`(与导入面的成员级拒因**同一张表**)。**其中 `rule` 必须已经是引擎的规范拼写**:解析器会归一化多余空白而店里落规范形,照收的话你将**叫不出自己刚写的那条规则的名字**(拿同一份字节去撤销撤不掉它,而它正在生效)—— 所以非规范拼写一律拒,`detail` 里直接给出该发的那一串。**503 `state.rule_write_failed`** = **不知道落没落**(店抖动 / 兑付面没交回可判的终局 /
|
|
143
|
+
拒因三档,处置各不相同:**400 `request.field_invalid`** —— 方向(`allow`)在**更早**的一道门上拒,带自己的整句文案、**不带** `reason` 键;内容判据拒则带闭集 `reason` + 人读的 `detail`(与导入面的成员级拒因**同一张表**)。**其中 `rule` 必须已经是引擎的规范拼写**:解析器会归一化多余空白而店里落规范形,照收的话你将**叫不出自己刚写的那条规则的名字**(拿同一份字节去撤销撤不掉它,而它正在生效)—— 所以非规范拼写一律拒,`detail` 里直接给出该发的那一串。**503 `state.rule_write_failed`** = **不知道落没落**(店抖动 / 兑付面没交回可判的终局 / 写落了而回读时一条并发撤销已先到,三者在这条口上不可分辨;⚠️ **第三种成因自 server 7.92.2 起不在本码里** —— 它有答案,走 200 + `stillLive:"no"`,而在这里重试会把刚被撤的收紧重新立起来):重试,然后用 `rules.list()` 对账 —— **SDK 不自动重放**(非 submit 类 POST),因为一次「说不清」被自动重试就成了两次写,而对账那一步只有调用方做得了。**501 / 403** 与规则面其余各口同判据。
|
|
129
144
|
|
|
130
145
|
2. **两枚能力位具名键**(`Capabilities`,同批进随包 spec):
|
|
131
146
|
|
package/dist/index.d.ts
CHANGED
|
@@ -115,8 +115,12 @@ export type { CcImportSettingsLayer, CcImportLayer, CcImportLayerReport, CcImpor
|
|
|
115
115
|
* 照 {@link PersistedRule} 给的那三串(server ≥7.67.0 起身份含 `behavior`)。列举是 keyset 分页且**游标绑 `(rev, principal, scope)`**——对不上
|
|
116
116
|
* 当场 400,丢掉游标从头列(静默重置会铸出一份既漏行又重行的治理清单)。撤销**幂等**:重复删 / 本来
|
|
117
117
|
* 没有一律 200 `no-op`(**不是 404** —— 那会是一台存在性 oracle),而**两支 200 都带 `stillLive`**:
|
|
118
|
-
*
|
|
119
|
-
|
|
118
|
+
* 它答 `"yes"` 意味着墓碑落了但 add-wins 让规则仍然活着,答 `"unknown"` 意味着**这一问没人看见**,
|
|
119
|
+
* 没读它之前别对人说「规则已经没了」({@link RemovalLiveness} 三词闭集,server ≥7.92.0 / 引擎 7.25.0;
|
|
120
|
+
* 此前是 boolean,已整删不留别名)。
|
|
121
|
+
* 🔴 **`RemovalLiveness` 从包根导出**:它是 `DELETE /v1/rules` 与 `POST /v1/rules` **共用**的那一张
|
|
122
|
+
* 词表(两个动词一只键),要给它起名字的消费端(跨两代 server 归一叶子的壳)得拿得到它。 */
|
|
123
|
+
export type { RuleDot, RuleAdd, RuleAddOrigin, RuleBehavior, PersistedRule, RuleListParams, RuleListResult, RuleRevokeRequest, RuleRevokeResult, RemovalLiveness, } from "./resources/rules.js";
|
|
120
124
|
/** server ≥7.91.0 —— 规则面的**第三个动词**:`POST /v1/rules`(`client.rules.write`),收紧方向的单步写。
|
|
121
125
|
* 它是撤销口的**对偶**:同一条路径、同一份身份三元组体、同一道 principal 门(收紧不需要同意仪式,
|
|
122
126
|
* 与撤销为什么不需要是同一条理由)。🔴 **放宽(`allow`)在入参类型上就拼不出来**({@link RuleWriteBehavior}
|
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.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;AA0F9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,yBAAyB,EAAiE,MAAM,oBAAoB,CAAC;AACxL,OAAO,EAAE,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe;AAC5pB,6EAA6E;AAC7E,2FAA2F;AAC3F,iCAAiC;AACjC,aAAa;AACb,2FAA2F;AAC3F,yBAAyB,EAAE,0BAA0B,EACrD,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,wBAAwB;AAC7K,qFAAqF;AACrF,6HAA6H;AAC7H,eAAe,EACf,uBAAuB,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,oBAAoB,EAC5G,mBAAmB,EAAE,iBAAiB;AACtC,kEAAkE;AAClE,aAAa,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,6BAA6B;AAC7H,+DAA+D;AAC/D,wBAAwB;AACxB,+EAA+E;AAC/E,iEAAiE;AACjE,eAAe,EAAE,2BAA2B,EAAE,YAAY,EAAE,eAAe;AAC3E,+EAA+E;AAC/E,uEAAuE;AACvE,0CAA0C;AAC1C,WAAW;AACX,sDAAsD;AACtD,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAGnD;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;AAI3G;wCACwC;AACxC,OAAO,EAAE,0BAA0B,EAA8B,MAAM,qBAAqB,CAAC;AAY7F,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;AA2BhE,wEAAwE;AACxE,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAchI,yDAAyD;AACzD,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAChG;;gFAEgF;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,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;AA0F9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,yBAAyB,EAAiE,MAAM,oBAAoB,CAAC;AACxL,OAAO,EAAE,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe;AAC5pB,6EAA6E;AAC7E,2FAA2F;AAC3F,iCAAiC;AACjC,aAAa;AACb,2FAA2F;AAC3F,yBAAyB,EAAE,0BAA0B,EACrD,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,wBAAwB;AAC7K,qFAAqF;AACrF,6HAA6H;AAC7H,eAAe,EACf,uBAAuB,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,oBAAoB,EAC5G,mBAAmB,EAAE,iBAAiB;AACtC,kEAAkE;AAClE,aAAa,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,6BAA6B;AAC7H,+DAA+D;AAC/D,wBAAwB;AACxB,+EAA+E;AAC/E,iEAAiE;AACjE,eAAe,EAAE,2BAA2B,EAAE,YAAY,EAAE,eAAe;AAC3E,+EAA+E;AAC/E,uEAAuE;AACvE,0CAA0C;AAC1C,WAAW;AACX,sDAAsD;AACtD,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAGnD;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;AAI3G;wCACwC;AACxC,OAAO,EAAE,0BAA0B,EAA8B,MAAM,qBAAqB,CAAC;AAY7F,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;AA2BhE,wEAAwE;AACxE,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAchI,yDAAyD;AACzD,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAChG;;gFAEgF;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2BrD;yFACyF;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D;;;;mDAImD;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgBzD;2DAC2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAClG,oGAAoG;AACpG,kFAAkF;AAClF,sDAAsD;AACtD;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"}
|
|
@@ -394,7 +394,9 @@ export interface RuleRevokeResult {
|
|
|
394
394
|
*/
|
|
395
395
|
stillLive: RemovalLiveness;
|
|
396
396
|
}
|
|
397
|
-
/** `stillLive` 的三词闭集(与引擎 `RemovalLiveness` 同拼法;词表单源在引擎,本处只是 wire 上的镜像声明)。
|
|
397
|
+
/** `stillLive` 的三词闭集(与引擎 `RemovalLiveness` 同拼法;词表单源在引擎,本处只是 wire 上的镜像声明)。
|
|
398
|
+
* 🔴 **本仓只有这一份**:`DELETE /v1/rules` 与 `POST /v1/rules` 两个动词共用它(写口用 `Extract` 把值域
|
|
399
|
+
* 收窄到自己可达的那两个词,**不另抄一张两词表**);自 11.0.0 起从包根导出,消费端可以给它起名字。 */
|
|
398
400
|
export type RemovalLiveness = "yes" | "no" | "unknown";
|
|
399
401
|
/**
|
|
400
402
|
* 单步写口收得下的**态**(server `DIRECT_RULE_WRITE_ADMITS` 的逐员表态表在 wire 上的形)。
|
|
@@ -430,22 +432,43 @@ export interface RuleWriteRequest {
|
|
|
430
432
|
principal?: string;
|
|
431
433
|
}
|
|
432
434
|
/**
|
|
433
|
-
* `rules.write()` 的 200
|
|
435
|
+
* `rules.write()` 的 200 体 —— **判别联合**,判别位是 `stillLive`(server ≥7.92.2;SDK 11.0.0 BREAKING)。
|
|
434
436
|
*
|
|
435
|
-
* 🔴
|
|
436
|
-
*
|
|
437
|
-
*
|
|
438
|
-
*
|
|
437
|
+
* 🔴 **两个问题两格答**:`status` 说的是**这次调用有没有往店里写**(`persisted` = 真写了;`no-op` =
|
|
438
|
+
* 这条身份**此前就站着**,本次**一个字都没写** —— `rule.adds` 不增长、桶的 `rev` 不推进,于是正在翻页的
|
|
439
|
+
* 客户端的游标不会被一次无谓重试作废);`stillLive` 说的是**这条腿亲眼看见它现在活着吗**。两个词表都不是
|
|
440
|
+
* 本口自造的:`stillLive` 与 {@link RulesResource.revoke} **同一只键、同一张** {@link RemovalLiveness}
|
|
441
|
+
* **闭集**,所以两个动词的 200 一套分支读得通。**幂等**:同一份身份三元组重复 POST 是安全的,第二次起恒
|
|
442
|
+
* `no-op`。
|
|
443
|
+
*
|
|
444
|
+
* | `stillLive` | 意思 | `rule` 在场吗 | 该怎么办 |
|
|
445
|
+
* | --- | --- | --- | --- |
|
|
446
|
+
* | `"yes"` | 写(或早就站着)并且读回时它**活着** —— 常态 | ✅ 在场 | 照常用 |
|
|
447
|
+
* | `"no"` | 写**落了**(`rev` 是真的),而读回它时一条**并发撤销**已经先到 | ❌ 缺席 | 🔴 **不要重试** —— 照着重试会把刚被人撤掉的收紧**重新立起来**;要看现状走 {@link RulesResource.list} |
|
|
448
|
+
* | `"unknown"` | **本口不会出现**(读回读不出来一律 5xx:一个说不清结果的写不该回 200) | — | — |
|
|
449
|
+
*
|
|
450
|
+
* 🔴 **先读 `stillLive`,再读 `rule`**:`rule` 这个键**只住在 `"yes"` 那一支**(不是「在场但 undefined」
|
|
451
|
+
* —— 那会是第二个判别位,而这条口只有一个)。没有活行可端的时候编一行出来,就得给它铸一个「在册/活着」
|
|
452
|
+
* 的站位,那是第二个谎。⇒ 不收窄就读 `result.rule` 是**编译错误**,这正是本次 BREAKING 买到的补偿。
|
|
453
|
+
*
|
|
454
|
+
* 🔴 **适用下界 = server ≥7.92.2**。老 server(≤7.92.1)这条口**恒带 `rule`、不带 `stillLive`**
|
|
455
|
+
* (「写落了而回读时它已被并发撤销」那一形在那一代上走 503 `state.rule_write_failed`)。SDK **不补默认值、
|
|
456
|
+
* 不双读**:缺席原样透传。跨两代混用的壳自己判 —— **`stillLive` 缺席 = 旧服务,按 `"yes"` 读**(那是它对
|
|
457
|
+
* 自己部署的判断,不是 SDK 替旧 server 说的话)。
|
|
439
458
|
*/
|
|
440
|
-
export
|
|
441
|
-
|
|
459
|
+
export type RuleWriteResult =
|
|
460
|
+
/** 常态支:读回时那条规则**活着**,所以端得出行。 */
|
|
461
|
+
{
|
|
462
|
+
/** 这次调用有没有往店里写。
|
|
442
463
|
* ⚠️ **`persisted` 说的是「这次调用往店里写了」,不是「一条新规则诞生了」**(codex 对抗复审 [medium]
|
|
443
464
|
* 的措辞更正,亲读引擎的兑付腿验真:等价规则已在店的那一支**仍然铸一枚新 dot** ⇒ 车道如实报
|
|
444
465
|
* `persisted`)。并发窗里它可以是「给一条已经站着的规则又落了一枚 add」——要判**逻辑规则**是不是新的,
|
|
445
|
-
* 看
|
|
466
|
+
* 看 `rule` 的 `adds`,别看这一格。 */
|
|
446
467
|
status: "persisted" | "no-op";
|
|
447
468
|
/** 操作后规则桶的 OCC 版本(`no-op` 支 = 没推进的那个读数)。 */
|
|
448
469
|
rev: number;
|
|
470
|
+
/** 读回**看见它活着**(常态)。词表与 {@link RuleRevokeResult.stillLive} 是同一只。 */
|
|
471
|
+
stillLive: Extract<RemovalLiveness, "yes">;
|
|
449
472
|
/**
|
|
450
473
|
* **从店里读出来的那一行** —— 与 {@link RuleListResult.rules} 的行**逐格相同**(含派生的
|
|
451
474
|
* {@link PersistedRule.source} / {@link PersistedRule.status}),所以「写完把它插进我本地那份清单」
|
|
@@ -463,6 +486,24 @@ export interface RuleWriteResult {
|
|
|
463
486
|
*/
|
|
464
487
|
rule: PersistedRule;
|
|
465
488
|
}
|
|
489
|
+
/** 写落了(`rev` 是真的),而读回它时一条**并发撤销**已经先到 —— 一次合法并发,不是一次「说不清」。
|
|
490
|
+
*
|
|
491
|
+
* 🔴 **这一形不是 `indeterminate`**:「写没写」引擎答了并把 `rev` 交到手里;没答案的是「它现在还站着吗」,
|
|
492
|
+
* 而那是**另一个问题**,撤销面早就有一只键在回答它。折成「说不清」的代价有名字:那条腿的处置是
|
|
493
|
+
* **retry**,而照着重试会把**刚刚被人撤掉的收紧重新立起来**。处置只有一个:用
|
|
494
|
+
* {@link RulesResource.list} 看现状。
|
|
495
|
+
*
|
|
496
|
+
* 🔴 `rule` 在这一支上**这个键根本不存在**(不是可选、不是 `undefined`):店里没有活行,而本仓的行形带着
|
|
497
|
+
* `status: "live"` 这一格 —— 给一行已经不在的规则铸它就是第二个谎。 */
|
|
498
|
+
| {
|
|
499
|
+
/** 与 `"yes"` 支同一格 —— **这次调用有没有往店里写**。它在这一支上**仍然有答案**(引擎答了写、`rev`
|
|
500
|
+
* 是真的);没答案的是「它现在还站着吗」,而那由 `stillLive` 回答。 */
|
|
501
|
+
status: "persisted" | "no-op";
|
|
502
|
+
/** 操作后规则桶的 OCC 版本。这一支上它**是真的** —— 写落了,只有那一行的死活走了另一个方向。 */
|
|
503
|
+
rev: number;
|
|
504
|
+
/** 读回**看见它不在了**:一次并发撤销挤在「引擎落了 dot」与「读回那一行」之间。 */
|
|
505
|
+
stillLive: Extract<RemovalLiveness, "no">;
|
|
506
|
+
};
|
|
466
507
|
export declare class RulesResource {
|
|
467
508
|
private readonly t;
|
|
468
509
|
constructor(t: Transport);
|
|
@@ -550,11 +591,20 @@ export declare class RulesResource {
|
|
|
550
591
|
* 表** —— 两条腿判的是同一件事,由同一个判据回答);方向(`allow`)在更早的一道门上拒,带自己的整句
|
|
551
592
|
* 文案、**不带** `reason` 键。`scope` 读不出形仍是 `request.body_shape`,与 {@link revoke} 同句。
|
|
552
593
|
*
|
|
594
|
+
* 🔴 **200 是判别联合,先读 `stillLive` 再读 `rule`**(server ≥7.92.2,见 {@link RuleWriteResult}):
|
|
595
|
+
* `"yes"` 带那一行、`"no"` **不带**(写落了而读回它时一条并发撤销已先到)。`"no"` 上**不要重试** ——
|
|
596
|
+
* 照着重试会把刚被人撤掉的收紧重新立起来;要看现状走 {@link list}。`"unknown"` 在本口**不可达**
|
|
597
|
+
* (读回读不出来一律 5xx),但词表与 {@link revoke} **共用同一只** {@link RemovalLiveness}。
|
|
598
|
+
* ⚠️ 老 server(≤7.92.1)这条口不带 `stillLive`、恒带 `rule`:**SDK 不补默认值**,缺席原样透传 ——
|
|
599
|
+
* 跨两代混用的壳自己把「缺席」读成 `"yes"`。
|
|
600
|
+
*
|
|
553
601
|
* 🔴 **503 `state.rule_write_failed` = 不知道落没落**(→ {@link import("../errors.js").ServiceStateError}):
|
|
554
|
-
* 店抖动 / 兑付面没交回可判的终局
|
|
555
|
-
*
|
|
556
|
-
*
|
|
557
|
-
*
|
|
602
|
+
* 店抖动 / 兑付面没交回可判的终局 —— 两者在这条口上不可分辨,而宣布「没写」会让人以为可以重来、
|
|
603
|
+
* 宣布「写了并且站着」会谎报一次可能并不存在的收紧。处置:重试,然后用 {@link list} 对账。
|
|
604
|
+
* ⚠️ **语义自 server 7.92.2 收窄**:「写落了而回读时它已被并发撤销」**不再落这里**(那一形有答案,
|
|
605
|
+
* 走 200 + `stillLive:"no"`)—— 在这里重试恰恰是把刚被撤的收紧重新立起来。
|
|
606
|
+
* **SDK 不自动重放**(非 submit 类 POST):一次「说不清」被自动重试就成了两次写,而对账那一步只有
|
|
607
|
+
* 调用方做得了。
|
|
558
608
|
*
|
|
559
609
|
* 🔴 **版本偏斜:探 `capabilities.permissionRulesWrite`**(server ≥7.91.0,**按调用方**算 —— 谓词与
|
|
560
610
|
* `permissionRules` 是同一个表达式 ⇒ 两位永远同真同假)。带信息的是这一位的**在场性**:≤7.90.x 的
|
|
@@ -580,10 +630,12 @@ export declare class RulesResource {
|
|
|
580
630
|
* 的 404 就是一台存在性 oracle(在 operator 越权域下更是跨租户的那种),而删除对「有没有过」本来就不
|
|
581
631
|
* 该作 oracle。要判「我删到东西了吗」,读 `status`。
|
|
582
632
|
*
|
|
583
|
-
* 🔴 **读 {@link RuleRevokeResult.stillLive}
|
|
584
|
-
* (add-wins;本次调用期间又落了一次批准)。两支 200
|
|
585
|
-
*
|
|
586
|
-
*
|
|
633
|
+
* 🔴 **读 {@link RuleRevokeResult.stillLive} 再对人下结论**:它答 `"yes"` 意味着墓碑落了但规则**仍然
|
|
634
|
+
* 活着**(add-wins;本次调用期间又落了一次批准)。两支 200 都带这一只键、同一张三词表,所以一套分支
|
|
635
|
+
* 读得通(与 {@link write} 的 200 也是同一只键、同一张表)。
|
|
636
|
+
* ⚠️ 但**三个词的证明力不对称**:只有 `"no"` 是「它不在了」的**观察**;`"unknown"` 是「这一问没人看见」
|
|
637
|
+
* (引擎把读不出来的那一次读回铸成第三个词,而不是折进「不在了」)—— **它不是「已删」**,要紧的场合用
|
|
638
|
+
* {@link list} 对账,逐条理由见该字段的注。
|
|
587
639
|
*
|
|
588
640
|
* 🔴 **SDK 不自动重试**(非 submit 类的 DELETE):503 `state.rule_remove_failed`(→
|
|
589
641
|
* {@link import("../errors.js").ServiceStateError})的语义是「读回确认什么都没写,**或者**读回本身也
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/resources/rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/resources/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/rules.js
CHANGED
|
@@ -111,11 +111,20 @@ export class RulesResource {
|
|
|
111
111
|
* 表** —— 两条腿判的是同一件事,由同一个判据回答);方向(`allow`)在更早的一道门上拒,带自己的整句
|
|
112
112
|
* 文案、**不带** `reason` 键。`scope` 读不出形仍是 `request.body_shape`,与 {@link revoke} 同句。
|
|
113
113
|
*
|
|
114
|
+
* 🔴 **200 是判别联合,先读 `stillLive` 再读 `rule`**(server ≥7.92.2,见 {@link RuleWriteResult}):
|
|
115
|
+
* `"yes"` 带那一行、`"no"` **不带**(写落了而读回它时一条并发撤销已先到)。`"no"` 上**不要重试** ——
|
|
116
|
+
* 照着重试会把刚被人撤掉的收紧重新立起来;要看现状走 {@link list}。`"unknown"` 在本口**不可达**
|
|
117
|
+
* (读回读不出来一律 5xx),但词表与 {@link revoke} **共用同一只** {@link RemovalLiveness}。
|
|
118
|
+
* ⚠️ 老 server(≤7.92.1)这条口不带 `stillLive`、恒带 `rule`:**SDK 不补默认值**,缺席原样透传 ——
|
|
119
|
+
* 跨两代混用的壳自己把「缺席」读成 `"yes"`。
|
|
120
|
+
*
|
|
114
121
|
* 🔴 **503 `state.rule_write_failed` = 不知道落没落**(→ {@link import("../errors.js").ServiceStateError}):
|
|
115
|
-
* 店抖动 / 兑付面没交回可判的终局
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
122
|
+
* 店抖动 / 兑付面没交回可判的终局 —— 两者在这条口上不可分辨,而宣布「没写」会让人以为可以重来、
|
|
123
|
+
* 宣布「写了并且站着」会谎报一次可能并不存在的收紧。处置:重试,然后用 {@link list} 对账。
|
|
124
|
+
* ⚠️ **语义自 server 7.92.2 收窄**:「写落了而回读时它已被并发撤销」**不再落这里**(那一形有答案,
|
|
125
|
+
* 走 200 + `stillLive:"no"`)—— 在这里重试恰恰是把刚被撤的收紧重新立起来。
|
|
126
|
+
* **SDK 不自动重放**(非 submit 类 POST):一次「说不清」被自动重试就成了两次写,而对账那一步只有
|
|
127
|
+
* 调用方做得了。
|
|
119
128
|
*
|
|
120
129
|
* 🔴 **版本偏斜:探 `capabilities.permissionRulesWrite`**(server ≥7.91.0,**按调用方**算 —— 谓词与
|
|
121
130
|
* `permissionRules` 是同一个表达式 ⇒ 两位永远同真同假)。带信息的是这一位的**在场性**:≤7.90.x 的
|
|
@@ -151,10 +160,12 @@ export class RulesResource {
|
|
|
151
160
|
* 的 404 就是一台存在性 oracle(在 operator 越权域下更是跨租户的那种),而删除对「有没有过」本来就不
|
|
152
161
|
* 该作 oracle。要判「我删到东西了吗」,读 `status`。
|
|
153
162
|
*
|
|
154
|
-
* 🔴 **读 {@link RuleRevokeResult.stillLive}
|
|
155
|
-
* (add-wins;本次调用期间又落了一次批准)。两支 200
|
|
156
|
-
*
|
|
157
|
-
*
|
|
163
|
+
* 🔴 **读 {@link RuleRevokeResult.stillLive} 再对人下结论**:它答 `"yes"` 意味着墓碑落了但规则**仍然
|
|
164
|
+
* 活着**(add-wins;本次调用期间又落了一次批准)。两支 200 都带这一只键、同一张三词表,所以一套分支
|
|
165
|
+
* 读得通(与 {@link write} 的 200 也是同一只键、同一张表)。
|
|
166
|
+
* ⚠️ 但**三个词的证明力不对称**:只有 `"no"` 是「它不在了」的**观察**;`"unknown"` 是「这一问没人看见」
|
|
167
|
+
* (引擎把读不出来的那一次读回铸成第三个词,而不是折进「不在了」)—— **它不是「已删」**,要紧的场合用
|
|
168
|
+
* {@link list} 对账,逐条理由见该字段的注。
|
|
158
169
|
*
|
|
159
170
|
* 🔴 **SDK 不自动重试**(非 submit 类的 DELETE):503 `state.rule_remove_failed`(→
|
|
160
171
|
* {@link import("../errors.js").ServiceStateError})的语义是「读回确认什么都没写,**或者**读回本身也
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/resources/rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/resources/rules.ts"],"names":[],"mappings":"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"}
|
package/openapi.yaml
CHANGED
|
@@ -5355,9 +5355,13 @@ paths:
|
|
|
5355
5355
|
responses:
|
|
5356
5356
|
'200':
|
|
5357
5357
|
description: >
|
|
5358
|
-
The write outcome
|
|
5359
|
-
|
|
5360
|
-
|
|
5358
|
+
The write outcome — TWO QUESTIONS, TWO CELLS (server >= 7.92.2). `status`: `persisted` = this call
|
|
5359
|
+
wrote; `no-op` = the identity was already standing and nothing was written. `stillLive`: whether
|
|
5360
|
+
this leg SAW IT ALIVE at read-back — the same key and word table as `rulesRevoke`. `rule` (the row
|
|
5361
|
+
READ BACK FROM THE STORE, the same row shape `rulesList` returns, so inserting it into a local
|
|
5362
|
+
listing needs no translation) rides ONLY the `stillLive: yes` arm. On `no` the write landed and a
|
|
5363
|
+
concurrent revoke beat the read-back: 🔴 do not retry, read `GET /v1/rules`. READ `stillLive`
|
|
5364
|
+
FIRST, THEN `rule`.
|
|
5361
5365
|
content:
|
|
5362
5366
|
application/json:
|
|
5363
5367
|
schema: { $ref: '#/components/schemas/RuleWriteResult' }
|
|
@@ -5368,10 +5372,11 @@ paths:
|
|
|
5368
5372
|
'503':
|
|
5369
5373
|
description: >
|
|
5370
5374
|
errorCode `state.rule_write_failed` — this call CANNOT CONFIRM that the rule now stands. Store
|
|
5371
|
-
jitter
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
+
jitter and a redemption leg that returned no decidable outcome are INDISTINGUISHABLE here, and both
|
|
5376
|
+
available lies ("nothing was written" / "it is standing") would mislead the next step. Retry, then
|
|
5377
|
+
reconcile with `GET /v1/rules`. ⚠️ NARROWED AT server 7.92.2: "the write landed and was revoked
|
|
5378
|
+
concurrently before the read-back" NO LONGER ARRIVES HERE — that shape has an answer (200 +
|
|
5379
|
+
`stillLive: no`), and retrying it would re-erect a tightening someone just revoked. (Also `auth.service_token_required` on a deployment with no service credential
|
|
5375
5380
|
and no explicit `ALLOW_UNAUTHED_WRITES=true` — the write-door credential precondition, shared with
|
|
5376
5381
|
the other rule write faces.)
|
|
5377
5382
|
content:
|
|
@@ -5398,8 +5403,10 @@ paths:
|
|
|
5398
5403
|
(a CROSS-TENANT one under the operator override), and deletion has no business answering that
|
|
5399
5404
|
question. Read `status` to learn whether you removed anything.
|
|
5400
5405
|
|
|
5401
|
-
🔴 `stillLive` IS LOAD-BEARING ON BOTH ARMS. `
|
|
5402
|
-
STILL live under add-wins — a fresh approval was recorded during the call
|
|
5406
|
+
🔴 `stillLive` IS LOAD-BEARING ON BOTH ARMS. `yes` means the tombstone landed but the rule is
|
|
5407
|
+
STILL live under add-wins — a fresh approval was recorded during the call (a THREE-WORD closed set
|
|
5408
|
+
since server 7.92.0 — see `RemovalLiveness`; it was a boolean before, and that word is gone with no
|
|
5409
|
+
alias). Folding that into a plain
|
|
5403
5410
|
200 would let a client read an INCOMPLETE revocation as complete, which is precisely what a
|
|
5404
5411
|
governance surface must never get wrong. The `no-op` arm carries it for the same reason: the engine
|
|
5405
5412
|
answers `no-op` off its initial snapshot without a read-back, so an approval landing in that window
|
|
@@ -17342,13 +17349,63 @@ components:
|
|
|
17342
17349
|
principal: { type: string, minLength: 1, maxLength: 190, description: 'OPERATOR-ONLY cross-tenant write. Absent (or your own principal) = write your own rule. Gated exactly like the revoke half.' }
|
|
17343
17350
|
|
|
17344
17351
|
RuleWriteResult:
|
|
17345
|
-
type: object
|
|
17346
17352
|
description: >
|
|
17347
|
-
The 200 body of `rulesWrite
|
|
17348
|
-
|
|
17349
|
-
|
|
17353
|
+
The 200 body of `rulesWrite` — a DISCRIMINATED UNION on `stillLive` (server >= 7.92.2). TWO QUESTIONS,
|
|
17354
|
+
TWO CELLS. `status` discriminates on WHETHER THIS CALL WROTE, not on whether the rule now stands:
|
|
17355
|
+
`persisted` = it wrote; `no-op` = that identity was already standing and NOT ONE BYTE was written.
|
|
17356
|
+
Idempotent: the same triple POSTed again is always `no-op` from the second call on. `stillLive` says
|
|
17357
|
+
whether THIS LEG SAW IT ALIVE — the same key and the same closed word table as `rulesRevoke`
|
|
17358
|
+
(`RemovalLiveness`), so one consumer branch reads both verbs.
|
|
17359
|
+
|
|
17360
|
+
|
|
17361
|
+
The three rows of the server's contract table (meaning / is `rule` present? / what to do):
|
|
17362
|
+
|
|
17363
|
+
|
|
17364
|
+
`yes` — written (or already standing) and ALIVE at read-back; the ordinary case. `rule` IS PRESENT.
|
|
17365
|
+
Use it as usual.
|
|
17366
|
+
|
|
17367
|
+
|
|
17368
|
+
`no` — the write LANDED (`rev` is real) and a CONCURRENT REVOKE reached the row before the read-back.
|
|
17369
|
+
`rule` is ABSENT. 🔴 DO NOT RETRY — retrying re-erects a tightening someone just revoked; read the
|
|
17370
|
+
current state with `GET /v1/rules` instead.
|
|
17371
|
+
|
|
17372
|
+
|
|
17373
|
+
`unknown` — DOES NOT OCCUR ON THIS DOOR (a read-back that cannot be taken is a 5xx: a write whose
|
|
17374
|
+
outcome cannot be told does not answer 200). That is why each arm narrows the shared three-word table
|
|
17375
|
+
to its own single word with an `enum`; the table itself is NOT forked.
|
|
17376
|
+
|
|
17377
|
+
|
|
17378
|
+
🔴 READ `stillLive` FIRST, THEN `rule`. The `rule` KEY LIVES ONLY ON THE `yes` ARM — it is not "present
|
|
17379
|
+
but empty": with no live row to hand over, minting one would mean minting it an "on the books / alive"
|
|
17380
|
+
cell, which is a second lie.
|
|
17381
|
+
|
|
17382
|
+
|
|
17383
|
+
🔴 APPLICABILITY FLOOR: server >= 7.92.2. An older server (<= 7.92.1) ALWAYS sends `rule` and NEVER
|
|
17384
|
+
sends `stillLive` (on that generation "the write landed and was revoked concurrently" answered
|
|
17385
|
+
503 `state.rule_write_failed`), so validating such a response against this schema goes RED — that is
|
|
17386
|
+
EXPECTED, not a defect (the SDK deliberately carries no dual-read and MINTS NO DEFAULT: the absence is
|
|
17387
|
+
passed through verbatim). A shell that must span both generations reads an ABSENT `stillLive` AS `yes`
|
|
17388
|
+
itself — that is its own judgement about its own deployment, not something this door said.
|
|
17389
|
+
oneOf:
|
|
17390
|
+
- $ref: '#/components/schemas/RuleWriteResult_yes'
|
|
17391
|
+
- $ref: '#/components/schemas/RuleWriteResult_no'
|
|
17392
|
+
# 🔴 两支是**命名 schema**,不是内联形(codex 对抗复审 [medium],验真后修):OAS 3.1 的
|
|
17393
|
+
# discriminator 明文**不考虑内联 schema**,而 mapping 指回父联合就等于「选不出臂」——
|
|
17394
|
+
# 照它生成/解码的消费方拿不到分支,而普通 oneOf 校验照样绿,坏形因此不可见。
|
|
17395
|
+
discriminator:
|
|
17396
|
+
propertyName: stillLive
|
|
17397
|
+
mapping:
|
|
17398
|
+
"yes": '#/components/schemas/RuleWriteResult_yes'
|
|
17399
|
+
"no": '#/components/schemas/RuleWriteResult_no'
|
|
17400
|
+
|
|
17401
|
+
RuleWriteResult_yes:
|
|
17402
|
+
description: >
|
|
17403
|
+
The LIVE-ROW arm of `rulesWrite`'s 200 (the ordinary outcome): the read-back saw the rule alive, so
|
|
17404
|
+
there is a row to hand over. THE ONLY ARM THAT CARRIES `rule`. Never returned on its own — read it
|
|
17405
|
+
through `RuleWriteResult`.
|
|
17406
|
+
type: object
|
|
17350
17407
|
additionalProperties: false
|
|
17351
|
-
required: [status, rev, rule]
|
|
17408
|
+
required: [status, rev, stillLive, rule]
|
|
17352
17409
|
properties:
|
|
17353
17410
|
status:
|
|
17354
17411
|
type: string
|
|
@@ -17361,6 +17418,10 @@ components:
|
|
|
17361
17418
|
standing?" check and its redemption) the engine still mints a fresh dot, and the lane honestly
|
|
17362
17419
|
reports `persisted`. To ask whether the logical rule is new, read `rule.adds`, not this cell.
|
|
17363
17420
|
rev: { type: integer, description: 'The rule bucket''s OCC revision after the call (on the `no-op` arm, the revision that did NOT advance). Bucket-LOCAL, as everywhere on this face.' }
|
|
17421
|
+
stillLive:
|
|
17422
|
+
allOf: [{ $ref: '#/components/schemas/RemovalLiveness' }]
|
|
17423
|
+
enum: ["yes"]
|
|
17424
|
+
description: 'The read-back SAW IT ALIVE — the ordinary outcome, and the only arm that carries `rule`. Same key, same word table as `rulesRevoke`; this door''s value range is narrower (`unknown` is unreachable here), never a second table.'
|
|
17364
17425
|
rule:
|
|
17365
17426
|
allOf: [{ $ref: '#/components/schemas/PersistedRule' }]
|
|
17366
17427
|
description: >
|
|
@@ -17376,6 +17437,33 @@ components:
|
|
|
17376
17437
|
a human answered a card, `starter` = a deployment preset, `imported-cc` = a real import) — this
|
|
17377
17438
|
call wrote nothing, so it rewrites nothing either.
|
|
17378
17439
|
|
|
17440
|
+
RuleWriteResult_no:
|
|
17441
|
+
description: >
|
|
17442
|
+
The ROW-IS-GONE arm of `rulesWrite`'s 200: the write LANDED (`rev` is real) and a concurrent revoke
|
|
17443
|
+
reached the row before the read-back. `rule` is ABSENT here BY CONSTRUCTION, and 🔴 RETRYING would
|
|
17444
|
+
re-erect a tightening someone just revoked. Never returned on its own — read it through
|
|
17445
|
+
`RuleWriteResult`.
|
|
17446
|
+
type: object
|
|
17447
|
+
additionalProperties: false
|
|
17448
|
+
required: [status, rev, stillLive]
|
|
17449
|
+
properties:
|
|
17450
|
+
status:
|
|
17451
|
+
type: string
|
|
17452
|
+
enum: [persisted, "no-op"]
|
|
17453
|
+
description: >
|
|
17454
|
+
Same cell as on the `yes` arm — WHETHER THIS CALL WROTE. It still has an answer here: the engine
|
|
17455
|
+
said it wrote and handed back a real `rev`. What has no answer on this arm is "does it still
|
|
17456
|
+
stand", and that is a DIFFERENT question, answered by `stillLive`.
|
|
17457
|
+
rev: { type: integer, description: 'The rule bucket''s OCC revision after the call. REAL on this arm — the write landed; only the row''s liveness went the other way.' }
|
|
17458
|
+
stillLive:
|
|
17459
|
+
allOf: [{ $ref: '#/components/schemas/RemovalLiveness' }]
|
|
17460
|
+
enum: ["no"]
|
|
17461
|
+
description: >
|
|
17462
|
+
The read-back OBSERVED IT GONE: a legitimate concurrent revoke (yours, or an operator''s) landed
|
|
17463
|
+
between the engine minting the dot and this leg reading the row back. 🔴 NOT an `indeterminate`
|
|
17464
|
+
and NOT a 503: retrying here re-erects a tightening someone just revoked. `rule` is ABSENT on
|
|
17465
|
+
this arm by construction.
|
|
17466
|
+
|
|
17379
17467
|
RuleRevokeRequest:
|
|
17380
17468
|
type: object
|
|
17381
17469
|
description: >
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0",
|
|
4
4
|
"description": "Typed, zero-runtime-dependency SDK for the Sema agent fleet usage plane. The shared substrate for all doors (CC/Codex MCP façade + web). Server-side only — tokens never enter the browser.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|