@sema-agent/settings-schema 1.10.0 → 2.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/dist/types.d.ts CHANGED
@@ -6,10 +6,10 @@
6
6
  *
7
7
  * Detail level is deliberate (the user asked for "详略设计"): `models` is the MVP — fully specified —
8
8
  * while `scenarios` / `runtime` carry a real-but-skeletal schema to be fleshed out in later phases
9
- * (see docs/ROADMAP.md; `integrations`/`access` were deleted in 0.6.0, EXPERT-REDESIGN §9). Adding a
9
+ * (see CHANGELOG.md; `integrations`/`access` were deleted in 0.6.0, EXPERT-REDESIGN §9). Adding a
10
10
  * field is: extend the zod schema here → the form + the effective-config API pick it up.
11
11
  *
12
- * ⚠️ SECURITY BOUNDARY (see docs/SERVICE-INTEGRATION.md): the config center stores **non-secret**
12
+ * ⚠️ SECURITY BOUNDARY (see the service-integration design note): the config center stores **non-secret**
13
13
  * config only. A model's API key / a backend token is NEVER stored here as a value — we store the NAME
14
14
  * of the env var that holds it (`apiKeyEnv`, `tokenEnv`), and the agent-service reads the real secret
15
15
  * from its own environment. So a leak of this DB never leaks a credential. This is **enforced** by the
@@ -102,6 +102,42 @@ export declare const SealedApiKey: z.ZodObject<{
102
102
  setAt?: string | undefined;
103
103
  }>;
104
104
  export type SealedApiKey = z.infer<typeof SealedApiKey>;
105
+ /** 谁来校验一个**解析透明键**的形。闭集:新增一员要在这里加词,穷举消费方即编译红。
106
+ * · `engine-ingest` —— 引擎摄入侧单点校验(不合形的那一条不挂并通告一次);
107
+ * · `consumer` —— 消费方的投影/执法点(丢掉坏的那一个键、保留其宿主条目、记账)。 */
108
+ export type ParseTransparentValidator = "engine-ingest" | "consumer";
109
+ /** {@link PARSE_TRANSPARENT_KEYS} 的一行。 */
110
+ export interface ParseTransparentKey {
111
+ domain: DomainName;
112
+ /** 从域根算起的路径,`[]` = 数组条目,`{}` = Record 值(与门里的派生形逐字一致)。 */
113
+ path: string;
114
+ /** 这个键从哪一版起是解析透明的。 */
115
+ since: string;
116
+ validatedBy: ParseTransparentValidator;
117
+ /** 为什么它在这里不设形判据 —— 一句,带真实后果。 */
118
+ why: string;
119
+ }
120
+ /**
121
+ * **解析透明键登记表** —— 本包收下但**不校验其形**的键,一处列全,连同「谁校验」。
122
+ *
123
+ * 成案:1.7.0 / 1.7.1 连着两次,在一个展示用的键上设形判据,让一条坏值抹掉了**整域**(彼时整域
124
+ * all-or-nothing);此后的缓解是逐键改成 `z.unknown()` 并在各自的 JSDoc 里**各复述一遍**同一段理由 ——
125
+ * 五行同义散文 ×3,没有任何一处能回答「一共有几个这样的键、分别归谁校验」。那正是「修法给每个新键加一条
126
+ * 特判」的形。这张表把那段理由收成一处:键在这里登记,JSDoc 只留一行指过来。
127
+ *
128
+ * 1.11.0 起整域 all-or-nothing 已按类改成逐条容错(坏条目逐条丢、同域其余条目存活),所以「设形判据
129
+ * 会抹掉整域」这条**理由本身已经弱化** —— 但登记表要回答的问题没变:这些键的形归谁校验。新键要不要
130
+ * 解析透明,按「本包是不是那张形表的属主」判,不再按「怕连坐」判。
131
+ *
132
+ * 「解析透明」按**行为**定义(不按 schema 的形名):喂一组有代表性的值全收 = 本包对它的形没有任何主张。
133
+ * 所以 `ModelEntry.extraBody` **不在**本表里 —— 它有自己的形门(必须是纯 JSON 对象,要摊进请求体);
134
+ * 它开放的只是对象里的键名词表(各家 provider 的请求参数表),那是另一回事,写在它自己的 JSDoc 里。
135
+ *
136
+ * 门:`test/parse-transparent-keys.test.ts` 从 `DOMAIN_SCHEMAS` **派生**出所有解析透明的叶子,与本表
137
+ * 双向对拍 —— 多登记一行(键已经不透明了)红,少登记一行(新键静默溜进来)也红;派生遇到不认识的
138
+ * schema 形 fail-loud,不「没认出来就当没有」。
139
+ */
140
+ export declare const PARSE_TRANSPARENT_KEYS: readonly ParseTransparentKey[];
105
141
  export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
106
142
  /** Catalog key + `@name` mention handle (stable, url/word-safe), e.g. "model-a". */
107
143
  name: z.ZodString;
@@ -190,17 +226,13 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
190
226
  * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
191
227
  * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
192
228
  * entry that declares it is stripped at parse, so the declaration never reaches the engine at all.
229
+ * ABSENT = key not minted = today's behaviour, zero migration.
193
230
  *
194
- * **Parse-transparent** (`z.unknown()`), same rule as `McpServerSpec.source` (1.7.2) and `.toolFaces` (1.9.0):
195
- * the SHAPE and the VOCABULARY (which `thinkingFormat` words exist) are the consuming side's single point —
196
- * this package deliberately does NOT restate that table. This domain parses all-or-nothing, so a shape/word
197
- * rejection HERE would blank the entire model catalog over one bad key (the 1.7.1 upgrade regression). ABSENT
198
- * = key not minted = today's behaviour, zero migration.
199
- *
200
- * The ONE rejection that remains is the free-form SAFETY judgment shared with `extraBody`
201
- * ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too deep to hash
202
- * later. That is not shape validation — it is the boundary every free-form value must clear to enter the
203
- * persisted config and `stableHash` (R18). */
231
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
232
+ * (`models.models[].compat`). The ONE rejection that remains is the free-form SAFETY judgment shared with
233
+ * `extraBody` ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too
234
+ * deep to hash later. That is not shape validation — it is the boundary every free-form value must clear to
235
+ * enter the persisted config and `stableHash` (R18). */
204
236
  compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
205
237
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
206
238
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
@@ -532,17 +564,13 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
532
564
  * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
533
565
  * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
534
566
  * entry that declares it is stripped at parse, so the declaration never reaches the engine at all.
567
+ * ABSENT = key not minted = today's behaviour, zero migration.
535
568
  *
536
- * **Parse-transparent** (`z.unknown()`), same rule as `McpServerSpec.source` (1.7.2) and `.toolFaces` (1.9.0):
537
- * the SHAPE and the VOCABULARY (which `thinkingFormat` words exist) are the consuming side's single point —
538
- * this package deliberately does NOT restate that table. This domain parses all-or-nothing, so a shape/word
539
- * rejection HERE would blank the entire model catalog over one bad key (the 1.7.1 upgrade regression). ABSENT
540
- * = key not minted = today's behaviour, zero migration.
541
- *
542
- * The ONE rejection that remains is the free-form SAFETY judgment shared with `extraBody`
543
- * ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too deep to hash
544
- * later. That is not shape validation — it is the boundary every free-form value must clear to enter the
545
- * persisted config and `stableHash` (R18). */
569
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
570
+ * (`models.models[].compat`). The ONE rejection that remains is the free-form SAFETY judgment shared with
571
+ * `extraBody` ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too
572
+ * deep to hash later. That is not shape validation — it is the boundary every free-form value must clear to
573
+ * enter the persisted config and `stableHash` (R18). */
546
574
  compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
547
575
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
548
576
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
@@ -824,7 +852,6 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
824
852
  atModelAllowlist?: string[] | undefined;
825
853
  activeTierGroup?: string | undefined;
826
854
  }, {
827
- default?: string | undefined;
828
855
  models?: {
829
856
  id: string;
830
857
  name: string;
@@ -858,6 +885,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
858
885
  enabled?: boolean | undefined;
859
886
  notes?: string | undefined;
860
887
  }[] | undefined;
888
+ default?: string | undefined;
861
889
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
862
890
  model: string;
863
891
  } | {
@@ -938,7 +966,6 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
938
966
  atModelAllowlist?: string[] | undefined;
939
967
  activeTierGroup?: string | undefined;
940
968
  }, {
941
- default?: string | undefined;
942
969
  models?: {
943
970
  id: string;
944
971
  name: string;
@@ -972,6 +999,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
972
999
  enabled?: boolean | undefined;
973
1000
  notes?: string | undefined;
974
1001
  }[] | undefined;
1002
+ default?: string | undefined;
975
1003
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
976
1004
  model: string;
977
1005
  } | {
@@ -1517,16 +1545,16 @@ export declare const RuntimeConfig: z.ZodObject<{
1517
1545
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
1518
1546
  costQuotaWindowSec: z.ZodOptional<z.ZodNumber>;
1519
1547
  }, "strip", z.ZodTypeAny, {
1548
+ maxPrincipalCostUsd?: number | undefined;
1520
1549
  rateLimitPerMin?: number | undefined;
1521
1550
  maxTaskCostUsd?: number | undefined;
1522
1551
  maxTaskTokens?: number | undefined;
1523
- maxPrincipalCostUsd?: number | undefined;
1524
1552
  costQuotaWindowSec?: number | undefined;
1525
1553
  }, {
1554
+ maxPrincipalCostUsd?: number | undefined;
1526
1555
  rateLimitPerMin?: number | undefined;
1527
1556
  maxTaskCostUsd?: number | undefined;
1528
1557
  maxTaskTokens?: number | undefined;
1529
- maxPrincipalCostUsd?: number | undefined;
1530
1558
  costQuotaWindowSec?: number | undefined;
1531
1559
  }>;
1532
1560
  export type RuntimeConfig = z.infer<typeof RuntimeConfig>;
@@ -1692,14 +1720,14 @@ export declare const GovernanceConfig: z.ZodObject<{
1692
1720
  /** Tool names needing operator approval (F4). Moved verbatim from runtime (same ABSENT/explicit-[] semantics). */
1693
1721
  approvalRequire: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1694
1722
  }, "strip", z.ZodTypeAny, {
1695
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
1723
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
1696
1724
  commandPolicy?: {
1697
1725
  command: string;
1698
1726
  decision: "ask" | "allow" | "deny";
1699
1727
  }[] | undefined;
1700
1728
  approvalRequire?: string[] | undefined;
1701
1729
  }, {
1702
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
1730
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
1703
1731
  commandPolicy?: {
1704
1732
  command: string;
1705
1733
  decision: "ask" | "allow" | "deny";
@@ -1817,11 +1845,11 @@ export declare const BudgetGroup: z.ZodObject<{
1817
1845
  } & {
1818
1846
  group: z.ZodString;
1819
1847
  }, "strip", z.ZodTypeAny, {
1820
- memberSince: string;
1821
1848
  group: string;
1822
- }, {
1823
1849
  memberSince: string;
1850
+ }, {
1824
1851
  group: string;
1852
+ memberSince: string;
1825
1853
  }>, "many">>;
1826
1854
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
1827
1855
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -1837,8 +1865,8 @@ export declare const BudgetGroup: z.ZodObject<{
1837
1865
  }>, "many">>;
1838
1866
  }, "strip", z.ZodTypeAny, {
1839
1867
  groups: {
1840
- memberSince: string;
1841
1868
  group: string;
1869
+ memberSince: string;
1842
1870
  }[];
1843
1871
  principals: {
1844
1872
  principal: string;
@@ -1846,8 +1874,8 @@ export declare const BudgetGroup: z.ZodObject<{
1846
1874
  }[];
1847
1875
  }, {
1848
1876
  groups?: {
1849
- memberSince: string;
1850
1877
  group: string;
1878
+ memberSince: string;
1851
1879
  }[] | undefined;
1852
1880
  principals?: {
1853
1881
  principal: string;
@@ -1857,33 +1885,33 @@ export declare const BudgetGroup: z.ZodObject<{
1857
1885
  }, "strip", z.ZodTypeAny, {
1858
1886
  id: string;
1859
1887
  name: string;
1860
- maxBudgetUsd: number;
1861
1888
  members: {
1862
1889
  groups: {
1863
- memberSince: string;
1864
1890
  group: string;
1891
+ memberSince: string;
1865
1892
  }[];
1866
1893
  principals: {
1867
1894
  principal: string;
1868
1895
  memberSince: string;
1869
1896
  }[];
1870
1897
  };
1898
+ maxBudgetUsd: number;
1871
1899
  budgetDuration?: string | undefined;
1872
1900
  }, {
1873
1901
  id: string;
1874
1902
  name: string;
1875
1903
  maxBudgetUsd: number;
1876
- budgetDuration?: string | undefined;
1877
1904
  members?: {
1878
1905
  groups?: {
1879
- memberSince: string;
1880
1906
  group: string;
1907
+ memberSince: string;
1881
1908
  }[] | undefined;
1882
1909
  principals?: {
1883
1910
  principal: string;
1884
1911
  memberSince: string;
1885
1912
  }[] | undefined;
1886
1913
  } | undefined;
1914
+ budgetDuration?: string | undefined;
1887
1915
  }>;
1888
1916
  export type BudgetGroup = z.infer<typeof BudgetGroup>;
1889
1917
  /** 生效场景分配(§7,与配额同一挂载心智):全局默认 + 按组 + 按用户三层;解析优先级=用户 > 组 > 全局默认
@@ -1897,11 +1925,11 @@ export declare const ScenarioAssignments: z.ZodObject<{
1897
1925
  group: z.ZodString;
1898
1926
  scenario: z.ZodString;
1899
1927
  }, "strip", z.ZodTypeAny, {
1900
- group: string;
1901
1928
  scenario: string;
1902
- }, {
1903
1929
  group: string;
1930
+ }, {
1904
1931
  scenario: string;
1932
+ group: string;
1905
1933
  }>, "many">>;
1906
1934
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
1907
1935
  principal: z.ZodString;
@@ -1915,8 +1943,8 @@ export declare const ScenarioAssignments: z.ZodObject<{
1915
1943
  }>, "many">>;
1916
1944
  }, "strip", z.ZodTypeAny, {
1917
1945
  groups: {
1918
- group: string;
1919
1946
  scenario: string;
1947
+ group: string;
1920
1948
  }[];
1921
1949
  principals: {
1922
1950
  principal: string;
@@ -1926,8 +1954,8 @@ export declare const ScenarioAssignments: z.ZodObject<{
1926
1954
  }, {
1927
1955
  default?: string | undefined;
1928
1956
  groups?: {
1929
- group: string;
1930
1957
  scenario: string;
1958
+ group: string;
1931
1959
  }[] | undefined;
1932
1960
  principals?: {
1933
1961
  principal: string;
@@ -2193,10 +2221,6 @@ export declare const EntitlementTier: z.ZodObject<{
2193
2221
  }, "strip", z.ZodTypeAny, {
2194
2222
  id: string;
2195
2223
  models?: string[] | undefined;
2196
- roster?: string | undefined;
2197
- visibleSkills?: string[] | undefined;
2198
- visibleMcp?: string[] | undefined;
2199
- visiblePlugins?: string[] | undefined;
2200
2224
  budget?: {
2201
2225
  mode?: "soft" | "hard" | "degrade" | undefined;
2202
2226
  maxBudgetUsd?: number | undefined;
@@ -2213,6 +2237,7 @@ export declare const EntitlementTier: z.ZodObject<{
2213
2237
  maxIterations?: number | undefined;
2214
2238
  enforcement?: "local" | "lease" | "central" | undefined;
2215
2239
  } | undefined;
2240
+ roster?: string | undefined;
2216
2241
  runtimeCaps?: {
2217
2242
  allowBypassPermissions?: boolean | undefined;
2218
2243
  allowAutoMode?: boolean | undefined;
@@ -2224,17 +2249,16 @@ export declare const EntitlementTier: z.ZodObject<{
2224
2249
  allowMemoryOptOut?: boolean | undefined;
2225
2250
  forceDurableGate?: boolean | undefined;
2226
2251
  } | undefined;
2252
+ tokenQuota?: undefined;
2253
+ visibleSkills?: string[] | undefined;
2254
+ visibleMcp?: string[] | undefined;
2255
+ visiblePlugins?: string[] | undefined;
2227
2256
  orgMemory?: Record<string, {
2228
2257
  write?: boolean | undefined;
2229
2258
  }> | undefined;
2230
- tokenQuota?: undefined;
2231
2259
  }, {
2232
2260
  id: string;
2233
2261
  models?: string[] | undefined;
2234
- roster?: string | undefined;
2235
- visibleSkills?: string[] | undefined;
2236
- visibleMcp?: string[] | undefined;
2237
- visiblePlugins?: string[] | undefined;
2238
2262
  budget?: {
2239
2263
  mode?: "soft" | "hard" | "degrade" | undefined;
2240
2264
  maxBudgetUsd?: number | undefined;
@@ -2251,6 +2275,7 @@ export declare const EntitlementTier: z.ZodObject<{
2251
2275
  maxIterations?: number | undefined;
2252
2276
  enforcement?: "local" | "lease" | "central" | undefined;
2253
2277
  } | undefined;
2278
+ roster?: string | undefined;
2254
2279
  runtimeCaps?: {
2255
2280
  allowBypassPermissions?: boolean | undefined;
2256
2281
  allowAutoMode?: boolean | undefined;
@@ -2262,16 +2287,21 @@ export declare const EntitlementTier: z.ZodObject<{
2262
2287
  allowMemoryOptOut?: boolean | undefined;
2263
2288
  forceDurableGate?: boolean | undefined;
2264
2289
  } | undefined;
2290
+ tokenQuota?: undefined;
2291
+ visibleSkills?: string[] | undefined;
2292
+ visibleMcp?: string[] | undefined;
2293
+ visiblePlugins?: string[] | undefined;
2265
2294
  orgMemory?: Record<string, {
2266
2295
  write?: boolean | undefined;
2267
2296
  }> | undefined;
2268
- tokenQuota?: undefined;
2269
2297
  }>;
2270
2298
  export type EntitlementTier = z.infer<typeof EntitlementTier>;
2271
2299
  /** A time-bounded, audited per-principal override (escape hatch above the tier/role defaults). */
2272
2300
  export declare const EntitlementOverride: z.ZodEffects<z.ZodObject<{
2273
2301
  principal: z.ZodString;
2274
2302
  key: z.ZodString;
2303
+ /** The override's value — its SHAPE follows its `key`, so it is parse-transparent here and validated by
2304
+ * whoever enforces that key: {@link PARSE_TRANSPARENT_KEYS} (`entitlement.subjects[].overrides[].value`). */
2275
2305
  value: z.ZodUnknown;
2276
2306
  effectiveFrom: z.ZodOptional<z.ZodString>;
2277
2307
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -2320,6 +2350,8 @@ export declare const EntitlementSubject: z.ZodObject<{
2320
2350
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
2321
2351
  principal: z.ZodString;
2322
2352
  key: z.ZodString;
2353
+ /** The override's value — its SHAPE follows its `key`, so it is parse-transparent here and validated by
2354
+ * whoever enforces that key: {@link PARSE_TRANSPARENT_KEYS} (`entitlement.subjects[].overrides[].value`). */
2323
2355
  value: z.ZodUnknown;
2324
2356
  effectiveFrom: z.ZodOptional<z.ZodString>;
2325
2357
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -2843,10 +2875,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2843
2875
  }, "strip", z.ZodTypeAny, {
2844
2876
  id: string;
2845
2877
  models?: string[] | undefined;
2846
- roster?: string | undefined;
2847
- visibleSkills?: string[] | undefined;
2848
- visibleMcp?: string[] | undefined;
2849
- visiblePlugins?: string[] | undefined;
2850
2878
  budget?: {
2851
2879
  mode?: "soft" | "hard" | "degrade" | undefined;
2852
2880
  maxBudgetUsd?: number | undefined;
@@ -2863,6 +2891,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2863
2891
  maxIterations?: number | undefined;
2864
2892
  enforcement?: "local" | "lease" | "central" | undefined;
2865
2893
  } | undefined;
2894
+ roster?: string | undefined;
2866
2895
  runtimeCaps?: {
2867
2896
  allowBypassPermissions?: boolean | undefined;
2868
2897
  allowAutoMode?: boolean | undefined;
@@ -2874,17 +2903,16 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2874
2903
  allowMemoryOptOut?: boolean | undefined;
2875
2904
  forceDurableGate?: boolean | undefined;
2876
2905
  } | undefined;
2906
+ tokenQuota?: undefined;
2907
+ visibleSkills?: string[] | undefined;
2908
+ visibleMcp?: string[] | undefined;
2909
+ visiblePlugins?: string[] | undefined;
2877
2910
  orgMemory?: Record<string, {
2878
2911
  write?: boolean | undefined;
2879
2912
  }> | undefined;
2880
- tokenQuota?: undefined;
2881
2913
  }, {
2882
2914
  id: string;
2883
2915
  models?: string[] | undefined;
2884
- roster?: string | undefined;
2885
- visibleSkills?: string[] | undefined;
2886
- visibleMcp?: string[] | undefined;
2887
- visiblePlugins?: string[] | undefined;
2888
2916
  budget?: {
2889
2917
  mode?: "soft" | "hard" | "degrade" | undefined;
2890
2918
  maxBudgetUsd?: number | undefined;
@@ -2901,6 +2929,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2901
2929
  maxIterations?: number | undefined;
2902
2930
  enforcement?: "local" | "lease" | "central" | undefined;
2903
2931
  } | undefined;
2932
+ roster?: string | undefined;
2904
2933
  runtimeCaps?: {
2905
2934
  allowBypassPermissions?: boolean | undefined;
2906
2935
  allowAutoMode?: boolean | undefined;
@@ -2912,10 +2941,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2912
2941
  allowMemoryOptOut?: boolean | undefined;
2913
2942
  forceDurableGate?: boolean | undefined;
2914
2943
  } | undefined;
2944
+ tokenQuota?: undefined;
2945
+ visibleSkills?: string[] | undefined;
2946
+ visibleMcp?: string[] | undefined;
2947
+ visiblePlugins?: string[] | undefined;
2915
2948
  orgMemory?: Record<string, {
2916
2949
  write?: boolean | undefined;
2917
2950
  }> | undefined;
2918
- tokenQuota?: undefined;
2919
2951
  }>, "many">>;
2920
2952
  subjects: z.ZodDefault<z.ZodArray<z.ZodObject<{
2921
2953
  principal: z.ZodString;
@@ -2926,6 +2958,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2926
2958
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
2927
2959
  principal: z.ZodString;
2928
2960
  key: z.ZodString;
2961
+ /** The override's value — its SHAPE follows its `key`, so it is parse-transparent here and validated by
2962
+ * whoever enforces that key: {@link PARSE_TRANSPARENT_KEYS} (`entitlement.subjects[].overrides[].value`). */
2929
2963
  value: z.ZodUnknown;
2930
2964
  effectiveFrom: z.ZodOptional<z.ZodString>;
2931
2965
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -3066,11 +3100,11 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3066
3100
  } & {
3067
3101
  group: z.ZodString;
3068
3102
  }, "strip", z.ZodTypeAny, {
3069
- memberSince: string;
3070
3103
  group: string;
3071
- }, {
3072
3104
  memberSince: string;
3105
+ }, {
3073
3106
  group: string;
3107
+ memberSince: string;
3074
3108
  }>, "many">>;
3075
3109
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
3076
3110
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -3086,8 +3120,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3086
3120
  }>, "many">>;
3087
3121
  }, "strip", z.ZodTypeAny, {
3088
3122
  groups: {
3089
- memberSince: string;
3090
3123
  group: string;
3124
+ memberSince: string;
3091
3125
  }[];
3092
3126
  principals: {
3093
3127
  principal: string;
@@ -3095,8 +3129,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3095
3129
  }[];
3096
3130
  }, {
3097
3131
  groups?: {
3098
- memberSince: string;
3099
3132
  group: string;
3133
+ memberSince: string;
3100
3134
  }[] | undefined;
3101
3135
  principals?: {
3102
3136
  principal: string;
@@ -3106,33 +3140,33 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3106
3140
  }, "strip", z.ZodTypeAny, {
3107
3141
  id: string;
3108
3142
  name: string;
3109
- maxBudgetUsd: number;
3110
3143
  members: {
3111
3144
  groups: {
3112
- memberSince: string;
3113
3145
  group: string;
3146
+ memberSince: string;
3114
3147
  }[];
3115
3148
  principals: {
3116
3149
  principal: string;
3117
3150
  memberSince: string;
3118
3151
  }[];
3119
3152
  };
3153
+ maxBudgetUsd: number;
3120
3154
  budgetDuration?: string | undefined;
3121
3155
  }, {
3122
3156
  id: string;
3123
3157
  name: string;
3124
3158
  maxBudgetUsd: number;
3125
- budgetDuration?: string | undefined;
3126
3159
  members?: {
3127
3160
  groups?: {
3128
- memberSince: string;
3129
3161
  group: string;
3162
+ memberSince: string;
3130
3163
  }[] | undefined;
3131
3164
  principals?: {
3132
3165
  principal: string;
3133
3166
  memberSince: string;
3134
3167
  }[] | undefined;
3135
3168
  } | undefined;
3169
+ budgetDuration?: string | undefined;
3136
3170
  }>, "many">>;
3137
3171
  /** 生效场景分配(0.6.0 §7)——见 {@link ScenarioAssignments}。 */
3138
3172
  scenarioAssignments: z.ZodOptional<z.ZodObject<{
@@ -3142,11 +3176,11 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3142
3176
  group: z.ZodString;
3143
3177
  scenario: z.ZodString;
3144
3178
  }, "strip", z.ZodTypeAny, {
3145
- group: string;
3146
3179
  scenario: string;
3147
- }, {
3148
3180
  group: string;
3181
+ }, {
3149
3182
  scenario: string;
3183
+ group: string;
3150
3184
  }>, "many">>;
3151
3185
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
3152
3186
  principal: z.ZodString;
@@ -3160,8 +3194,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3160
3194
  }>, "many">>;
3161
3195
  }, "strip", z.ZodTypeAny, {
3162
3196
  groups: {
3163
- group: string;
3164
3197
  scenario: string;
3198
+ group: string;
3165
3199
  }[];
3166
3200
  principals: {
3167
3201
  principal: string;
@@ -3171,8 +3205,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3171
3205
  }, {
3172
3206
  default?: string | undefined;
3173
3207
  groups?: {
3174
- group: string;
3175
3208
  scenario: string;
3209
+ group: string;
3176
3210
  }[] | undefined;
3177
3211
  principals?: {
3178
3212
  principal: string;
@@ -3183,10 +3217,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3183
3217
  tiers: {
3184
3218
  id: string;
3185
3219
  models?: string[] | undefined;
3186
- roster?: string | undefined;
3187
- visibleSkills?: string[] | undefined;
3188
- visibleMcp?: string[] | undefined;
3189
- visiblePlugins?: string[] | undefined;
3190
3220
  budget?: {
3191
3221
  mode?: "soft" | "hard" | "degrade" | undefined;
3192
3222
  maxBudgetUsd?: number | undefined;
@@ -3203,6 +3233,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3203
3233
  maxIterations?: number | undefined;
3204
3234
  enforcement?: "local" | "lease" | "central" | undefined;
3205
3235
  } | undefined;
3236
+ roster?: string | undefined;
3206
3237
  runtimeCaps?: {
3207
3238
  allowBypassPermissions?: boolean | undefined;
3208
3239
  allowAutoMode?: boolean | undefined;
@@ -3214,10 +3245,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3214
3245
  allowMemoryOptOut?: boolean | undefined;
3215
3246
  forceDurableGate?: boolean | undefined;
3216
3247
  } | undefined;
3248
+ tokenQuota?: undefined;
3249
+ visibleSkills?: string[] | undefined;
3250
+ visibleMcp?: string[] | undefined;
3251
+ visiblePlugins?: string[] | undefined;
3217
3252
  orgMemory?: Record<string, {
3218
3253
  write?: boolean | undefined;
3219
3254
  }> | undefined;
3220
- tokenQuota?: undefined;
3221
3255
  }[];
3222
3256
  subjects: {
3223
3257
  principal: string;
@@ -3250,17 +3284,17 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3250
3284
  budgetGroups: {
3251
3285
  id: string;
3252
3286
  name: string;
3253
- maxBudgetUsd: number;
3254
3287
  members: {
3255
3288
  groups: {
3256
- memberSince: string;
3257
3289
  group: string;
3290
+ memberSince: string;
3258
3291
  }[];
3259
3292
  principals: {
3260
3293
  principal: string;
3261
3294
  memberSince: string;
3262
3295
  }[];
3263
3296
  };
3297
+ maxBudgetUsd: number;
3264
3298
  budgetDuration?: string | undefined;
3265
3299
  }[];
3266
3300
  defaults?: {
@@ -3298,8 +3332,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3298
3332
  } | undefined;
3299
3333
  scenarioAssignments?: {
3300
3334
  groups: {
3301
- group: string;
3302
3335
  scenario: string;
3336
+ group: string;
3303
3337
  }[];
3304
3338
  principals: {
3305
3339
  principal: string;
@@ -3311,10 +3345,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3311
3345
  tiers?: {
3312
3346
  id: string;
3313
3347
  models?: string[] | undefined;
3314
- roster?: string | undefined;
3315
- visibleSkills?: string[] | undefined;
3316
- visibleMcp?: string[] | undefined;
3317
- visiblePlugins?: string[] | undefined;
3318
3348
  budget?: {
3319
3349
  mode?: "soft" | "hard" | "degrade" | undefined;
3320
3350
  maxBudgetUsd?: number | undefined;
@@ -3331,6 +3361,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3331
3361
  maxIterations?: number | undefined;
3332
3362
  enforcement?: "local" | "lease" | "central" | undefined;
3333
3363
  } | undefined;
3364
+ roster?: string | undefined;
3334
3365
  runtimeCaps?: {
3335
3366
  allowBypassPermissions?: boolean | undefined;
3336
3367
  allowAutoMode?: boolean | undefined;
@@ -3342,10 +3373,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3342
3373
  allowMemoryOptOut?: boolean | undefined;
3343
3374
  forceDurableGate?: boolean | undefined;
3344
3375
  } | undefined;
3376
+ tokenQuota?: undefined;
3377
+ visibleSkills?: string[] | undefined;
3378
+ visibleMcp?: string[] | undefined;
3379
+ visiblePlugins?: string[] | undefined;
3345
3380
  orgMemory?: Record<string, {
3346
3381
  write?: boolean | undefined;
3347
3382
  }> | undefined;
3348
- tokenQuota?: undefined;
3349
3383
  }[] | undefined;
3350
3384
  defaults?: {
3351
3385
  budget?: {
@@ -3412,23 +3446,23 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3412
3446
  id: string;
3413
3447
  name: string;
3414
3448
  maxBudgetUsd: number;
3415
- budgetDuration?: string | undefined;
3416
3449
  members?: {
3417
3450
  groups?: {
3418
- memberSince: string;
3419
3451
  group: string;
3452
+ memberSince: string;
3420
3453
  }[] | undefined;
3421
3454
  principals?: {
3422
3455
  principal: string;
3423
3456
  memberSince: string;
3424
3457
  }[] | undefined;
3425
3458
  } | undefined;
3459
+ budgetDuration?: string | undefined;
3426
3460
  }[] | undefined;
3427
3461
  scenarioAssignments?: {
3428
3462
  default?: string | undefined;
3429
3463
  groups?: {
3430
- group: string;
3431
3464
  scenario: string;
3465
+ group: string;
3432
3466
  }[] | undefined;
3433
3467
  principals?: {
3434
3468
  principal: string;
@@ -3439,10 +3473,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3439
3473
  tiers: {
3440
3474
  id: string;
3441
3475
  models?: string[] | undefined;
3442
- roster?: string | undefined;
3443
- visibleSkills?: string[] | undefined;
3444
- visibleMcp?: string[] | undefined;
3445
- visiblePlugins?: string[] | undefined;
3446
3476
  budget?: {
3447
3477
  mode?: "soft" | "hard" | "degrade" | undefined;
3448
3478
  maxBudgetUsd?: number | undefined;
@@ -3459,6 +3489,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3459
3489
  maxIterations?: number | undefined;
3460
3490
  enforcement?: "local" | "lease" | "central" | undefined;
3461
3491
  } | undefined;
3492
+ roster?: string | undefined;
3462
3493
  runtimeCaps?: {
3463
3494
  allowBypassPermissions?: boolean | undefined;
3464
3495
  allowAutoMode?: boolean | undefined;
@@ -3470,10 +3501,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3470
3501
  allowMemoryOptOut?: boolean | undefined;
3471
3502
  forceDurableGate?: boolean | undefined;
3472
3503
  } | undefined;
3504
+ tokenQuota?: undefined;
3505
+ visibleSkills?: string[] | undefined;
3506
+ visibleMcp?: string[] | undefined;
3507
+ visiblePlugins?: string[] | undefined;
3473
3508
  orgMemory?: Record<string, {
3474
3509
  write?: boolean | undefined;
3475
3510
  }> | undefined;
3476
- tokenQuota?: undefined;
3477
3511
  }[];
3478
3512
  subjects: {
3479
3513
  principal: string;
@@ -3506,17 +3540,17 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3506
3540
  budgetGroups: {
3507
3541
  id: string;
3508
3542
  name: string;
3509
- maxBudgetUsd: number;
3510
3543
  members: {
3511
3544
  groups: {
3512
- memberSince: string;
3513
3545
  group: string;
3546
+ memberSince: string;
3514
3547
  }[];
3515
3548
  principals: {
3516
3549
  principal: string;
3517
3550
  memberSince: string;
3518
3551
  }[];
3519
3552
  };
3553
+ maxBudgetUsd: number;
3520
3554
  budgetDuration?: string | undefined;
3521
3555
  }[];
3522
3556
  defaults?: {
@@ -3554,8 +3588,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3554
3588
  } | undefined;
3555
3589
  scenarioAssignments?: {
3556
3590
  groups: {
3557
- group: string;
3558
3591
  scenario: string;
3592
+ group: string;
3559
3593
  }[];
3560
3594
  principals: {
3561
3595
  principal: string;
@@ -3567,10 +3601,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3567
3601
  tiers?: {
3568
3602
  id: string;
3569
3603
  models?: string[] | undefined;
3570
- roster?: string | undefined;
3571
- visibleSkills?: string[] | undefined;
3572
- visibleMcp?: string[] | undefined;
3573
- visiblePlugins?: string[] | undefined;
3574
3604
  budget?: {
3575
3605
  mode?: "soft" | "hard" | "degrade" | undefined;
3576
3606
  maxBudgetUsd?: number | undefined;
@@ -3587,6 +3617,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3587
3617
  maxIterations?: number | undefined;
3588
3618
  enforcement?: "local" | "lease" | "central" | undefined;
3589
3619
  } | undefined;
3620
+ roster?: string | undefined;
3590
3621
  runtimeCaps?: {
3591
3622
  allowBypassPermissions?: boolean | undefined;
3592
3623
  allowAutoMode?: boolean | undefined;
@@ -3598,10 +3629,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3598
3629
  allowMemoryOptOut?: boolean | undefined;
3599
3630
  forceDurableGate?: boolean | undefined;
3600
3631
  } | undefined;
3632
+ tokenQuota?: undefined;
3633
+ visibleSkills?: string[] | undefined;
3634
+ visibleMcp?: string[] | undefined;
3635
+ visiblePlugins?: string[] | undefined;
3601
3636
  orgMemory?: Record<string, {
3602
3637
  write?: boolean | undefined;
3603
3638
  }> | undefined;
3604
- tokenQuota?: undefined;
3605
3639
  }[] | undefined;
3606
3640
  defaults?: {
3607
3641
  budget?: {
@@ -3668,23 +3702,23 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3668
3702
  id: string;
3669
3703
  name: string;
3670
3704
  maxBudgetUsd: number;
3671
- budgetDuration?: string | undefined;
3672
3705
  members?: {
3673
3706
  groups?: {
3674
- memberSince: string;
3675
3707
  group: string;
3708
+ memberSince: string;
3676
3709
  }[] | undefined;
3677
3710
  principals?: {
3678
3711
  principal: string;
3679
3712
  memberSince: string;
3680
3713
  }[] | undefined;
3681
3714
  } | undefined;
3715
+ budgetDuration?: string | undefined;
3682
3716
  }[] | undefined;
3683
3717
  scenarioAssignments?: {
3684
3718
  default?: string | undefined;
3685
3719
  groups?: {
3686
- group: string;
3687
3720
  scenario: string;
3721
+ group: string;
3688
3722
  }[] | undefined;
3689
3723
  principals?: {
3690
3724
  principal: string;
@@ -4776,10 +4810,11 @@ export type ExecutionPolicy = z.infer<typeof ExecutionPolicy>;
4776
4810
  /** projectId 形状:lowercase 规范 UUID。**宽读严写**(core 口径):读面/claim 收 generic
4777
4811
  * UUID(外部/历史铸造的 v4 也认——marker 是身份不是格式声明);铸造侧(core formatProjectMarker /
4778
4812
  * center mint 端点)统一产 **uuidv7**。36 字符,天然满足 design/142 §1.2 段编码 64 上限。
4779
- * SINGLE-SOURCE 纪律:core 1.268.0 尚未公开导出其内部 UUID_RE——本常量为自持镜像,与 core 的对拍
4780
- * 走 dev-only conformance(never a runtime import,EffectiveKey/coreTypes 先例)。
4781
- * TODO(0.10.x): @sema-agent/core 下一班车公开导出 PROJECT_ID_REGEX 后(core 已承诺),
4782
- * 加 dev-only drift-lock 测试与其对拍(坐标:test/projects-0.10.test.ts「conformance」节)。 */
4813
+ * SINGLE-SOURCE 纪律:本常量是引擎那条正则的**自持镜像**(本仓不带引擎运行时依赖轴),对拍走 dev-only
4814
+ * conformance(never a runtime import,EffectiveKey/coreTypes 先例)。
4815
+ * 1.11.0:drift-lock 已建(`test/upstream-drift.test.ts` ③)—— pattern 必须与引擎逐字相同,唯一成文的差是
4816
+ * flags:本常量刻意**不带** `i`,因为它是登记簿 Record 的**键**,大小写不同的同一个 UUID 会变成两条登记行
4817
+ * (同一 project 双注册);引擎侧是识别语义(读 marker / 找回身份),放宽合理。 */
4783
4818
  export declare const PROJECT_ID_REGEX: RegExp;
4784
4819
  export declare const ProjectRegistration: z.ZodObject<{
4785
4820
  /** 人读名(展示/管理面用;不是身份,改名自由——身份=Record 键 projectId)。 */
@@ -4918,31 +4953,31 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4918
4953
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
4919
4954
  rolePrompt: z.ZodOptional<z.ZodString>;
4920
4955
  }, "strip", z.ZodTypeAny, {
4921
- modelRef?: string | undefined;
4922
4956
  rolePrompt?: string | undefined;
4923
- }, {
4924
4957
  modelRef?: string | undefined;
4958
+ }, {
4925
4959
  rolePrompt?: string | undefined;
4960
+ modelRef?: string | undefined;
4926
4961
  }>, "many">>;
4927
4962
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
4928
4963
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4929
4964
  }, "strip", z.ZodTypeAny, {
4930
4965
  id: string;
4966
+ cardinality: 1 | "N";
4931
4967
  members: {
4932
- modelRef?: string | undefined;
4933
4968
  rolePrompt?: string | undefined;
4969
+ modelRef?: string | undefined;
4934
4970
  }[];
4935
- cardinality: 1 | "N";
4936
4971
  rolePrompt?: string | undefined;
4937
4972
  tools?: string[] | undefined;
4938
4973
  }, {
4939
4974
  id: string;
4975
+ rolePrompt?: string | undefined;
4976
+ cardinality?: 1 | "N" | undefined;
4940
4977
  members?: {
4941
- modelRef?: string | undefined;
4942
4978
  rolePrompt?: string | undefined;
4979
+ modelRef?: string | undefined;
4943
4980
  }[] | undefined;
4944
- rolePrompt?: string | undefined;
4945
- cardinality?: 1 | "N" | undefined;
4946
4981
  tools?: string[] | undefined;
4947
4982
  }>, "many">;
4948
4983
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -4973,10 +5008,10 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4973
5008
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
4974
5009
  }, "strip", z.ZodTypeAny, {
4975
5010
  kind: "blackboard" | "transcript";
4976
- persistence: "session" | "store-blob" | "git";
5011
+ persistence: "git" | "session" | "store-blob";
4977
5012
  }, {
4978
5013
  kind?: "blackboard" | "transcript" | undefined;
4979
- persistence?: "session" | "store-blob" | "git" | undefined;
5014
+ persistence?: "git" | "session" | "store-blob" | undefined;
4980
5015
  }>>;
4981
5016
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
4982
5017
  budget: z.ZodObject<{
@@ -4995,18 +5030,14 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4995
5030
  id: string;
4996
5031
  name: string;
4997
5032
  enabled: boolean;
4998
- budget: {
4999
- maxTokens?: number | undefined;
5000
- maxCost?: number | undefined;
5001
- };
5002
5033
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5003
5034
  slots: {
5004
5035
  id: string;
5036
+ cardinality: 1 | "N";
5005
5037
  members: {
5006
- modelRef?: string | undefined;
5007
5038
  rolePrompt?: string | undefined;
5039
+ modelRef?: string | undefined;
5008
5040
  }[];
5009
- cardinality: 1 | "N";
5010
5041
  rolePrompt?: string | undefined;
5011
5042
  tools?: string[] | undefined;
5012
5043
  }[];
@@ -5020,26 +5051,26 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5020
5051
  };
5021
5052
  sharedContext: {
5022
5053
  kind: "blackboard" | "transcript";
5023
- persistence: "session" | "store-blob" | "git";
5054
+ persistence: "git" | "session" | "store-blob";
5055
+ };
5056
+ budget: {
5057
+ maxTokens?: number | undefined;
5058
+ maxCost?: number | undefined;
5024
5059
  };
5025
5060
  notes?: string | undefined;
5026
5061
  description?: string | undefined;
5027
5062
  }, {
5028
5063
  id: string;
5029
5064
  name: string;
5030
- budget: {
5031
- maxTokens?: number | undefined;
5032
- maxCost?: number | undefined;
5033
- };
5034
5065
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5035
5066
  slots: {
5036
5067
  id: string;
5068
+ rolePrompt?: string | undefined;
5069
+ cardinality?: 1 | "N" | undefined;
5037
5070
  members?: {
5038
- modelRef?: string | undefined;
5039
5071
  rolePrompt?: string | undefined;
5072
+ modelRef?: string | undefined;
5040
5073
  }[] | undefined;
5041
- rolePrompt?: string | undefined;
5042
- cardinality?: 1 | "N" | undefined;
5043
5074
  tools?: string[] | undefined;
5044
5075
  }[];
5045
5076
  rounds: {
@@ -5050,29 +5081,29 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5050
5081
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5051
5082
  slot?: string | undefined;
5052
5083
  };
5084
+ budget: {
5085
+ maxTokens?: number | undefined;
5086
+ maxCost?: number | undefined;
5087
+ };
5053
5088
  enabled?: boolean | undefined;
5054
5089
  notes?: string | undefined;
5055
5090
  description?: string | undefined;
5056
5091
  sharedContext?: {
5057
5092
  kind?: "blackboard" | "transcript" | undefined;
5058
- persistence?: "session" | "store-blob" | "git" | undefined;
5093
+ persistence?: "git" | "session" | "store-blob" | undefined;
5059
5094
  } | undefined;
5060
5095
  }>, {
5061
5096
  id: string;
5062
5097
  name: string;
5063
5098
  enabled: boolean;
5064
- budget: {
5065
- maxTokens?: number | undefined;
5066
- maxCost?: number | undefined;
5067
- };
5068
5099
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5069
5100
  slots: {
5070
5101
  id: string;
5102
+ cardinality: 1 | "N";
5071
5103
  members: {
5072
- modelRef?: string | undefined;
5073
5104
  rolePrompt?: string | undefined;
5105
+ modelRef?: string | undefined;
5074
5106
  }[];
5075
- cardinality: 1 | "N";
5076
5107
  rolePrompt?: string | undefined;
5077
5108
  tools?: string[] | undefined;
5078
5109
  }[];
@@ -5086,26 +5117,26 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5086
5117
  };
5087
5118
  sharedContext: {
5088
5119
  kind: "blackboard" | "transcript";
5089
- persistence: "session" | "store-blob" | "git";
5120
+ persistence: "git" | "session" | "store-blob";
5121
+ };
5122
+ budget: {
5123
+ maxTokens?: number | undefined;
5124
+ maxCost?: number | undefined;
5090
5125
  };
5091
5126
  notes?: string | undefined;
5092
5127
  description?: string | undefined;
5093
5128
  }, {
5094
5129
  id: string;
5095
5130
  name: string;
5096
- budget: {
5097
- maxTokens?: number | undefined;
5098
- maxCost?: number | undefined;
5099
- };
5100
5131
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5101
5132
  slots: {
5102
5133
  id: string;
5134
+ rolePrompt?: string | undefined;
5135
+ cardinality?: 1 | "N" | undefined;
5103
5136
  members?: {
5104
- modelRef?: string | undefined;
5105
5137
  rolePrompt?: string | undefined;
5138
+ modelRef?: string | undefined;
5106
5139
  }[] | undefined;
5107
- rolePrompt?: string | undefined;
5108
- cardinality?: 1 | "N" | undefined;
5109
5140
  tools?: string[] | undefined;
5110
5141
  }[];
5111
5142
  rounds: {
@@ -5116,12 +5147,16 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5116
5147
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5117
5148
  slot?: string | undefined;
5118
5149
  };
5150
+ budget: {
5151
+ maxTokens?: number | undefined;
5152
+ maxCost?: number | undefined;
5153
+ };
5119
5154
  enabled?: boolean | undefined;
5120
5155
  notes?: string | undefined;
5121
5156
  description?: string | undefined;
5122
5157
  sharedContext?: {
5123
5158
  kind?: "blackboard" | "transcript" | undefined;
5124
- persistence?: "session" | "store-blob" | "git" | undefined;
5159
+ persistence?: "git" | "session" | "store-blob" | undefined;
5125
5160
  } | undefined;
5126
5161
  }>;
5127
5162
  export type CollabTemplate = z.infer<typeof CollabTemplate>;
@@ -5146,31 +5181,31 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5146
5181
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
5147
5182
  rolePrompt: z.ZodOptional<z.ZodString>;
5148
5183
  }, "strip", z.ZodTypeAny, {
5149
- modelRef?: string | undefined;
5150
5184
  rolePrompt?: string | undefined;
5151
- }, {
5152
5185
  modelRef?: string | undefined;
5186
+ }, {
5153
5187
  rolePrompt?: string | undefined;
5188
+ modelRef?: string | undefined;
5154
5189
  }>, "many">>;
5155
5190
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
5156
5191
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5157
5192
  }, "strip", z.ZodTypeAny, {
5158
5193
  id: string;
5194
+ cardinality: 1 | "N";
5159
5195
  members: {
5160
- modelRef?: string | undefined;
5161
5196
  rolePrompt?: string | undefined;
5197
+ modelRef?: string | undefined;
5162
5198
  }[];
5163
- cardinality: 1 | "N";
5164
5199
  rolePrompt?: string | undefined;
5165
5200
  tools?: string[] | undefined;
5166
5201
  }, {
5167
5202
  id: string;
5203
+ rolePrompt?: string | undefined;
5204
+ cardinality?: 1 | "N" | undefined;
5168
5205
  members?: {
5169
- modelRef?: string | undefined;
5170
5206
  rolePrompt?: string | undefined;
5207
+ modelRef?: string | undefined;
5171
5208
  }[] | undefined;
5172
- rolePrompt?: string | undefined;
5173
- cardinality?: 1 | "N" | undefined;
5174
5209
  tools?: string[] | undefined;
5175
5210
  }>, "many">;
5176
5211
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -5201,10 +5236,10 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5201
5236
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
5202
5237
  }, "strip", z.ZodTypeAny, {
5203
5238
  kind: "blackboard" | "transcript";
5204
- persistence: "session" | "store-blob" | "git";
5239
+ persistence: "git" | "session" | "store-blob";
5205
5240
  }, {
5206
5241
  kind?: "blackboard" | "transcript" | undefined;
5207
- persistence?: "session" | "store-blob" | "git" | undefined;
5242
+ persistence?: "git" | "session" | "store-blob" | undefined;
5208
5243
  }>>;
5209
5244
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
5210
5245
  budget: z.ZodObject<{
@@ -5223,18 +5258,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5223
5258
  id: string;
5224
5259
  name: string;
5225
5260
  enabled: boolean;
5226
- budget: {
5227
- maxTokens?: number | undefined;
5228
- maxCost?: number | undefined;
5229
- };
5230
5261
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5231
5262
  slots: {
5232
5263
  id: string;
5264
+ cardinality: 1 | "N";
5233
5265
  members: {
5234
- modelRef?: string | undefined;
5235
5266
  rolePrompt?: string | undefined;
5267
+ modelRef?: string | undefined;
5236
5268
  }[];
5237
- cardinality: 1 | "N";
5238
5269
  rolePrompt?: string | undefined;
5239
5270
  tools?: string[] | undefined;
5240
5271
  }[];
@@ -5248,26 +5279,26 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5248
5279
  };
5249
5280
  sharedContext: {
5250
5281
  kind: "blackboard" | "transcript";
5251
- persistence: "session" | "store-blob" | "git";
5282
+ persistence: "git" | "session" | "store-blob";
5283
+ };
5284
+ budget: {
5285
+ maxTokens?: number | undefined;
5286
+ maxCost?: number | undefined;
5252
5287
  };
5253
5288
  notes?: string | undefined;
5254
5289
  description?: string | undefined;
5255
5290
  }, {
5256
5291
  id: string;
5257
5292
  name: string;
5258
- budget: {
5259
- maxTokens?: number | undefined;
5260
- maxCost?: number | undefined;
5261
- };
5262
5293
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5263
5294
  slots: {
5264
5295
  id: string;
5296
+ rolePrompt?: string | undefined;
5297
+ cardinality?: 1 | "N" | undefined;
5265
5298
  members?: {
5266
- modelRef?: string | undefined;
5267
5299
  rolePrompt?: string | undefined;
5300
+ modelRef?: string | undefined;
5268
5301
  }[] | undefined;
5269
- rolePrompt?: string | undefined;
5270
- cardinality?: 1 | "N" | undefined;
5271
5302
  tools?: string[] | undefined;
5272
5303
  }[];
5273
5304
  rounds: {
@@ -5278,29 +5309,29 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5278
5309
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5279
5310
  slot?: string | undefined;
5280
5311
  };
5312
+ budget: {
5313
+ maxTokens?: number | undefined;
5314
+ maxCost?: number | undefined;
5315
+ };
5281
5316
  enabled?: boolean | undefined;
5282
5317
  notes?: string | undefined;
5283
5318
  description?: string | undefined;
5284
5319
  sharedContext?: {
5285
5320
  kind?: "blackboard" | "transcript" | undefined;
5286
- persistence?: "session" | "store-blob" | "git" | undefined;
5321
+ persistence?: "git" | "session" | "store-blob" | undefined;
5287
5322
  } | undefined;
5288
5323
  }>, {
5289
5324
  id: string;
5290
5325
  name: string;
5291
5326
  enabled: boolean;
5292
- budget: {
5293
- maxTokens?: number | undefined;
5294
- maxCost?: number | undefined;
5295
- };
5296
5327
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5297
5328
  slots: {
5298
5329
  id: string;
5330
+ cardinality: 1 | "N";
5299
5331
  members: {
5300
- modelRef?: string | undefined;
5301
5332
  rolePrompt?: string | undefined;
5333
+ modelRef?: string | undefined;
5302
5334
  }[];
5303
- cardinality: 1 | "N";
5304
5335
  rolePrompt?: string | undefined;
5305
5336
  tools?: string[] | undefined;
5306
5337
  }[];
@@ -5314,26 +5345,26 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5314
5345
  };
5315
5346
  sharedContext: {
5316
5347
  kind: "blackboard" | "transcript";
5317
- persistence: "session" | "store-blob" | "git";
5348
+ persistence: "git" | "session" | "store-blob";
5349
+ };
5350
+ budget: {
5351
+ maxTokens?: number | undefined;
5352
+ maxCost?: number | undefined;
5318
5353
  };
5319
5354
  notes?: string | undefined;
5320
5355
  description?: string | undefined;
5321
5356
  }, {
5322
5357
  id: string;
5323
5358
  name: string;
5324
- budget: {
5325
- maxTokens?: number | undefined;
5326
- maxCost?: number | undefined;
5327
- };
5328
5359
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5329
5360
  slots: {
5330
5361
  id: string;
5362
+ rolePrompt?: string | undefined;
5363
+ cardinality?: 1 | "N" | undefined;
5331
5364
  members?: {
5332
- modelRef?: string | undefined;
5333
5365
  rolePrompt?: string | undefined;
5366
+ modelRef?: string | undefined;
5334
5367
  }[] | undefined;
5335
- rolePrompt?: string | undefined;
5336
- cardinality?: 1 | "N" | undefined;
5337
5368
  tools?: string[] | undefined;
5338
5369
  }[];
5339
5370
  rounds: {
@@ -5344,12 +5375,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5344
5375
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5345
5376
  slot?: string | undefined;
5346
5377
  };
5378
+ budget: {
5379
+ maxTokens?: number | undefined;
5380
+ maxCost?: number | undefined;
5381
+ };
5347
5382
  enabled?: boolean | undefined;
5348
5383
  notes?: string | undefined;
5349
5384
  description?: string | undefined;
5350
5385
  sharedContext?: {
5351
5386
  kind?: "blackboard" | "transcript" | undefined;
5352
- persistence?: "session" | "store-blob" | "git" | undefined;
5387
+ persistence?: "git" | "session" | "store-blob" | undefined;
5353
5388
  } | undefined;
5354
5389
  }>, "many">>;
5355
5390
  }, "strip", z.ZodTypeAny, {
@@ -5357,18 +5392,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5357
5392
  id: string;
5358
5393
  name: string;
5359
5394
  enabled: boolean;
5360
- budget: {
5361
- maxTokens?: number | undefined;
5362
- maxCost?: number | undefined;
5363
- };
5364
5395
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5365
5396
  slots: {
5366
5397
  id: string;
5398
+ cardinality: 1 | "N";
5367
5399
  members: {
5368
- modelRef?: string | undefined;
5369
5400
  rolePrompt?: string | undefined;
5401
+ modelRef?: string | undefined;
5370
5402
  }[];
5371
- cardinality: 1 | "N";
5372
5403
  rolePrompt?: string | undefined;
5373
5404
  tools?: string[] | undefined;
5374
5405
  }[];
@@ -5382,7 +5413,11 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5382
5413
  };
5383
5414
  sharedContext: {
5384
5415
  kind: "blackboard" | "transcript";
5385
- persistence: "session" | "store-blob" | "git";
5416
+ persistence: "git" | "session" | "store-blob";
5417
+ };
5418
+ budget: {
5419
+ maxTokens?: number | undefined;
5420
+ maxCost?: number | undefined;
5386
5421
  };
5387
5422
  notes?: string | undefined;
5388
5423
  description?: string | undefined;
@@ -5391,19 +5426,15 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5391
5426
  templates?: {
5392
5427
  id: string;
5393
5428
  name: string;
5394
- budget: {
5395
- maxTokens?: number | undefined;
5396
- maxCost?: number | undefined;
5397
- };
5398
5429
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5399
5430
  slots: {
5400
5431
  id: string;
5432
+ rolePrompt?: string | undefined;
5433
+ cardinality?: 1 | "N" | undefined;
5401
5434
  members?: {
5402
- modelRef?: string | undefined;
5403
5435
  rolePrompt?: string | undefined;
5436
+ modelRef?: string | undefined;
5404
5437
  }[] | undefined;
5405
- rolePrompt?: string | undefined;
5406
- cardinality?: 1 | "N" | undefined;
5407
5438
  tools?: string[] | undefined;
5408
5439
  }[];
5409
5440
  rounds: {
@@ -5414,12 +5445,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5414
5445
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5415
5446
  slot?: string | undefined;
5416
5447
  };
5448
+ budget: {
5449
+ maxTokens?: number | undefined;
5450
+ maxCost?: number | undefined;
5451
+ };
5417
5452
  enabled?: boolean | undefined;
5418
5453
  notes?: string | undefined;
5419
5454
  description?: string | undefined;
5420
5455
  sharedContext?: {
5421
5456
  kind?: "blackboard" | "transcript" | undefined;
5422
- persistence?: "session" | "store-blob" | "git" | undefined;
5457
+ persistence?: "git" | "session" | "store-blob" | undefined;
5423
5458
  } | undefined;
5424
5459
  }[] | undefined;
5425
5460
  }>, {
@@ -5427,18 +5462,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5427
5462
  id: string;
5428
5463
  name: string;
5429
5464
  enabled: boolean;
5430
- budget: {
5431
- maxTokens?: number | undefined;
5432
- maxCost?: number | undefined;
5433
- };
5434
5465
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5435
5466
  slots: {
5436
5467
  id: string;
5468
+ cardinality: 1 | "N";
5437
5469
  members: {
5438
- modelRef?: string | undefined;
5439
5470
  rolePrompt?: string | undefined;
5471
+ modelRef?: string | undefined;
5440
5472
  }[];
5441
- cardinality: 1 | "N";
5442
5473
  rolePrompt?: string | undefined;
5443
5474
  tools?: string[] | undefined;
5444
5475
  }[];
@@ -5452,7 +5483,11 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5452
5483
  };
5453
5484
  sharedContext: {
5454
5485
  kind: "blackboard" | "transcript";
5455
- persistence: "session" | "store-blob" | "git";
5486
+ persistence: "git" | "session" | "store-blob";
5487
+ };
5488
+ budget: {
5489
+ maxTokens?: number | undefined;
5490
+ maxCost?: number | undefined;
5456
5491
  };
5457
5492
  notes?: string | undefined;
5458
5493
  description?: string | undefined;
@@ -5461,19 +5496,15 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5461
5496
  templates?: {
5462
5497
  id: string;
5463
5498
  name: string;
5464
- budget: {
5465
- maxTokens?: number | undefined;
5466
- maxCost?: number | undefined;
5467
- };
5468
5499
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5469
5500
  slots: {
5470
5501
  id: string;
5502
+ rolePrompt?: string | undefined;
5503
+ cardinality?: 1 | "N" | undefined;
5471
5504
  members?: {
5472
- modelRef?: string | undefined;
5473
5505
  rolePrompt?: string | undefined;
5506
+ modelRef?: string | undefined;
5474
5507
  }[] | undefined;
5475
- rolePrompt?: string | undefined;
5476
- cardinality?: 1 | "N" | undefined;
5477
5508
  tools?: string[] | undefined;
5478
5509
  }[];
5479
5510
  rounds: {
@@ -5484,12 +5515,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5484
5515
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5485
5516
  slot?: string | undefined;
5486
5517
  };
5518
+ budget: {
5519
+ maxTokens?: number | undefined;
5520
+ maxCost?: number | undefined;
5521
+ };
5487
5522
  enabled?: boolean | undefined;
5488
5523
  notes?: string | undefined;
5489
5524
  description?: string | undefined;
5490
5525
  sharedContext?: {
5491
5526
  kind?: "blackboard" | "transcript" | undefined;
5492
- persistence?: "session" | "store-blob" | "git" | undefined;
5527
+ persistence?: "git" | "session" | "store-blob" | undefined;
5493
5528
  } | undefined;
5494
5529
  }[] | undefined;
5495
5530
  }>;
@@ -5507,16 +5542,16 @@ export declare const WorkerLifecycle: z.ZodObject<{
5507
5542
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5508
5543
  }, "strip", z.ZodTypeAny, {
5509
5544
  kind: "persistent" | "ephemeral";
5510
- owner?: string | undefined;
5511
5545
  ttl?: string | undefined;
5512
5546
  idleTimeout?: string | undefined;
5547
+ owner?: string | undefined;
5513
5548
  purpose?: string | undefined;
5514
5549
  dependsOn?: string[] | undefined;
5515
5550
  }, {
5516
- owner?: string | undefined;
5517
5551
  kind?: "persistent" | "ephemeral" | undefined;
5518
5552
  ttl?: string | undefined;
5519
5553
  idleTimeout?: string | undefined;
5554
+ owner?: string | undefined;
5520
5555
  purpose?: string | undefined;
5521
5556
  dependsOn?: string[] | undefined;
5522
5557
  }>;
@@ -5660,7 +5695,6 @@ export declare const WorkerSpec: z.ZodObject<{
5660
5695
  * (worker-side default 600s, floor 10s). */
5661
5696
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
5662
5697
  }, "strip", z.ZodTypeAny, {
5663
- drainGraceMs?: number | undefined;
5664
5698
  dispatch?: {
5665
5699
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
5666
5700
  sessionAffinity: boolean;
@@ -5668,8 +5702,8 @@ export declare const WorkerSpec: z.ZodObject<{
5668
5702
  perActorMaxInflight?: number | undefined;
5669
5703
  maxCostUsd?: number | undefined;
5670
5704
  } | undefined;
5671
- }, {
5672
5705
  drainGraceMs?: number | undefined;
5706
+ }, {
5673
5707
  dispatch?: {
5674
5708
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
5675
5709
  sessionAffinity?: boolean | undefined;
@@ -5677,6 +5711,7 @@ export declare const WorkerSpec: z.ZodObject<{
5677
5711
  perActorMaxInflight?: number | undefined;
5678
5712
  maxCostUsd?: number | undefined;
5679
5713
  } | undefined;
5714
+ drainGraceMs?: number | undefined;
5680
5715
  }>>;
5681
5716
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
5682
5717
  runtime: z.ZodObject<{
@@ -5693,21 +5728,21 @@ export declare const WorkerSpec: z.ZodObject<{
5693
5728
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
5694
5729
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
5695
5730
  }, "strip", z.ZodTypeAny, {
5696
- sessionBackend: "auto" | "memory" | "tidb";
5731
+ sessionBackend: "memory" | "tidb" | "auto";
5697
5732
  memoryBackend: "memory" | "tidb" | "off";
5698
5733
  requirePrincipal: boolean;
5699
5734
  rateLimitRpm: number;
5700
- maxPrincipalCostUsd?: number | undefined;
5701
- scenario?: string | undefined;
5702
5735
  db?: string | undefined;
5703
- }, {
5704
- maxPrincipalCostUsd?: number | undefined;
5705
5736
  scenario?: string | undefined;
5706
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
5737
+ maxPrincipalCostUsd?: number | undefined;
5738
+ }, {
5739
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
5707
5740
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
5708
5741
  db?: string | undefined;
5742
+ scenario?: string | undefined;
5709
5743
  requirePrincipal?: boolean | undefined;
5710
5744
  rateLimitRpm?: number | undefined;
5745
+ maxPrincipalCostUsd?: number | undefined;
5711
5746
  }>;
5712
5747
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
5713
5748
  coords: z.ZodDefault<z.ZodObject<{
@@ -5782,16 +5817,16 @@ export declare const WorkerSpec: z.ZodObject<{
5782
5817
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5783
5818
  }, "strip", z.ZodTypeAny, {
5784
5819
  kind: "persistent" | "ephemeral";
5785
- owner?: string | undefined;
5786
5820
  ttl?: string | undefined;
5787
5821
  idleTimeout?: string | undefined;
5822
+ owner?: string | undefined;
5788
5823
  purpose?: string | undefined;
5789
5824
  dependsOn?: string[] | undefined;
5790
5825
  }, {
5791
- owner?: string | undefined;
5792
5826
  kind?: "persistent" | "ephemeral" | undefined;
5793
5827
  ttl?: string | undefined;
5794
5828
  idleTimeout?: string | undefined;
5829
+ owner?: string | undefined;
5795
5830
  purpose?: string | undefined;
5796
5831
  dependsOn?: string[] | undefined;
5797
5832
  }>>;
@@ -5804,7 +5839,7 @@ export declare const WorkerSpec: z.ZodObject<{
5804
5839
  auto: z.ZodDefault<z.ZodBoolean>;
5805
5840
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
5806
5841
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
5807
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
5842
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
5808
5843
  spread: z.ZodOptional<z.ZodString>;
5809
5844
  }, "strip", z.ZodTypeAny, {
5810
5845
  auto: boolean;
@@ -5816,7 +5851,7 @@ export declare const WorkerSpec: z.ZodObject<{
5816
5851
  spread?: string | undefined;
5817
5852
  }>>;
5818
5853
  /**
5819
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
5854
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
5820
5855
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
5821
5856
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
5822
5857
  */
@@ -5830,13 +5865,13 @@ export declare const WorkerSpec: z.ZodObject<{
5830
5865
  host: string;
5831
5866
  image: string;
5832
5867
  runtime: {
5833
- sessionBackend: "auto" | "memory" | "tidb";
5868
+ sessionBackend: "memory" | "tidb" | "auto";
5834
5869
  memoryBackend: "memory" | "tidb" | "off";
5835
5870
  requirePrincipal: boolean;
5836
5871
  rateLimitRpm: number;
5837
- maxPrincipalCostUsd?: number | undefined;
5838
- scenario?: string | undefined;
5839
5872
  db?: string | undefined;
5873
+ scenario?: string | undefined;
5874
+ maxPrincipalCostUsd?: number | undefined;
5840
5875
  };
5841
5876
  coords: {
5842
5877
  gitApiBaseUrl?: string | undefined;
@@ -5851,7 +5886,6 @@ export declare const WorkerSpec: z.ZodObject<{
5851
5886
  tidbPasswordEnv?: string | undefined;
5852
5887
  };
5853
5888
  notes?: string | undefined;
5854
- roster?: string | undefined;
5855
5889
  routePrefix?: string | undefined;
5856
5890
  replicas?: number | undefined;
5857
5891
  autoscaling?: {
@@ -5870,7 +5904,6 @@ export declare const WorkerSpec: z.ZodObject<{
5870
5904
  } | undefined;
5871
5905
  } | undefined;
5872
5906
  fleet?: {
5873
- drainGraceMs?: number | undefined;
5874
5907
  dispatch?: {
5875
5908
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
5876
5909
  sessionAffinity: boolean;
@@ -5878,15 +5911,16 @@ export declare const WorkerSpec: z.ZodObject<{
5878
5911
  perActorMaxInflight?: number | undefined;
5879
5912
  maxCostUsd?: number | undefined;
5880
5913
  } | undefined;
5914
+ drainGraceMs?: number | undefined;
5881
5915
  } | undefined;
5882
5916
  env?: Record<string, string> | undefined;
5883
5917
  secretEnv?: Record<string, string> | undefined;
5884
5918
  recreateNonce?: string | undefined;
5885
5919
  lifecycle?: {
5886
5920
  kind: "persistent" | "ephemeral";
5887
- owner?: string | undefined;
5888
5921
  ttl?: string | undefined;
5889
5922
  idleTimeout?: string | undefined;
5923
+ owner?: string | undefined;
5890
5924
  purpose?: string | undefined;
5891
5925
  dependsOn?: string[] | undefined;
5892
5926
  } | undefined;
@@ -5895,17 +5929,18 @@ export declare const WorkerSpec: z.ZodObject<{
5895
5929
  requires: string[];
5896
5930
  spread?: string | undefined;
5897
5931
  } | undefined;
5932
+ roster?: string | undefined;
5898
5933
  signature?: string | undefined;
5899
5934
  }, {
5900
5935
  name: string;
5901
5936
  runtime: {
5902
- maxPrincipalCostUsd?: number | undefined;
5903
- scenario?: string | undefined;
5904
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
5937
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
5905
5938
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
5906
5939
  db?: string | undefined;
5940
+ scenario?: string | undefined;
5907
5941
  requirePrincipal?: boolean | undefined;
5908
5942
  rateLimitRpm?: number | undefined;
5943
+ maxPrincipalCostUsd?: number | undefined;
5909
5944
  };
5910
5945
  secretRefs: {
5911
5946
  apiKeyEnv: string;
@@ -5915,7 +5950,6 @@ export declare const WorkerSpec: z.ZodObject<{
5915
5950
  };
5916
5951
  enabled?: boolean | undefined;
5917
5952
  notes?: string | undefined;
5918
- roster?: string | undefined;
5919
5953
  host?: string | undefined;
5920
5954
  image?: string | undefined;
5921
5955
  routePrefix?: string | undefined;
@@ -5936,7 +5970,6 @@ export declare const WorkerSpec: z.ZodObject<{
5936
5970
  } | undefined;
5937
5971
  } | undefined;
5938
5972
  fleet?: {
5939
- drainGraceMs?: number | undefined;
5940
5973
  dispatch?: {
5941
5974
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
5942
5975
  sessionAffinity?: boolean | undefined;
@@ -5944,6 +5977,7 @@ export declare const WorkerSpec: z.ZodObject<{
5944
5977
  perActorMaxInflight?: number | undefined;
5945
5978
  maxCostUsd?: number | undefined;
5946
5979
  } | undefined;
5980
+ drainGraceMs?: number | undefined;
5947
5981
  } | undefined;
5948
5982
  coords?: {
5949
5983
  gitApiBaseUrl?: string | undefined;
@@ -5955,10 +5989,10 @@ export declare const WorkerSpec: z.ZodObject<{
5955
5989
  secretEnv?: Record<string, string> | undefined;
5956
5990
  recreateNonce?: string | undefined;
5957
5991
  lifecycle?: {
5958
- owner?: string | undefined;
5959
5992
  kind?: "persistent" | "ephemeral" | undefined;
5960
5993
  ttl?: string | undefined;
5961
5994
  idleTimeout?: string | undefined;
5995
+ owner?: string | undefined;
5962
5996
  purpose?: string | undefined;
5963
5997
  dependsOn?: string[] | undefined;
5964
5998
  } | undefined;
@@ -5967,6 +6001,7 @@ export declare const WorkerSpec: z.ZodObject<{
5967
6001
  requires?: string[] | undefined;
5968
6002
  spread?: string | undefined;
5969
6003
  } | undefined;
6004
+ roster?: string | undefined;
5970
6005
  signature?: string | undefined;
5971
6006
  }>;
5972
6007
  export type WorkerSpec = z.infer<typeof WorkerSpec>;
@@ -6133,7 +6168,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6133
6168
  * (worker-side default 600s, floor 10s). */
6134
6169
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
6135
6170
  }, "strip", z.ZodTypeAny, {
6136
- drainGraceMs?: number | undefined;
6137
6171
  dispatch?: {
6138
6172
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6139
6173
  sessionAffinity: boolean;
@@ -6141,8 +6175,8 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6141
6175
  perActorMaxInflight?: number | undefined;
6142
6176
  maxCostUsd?: number | undefined;
6143
6177
  } | undefined;
6144
- }, {
6145
6178
  drainGraceMs?: number | undefined;
6179
+ }, {
6146
6180
  dispatch?: {
6147
6181
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6148
6182
  sessionAffinity?: boolean | undefined;
@@ -6150,6 +6184,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6150
6184
  perActorMaxInflight?: number | undefined;
6151
6185
  maxCostUsd?: number | undefined;
6152
6186
  } | undefined;
6187
+ drainGraceMs?: number | undefined;
6153
6188
  }>>;
6154
6189
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
6155
6190
  runtime: z.ZodObject<{
@@ -6166,21 +6201,21 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6166
6201
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
6167
6202
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
6168
6203
  }, "strip", z.ZodTypeAny, {
6169
- sessionBackend: "auto" | "memory" | "tidb";
6204
+ sessionBackend: "memory" | "tidb" | "auto";
6170
6205
  memoryBackend: "memory" | "tidb" | "off";
6171
6206
  requirePrincipal: boolean;
6172
6207
  rateLimitRpm: number;
6173
- maxPrincipalCostUsd?: number | undefined;
6174
- scenario?: string | undefined;
6175
6208
  db?: string | undefined;
6176
- }, {
6177
- maxPrincipalCostUsd?: number | undefined;
6178
6209
  scenario?: string | undefined;
6179
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6210
+ maxPrincipalCostUsd?: number | undefined;
6211
+ }, {
6212
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6180
6213
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6181
6214
  db?: string | undefined;
6215
+ scenario?: string | undefined;
6182
6216
  requirePrincipal?: boolean | undefined;
6183
6217
  rateLimitRpm?: number | undefined;
6218
+ maxPrincipalCostUsd?: number | undefined;
6184
6219
  }>;
6185
6220
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
6186
6221
  coords: z.ZodDefault<z.ZodObject<{
@@ -6255,16 +6290,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6255
6290
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6256
6291
  }, "strip", z.ZodTypeAny, {
6257
6292
  kind: "persistent" | "ephemeral";
6258
- owner?: string | undefined;
6259
6293
  ttl?: string | undefined;
6260
6294
  idleTimeout?: string | undefined;
6295
+ owner?: string | undefined;
6261
6296
  purpose?: string | undefined;
6262
6297
  dependsOn?: string[] | undefined;
6263
6298
  }, {
6264
- owner?: string | undefined;
6265
6299
  kind?: "persistent" | "ephemeral" | undefined;
6266
6300
  ttl?: string | undefined;
6267
6301
  idleTimeout?: string | undefined;
6302
+ owner?: string | undefined;
6268
6303
  purpose?: string | undefined;
6269
6304
  dependsOn?: string[] | undefined;
6270
6305
  }>>;
@@ -6277,7 +6312,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6277
6312
  auto: z.ZodDefault<z.ZodBoolean>;
6278
6313
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6279
6314
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
6280
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
6315
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
6281
6316
  spread: z.ZodOptional<z.ZodString>;
6282
6317
  }, "strip", z.ZodTypeAny, {
6283
6318
  auto: boolean;
@@ -6289,7 +6324,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6289
6324
  spread?: string | undefined;
6290
6325
  }>>;
6291
6326
  /**
6292
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
6327
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
6293
6328
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
6294
6329
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
6295
6330
  */
@@ -6303,13 +6338,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6303
6338
  host: string;
6304
6339
  image: string;
6305
6340
  runtime: {
6306
- sessionBackend: "auto" | "memory" | "tidb";
6341
+ sessionBackend: "memory" | "tidb" | "auto";
6307
6342
  memoryBackend: "memory" | "tidb" | "off";
6308
6343
  requirePrincipal: boolean;
6309
6344
  rateLimitRpm: number;
6310
- maxPrincipalCostUsd?: number | undefined;
6311
- scenario?: string | undefined;
6312
6345
  db?: string | undefined;
6346
+ scenario?: string | undefined;
6347
+ maxPrincipalCostUsd?: number | undefined;
6313
6348
  };
6314
6349
  coords: {
6315
6350
  gitApiBaseUrl?: string | undefined;
@@ -6324,7 +6359,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6324
6359
  tidbPasswordEnv?: string | undefined;
6325
6360
  };
6326
6361
  notes?: string | undefined;
6327
- roster?: string | undefined;
6328
6362
  routePrefix?: string | undefined;
6329
6363
  replicas?: number | undefined;
6330
6364
  autoscaling?: {
@@ -6343,7 +6377,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6343
6377
  } | undefined;
6344
6378
  } | undefined;
6345
6379
  fleet?: {
6346
- drainGraceMs?: number | undefined;
6347
6380
  dispatch?: {
6348
6381
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6349
6382
  sessionAffinity: boolean;
@@ -6351,15 +6384,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6351
6384
  perActorMaxInflight?: number | undefined;
6352
6385
  maxCostUsd?: number | undefined;
6353
6386
  } | undefined;
6387
+ drainGraceMs?: number | undefined;
6354
6388
  } | undefined;
6355
6389
  env?: Record<string, string> | undefined;
6356
6390
  secretEnv?: Record<string, string> | undefined;
6357
6391
  recreateNonce?: string | undefined;
6358
6392
  lifecycle?: {
6359
6393
  kind: "persistent" | "ephemeral";
6360
- owner?: string | undefined;
6361
6394
  ttl?: string | undefined;
6362
6395
  idleTimeout?: string | undefined;
6396
+ owner?: string | undefined;
6363
6397
  purpose?: string | undefined;
6364
6398
  dependsOn?: string[] | undefined;
6365
6399
  } | undefined;
@@ -6368,17 +6402,18 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6368
6402
  requires: string[];
6369
6403
  spread?: string | undefined;
6370
6404
  } | undefined;
6405
+ roster?: string | undefined;
6371
6406
  signature?: string | undefined;
6372
6407
  }, {
6373
6408
  name: string;
6374
6409
  runtime: {
6375
- maxPrincipalCostUsd?: number | undefined;
6376
- scenario?: string | undefined;
6377
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6410
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6378
6411
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6379
6412
  db?: string | undefined;
6413
+ scenario?: string | undefined;
6380
6414
  requirePrincipal?: boolean | undefined;
6381
6415
  rateLimitRpm?: number | undefined;
6416
+ maxPrincipalCostUsd?: number | undefined;
6382
6417
  };
6383
6418
  secretRefs: {
6384
6419
  apiKeyEnv: string;
@@ -6388,7 +6423,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6388
6423
  };
6389
6424
  enabled?: boolean | undefined;
6390
6425
  notes?: string | undefined;
6391
- roster?: string | undefined;
6392
6426
  host?: string | undefined;
6393
6427
  image?: string | undefined;
6394
6428
  routePrefix?: string | undefined;
@@ -6409,7 +6443,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6409
6443
  } | undefined;
6410
6444
  } | undefined;
6411
6445
  fleet?: {
6412
- drainGraceMs?: number | undefined;
6413
6446
  dispatch?: {
6414
6447
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6415
6448
  sessionAffinity?: boolean | undefined;
@@ -6417,6 +6450,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6417
6450
  perActorMaxInflight?: number | undefined;
6418
6451
  maxCostUsd?: number | undefined;
6419
6452
  } | undefined;
6453
+ drainGraceMs?: number | undefined;
6420
6454
  } | undefined;
6421
6455
  coords?: {
6422
6456
  gitApiBaseUrl?: string | undefined;
@@ -6428,10 +6462,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6428
6462
  secretEnv?: Record<string, string> | undefined;
6429
6463
  recreateNonce?: string | undefined;
6430
6464
  lifecycle?: {
6431
- owner?: string | undefined;
6432
6465
  kind?: "persistent" | "ephemeral" | undefined;
6433
6466
  ttl?: string | undefined;
6434
6467
  idleTimeout?: string | undefined;
6468
+ owner?: string | undefined;
6435
6469
  purpose?: string | undefined;
6436
6470
  dependsOn?: string[] | undefined;
6437
6471
  } | undefined;
@@ -6440,6 +6474,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6440
6474
  requires?: string[] | undefined;
6441
6475
  spread?: string | undefined;
6442
6476
  } | undefined;
6477
+ roster?: string | undefined;
6443
6478
  signature?: string | undefined;
6444
6479
  }>, "many">>;
6445
6480
  }, "strip", z.ZodTypeAny, {
@@ -6449,13 +6484,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6449
6484
  host: string;
6450
6485
  image: string;
6451
6486
  runtime: {
6452
- sessionBackend: "auto" | "memory" | "tidb";
6487
+ sessionBackend: "memory" | "tidb" | "auto";
6453
6488
  memoryBackend: "memory" | "tidb" | "off";
6454
6489
  requirePrincipal: boolean;
6455
6490
  rateLimitRpm: number;
6456
- maxPrincipalCostUsd?: number | undefined;
6457
- scenario?: string | undefined;
6458
6491
  db?: string | undefined;
6492
+ scenario?: string | undefined;
6493
+ maxPrincipalCostUsd?: number | undefined;
6459
6494
  };
6460
6495
  coords: {
6461
6496
  gitApiBaseUrl?: string | undefined;
@@ -6470,7 +6505,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6470
6505
  tidbPasswordEnv?: string | undefined;
6471
6506
  };
6472
6507
  notes?: string | undefined;
6473
- roster?: string | undefined;
6474
6508
  routePrefix?: string | undefined;
6475
6509
  replicas?: number | undefined;
6476
6510
  autoscaling?: {
@@ -6489,7 +6523,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6489
6523
  } | undefined;
6490
6524
  } | undefined;
6491
6525
  fleet?: {
6492
- drainGraceMs?: number | undefined;
6493
6526
  dispatch?: {
6494
6527
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6495
6528
  sessionAffinity: boolean;
@@ -6497,15 +6530,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6497
6530
  perActorMaxInflight?: number | undefined;
6498
6531
  maxCostUsd?: number | undefined;
6499
6532
  } | undefined;
6533
+ drainGraceMs?: number | undefined;
6500
6534
  } | undefined;
6501
6535
  env?: Record<string, string> | undefined;
6502
6536
  secretEnv?: Record<string, string> | undefined;
6503
6537
  recreateNonce?: string | undefined;
6504
6538
  lifecycle?: {
6505
6539
  kind: "persistent" | "ephemeral";
6506
- owner?: string | undefined;
6507
6540
  ttl?: string | undefined;
6508
6541
  idleTimeout?: string | undefined;
6542
+ owner?: string | undefined;
6509
6543
  purpose?: string | undefined;
6510
6544
  dependsOn?: string[] | undefined;
6511
6545
  } | undefined;
@@ -6514,19 +6548,20 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6514
6548
  requires: string[];
6515
6549
  spread?: string | undefined;
6516
6550
  } | undefined;
6551
+ roster?: string | undefined;
6517
6552
  signature?: string | undefined;
6518
6553
  }[];
6519
6554
  }, {
6520
6555
  workers?: {
6521
6556
  name: string;
6522
6557
  runtime: {
6523
- maxPrincipalCostUsd?: number | undefined;
6524
- scenario?: string | undefined;
6525
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6558
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6526
6559
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6527
6560
  db?: string | undefined;
6561
+ scenario?: string | undefined;
6528
6562
  requirePrincipal?: boolean | undefined;
6529
6563
  rateLimitRpm?: number | undefined;
6564
+ maxPrincipalCostUsd?: number | undefined;
6530
6565
  };
6531
6566
  secretRefs: {
6532
6567
  apiKeyEnv: string;
@@ -6536,7 +6571,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6536
6571
  };
6537
6572
  enabled?: boolean | undefined;
6538
6573
  notes?: string | undefined;
6539
- roster?: string | undefined;
6540
6574
  host?: string | undefined;
6541
6575
  image?: string | undefined;
6542
6576
  routePrefix?: string | undefined;
@@ -6557,7 +6591,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6557
6591
  } | undefined;
6558
6592
  } | undefined;
6559
6593
  fleet?: {
6560
- drainGraceMs?: number | undefined;
6561
6594
  dispatch?: {
6562
6595
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6563
6596
  sessionAffinity?: boolean | undefined;
@@ -6565,6 +6598,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6565
6598
  perActorMaxInflight?: number | undefined;
6566
6599
  maxCostUsd?: number | undefined;
6567
6600
  } | undefined;
6601
+ drainGraceMs?: number | undefined;
6568
6602
  } | undefined;
6569
6603
  coords?: {
6570
6604
  gitApiBaseUrl?: string | undefined;
@@ -6576,10 +6610,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6576
6610
  secretEnv?: Record<string, string> | undefined;
6577
6611
  recreateNonce?: string | undefined;
6578
6612
  lifecycle?: {
6579
- owner?: string | undefined;
6580
6613
  kind?: "persistent" | "ephemeral" | undefined;
6581
6614
  ttl?: string | undefined;
6582
6615
  idleTimeout?: string | undefined;
6616
+ owner?: string | undefined;
6583
6617
  purpose?: string | undefined;
6584
6618
  dependsOn?: string[] | undefined;
6585
6619
  } | undefined;
@@ -6588,6 +6622,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6588
6622
  requires?: string[] | undefined;
6589
6623
  spread?: string | undefined;
6590
6624
  } | undefined;
6625
+ roster?: string | undefined;
6591
6626
  signature?: string | undefined;
6592
6627
  }[] | undefined;
6593
6628
  }>, {
@@ -6597,13 +6632,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6597
6632
  host: string;
6598
6633
  image: string;
6599
6634
  runtime: {
6600
- sessionBackend: "auto" | "memory" | "tidb";
6635
+ sessionBackend: "memory" | "tidb" | "auto";
6601
6636
  memoryBackend: "memory" | "tidb" | "off";
6602
6637
  requirePrincipal: boolean;
6603
6638
  rateLimitRpm: number;
6604
- maxPrincipalCostUsd?: number | undefined;
6605
- scenario?: string | undefined;
6606
6639
  db?: string | undefined;
6640
+ scenario?: string | undefined;
6641
+ maxPrincipalCostUsd?: number | undefined;
6607
6642
  };
6608
6643
  coords: {
6609
6644
  gitApiBaseUrl?: string | undefined;
@@ -6618,7 +6653,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6618
6653
  tidbPasswordEnv?: string | undefined;
6619
6654
  };
6620
6655
  notes?: string | undefined;
6621
- roster?: string | undefined;
6622
6656
  routePrefix?: string | undefined;
6623
6657
  replicas?: number | undefined;
6624
6658
  autoscaling?: {
@@ -6637,7 +6671,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6637
6671
  } | undefined;
6638
6672
  } | undefined;
6639
6673
  fleet?: {
6640
- drainGraceMs?: number | undefined;
6641
6674
  dispatch?: {
6642
6675
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6643
6676
  sessionAffinity: boolean;
@@ -6645,15 +6678,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6645
6678
  perActorMaxInflight?: number | undefined;
6646
6679
  maxCostUsd?: number | undefined;
6647
6680
  } | undefined;
6681
+ drainGraceMs?: number | undefined;
6648
6682
  } | undefined;
6649
6683
  env?: Record<string, string> | undefined;
6650
6684
  secretEnv?: Record<string, string> | undefined;
6651
6685
  recreateNonce?: string | undefined;
6652
6686
  lifecycle?: {
6653
6687
  kind: "persistent" | "ephemeral";
6654
- owner?: string | undefined;
6655
6688
  ttl?: string | undefined;
6656
6689
  idleTimeout?: string | undefined;
6690
+ owner?: string | undefined;
6657
6691
  purpose?: string | undefined;
6658
6692
  dependsOn?: string[] | undefined;
6659
6693
  } | undefined;
@@ -6662,19 +6696,20 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6662
6696
  requires: string[];
6663
6697
  spread?: string | undefined;
6664
6698
  } | undefined;
6699
+ roster?: string | undefined;
6665
6700
  signature?: string | undefined;
6666
6701
  }[];
6667
6702
  }, {
6668
6703
  workers?: {
6669
6704
  name: string;
6670
6705
  runtime: {
6671
- maxPrincipalCostUsd?: number | undefined;
6672
- scenario?: string | undefined;
6673
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6706
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6674
6707
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6675
6708
  db?: string | undefined;
6709
+ scenario?: string | undefined;
6676
6710
  requirePrincipal?: boolean | undefined;
6677
6711
  rateLimitRpm?: number | undefined;
6712
+ maxPrincipalCostUsd?: number | undefined;
6678
6713
  };
6679
6714
  secretRefs: {
6680
6715
  apiKeyEnv: string;
@@ -6684,7 +6719,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6684
6719
  };
6685
6720
  enabled?: boolean | undefined;
6686
6721
  notes?: string | undefined;
6687
- roster?: string | undefined;
6688
6722
  host?: string | undefined;
6689
6723
  image?: string | undefined;
6690
6724
  routePrefix?: string | undefined;
@@ -6705,7 +6739,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6705
6739
  } | undefined;
6706
6740
  } | undefined;
6707
6741
  fleet?: {
6708
- drainGraceMs?: number | undefined;
6709
6742
  dispatch?: {
6710
6743
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6711
6744
  sessionAffinity?: boolean | undefined;
@@ -6713,6 +6746,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6713
6746
  perActorMaxInflight?: number | undefined;
6714
6747
  maxCostUsd?: number | undefined;
6715
6748
  } | undefined;
6749
+ drainGraceMs?: number | undefined;
6716
6750
  } | undefined;
6717
6751
  coords?: {
6718
6752
  gitApiBaseUrl?: string | undefined;
@@ -6724,10 +6758,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6724
6758
  secretEnv?: Record<string, string> | undefined;
6725
6759
  recreateNonce?: string | undefined;
6726
6760
  lifecycle?: {
6727
- owner?: string | undefined;
6728
6761
  kind?: "persistent" | "ephemeral" | undefined;
6729
6762
  ttl?: string | undefined;
6730
6763
  idleTimeout?: string | undefined;
6764
+ owner?: string | undefined;
6731
6765
  purpose?: string | undefined;
6732
6766
  dependsOn?: string[] | undefined;
6733
6767
  } | undefined;
@@ -6736,6 +6770,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6736
6770
  requires?: string[] | undefined;
6737
6771
  spread?: string | undefined;
6738
6772
  } | undefined;
6773
+ roster?: string | undefined;
6739
6774
  signature?: string | undefined;
6740
6775
  }[] | undefined;
6741
6776
  }>;
@@ -6791,9 +6826,9 @@ export declare const WorkerStatus: z.ZodObject<{
6791
6826
  updatedAt: z.ZodString;
6792
6827
  }, "strip", z.ZodTypeAny, {
6793
6828
  name: string;
6829
+ host: string;
6794
6830
  phase: "Unknown" | "Pending" | "Running" | "Failed";
6795
6831
  updatedAt: string;
6796
- host: string;
6797
6832
  conditions: {
6798
6833
  type: "Reconciled" | "Healthy" | "Conflicted";
6799
6834
  status: "True" | "False" | "Unknown";
@@ -6806,9 +6841,9 @@ export declare const WorkerStatus: z.ZodObject<{
6806
6841
  observedSpecHash?: string | undefined;
6807
6842
  }, {
6808
6843
  name: string;
6844
+ host: string;
6809
6845
  phase: "Unknown" | "Pending" | "Running" | "Failed";
6810
6846
  updatedAt: string;
6811
- host: string;
6812
6847
  observedVersion: number;
6813
6848
  message?: string | undefined;
6814
6849
  conditions?: {
@@ -7084,7 +7119,7 @@ export declare const SkillSpec: z.ZodObject<{
7084
7119
  description: z.ZodDefault<z.ZodString>;
7085
7120
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7086
7121
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7087
- /** Per-roster targeting (v2, docs/MCP-SKILLS.md §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7122
+ /** Per-roster targeting (v2, the mcp/skills design note §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7088
7123
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7089
7124
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7090
7125
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7095,8 +7130,8 @@ export declare const SkillSpec: z.ZodObject<{
7095
7130
  name: string;
7096
7131
  enabled: boolean;
7097
7132
  rosters: string[];
7098
- scenarios: string[];
7099
7133
  description: string;
7134
+ scenarios: string[];
7100
7135
  content: string;
7101
7136
  notes?: string | undefined;
7102
7137
  }, {
@@ -7104,8 +7139,8 @@ export declare const SkillSpec: z.ZodObject<{
7104
7139
  enabled?: boolean | undefined;
7105
7140
  notes?: string | undefined;
7106
7141
  rosters?: string[] | undefined;
7107
- scenarios?: string[] | undefined;
7108
7142
  description?: string | undefined;
7143
+ scenarios?: string[] | undefined;
7109
7144
  content?: string | undefined;
7110
7145
  }>;
7111
7146
  export type SkillSpec = z.infer<typeof SkillSpec>;
@@ -7117,7 +7152,7 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7117
7152
  description: z.ZodDefault<z.ZodString>;
7118
7153
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7119
7154
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7120
- /** Per-roster targeting (v2, docs/MCP-SKILLS.md §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7155
+ /** Per-roster targeting (v2, the mcp/skills design note §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7121
7156
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7122
7157
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7123
7158
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7128,8 +7163,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7128
7163
  name: string;
7129
7164
  enabled: boolean;
7130
7165
  rosters: string[];
7131
- scenarios: string[];
7132
7166
  description: string;
7167
+ scenarios: string[];
7133
7168
  content: string;
7134
7169
  notes?: string | undefined;
7135
7170
  }, {
@@ -7137,8 +7172,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7137
7172
  enabled?: boolean | undefined;
7138
7173
  notes?: string | undefined;
7139
7174
  rosters?: string[] | undefined;
7140
- scenarios?: string[] | undefined;
7141
7175
  description?: string | undefined;
7176
+ scenarios?: string[] | undefined;
7142
7177
  content?: string | undefined;
7143
7178
  }>, "many">>;
7144
7179
  }, "strip", z.ZodTypeAny, {
@@ -7146,8 +7181,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7146
7181
  name: string;
7147
7182
  enabled: boolean;
7148
7183
  rosters: string[];
7149
- scenarios: string[];
7150
7184
  description: string;
7185
+ scenarios: string[];
7151
7186
  content: string;
7152
7187
  notes?: string | undefined;
7153
7188
  }[];
@@ -7157,8 +7192,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7157
7192
  enabled?: boolean | undefined;
7158
7193
  notes?: string | undefined;
7159
7194
  rosters?: string[] | undefined;
7160
- scenarios?: string[] | undefined;
7161
7195
  description?: string | undefined;
7196
+ scenarios?: string[] | undefined;
7162
7197
  content?: string | undefined;
7163
7198
  }[] | undefined;
7164
7199
  }>, {
@@ -7166,8 +7201,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7166
7201
  name: string;
7167
7202
  enabled: boolean;
7168
7203
  rosters: string[];
7169
- scenarios: string[];
7170
7204
  description: string;
7205
+ scenarios: string[];
7171
7206
  content: string;
7172
7207
  notes?: string | undefined;
7173
7208
  }[];
@@ -7177,8 +7212,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7177
7212
  enabled?: boolean | undefined;
7178
7213
  notes?: string | undefined;
7179
7214
  rosters?: string[] | undefined;
7180
- scenarios?: string[] | undefined;
7181
7215
  description?: string | undefined;
7216
+ scenarios?: string[] | undefined;
7182
7217
  content?: string | undefined;
7183
7218
  }[] | undefined;
7184
7219
  }>;
@@ -7203,7 +7238,7 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7203
7238
  description: z.ZodDefault<z.ZodString>;
7204
7239
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7205
7240
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7206
- /** Per-roster targeting (v2, docs/MCP-SKILLS.md §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7241
+ /** Per-roster targeting (v2, the mcp/skills design note §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
7207
7242
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7208
7243
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7209
7244
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7216,8 +7251,8 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7216
7251
  name: string;
7217
7252
  enabled: boolean;
7218
7253
  rosters: string[];
7219
- scenarios: string[];
7220
7254
  description: string;
7255
+ scenarios: string[];
7221
7256
  contentHash: string;
7222
7257
  notes?: string | undefined;
7223
7258
  }, {
@@ -7226,16 +7261,16 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7226
7261
  enabled?: boolean | undefined;
7227
7262
  notes?: string | undefined;
7228
7263
  rosters?: string[] | undefined;
7229
- scenarios?: string[] | undefined;
7230
7264
  description?: string | undefined;
7265
+ scenarios?: string[] | undefined;
7231
7266
  }>, "many">>;
7232
7267
  }, "strip", z.ZodTypeAny, {
7233
7268
  skills: {
7234
7269
  name: string;
7235
7270
  enabled: boolean;
7236
7271
  rosters: string[];
7237
- scenarios: string[];
7238
7272
  description: string;
7273
+ scenarios: string[];
7239
7274
  contentHash: string;
7240
7275
  notes?: string | undefined;
7241
7276
  }[];
@@ -7246,8 +7281,8 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7246
7281
  enabled?: boolean | undefined;
7247
7282
  notes?: string | undefined;
7248
7283
  rosters?: string[] | undefined;
7249
- scenarios?: string[] | undefined;
7250
7284
  description?: string | undefined;
7285
+ scenarios?: string[] | undefined;
7251
7286
  }[] | undefined;
7252
7287
  }>;
7253
7288
  export declare const McpTransport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -7257,13 +7292,13 @@ export declare const McpTransport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<
7257
7292
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7258
7293
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7259
7294
  }, "strip", z.ZodTypeAny, {
7260
- command: string;
7261
7295
  kind: "stdio";
7296
+ command: string;
7262
7297
  args?: string[] | undefined;
7263
7298
  envRefs?: Record<string, string> | undefined;
7264
7299
  }, {
7265
- command: string;
7266
7300
  kind: "stdio";
7301
+ command: string;
7267
7302
  args?: string[] | undefined;
7268
7303
  envRefs?: Record<string, string> | undefined;
7269
7304
  }>, z.ZodObject<{
@@ -7306,13 +7341,13 @@ export declare const McpServerSpec: z.ZodObject<{
7306
7341
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7307
7342
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7308
7343
  }, "strip", z.ZodTypeAny, {
7309
- command: string;
7310
7344
  kind: "stdio";
7345
+ command: string;
7311
7346
  args?: string[] | undefined;
7312
7347
  envRefs?: Record<string, string> | undefined;
7313
7348
  }, {
7314
- command: string;
7315
7349
  kind: "stdio";
7350
+ command: string;
7316
7351
  args?: string[] | undefined;
7317
7352
  envRefs?: Record<string, string> | undefined;
7318
7353
  }>, z.ZodObject<{
@@ -7370,23 +7405,19 @@ export declare const McpServerSpec: z.ZodObject<{
7370
7405
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
7371
7406
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
7372
7407
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
7373
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
7374
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
7375
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
7376
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
7377
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
7378
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
7379
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
7380
- * no gate / policy / trust
7381
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
7382
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
7383
- * (ticket B-036 / S-143), the projection half lives in the consumer. */
7408
+ * no label (`.optional()`, no default — a label has no default tier). Display-only: no gate / policy /
7409
+ * trust effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key
7410
+ * existed both legs stripped it (default-strip object); this is the declaration half of the
7411
+ * consumer-side fix, the projection half lives in the consumer.
7412
+ *
7413
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
7414
+ * (`mcp.servers[].source`). */
7384
7415
  source: z.ZodOptional<z.ZodUnknown>;
7385
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7416
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7386
7417
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
7387
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
7388
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
7389
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
7418
+ * 缺席 = 不铸键。
7419
+ *
7420
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
7390
7421
  toolFaces: z.ZodOptional<z.ZodUnknown>;
7391
7422
  notes: z.ZodOptional<z.ZodString>;
7392
7423
  }, "strip", z.ZodTypeAny, {
@@ -7395,8 +7426,8 @@ export declare const McpServerSpec: z.ZodObject<{
7395
7426
  rosters: string[];
7396
7427
  scenarios: string[];
7397
7428
  transport: {
7398
- command: string;
7399
7429
  kind: "stdio";
7430
+ command: string;
7400
7431
  args?: string[] | undefined;
7401
7432
  envRefs?: Record<string, string> | undefined;
7402
7433
  } | {
@@ -7414,8 +7445,8 @@ export declare const McpServerSpec: z.ZodObject<{
7414
7445
  }, {
7415
7446
  name: string;
7416
7447
  transport: {
7417
- command: string;
7418
7448
  kind: "stdio";
7449
+ command: string;
7419
7450
  args?: string[] | undefined;
7420
7451
  envRefs?: Record<string, string> | undefined;
7421
7452
  } | {
@@ -7445,13 +7476,13 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7445
7476
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7446
7477
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7447
7478
  }, "strip", z.ZodTypeAny, {
7448
- command: string;
7449
7479
  kind: "stdio";
7480
+ command: string;
7450
7481
  args?: string[] | undefined;
7451
7482
  envRefs?: Record<string, string> | undefined;
7452
7483
  }, {
7453
- command: string;
7454
7484
  kind: "stdio";
7485
+ command: string;
7455
7486
  args?: string[] | undefined;
7456
7487
  envRefs?: Record<string, string> | undefined;
7457
7488
  }>, z.ZodObject<{
@@ -7509,23 +7540,19 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7509
7540
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
7510
7541
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
7511
7542
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
7512
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
7513
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
7514
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
7515
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
7516
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
7517
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
7518
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
7519
- * no gate / policy / trust
7520
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
7521
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
7522
- * (ticket B-036 / S-143), the projection half lives in the consumer. */
7543
+ * no label (`.optional()`, no default — a label has no default tier). Display-only: no gate / policy /
7544
+ * trust effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key
7545
+ * existed both legs stripped it (default-strip object); this is the declaration half of the
7546
+ * consumer-side fix, the projection half lives in the consumer.
7547
+ *
7548
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
7549
+ * (`mcp.servers[].source`). */
7523
7550
  source: z.ZodOptional<z.ZodUnknown>;
7524
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7551
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7525
7552
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
7526
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
7527
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
7528
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
7553
+ * 缺席 = 不铸键。
7554
+ *
7555
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
7529
7556
  toolFaces: z.ZodOptional<z.ZodUnknown>;
7530
7557
  notes: z.ZodOptional<z.ZodString>;
7531
7558
  }, "strip", z.ZodTypeAny, {
@@ -7534,8 +7561,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7534
7561
  rosters: string[];
7535
7562
  scenarios: string[];
7536
7563
  transport: {
7537
- command: string;
7538
7564
  kind: "stdio";
7565
+ command: string;
7539
7566
  args?: string[] | undefined;
7540
7567
  envRefs?: Record<string, string> | undefined;
7541
7568
  } | {
@@ -7553,8 +7580,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7553
7580
  }, {
7554
7581
  name: string;
7555
7582
  transport: {
7556
- command: string;
7557
7583
  kind: "stdio";
7584
+ command: string;
7558
7585
  args?: string[] | undefined;
7559
7586
  envRefs?: Record<string, string> | undefined;
7560
7587
  } | {
@@ -7580,8 +7607,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7580
7607
  rosters: string[];
7581
7608
  scenarios: string[];
7582
7609
  transport: {
7583
- command: string;
7584
7610
  kind: "stdio";
7611
+ command: string;
7585
7612
  args?: string[] | undefined;
7586
7613
  envRefs?: Record<string, string> | undefined;
7587
7614
  } | {
@@ -7601,8 +7628,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7601
7628
  servers?: {
7602
7629
  name: string;
7603
7630
  transport: {
7604
- command: string;
7605
7631
  kind: "stdio";
7632
+ command: string;
7606
7633
  args?: string[] | undefined;
7607
7634
  envRefs?: Record<string, string> | undefined;
7608
7635
  } | {
@@ -7628,8 +7655,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7628
7655
  rosters: string[];
7629
7656
  scenarios: string[];
7630
7657
  transport: {
7631
- command: string;
7632
7658
  kind: "stdio";
7659
+ command: string;
7633
7660
  args?: string[] | undefined;
7634
7661
  envRefs?: Record<string, string> | undefined;
7635
7662
  } | {
@@ -7649,8 +7676,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7649
7676
  servers?: {
7650
7677
  name: string;
7651
7678
  transport: {
7652
- command: string;
7653
7679
  kind: "stdio";
7680
+ command: string;
7654
7681
  args?: string[] | undefined;
7655
7682
  envRefs?: Record<string, string> | undefined;
7656
7683
  } | {
@@ -8029,13 +8056,13 @@ export declare const PromptArtifactSection: z.ZodObject<{
8029
8056
  }, "strip", z.ZodTypeAny, {
8030
8057
  id: string;
8031
8058
  slot: "scenario" | "identity" | "behavior";
8032
- contentHash: string;
8033
8059
  text: string;
8060
+ contentHash: string;
8034
8061
  }, {
8035
8062
  id: string;
8036
8063
  slot: "scenario" | "identity" | "behavior";
8037
- contentHash: string;
8038
8064
  text: string;
8065
+ contentHash: string;
8039
8066
  }>;
8040
8067
  export type PromptArtifactSection = z.infer<typeof PromptArtifactSection>;
8041
8068
  /** core `PromptCatalogSnapshot` 同形。packId=逻辑名(如 `center:acme@3`),历史身份恒在 digest。 */
@@ -8049,29 +8076,29 @@ export declare const PromptCatalogSnapshot: z.ZodObject<{
8049
8076
  }, "strip", z.ZodTypeAny, {
8050
8077
  id: string;
8051
8078
  slot: "scenario" | "identity" | "behavior";
8052
- contentHash: string;
8053
8079
  text: string;
8080
+ contentHash: string;
8054
8081
  }, {
8055
8082
  id: string;
8056
8083
  slot: "scenario" | "identity" | "behavior";
8057
- contentHash: string;
8058
8084
  text: string;
8085
+ contentHash: string;
8059
8086
  }>, "many">;
8060
8087
  }, "strip", z.ZodTypeAny, {
8061
8088
  packId: string;
8062
8089
  sections: {
8063
8090
  id: string;
8064
8091
  slot: "scenario" | "identity" | "behavior";
8065
- contentHash: string;
8066
8092
  text: string;
8093
+ contentHash: string;
8067
8094
  }[];
8068
8095
  }, {
8069
8096
  packId: string;
8070
8097
  sections: {
8071
8098
  id: string;
8072
8099
  slot: "scenario" | "identity" | "behavior";
8073
- contentHash: string;
8074
8100
  text: string;
8101
+ contentHash: string;
8075
8102
  }[];
8076
8103
  }>;
8077
8104
  export type PromptCatalogSnapshot = z.infer<typeof PromptCatalogSnapshot>;
@@ -8104,29 +8131,29 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8104
8131
  }, "strip", z.ZodTypeAny, {
8105
8132
  id: string;
8106
8133
  slot: "scenario" | "identity" | "behavior";
8107
- contentHash: string;
8108
8134
  text: string;
8135
+ contentHash: string;
8109
8136
  }, {
8110
8137
  id: string;
8111
8138
  slot: "scenario" | "identity" | "behavior";
8112
- contentHash: string;
8113
8139
  text: string;
8140
+ contentHash: string;
8114
8141
  }>, "many">;
8115
8142
  }, "strip", z.ZodTypeAny, {
8116
8143
  packId: string;
8117
8144
  sections: {
8118
8145
  id: string;
8119
8146
  slot: "scenario" | "identity" | "behavior";
8120
- contentHash: string;
8121
8147
  text: string;
8148
+ contentHash: string;
8122
8149
  }[];
8123
8150
  }, {
8124
8151
  packId: string;
8125
8152
  sections: {
8126
8153
  id: string;
8127
8154
  slot: "scenario" | "identity" | "behavior";
8128
- contentHash: string;
8129
8155
  text: string;
8156
+ contentHash: string;
8130
8157
  }[];
8131
8158
  }>;
8132
8159
  }, "strip", z.ZodTypeAny, {
@@ -8136,8 +8163,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8136
8163
  sections: {
8137
8164
  id: string;
8138
8165
  slot: "scenario" | "identity" | "behavior";
8139
- contentHash: string;
8140
8166
  text: string;
8167
+ contentHash: string;
8141
8168
  }[];
8142
8169
  };
8143
8170
  }, {
@@ -8147,8 +8174,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8147
8174
  sections: {
8148
8175
  id: string;
8149
8176
  slot: "scenario" | "identity" | "behavior";
8150
- contentHash: string;
8151
8177
  text: string;
8178
+ contentHash: string;
8152
8179
  }[];
8153
8180
  };
8154
8181
  }>;
@@ -8163,8 +8190,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8163
8190
  sections: {
8164
8191
  id: string;
8165
8192
  slot: "scenario" | "identity" | "behavior";
8166
- contentHash: string;
8167
8193
  text: string;
8194
+ contentHash: string;
8168
8195
  }[];
8169
8196
  };
8170
8197
  };
@@ -8183,8 +8210,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8183
8210
  sections: {
8184
8211
  id: string;
8185
8212
  slot: "scenario" | "identity" | "behavior";
8186
- contentHash: string;
8187
8213
  text: string;
8214
+ contentHash: string;
8188
8215
  }[];
8189
8216
  };
8190
8217
  };
@@ -8224,29 +8251,29 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8224
8251
  }, "strip", z.ZodTypeAny, {
8225
8252
  id: string;
8226
8253
  slot: "scenario" | "identity" | "behavior";
8227
- contentHash: string;
8228
8254
  text: string;
8255
+ contentHash: string;
8229
8256
  }, {
8230
8257
  id: string;
8231
8258
  slot: "scenario" | "identity" | "behavior";
8232
- contentHash: string;
8233
8259
  text: string;
8260
+ contentHash: string;
8234
8261
  }>, "many">;
8235
8262
  }, "strip", z.ZodTypeAny, {
8236
8263
  packId: string;
8237
8264
  sections: {
8238
8265
  id: string;
8239
8266
  slot: "scenario" | "identity" | "behavior";
8240
- contentHash: string;
8241
8267
  text: string;
8268
+ contentHash: string;
8242
8269
  }[];
8243
8270
  }, {
8244
8271
  packId: string;
8245
8272
  sections: {
8246
8273
  id: string;
8247
8274
  slot: "scenario" | "identity" | "behavior";
8248
- contentHash: string;
8249
8275
  text: string;
8276
+ contentHash: string;
8250
8277
  }[];
8251
8278
  }>;
8252
8279
  }, "strip", z.ZodTypeAny, {
@@ -8256,8 +8283,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8256
8283
  sections: {
8257
8284
  id: string;
8258
8285
  slot: "scenario" | "identity" | "behavior";
8259
- contentHash: string;
8260
8286
  text: string;
8287
+ contentHash: string;
8261
8288
  }[];
8262
8289
  };
8263
8290
  }, {
@@ -8267,8 +8294,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8267
8294
  sections: {
8268
8295
  id: string;
8269
8296
  slot: "scenario" | "identity" | "behavior";
8270
- contentHash: string;
8271
8297
  text: string;
8298
+ contentHash: string;
8272
8299
  }[];
8273
8300
  };
8274
8301
  }>;
@@ -8283,8 +8310,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8283
8310
  sections: {
8284
8311
  id: string;
8285
8312
  slot: "scenario" | "identity" | "behavior";
8286
- contentHash: string;
8287
8313
  text: string;
8314
+ contentHash: string;
8288
8315
  }[];
8289
8316
  };
8290
8317
  };
@@ -8303,8 +8330,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8303
8330
  sections: {
8304
8331
  id: string;
8305
8332
  slot: "scenario" | "identity" | "behavior";
8306
- contentHash: string;
8307
8333
  text: string;
8334
+ contentHash: string;
8308
8335
  }[];
8309
8336
  };
8310
8337
  };
@@ -8326,8 +8353,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8326
8353
  sections: {
8327
8354
  id: string;
8328
8355
  slot: "scenario" | "identity" | "behavior";
8329
- contentHash: string;
8330
8356
  text: string;
8357
+ contentHash: string;
8331
8358
  }[];
8332
8359
  };
8333
8360
  };
@@ -8349,8 +8376,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8349
8376
  sections: {
8350
8377
  id: string;
8351
8378
  slot: "scenario" | "identity" | "behavior";
8352
- contentHash: string;
8353
8379
  text: string;
8380
+ contentHash: string;
8354
8381
  }[];
8355
8382
  };
8356
8383
  };
@@ -8375,8 +8402,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8375
8402
  sections: {
8376
8403
  id: string;
8377
8404
  slot: "scenario" | "identity" | "behavior";
8378
- contentHash: string;
8379
8405
  text: string;
8406
+ contentHash: string;
8380
8407
  }[];
8381
8408
  };
8382
8409
  };
@@ -8401,8 +8428,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8401
8428
  sections: {
8402
8429
  id: string;
8403
8430
  slot: "scenario" | "identity" | "behavior";
8404
- contentHash: string;
8405
8431
  text: string;
8432
+ contentHash: string;
8406
8433
  }[];
8407
8434
  };
8408
8435
  };
@@ -8529,29 +8556,29 @@ export declare const PromptsConfig: z.ZodObject<{
8529
8556
  }, "strip", z.ZodTypeAny, {
8530
8557
  id: string;
8531
8558
  slot: "scenario" | "identity" | "behavior";
8532
- contentHash: string;
8533
8559
  text: string;
8560
+ contentHash: string;
8534
8561
  }, {
8535
8562
  id: string;
8536
8563
  slot: "scenario" | "identity" | "behavior";
8537
- contentHash: string;
8538
8564
  text: string;
8565
+ contentHash: string;
8539
8566
  }>, "many">;
8540
8567
  }, "strip", z.ZodTypeAny, {
8541
8568
  packId: string;
8542
8569
  sections: {
8543
8570
  id: string;
8544
8571
  slot: "scenario" | "identity" | "behavior";
8545
- contentHash: string;
8546
8572
  text: string;
8573
+ contentHash: string;
8547
8574
  }[];
8548
8575
  }, {
8549
8576
  packId: string;
8550
8577
  sections: {
8551
8578
  id: string;
8552
8579
  slot: "scenario" | "identity" | "behavior";
8553
- contentHash: string;
8554
8580
  text: string;
8581
+ contentHash: string;
8555
8582
  }[];
8556
8583
  }>;
8557
8584
  }, "strip", z.ZodTypeAny, {
@@ -8561,8 +8588,8 @@ export declare const PromptsConfig: z.ZodObject<{
8561
8588
  sections: {
8562
8589
  id: string;
8563
8590
  slot: "scenario" | "identity" | "behavior";
8564
- contentHash: string;
8565
8591
  text: string;
8592
+ contentHash: string;
8566
8593
  }[];
8567
8594
  };
8568
8595
  }, {
@@ -8572,8 +8599,8 @@ export declare const PromptsConfig: z.ZodObject<{
8572
8599
  sections: {
8573
8600
  id: string;
8574
8601
  slot: "scenario" | "identity" | "behavior";
8575
- contentHash: string;
8576
8602
  text: string;
8603
+ contentHash: string;
8577
8604
  }[];
8578
8605
  };
8579
8606
  }>;
@@ -8588,8 +8615,8 @@ export declare const PromptsConfig: z.ZodObject<{
8588
8615
  sections: {
8589
8616
  id: string;
8590
8617
  slot: "scenario" | "identity" | "behavior";
8591
- contentHash: string;
8592
8618
  text: string;
8619
+ contentHash: string;
8593
8620
  }[];
8594
8621
  };
8595
8622
  };
@@ -8608,8 +8635,8 @@ export declare const PromptsConfig: z.ZodObject<{
8608
8635
  sections: {
8609
8636
  id: string;
8610
8637
  slot: "scenario" | "identity" | "behavior";
8611
- contentHash: string;
8612
8638
  text: string;
8639
+ contentHash: string;
8613
8640
  }[];
8614
8641
  };
8615
8642
  };
@@ -8631,8 +8658,8 @@ export declare const PromptsConfig: z.ZodObject<{
8631
8658
  sections: {
8632
8659
  id: string;
8633
8660
  slot: "scenario" | "identity" | "behavior";
8634
- contentHash: string;
8635
8661
  text: string;
8662
+ contentHash: string;
8636
8663
  }[];
8637
8664
  };
8638
8665
  };
@@ -8654,8 +8681,8 @@ export declare const PromptsConfig: z.ZodObject<{
8654
8681
  sections: {
8655
8682
  id: string;
8656
8683
  slot: "scenario" | "identity" | "behavior";
8657
- contentHash: string;
8658
8684
  text: string;
8685
+ contentHash: string;
8659
8686
  }[];
8660
8687
  };
8661
8688
  };
@@ -8680,8 +8707,8 @@ export declare const PromptsConfig: z.ZodObject<{
8680
8707
  sections: {
8681
8708
  id: string;
8682
8709
  slot: "scenario" | "identity" | "behavior";
8683
- contentHash: string;
8684
8710
  text: string;
8711
+ contentHash: string;
8685
8712
  }[];
8686
8713
  };
8687
8714
  };
@@ -8706,8 +8733,8 @@ export declare const PromptsConfig: z.ZodObject<{
8706
8733
  sections: {
8707
8734
  id: string;
8708
8735
  slot: "scenario" | "identity" | "behavior";
8709
- contentHash: string;
8710
8736
  text: string;
8737
+ contentHash: string;
8711
8738
  }[];
8712
8739
  };
8713
8740
  };
@@ -8747,8 +8774,8 @@ export declare const PromptsConfig: z.ZodObject<{
8747
8774
  sections: {
8748
8775
  id: string;
8749
8776
  slot: "scenario" | "identity" | "behavior";
8750
- contentHash: string;
8751
8777
  text: string;
8778
+ contentHash: string;
8752
8779
  }[];
8753
8780
  };
8754
8781
  };
@@ -8788,8 +8815,8 @@ export declare const PromptsConfig: z.ZodObject<{
8788
8815
  sections: {
8789
8816
  id: string;
8790
8817
  slot: "scenario" | "identity" | "behavior";
8791
- contentHash: string;
8792
8818
  text: string;
8819
+ contentHash: string;
8793
8820
  }[];
8794
8821
  };
8795
8822
  };
@@ -8990,29 +9017,29 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
8990
9017
  }, "strip", z.ZodTypeAny, {
8991
9018
  id: string;
8992
9019
  slot: "scenario" | "identity" | "behavior";
8993
- contentHash: string;
8994
9020
  text: string;
9021
+ contentHash: string;
8995
9022
  }, {
8996
9023
  id: string;
8997
9024
  slot: "scenario" | "identity" | "behavior";
8998
- contentHash: string;
8999
9025
  text: string;
9026
+ contentHash: string;
9000
9027
  }>, "many">;
9001
9028
  }, "strip", z.ZodTypeAny, {
9002
9029
  packId: string;
9003
9030
  sections: {
9004
9031
  id: string;
9005
9032
  slot: "scenario" | "identity" | "behavior";
9006
- contentHash: string;
9007
9033
  text: string;
9034
+ contentHash: string;
9008
9035
  }[];
9009
9036
  }, {
9010
9037
  packId: string;
9011
9038
  sections: {
9012
9039
  id: string;
9013
9040
  slot: "scenario" | "identity" | "behavior";
9014
- contentHash: string;
9015
9041
  text: string;
9042
+ contentHash: string;
9016
9043
  }[];
9017
9044
  }>;
9018
9045
  }, "strip", z.ZodTypeAny, {
@@ -9022,8 +9049,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9022
9049
  sections: {
9023
9050
  id: string;
9024
9051
  slot: "scenario" | "identity" | "behavior";
9025
- contentHash: string;
9026
9052
  text: string;
9053
+ contentHash: string;
9027
9054
  }[];
9028
9055
  };
9029
9056
  }, {
@@ -9033,8 +9060,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9033
9060
  sections: {
9034
9061
  id: string;
9035
9062
  slot: "scenario" | "identity" | "behavior";
9036
- contentHash: string;
9037
9063
  text: string;
9064
+ contentHash: string;
9038
9065
  }[];
9039
9066
  };
9040
9067
  }>;
@@ -9049,8 +9076,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9049
9076
  sections: {
9050
9077
  id: string;
9051
9078
  slot: "scenario" | "identity" | "behavior";
9052
- contentHash: string;
9053
9079
  text: string;
9080
+ contentHash: string;
9054
9081
  }[];
9055
9082
  };
9056
9083
  };
@@ -9069,8 +9096,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9069
9096
  sections: {
9070
9097
  id: string;
9071
9098
  slot: "scenario" | "identity" | "behavior";
9072
- contentHash: string;
9073
9099
  text: string;
9100
+ contentHash: string;
9074
9101
  }[];
9075
9102
  };
9076
9103
  };
@@ -9092,8 +9119,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9092
9119
  sections: {
9093
9120
  id: string;
9094
9121
  slot: "scenario" | "identity" | "behavior";
9095
- contentHash: string;
9096
9122
  text: string;
9123
+ contentHash: string;
9097
9124
  }[];
9098
9125
  };
9099
9126
  };
@@ -9115,8 +9142,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9115
9142
  sections: {
9116
9143
  id: string;
9117
9144
  slot: "scenario" | "identity" | "behavior";
9118
- contentHash: string;
9119
9145
  text: string;
9146
+ contentHash: string;
9120
9147
  }[];
9121
9148
  };
9122
9149
  };
@@ -9141,8 +9168,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9141
9168
  sections: {
9142
9169
  id: string;
9143
9170
  slot: "scenario" | "identity" | "behavior";
9144
- contentHash: string;
9145
9171
  text: string;
9172
+ contentHash: string;
9146
9173
  }[];
9147
9174
  };
9148
9175
  };
@@ -9167,8 +9194,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9167
9194
  sections: {
9168
9195
  id: string;
9169
9196
  slot: "scenario" | "identity" | "behavior";
9170
- contentHash: string;
9171
9197
  text: string;
9198
+ contentHash: string;
9172
9199
  }[];
9173
9200
  };
9174
9201
  };
@@ -9212,8 +9239,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9212
9239
  sections: {
9213
9240
  id: string;
9214
9241
  slot: "scenario" | "identity" | "behavior";
9215
- contentHash: string;
9216
9242
  text: string;
9243
+ contentHash: string;
9217
9244
  }[];
9218
9245
  };
9219
9246
  };
@@ -9257,8 +9284,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9257
9284
  sections: {
9258
9285
  id: string;
9259
9286
  slot: "scenario" | "identity" | "behavior";
9260
- contentHash: string;
9261
9287
  text: string;
9288
+ contentHash: string;
9262
9289
  }[];
9263
9290
  };
9264
9291
  };
@@ -9302,8 +9329,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9302
9329
  sections: {
9303
9330
  id: string;
9304
9331
  slot: "scenario" | "identity" | "behavior";
9305
- contentHash: string;
9306
9332
  text: string;
9333
+ contentHash: string;
9307
9334
  }[];
9308
9335
  };
9309
9336
  };
@@ -9347,8 +9374,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9347
9374
  sections: {
9348
9375
  id: string;
9349
9376
  slot: "scenario" | "identity" | "behavior";
9350
- contentHash: string;
9351
9377
  text: string;
9378
+ contentHash: string;
9352
9379
  }[];
9353
9380
  };
9354
9381
  };
@@ -9453,17 +9480,13 @@ export declare const DOMAIN_SCHEMAS: {
9453
9480
  * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
9454
9481
  * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
9455
9482
  * entry that declares it is stripped at parse, so the declaration never reaches the engine at all.
9483
+ * ABSENT = key not minted = today's behaviour, zero migration.
9456
9484
  *
9457
- * **Parse-transparent** (`z.unknown()`), same rule as `McpServerSpec.source` (1.7.2) and `.toolFaces` (1.9.0):
9458
- * the SHAPE and the VOCABULARY (which `thinkingFormat` words exist) are the consuming side's single point —
9459
- * this package deliberately does NOT restate that table. This domain parses all-or-nothing, so a shape/word
9460
- * rejection HERE would blank the entire model catalog over one bad key (the 1.7.1 upgrade regression). ABSENT
9461
- * = key not minted = today's behaviour, zero migration.
9462
- *
9463
- * The ONE rejection that remains is the free-form SAFETY judgment shared with `extraBody`
9464
- * ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too deep to hash
9465
- * later. That is not shape validation — it is the boundary every free-form value must clear to enter the
9466
- * persisted config and `stableHash` (R18). */
9485
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
9486
+ * (`models.models[].compat`). The ONE rejection that remains is the free-form SAFETY judgment shared with
9487
+ * `extraBody` ({@link vetFreeFormJson}): a secret-shaped key/value, an accessor, a cycle, non-JSON, or too
9488
+ * deep to hash later. That is not shape validation — it is the boundary every free-form value must clear to
9489
+ * enter the persisted config and `stableHash` (R18). */
9467
9490
  compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
9468
9491
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
9469
9492
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
@@ -9745,7 +9768,6 @@ export declare const DOMAIN_SCHEMAS: {
9745
9768
  atModelAllowlist?: string[] | undefined;
9746
9769
  activeTierGroup?: string | undefined;
9747
9770
  }, {
9748
- default?: string | undefined;
9749
9771
  models?: {
9750
9772
  id: string;
9751
9773
  name: string;
@@ -9779,6 +9801,7 @@ export declare const DOMAIN_SCHEMAS: {
9779
9801
  enabled?: boolean | undefined;
9780
9802
  notes?: string | undefined;
9781
9803
  }[] | undefined;
9804
+ default?: string | undefined;
9782
9805
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
9783
9806
  model: string;
9784
9807
  } | {
@@ -9859,7 +9882,6 @@ export declare const DOMAIN_SCHEMAS: {
9859
9882
  atModelAllowlist?: string[] | undefined;
9860
9883
  activeTierGroup?: string | undefined;
9861
9884
  }, {
9862
- default?: string | undefined;
9863
9885
  models?: {
9864
9886
  id: string;
9865
9887
  name: string;
@@ -9893,6 +9915,7 @@ export declare const DOMAIN_SCHEMAS: {
9893
9915
  enabled?: boolean | undefined;
9894
9916
  notes?: string | undefined;
9895
9917
  }[] | undefined;
9918
+ default?: string | undefined;
9896
9919
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
9897
9920
  model: string;
9898
9921
  } | {
@@ -10081,7 +10104,7 @@ export declare const DOMAIN_SCHEMAS: {
10081
10104
  description: z.ZodDefault<z.ZodString>;
10082
10105
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
10083
10106
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
10084
- /** Per-roster targeting (v2, docs/MCP-SKILLS.md §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
10107
+ /** Per-roster targeting (v2, the mcp/skills design note §6 Q2): roster NAMEs this skill is for. Empty = all rosters.
10085
10108
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
10086
10109
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
10087
10110
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -10092,8 +10115,8 @@ export declare const DOMAIN_SCHEMAS: {
10092
10115
  name: string;
10093
10116
  enabled: boolean;
10094
10117
  rosters: string[];
10095
- scenarios: string[];
10096
10118
  description: string;
10119
+ scenarios: string[];
10097
10120
  content: string;
10098
10121
  notes?: string | undefined;
10099
10122
  }, {
@@ -10101,8 +10124,8 @@ export declare const DOMAIN_SCHEMAS: {
10101
10124
  enabled?: boolean | undefined;
10102
10125
  notes?: string | undefined;
10103
10126
  rosters?: string[] | undefined;
10104
- scenarios?: string[] | undefined;
10105
10127
  description?: string | undefined;
10128
+ scenarios?: string[] | undefined;
10106
10129
  content?: string | undefined;
10107
10130
  }>, "many">>;
10108
10131
  }, "strip", z.ZodTypeAny, {
@@ -10110,8 +10133,8 @@ export declare const DOMAIN_SCHEMAS: {
10110
10133
  name: string;
10111
10134
  enabled: boolean;
10112
10135
  rosters: string[];
10113
- scenarios: string[];
10114
10136
  description: string;
10137
+ scenarios: string[];
10115
10138
  content: string;
10116
10139
  notes?: string | undefined;
10117
10140
  }[];
@@ -10121,8 +10144,8 @@ export declare const DOMAIN_SCHEMAS: {
10121
10144
  enabled?: boolean | undefined;
10122
10145
  notes?: string | undefined;
10123
10146
  rosters?: string[] | undefined;
10124
- scenarios?: string[] | undefined;
10125
10147
  description?: string | undefined;
10148
+ scenarios?: string[] | undefined;
10126
10149
  content?: string | undefined;
10127
10150
  }[] | undefined;
10128
10151
  }>, {
@@ -10130,8 +10153,8 @@ export declare const DOMAIN_SCHEMAS: {
10130
10153
  name: string;
10131
10154
  enabled: boolean;
10132
10155
  rosters: string[];
10133
- scenarios: string[];
10134
10156
  description: string;
10157
+ scenarios: string[];
10135
10158
  content: string;
10136
10159
  notes?: string | undefined;
10137
10160
  }[];
@@ -10141,8 +10164,8 @@ export declare const DOMAIN_SCHEMAS: {
10141
10164
  enabled?: boolean | undefined;
10142
10165
  notes?: string | undefined;
10143
10166
  rosters?: string[] | undefined;
10144
- scenarios?: string[] | undefined;
10145
10167
  description?: string | undefined;
10168
+ scenarios?: string[] | undefined;
10146
10169
  content?: string | undefined;
10147
10170
  }[] | undefined;
10148
10171
  }>;
@@ -10156,13 +10179,13 @@ export declare const DOMAIN_SCHEMAS: {
10156
10179
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
10157
10180
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
10158
10181
  }, "strip", z.ZodTypeAny, {
10159
- command: string;
10160
10182
  kind: "stdio";
10183
+ command: string;
10161
10184
  args?: string[] | undefined;
10162
10185
  envRefs?: Record<string, string> | undefined;
10163
10186
  }, {
10164
- command: string;
10165
10187
  kind: "stdio";
10188
+ command: string;
10166
10189
  args?: string[] | undefined;
10167
10190
  envRefs?: Record<string, string> | undefined;
10168
10191
  }>, z.ZodObject<{
@@ -10220,23 +10243,19 @@ export declare const DOMAIN_SCHEMAS: {
10220
10243
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
10221
10244
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
10222
10245
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
10223
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
10224
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
10225
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
10226
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
10227
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
10228
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
10229
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
10230
- * no gate / policy / trust
10231
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
10232
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
10233
- * (ticket B-036 / S-143), the projection half lives in the consumer. */
10246
+ * no label (`.optional()`, no default — a label has no default tier). Display-only: no gate / policy /
10247
+ * trust effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key
10248
+ * existed both legs stripped it (default-strip object); this is the declaration half of the
10249
+ * consumer-side fix, the projection half lives in the consumer.
10250
+ *
10251
+ * **Parse-transparent** — who validates the shape, and why not here: {@link PARSE_TRANSPARENT_KEYS}
10252
+ * (`mcp.servers[].source`). */
10234
10253
  source: z.ZodOptional<z.ZodUnknown>;
10235
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
10254
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
10236
10255
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
10237
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
10238
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
10239
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
10256
+ * 缺席 = 不铸键。
10257
+ *
10258
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
10240
10259
  toolFaces: z.ZodOptional<z.ZodUnknown>;
10241
10260
  notes: z.ZodOptional<z.ZodString>;
10242
10261
  }, "strip", z.ZodTypeAny, {
@@ -10245,8 +10264,8 @@ export declare const DOMAIN_SCHEMAS: {
10245
10264
  rosters: string[];
10246
10265
  scenarios: string[];
10247
10266
  transport: {
10248
- command: string;
10249
10267
  kind: "stdio";
10268
+ command: string;
10250
10269
  args?: string[] | undefined;
10251
10270
  envRefs?: Record<string, string> | undefined;
10252
10271
  } | {
@@ -10264,8 +10283,8 @@ export declare const DOMAIN_SCHEMAS: {
10264
10283
  }, {
10265
10284
  name: string;
10266
10285
  transport: {
10267
- command: string;
10268
10286
  kind: "stdio";
10287
+ command: string;
10269
10288
  args?: string[] | undefined;
10270
10289
  envRefs?: Record<string, string> | undefined;
10271
10290
  } | {
@@ -10291,8 +10310,8 @@ export declare const DOMAIN_SCHEMAS: {
10291
10310
  rosters: string[];
10292
10311
  scenarios: string[];
10293
10312
  transport: {
10294
- command: string;
10295
10313
  kind: "stdio";
10314
+ command: string;
10296
10315
  args?: string[] | undefined;
10297
10316
  envRefs?: Record<string, string> | undefined;
10298
10317
  } | {
@@ -10312,8 +10331,8 @@ export declare const DOMAIN_SCHEMAS: {
10312
10331
  servers?: {
10313
10332
  name: string;
10314
10333
  transport: {
10315
- command: string;
10316
10334
  kind: "stdio";
10335
+ command: string;
10317
10336
  args?: string[] | undefined;
10318
10337
  envRefs?: Record<string, string> | undefined;
10319
10338
  } | {
@@ -10339,8 +10358,8 @@ export declare const DOMAIN_SCHEMAS: {
10339
10358
  rosters: string[];
10340
10359
  scenarios: string[];
10341
10360
  transport: {
10342
- command: string;
10343
10361
  kind: "stdio";
10362
+ command: string;
10344
10363
  args?: string[] | undefined;
10345
10364
  envRefs?: Record<string, string> | undefined;
10346
10365
  } | {
@@ -10360,8 +10379,8 @@ export declare const DOMAIN_SCHEMAS: {
10360
10379
  servers?: {
10361
10380
  name: string;
10362
10381
  transport: {
10363
- command: string;
10364
10382
  kind: "stdio";
10383
+ command: string;
10365
10384
  args?: string[] | undefined;
10366
10385
  envRefs?: Record<string, string> | undefined;
10367
10386
  } | {
@@ -10683,31 +10702,31 @@ export declare const DOMAIN_SCHEMAS: {
10683
10702
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
10684
10703
  rolePrompt: z.ZodOptional<z.ZodString>;
10685
10704
  }, "strip", z.ZodTypeAny, {
10686
- modelRef?: string | undefined;
10687
10705
  rolePrompt?: string | undefined;
10688
- }, {
10689
10706
  modelRef?: string | undefined;
10707
+ }, {
10690
10708
  rolePrompt?: string | undefined;
10709
+ modelRef?: string | undefined;
10691
10710
  }>, "many">>;
10692
10711
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
10693
10712
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10694
10713
  }, "strip", z.ZodTypeAny, {
10695
10714
  id: string;
10715
+ cardinality: 1 | "N";
10696
10716
  members: {
10697
- modelRef?: string | undefined;
10698
10717
  rolePrompt?: string | undefined;
10718
+ modelRef?: string | undefined;
10699
10719
  }[];
10700
- cardinality: 1 | "N";
10701
10720
  rolePrompt?: string | undefined;
10702
10721
  tools?: string[] | undefined;
10703
10722
  }, {
10704
10723
  id: string;
10724
+ rolePrompt?: string | undefined;
10725
+ cardinality?: 1 | "N" | undefined;
10705
10726
  members?: {
10706
- modelRef?: string | undefined;
10707
10727
  rolePrompt?: string | undefined;
10728
+ modelRef?: string | undefined;
10708
10729
  }[] | undefined;
10709
- rolePrompt?: string | undefined;
10710
- cardinality?: 1 | "N" | undefined;
10711
10730
  tools?: string[] | undefined;
10712
10731
  }>, "many">;
10713
10732
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -10738,10 +10757,10 @@ export declare const DOMAIN_SCHEMAS: {
10738
10757
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
10739
10758
  }, "strip", z.ZodTypeAny, {
10740
10759
  kind: "blackboard" | "transcript";
10741
- persistence: "session" | "store-blob" | "git";
10760
+ persistence: "git" | "session" | "store-blob";
10742
10761
  }, {
10743
10762
  kind?: "blackboard" | "transcript" | undefined;
10744
- persistence?: "session" | "store-blob" | "git" | undefined;
10763
+ persistence?: "git" | "session" | "store-blob" | undefined;
10745
10764
  }>>;
10746
10765
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
10747
10766
  budget: z.ZodObject<{
@@ -10760,18 +10779,14 @@ export declare const DOMAIN_SCHEMAS: {
10760
10779
  id: string;
10761
10780
  name: string;
10762
10781
  enabled: boolean;
10763
- budget: {
10764
- maxTokens?: number | undefined;
10765
- maxCost?: number | undefined;
10766
- };
10767
10782
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10768
10783
  slots: {
10769
10784
  id: string;
10785
+ cardinality: 1 | "N";
10770
10786
  members: {
10771
- modelRef?: string | undefined;
10772
10787
  rolePrompt?: string | undefined;
10788
+ modelRef?: string | undefined;
10773
10789
  }[];
10774
- cardinality: 1 | "N";
10775
10790
  rolePrompt?: string | undefined;
10776
10791
  tools?: string[] | undefined;
10777
10792
  }[];
@@ -10785,26 +10800,26 @@ export declare const DOMAIN_SCHEMAS: {
10785
10800
  };
10786
10801
  sharedContext: {
10787
10802
  kind: "blackboard" | "transcript";
10788
- persistence: "session" | "store-blob" | "git";
10803
+ persistence: "git" | "session" | "store-blob";
10804
+ };
10805
+ budget: {
10806
+ maxTokens?: number | undefined;
10807
+ maxCost?: number | undefined;
10789
10808
  };
10790
10809
  notes?: string | undefined;
10791
10810
  description?: string | undefined;
10792
10811
  }, {
10793
10812
  id: string;
10794
10813
  name: string;
10795
- budget: {
10796
- maxTokens?: number | undefined;
10797
- maxCost?: number | undefined;
10798
- };
10799
10814
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10800
10815
  slots: {
10801
10816
  id: string;
10817
+ rolePrompt?: string | undefined;
10818
+ cardinality?: 1 | "N" | undefined;
10802
10819
  members?: {
10803
- modelRef?: string | undefined;
10804
10820
  rolePrompt?: string | undefined;
10821
+ modelRef?: string | undefined;
10805
10822
  }[] | undefined;
10806
- rolePrompt?: string | undefined;
10807
- cardinality?: 1 | "N" | undefined;
10808
10823
  tools?: string[] | undefined;
10809
10824
  }[];
10810
10825
  rounds: {
@@ -10815,29 +10830,29 @@ export declare const DOMAIN_SCHEMAS: {
10815
10830
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10816
10831
  slot?: string | undefined;
10817
10832
  };
10833
+ budget: {
10834
+ maxTokens?: number | undefined;
10835
+ maxCost?: number | undefined;
10836
+ };
10818
10837
  enabled?: boolean | undefined;
10819
10838
  notes?: string | undefined;
10820
10839
  description?: string | undefined;
10821
10840
  sharedContext?: {
10822
10841
  kind?: "blackboard" | "transcript" | undefined;
10823
- persistence?: "session" | "store-blob" | "git" | undefined;
10842
+ persistence?: "git" | "session" | "store-blob" | undefined;
10824
10843
  } | undefined;
10825
10844
  }>, {
10826
10845
  id: string;
10827
10846
  name: string;
10828
10847
  enabled: boolean;
10829
- budget: {
10830
- maxTokens?: number | undefined;
10831
- maxCost?: number | undefined;
10832
- };
10833
10848
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10834
10849
  slots: {
10835
10850
  id: string;
10851
+ cardinality: 1 | "N";
10836
10852
  members: {
10837
- modelRef?: string | undefined;
10838
10853
  rolePrompt?: string | undefined;
10854
+ modelRef?: string | undefined;
10839
10855
  }[];
10840
- cardinality: 1 | "N";
10841
10856
  rolePrompt?: string | undefined;
10842
10857
  tools?: string[] | undefined;
10843
10858
  }[];
@@ -10851,26 +10866,26 @@ export declare const DOMAIN_SCHEMAS: {
10851
10866
  };
10852
10867
  sharedContext: {
10853
10868
  kind: "blackboard" | "transcript";
10854
- persistence: "session" | "store-blob" | "git";
10869
+ persistence: "git" | "session" | "store-blob";
10870
+ };
10871
+ budget: {
10872
+ maxTokens?: number | undefined;
10873
+ maxCost?: number | undefined;
10855
10874
  };
10856
10875
  notes?: string | undefined;
10857
10876
  description?: string | undefined;
10858
10877
  }, {
10859
10878
  id: string;
10860
10879
  name: string;
10861
- budget: {
10862
- maxTokens?: number | undefined;
10863
- maxCost?: number | undefined;
10864
- };
10865
10880
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10866
10881
  slots: {
10867
10882
  id: string;
10883
+ rolePrompt?: string | undefined;
10884
+ cardinality?: 1 | "N" | undefined;
10868
10885
  members?: {
10869
- modelRef?: string | undefined;
10870
10886
  rolePrompt?: string | undefined;
10887
+ modelRef?: string | undefined;
10871
10888
  }[] | undefined;
10872
- rolePrompt?: string | undefined;
10873
- cardinality?: 1 | "N" | undefined;
10874
10889
  tools?: string[] | undefined;
10875
10890
  }[];
10876
10891
  rounds: {
@@ -10881,12 +10896,16 @@ export declare const DOMAIN_SCHEMAS: {
10881
10896
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10882
10897
  slot?: string | undefined;
10883
10898
  };
10899
+ budget: {
10900
+ maxTokens?: number | undefined;
10901
+ maxCost?: number | undefined;
10902
+ };
10884
10903
  enabled?: boolean | undefined;
10885
10904
  notes?: string | undefined;
10886
10905
  description?: string | undefined;
10887
10906
  sharedContext?: {
10888
10907
  kind?: "blackboard" | "transcript" | undefined;
10889
- persistence?: "session" | "store-blob" | "git" | undefined;
10908
+ persistence?: "git" | "session" | "store-blob" | undefined;
10890
10909
  } | undefined;
10891
10910
  }>, "many">>;
10892
10911
  }, "strip", z.ZodTypeAny, {
@@ -10894,18 +10913,14 @@ export declare const DOMAIN_SCHEMAS: {
10894
10913
  id: string;
10895
10914
  name: string;
10896
10915
  enabled: boolean;
10897
- budget: {
10898
- maxTokens?: number | undefined;
10899
- maxCost?: number | undefined;
10900
- };
10901
10916
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10902
10917
  slots: {
10903
10918
  id: string;
10919
+ cardinality: 1 | "N";
10904
10920
  members: {
10905
- modelRef?: string | undefined;
10906
10921
  rolePrompt?: string | undefined;
10922
+ modelRef?: string | undefined;
10907
10923
  }[];
10908
- cardinality: 1 | "N";
10909
10924
  rolePrompt?: string | undefined;
10910
10925
  tools?: string[] | undefined;
10911
10926
  }[];
@@ -10919,7 +10934,11 @@ export declare const DOMAIN_SCHEMAS: {
10919
10934
  };
10920
10935
  sharedContext: {
10921
10936
  kind: "blackboard" | "transcript";
10922
- persistence: "session" | "store-blob" | "git";
10937
+ persistence: "git" | "session" | "store-blob";
10938
+ };
10939
+ budget: {
10940
+ maxTokens?: number | undefined;
10941
+ maxCost?: number | undefined;
10923
10942
  };
10924
10943
  notes?: string | undefined;
10925
10944
  description?: string | undefined;
@@ -10928,19 +10947,15 @@ export declare const DOMAIN_SCHEMAS: {
10928
10947
  templates?: {
10929
10948
  id: string;
10930
10949
  name: string;
10931
- budget: {
10932
- maxTokens?: number | undefined;
10933
- maxCost?: number | undefined;
10934
- };
10935
10950
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10936
10951
  slots: {
10937
10952
  id: string;
10953
+ rolePrompt?: string | undefined;
10954
+ cardinality?: 1 | "N" | undefined;
10938
10955
  members?: {
10939
- modelRef?: string | undefined;
10940
10956
  rolePrompt?: string | undefined;
10957
+ modelRef?: string | undefined;
10941
10958
  }[] | undefined;
10942
- rolePrompt?: string | undefined;
10943
- cardinality?: 1 | "N" | undefined;
10944
10959
  tools?: string[] | undefined;
10945
10960
  }[];
10946
10961
  rounds: {
@@ -10951,12 +10966,16 @@ export declare const DOMAIN_SCHEMAS: {
10951
10966
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10952
10967
  slot?: string | undefined;
10953
10968
  };
10969
+ budget: {
10970
+ maxTokens?: number | undefined;
10971
+ maxCost?: number | undefined;
10972
+ };
10954
10973
  enabled?: boolean | undefined;
10955
10974
  notes?: string | undefined;
10956
10975
  description?: string | undefined;
10957
10976
  sharedContext?: {
10958
10977
  kind?: "blackboard" | "transcript" | undefined;
10959
- persistence?: "session" | "store-blob" | "git" | undefined;
10978
+ persistence?: "git" | "session" | "store-blob" | undefined;
10960
10979
  } | undefined;
10961
10980
  }[] | undefined;
10962
10981
  }>, {
@@ -10964,18 +10983,14 @@ export declare const DOMAIN_SCHEMAS: {
10964
10983
  id: string;
10965
10984
  name: string;
10966
10985
  enabled: boolean;
10967
- budget: {
10968
- maxTokens?: number | undefined;
10969
- maxCost?: number | undefined;
10970
- };
10971
10986
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10972
10987
  slots: {
10973
10988
  id: string;
10989
+ cardinality: 1 | "N";
10974
10990
  members: {
10975
- modelRef?: string | undefined;
10976
10991
  rolePrompt?: string | undefined;
10992
+ modelRef?: string | undefined;
10977
10993
  }[];
10978
- cardinality: 1 | "N";
10979
10994
  rolePrompt?: string | undefined;
10980
10995
  tools?: string[] | undefined;
10981
10996
  }[];
@@ -10989,7 +11004,11 @@ export declare const DOMAIN_SCHEMAS: {
10989
11004
  };
10990
11005
  sharedContext: {
10991
11006
  kind: "blackboard" | "transcript";
10992
- persistence: "session" | "store-blob" | "git";
11007
+ persistence: "git" | "session" | "store-blob";
11008
+ };
11009
+ budget: {
11010
+ maxTokens?: number | undefined;
11011
+ maxCost?: number | undefined;
10993
11012
  };
10994
11013
  notes?: string | undefined;
10995
11014
  description?: string | undefined;
@@ -10998,19 +11017,15 @@ export declare const DOMAIN_SCHEMAS: {
10998
11017
  templates?: {
10999
11018
  id: string;
11000
11019
  name: string;
11001
- budget: {
11002
- maxTokens?: number | undefined;
11003
- maxCost?: number | undefined;
11004
- };
11005
11020
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
11006
11021
  slots: {
11007
11022
  id: string;
11023
+ rolePrompt?: string | undefined;
11024
+ cardinality?: 1 | "N" | undefined;
11008
11025
  members?: {
11009
- modelRef?: string | undefined;
11010
11026
  rolePrompt?: string | undefined;
11027
+ modelRef?: string | undefined;
11011
11028
  }[] | undefined;
11012
- rolePrompt?: string | undefined;
11013
- cardinality?: 1 | "N" | undefined;
11014
11029
  tools?: string[] | undefined;
11015
11030
  }[];
11016
11031
  rounds: {
@@ -11021,12 +11036,16 @@ export declare const DOMAIN_SCHEMAS: {
11021
11036
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
11022
11037
  slot?: string | undefined;
11023
11038
  };
11039
+ budget: {
11040
+ maxTokens?: number | undefined;
11041
+ maxCost?: number | undefined;
11042
+ };
11024
11043
  enabled?: boolean | undefined;
11025
11044
  notes?: string | undefined;
11026
11045
  description?: string | undefined;
11027
11046
  sharedContext?: {
11028
11047
  kind?: "blackboard" | "transcript" | undefined;
11029
- persistence?: "session" | "store-blob" | "git" | undefined;
11048
+ persistence?: "git" | "session" | "store-blob" | undefined;
11030
11049
  } | undefined;
11031
11050
  }[] | undefined;
11032
11051
  }>;
@@ -11151,7 +11170,6 @@ export declare const DOMAIN_SCHEMAS: {
11151
11170
  * (worker-side default 600s, floor 10s). */
11152
11171
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
11153
11172
  }, "strip", z.ZodTypeAny, {
11154
- drainGraceMs?: number | undefined;
11155
11173
  dispatch?: {
11156
11174
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11157
11175
  sessionAffinity: boolean;
@@ -11159,8 +11177,8 @@ export declare const DOMAIN_SCHEMAS: {
11159
11177
  perActorMaxInflight?: number | undefined;
11160
11178
  maxCostUsd?: number | undefined;
11161
11179
  } | undefined;
11162
- }, {
11163
11180
  drainGraceMs?: number | undefined;
11181
+ }, {
11164
11182
  dispatch?: {
11165
11183
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11166
11184
  sessionAffinity?: boolean | undefined;
@@ -11168,6 +11186,7 @@ export declare const DOMAIN_SCHEMAS: {
11168
11186
  perActorMaxInflight?: number | undefined;
11169
11187
  maxCostUsd?: number | undefined;
11170
11188
  } | undefined;
11189
+ drainGraceMs?: number | undefined;
11171
11190
  }>>;
11172
11191
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
11173
11192
  runtime: z.ZodObject<{
@@ -11184,21 +11203,21 @@ export declare const DOMAIN_SCHEMAS: {
11184
11203
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
11185
11204
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
11186
11205
  }, "strip", z.ZodTypeAny, {
11187
- sessionBackend: "auto" | "memory" | "tidb";
11206
+ sessionBackend: "memory" | "tidb" | "auto";
11188
11207
  memoryBackend: "memory" | "tidb" | "off";
11189
11208
  requirePrincipal: boolean;
11190
11209
  rateLimitRpm: number;
11191
- maxPrincipalCostUsd?: number | undefined;
11192
- scenario?: string | undefined;
11193
11210
  db?: string | undefined;
11194
- }, {
11195
- maxPrincipalCostUsd?: number | undefined;
11196
11211
  scenario?: string | undefined;
11197
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11212
+ maxPrincipalCostUsd?: number | undefined;
11213
+ }, {
11214
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11198
11215
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11199
11216
  db?: string | undefined;
11217
+ scenario?: string | undefined;
11200
11218
  requirePrincipal?: boolean | undefined;
11201
11219
  rateLimitRpm?: number | undefined;
11220
+ maxPrincipalCostUsd?: number | undefined;
11202
11221
  }>;
11203
11222
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
11204
11223
  coords: z.ZodDefault<z.ZodObject<{
@@ -11273,16 +11292,16 @@ export declare const DOMAIN_SCHEMAS: {
11273
11292
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11274
11293
  }, "strip", z.ZodTypeAny, {
11275
11294
  kind: "persistent" | "ephemeral";
11276
- owner?: string | undefined;
11277
11295
  ttl?: string | undefined;
11278
11296
  idleTimeout?: string | undefined;
11297
+ owner?: string | undefined;
11279
11298
  purpose?: string | undefined;
11280
11299
  dependsOn?: string[] | undefined;
11281
11300
  }, {
11282
- owner?: string | undefined;
11283
11301
  kind?: "persistent" | "ephemeral" | undefined;
11284
11302
  ttl?: string | undefined;
11285
11303
  idleTimeout?: string | undefined;
11304
+ owner?: string | undefined;
11286
11305
  purpose?: string | undefined;
11287
11306
  dependsOn?: string[] | undefined;
11288
11307
  }>>;
@@ -11295,7 +11314,7 @@ export declare const DOMAIN_SCHEMAS: {
11295
11314
  auto: z.ZodDefault<z.ZodBoolean>;
11296
11315
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
11297
11316
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
11298
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
11317
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
11299
11318
  spread: z.ZodOptional<z.ZodString>;
11300
11319
  }, "strip", z.ZodTypeAny, {
11301
11320
  auto: boolean;
@@ -11307,7 +11326,7 @@ export declare const DOMAIN_SCHEMAS: {
11307
11326
  spread?: string | undefined;
11308
11327
  }>>;
11309
11328
  /**
11310
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
11329
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
11311
11330
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
11312
11331
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
11313
11332
  */
@@ -11321,13 +11340,13 @@ export declare const DOMAIN_SCHEMAS: {
11321
11340
  host: string;
11322
11341
  image: string;
11323
11342
  runtime: {
11324
- sessionBackend: "auto" | "memory" | "tidb";
11343
+ sessionBackend: "memory" | "tidb" | "auto";
11325
11344
  memoryBackend: "memory" | "tidb" | "off";
11326
11345
  requirePrincipal: boolean;
11327
11346
  rateLimitRpm: number;
11328
- maxPrincipalCostUsd?: number | undefined;
11329
- scenario?: string | undefined;
11330
11347
  db?: string | undefined;
11348
+ scenario?: string | undefined;
11349
+ maxPrincipalCostUsd?: number | undefined;
11331
11350
  };
11332
11351
  coords: {
11333
11352
  gitApiBaseUrl?: string | undefined;
@@ -11342,7 +11361,6 @@ export declare const DOMAIN_SCHEMAS: {
11342
11361
  tidbPasswordEnv?: string | undefined;
11343
11362
  };
11344
11363
  notes?: string | undefined;
11345
- roster?: string | undefined;
11346
11364
  routePrefix?: string | undefined;
11347
11365
  replicas?: number | undefined;
11348
11366
  autoscaling?: {
@@ -11361,7 +11379,6 @@ export declare const DOMAIN_SCHEMAS: {
11361
11379
  } | undefined;
11362
11380
  } | undefined;
11363
11381
  fleet?: {
11364
- drainGraceMs?: number | undefined;
11365
11382
  dispatch?: {
11366
11383
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11367
11384
  sessionAffinity: boolean;
@@ -11369,15 +11386,16 @@ export declare const DOMAIN_SCHEMAS: {
11369
11386
  perActorMaxInflight?: number | undefined;
11370
11387
  maxCostUsd?: number | undefined;
11371
11388
  } | undefined;
11389
+ drainGraceMs?: number | undefined;
11372
11390
  } | undefined;
11373
11391
  env?: Record<string, string> | undefined;
11374
11392
  secretEnv?: Record<string, string> | undefined;
11375
11393
  recreateNonce?: string | undefined;
11376
11394
  lifecycle?: {
11377
11395
  kind: "persistent" | "ephemeral";
11378
- owner?: string | undefined;
11379
11396
  ttl?: string | undefined;
11380
11397
  idleTimeout?: string | undefined;
11398
+ owner?: string | undefined;
11381
11399
  purpose?: string | undefined;
11382
11400
  dependsOn?: string[] | undefined;
11383
11401
  } | undefined;
@@ -11386,17 +11404,18 @@ export declare const DOMAIN_SCHEMAS: {
11386
11404
  requires: string[];
11387
11405
  spread?: string | undefined;
11388
11406
  } | undefined;
11407
+ roster?: string | undefined;
11389
11408
  signature?: string | undefined;
11390
11409
  }, {
11391
11410
  name: string;
11392
11411
  runtime: {
11393
- maxPrincipalCostUsd?: number | undefined;
11394
- scenario?: string | undefined;
11395
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11412
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11396
11413
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11397
11414
  db?: string | undefined;
11415
+ scenario?: string | undefined;
11398
11416
  requirePrincipal?: boolean | undefined;
11399
11417
  rateLimitRpm?: number | undefined;
11418
+ maxPrincipalCostUsd?: number | undefined;
11400
11419
  };
11401
11420
  secretRefs: {
11402
11421
  apiKeyEnv: string;
@@ -11406,7 +11425,6 @@ export declare const DOMAIN_SCHEMAS: {
11406
11425
  };
11407
11426
  enabled?: boolean | undefined;
11408
11427
  notes?: string | undefined;
11409
- roster?: string | undefined;
11410
11428
  host?: string | undefined;
11411
11429
  image?: string | undefined;
11412
11430
  routePrefix?: string | undefined;
@@ -11427,7 +11445,6 @@ export declare const DOMAIN_SCHEMAS: {
11427
11445
  } | undefined;
11428
11446
  } | undefined;
11429
11447
  fleet?: {
11430
- drainGraceMs?: number | undefined;
11431
11448
  dispatch?: {
11432
11449
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11433
11450
  sessionAffinity?: boolean | undefined;
@@ -11435,6 +11452,7 @@ export declare const DOMAIN_SCHEMAS: {
11435
11452
  perActorMaxInflight?: number | undefined;
11436
11453
  maxCostUsd?: number | undefined;
11437
11454
  } | undefined;
11455
+ drainGraceMs?: number | undefined;
11438
11456
  } | undefined;
11439
11457
  coords?: {
11440
11458
  gitApiBaseUrl?: string | undefined;
@@ -11446,10 +11464,10 @@ export declare const DOMAIN_SCHEMAS: {
11446
11464
  secretEnv?: Record<string, string> | undefined;
11447
11465
  recreateNonce?: string | undefined;
11448
11466
  lifecycle?: {
11449
- owner?: string | undefined;
11450
11467
  kind?: "persistent" | "ephemeral" | undefined;
11451
11468
  ttl?: string | undefined;
11452
11469
  idleTimeout?: string | undefined;
11470
+ owner?: string | undefined;
11453
11471
  purpose?: string | undefined;
11454
11472
  dependsOn?: string[] | undefined;
11455
11473
  } | undefined;
@@ -11458,6 +11476,7 @@ export declare const DOMAIN_SCHEMAS: {
11458
11476
  requires?: string[] | undefined;
11459
11477
  spread?: string | undefined;
11460
11478
  } | undefined;
11479
+ roster?: string | undefined;
11461
11480
  signature?: string | undefined;
11462
11481
  }>, "many">>;
11463
11482
  }, "strip", z.ZodTypeAny, {
@@ -11467,13 +11486,13 @@ export declare const DOMAIN_SCHEMAS: {
11467
11486
  host: string;
11468
11487
  image: string;
11469
11488
  runtime: {
11470
- sessionBackend: "auto" | "memory" | "tidb";
11489
+ sessionBackend: "memory" | "tidb" | "auto";
11471
11490
  memoryBackend: "memory" | "tidb" | "off";
11472
11491
  requirePrincipal: boolean;
11473
11492
  rateLimitRpm: number;
11474
- maxPrincipalCostUsd?: number | undefined;
11475
- scenario?: string | undefined;
11476
11493
  db?: string | undefined;
11494
+ scenario?: string | undefined;
11495
+ maxPrincipalCostUsd?: number | undefined;
11477
11496
  };
11478
11497
  coords: {
11479
11498
  gitApiBaseUrl?: string | undefined;
@@ -11488,7 +11507,6 @@ export declare const DOMAIN_SCHEMAS: {
11488
11507
  tidbPasswordEnv?: string | undefined;
11489
11508
  };
11490
11509
  notes?: string | undefined;
11491
- roster?: string | undefined;
11492
11510
  routePrefix?: string | undefined;
11493
11511
  replicas?: number | undefined;
11494
11512
  autoscaling?: {
@@ -11507,7 +11525,6 @@ export declare const DOMAIN_SCHEMAS: {
11507
11525
  } | undefined;
11508
11526
  } | undefined;
11509
11527
  fleet?: {
11510
- drainGraceMs?: number | undefined;
11511
11528
  dispatch?: {
11512
11529
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11513
11530
  sessionAffinity: boolean;
@@ -11515,15 +11532,16 @@ export declare const DOMAIN_SCHEMAS: {
11515
11532
  perActorMaxInflight?: number | undefined;
11516
11533
  maxCostUsd?: number | undefined;
11517
11534
  } | undefined;
11535
+ drainGraceMs?: number | undefined;
11518
11536
  } | undefined;
11519
11537
  env?: Record<string, string> | undefined;
11520
11538
  secretEnv?: Record<string, string> | undefined;
11521
11539
  recreateNonce?: string | undefined;
11522
11540
  lifecycle?: {
11523
11541
  kind: "persistent" | "ephemeral";
11524
- owner?: string | undefined;
11525
11542
  ttl?: string | undefined;
11526
11543
  idleTimeout?: string | undefined;
11544
+ owner?: string | undefined;
11527
11545
  purpose?: string | undefined;
11528
11546
  dependsOn?: string[] | undefined;
11529
11547
  } | undefined;
@@ -11532,19 +11550,20 @@ export declare const DOMAIN_SCHEMAS: {
11532
11550
  requires: string[];
11533
11551
  spread?: string | undefined;
11534
11552
  } | undefined;
11553
+ roster?: string | undefined;
11535
11554
  signature?: string | undefined;
11536
11555
  }[];
11537
11556
  }, {
11538
11557
  workers?: {
11539
11558
  name: string;
11540
11559
  runtime: {
11541
- maxPrincipalCostUsd?: number | undefined;
11542
- scenario?: string | undefined;
11543
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11560
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11544
11561
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11545
11562
  db?: string | undefined;
11563
+ scenario?: string | undefined;
11546
11564
  requirePrincipal?: boolean | undefined;
11547
11565
  rateLimitRpm?: number | undefined;
11566
+ maxPrincipalCostUsd?: number | undefined;
11548
11567
  };
11549
11568
  secretRefs: {
11550
11569
  apiKeyEnv: string;
@@ -11554,7 +11573,6 @@ export declare const DOMAIN_SCHEMAS: {
11554
11573
  };
11555
11574
  enabled?: boolean | undefined;
11556
11575
  notes?: string | undefined;
11557
- roster?: string | undefined;
11558
11576
  host?: string | undefined;
11559
11577
  image?: string | undefined;
11560
11578
  routePrefix?: string | undefined;
@@ -11575,7 +11593,6 @@ export declare const DOMAIN_SCHEMAS: {
11575
11593
  } | undefined;
11576
11594
  } | undefined;
11577
11595
  fleet?: {
11578
- drainGraceMs?: number | undefined;
11579
11596
  dispatch?: {
11580
11597
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11581
11598
  sessionAffinity?: boolean | undefined;
@@ -11583,6 +11600,7 @@ export declare const DOMAIN_SCHEMAS: {
11583
11600
  perActorMaxInflight?: number | undefined;
11584
11601
  maxCostUsd?: number | undefined;
11585
11602
  } | undefined;
11603
+ drainGraceMs?: number | undefined;
11586
11604
  } | undefined;
11587
11605
  coords?: {
11588
11606
  gitApiBaseUrl?: string | undefined;
@@ -11594,10 +11612,10 @@ export declare const DOMAIN_SCHEMAS: {
11594
11612
  secretEnv?: Record<string, string> | undefined;
11595
11613
  recreateNonce?: string | undefined;
11596
11614
  lifecycle?: {
11597
- owner?: string | undefined;
11598
11615
  kind?: "persistent" | "ephemeral" | undefined;
11599
11616
  ttl?: string | undefined;
11600
11617
  idleTimeout?: string | undefined;
11618
+ owner?: string | undefined;
11601
11619
  purpose?: string | undefined;
11602
11620
  dependsOn?: string[] | undefined;
11603
11621
  } | undefined;
@@ -11606,6 +11624,7 @@ export declare const DOMAIN_SCHEMAS: {
11606
11624
  requires?: string[] | undefined;
11607
11625
  spread?: string | undefined;
11608
11626
  } | undefined;
11627
+ roster?: string | undefined;
11609
11628
  signature?: string | undefined;
11610
11629
  }[] | undefined;
11611
11630
  }>, {
@@ -11615,13 +11634,13 @@ export declare const DOMAIN_SCHEMAS: {
11615
11634
  host: string;
11616
11635
  image: string;
11617
11636
  runtime: {
11618
- sessionBackend: "auto" | "memory" | "tidb";
11637
+ sessionBackend: "memory" | "tidb" | "auto";
11619
11638
  memoryBackend: "memory" | "tidb" | "off";
11620
11639
  requirePrincipal: boolean;
11621
11640
  rateLimitRpm: number;
11622
- maxPrincipalCostUsd?: number | undefined;
11623
- scenario?: string | undefined;
11624
11641
  db?: string | undefined;
11642
+ scenario?: string | undefined;
11643
+ maxPrincipalCostUsd?: number | undefined;
11625
11644
  };
11626
11645
  coords: {
11627
11646
  gitApiBaseUrl?: string | undefined;
@@ -11636,7 +11655,6 @@ export declare const DOMAIN_SCHEMAS: {
11636
11655
  tidbPasswordEnv?: string | undefined;
11637
11656
  };
11638
11657
  notes?: string | undefined;
11639
- roster?: string | undefined;
11640
11658
  routePrefix?: string | undefined;
11641
11659
  replicas?: number | undefined;
11642
11660
  autoscaling?: {
@@ -11655,7 +11673,6 @@ export declare const DOMAIN_SCHEMAS: {
11655
11673
  } | undefined;
11656
11674
  } | undefined;
11657
11675
  fleet?: {
11658
- drainGraceMs?: number | undefined;
11659
11676
  dispatch?: {
11660
11677
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11661
11678
  sessionAffinity: boolean;
@@ -11663,15 +11680,16 @@ export declare const DOMAIN_SCHEMAS: {
11663
11680
  perActorMaxInflight?: number | undefined;
11664
11681
  maxCostUsd?: number | undefined;
11665
11682
  } | undefined;
11683
+ drainGraceMs?: number | undefined;
11666
11684
  } | undefined;
11667
11685
  env?: Record<string, string> | undefined;
11668
11686
  secretEnv?: Record<string, string> | undefined;
11669
11687
  recreateNonce?: string | undefined;
11670
11688
  lifecycle?: {
11671
11689
  kind: "persistent" | "ephemeral";
11672
- owner?: string | undefined;
11673
11690
  ttl?: string | undefined;
11674
11691
  idleTimeout?: string | undefined;
11692
+ owner?: string | undefined;
11675
11693
  purpose?: string | undefined;
11676
11694
  dependsOn?: string[] | undefined;
11677
11695
  } | undefined;
@@ -11680,19 +11698,20 @@ export declare const DOMAIN_SCHEMAS: {
11680
11698
  requires: string[];
11681
11699
  spread?: string | undefined;
11682
11700
  } | undefined;
11701
+ roster?: string | undefined;
11683
11702
  signature?: string | undefined;
11684
11703
  }[];
11685
11704
  }, {
11686
11705
  workers?: {
11687
11706
  name: string;
11688
11707
  runtime: {
11689
- maxPrincipalCostUsd?: number | undefined;
11690
- scenario?: string | undefined;
11691
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11708
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11692
11709
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11693
11710
  db?: string | undefined;
11711
+ scenario?: string | undefined;
11694
11712
  requirePrincipal?: boolean | undefined;
11695
11713
  rateLimitRpm?: number | undefined;
11714
+ maxPrincipalCostUsd?: number | undefined;
11696
11715
  };
11697
11716
  secretRefs: {
11698
11717
  apiKeyEnv: string;
@@ -11702,7 +11721,6 @@ export declare const DOMAIN_SCHEMAS: {
11702
11721
  };
11703
11722
  enabled?: boolean | undefined;
11704
11723
  notes?: string | undefined;
11705
- roster?: string | undefined;
11706
11724
  host?: string | undefined;
11707
11725
  image?: string | undefined;
11708
11726
  routePrefix?: string | undefined;
@@ -11723,7 +11741,6 @@ export declare const DOMAIN_SCHEMAS: {
11723
11741
  } | undefined;
11724
11742
  } | undefined;
11725
11743
  fleet?: {
11726
- drainGraceMs?: number | undefined;
11727
11744
  dispatch?: {
11728
11745
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11729
11746
  sessionAffinity?: boolean | undefined;
@@ -11731,6 +11748,7 @@ export declare const DOMAIN_SCHEMAS: {
11731
11748
  perActorMaxInflight?: number | undefined;
11732
11749
  maxCostUsd?: number | undefined;
11733
11750
  } | undefined;
11751
+ drainGraceMs?: number | undefined;
11734
11752
  } | undefined;
11735
11753
  coords?: {
11736
11754
  gitApiBaseUrl?: string | undefined;
@@ -11742,10 +11760,10 @@ export declare const DOMAIN_SCHEMAS: {
11742
11760
  secretEnv?: Record<string, string> | undefined;
11743
11761
  recreateNonce?: string | undefined;
11744
11762
  lifecycle?: {
11745
- owner?: string | undefined;
11746
11763
  kind?: "persistent" | "ephemeral" | undefined;
11747
11764
  ttl?: string | undefined;
11748
11765
  idleTimeout?: string | undefined;
11766
+ owner?: string | undefined;
11749
11767
  purpose?: string | undefined;
11750
11768
  dependsOn?: string[] | undefined;
11751
11769
  } | undefined;
@@ -11754,6 +11772,7 @@ export declare const DOMAIN_SCHEMAS: {
11754
11772
  requires?: string[] | undefined;
11755
11773
  spread?: string | undefined;
11756
11774
  } | undefined;
11775
+ roster?: string | undefined;
11757
11776
  signature?: string | undefined;
11758
11777
  }[] | undefined;
11759
11778
  }>;
@@ -11829,16 +11848,16 @@ export declare const DOMAIN_SCHEMAS: {
11829
11848
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
11830
11849
  costQuotaWindowSec: z.ZodOptional<z.ZodNumber>;
11831
11850
  }, "strip", z.ZodTypeAny, {
11851
+ maxPrincipalCostUsd?: number | undefined;
11832
11852
  rateLimitPerMin?: number | undefined;
11833
11853
  maxTaskCostUsd?: number | undefined;
11834
11854
  maxTaskTokens?: number | undefined;
11835
- maxPrincipalCostUsd?: number | undefined;
11836
11855
  costQuotaWindowSec?: number | undefined;
11837
11856
  }, {
11857
+ maxPrincipalCostUsd?: number | undefined;
11838
11858
  rateLimitPerMin?: number | undefined;
11839
11859
  maxTaskCostUsd?: number | undefined;
11840
11860
  maxTaskTokens?: number | undefined;
11841
- maxPrincipalCostUsd?: number | undefined;
11842
11861
  costQuotaWindowSec?: number | undefined;
11843
11862
  }>;
11844
11863
  readonly governance: z.ZodObject<{
@@ -11856,14 +11875,14 @@ export declare const DOMAIN_SCHEMAS: {
11856
11875
  /** Tool names needing operator approval (F4). Moved verbatim from runtime (same ABSENT/explicit-[] semantics). */
11857
11876
  approvalRequire: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11858
11877
  }, "strip", z.ZodTypeAny, {
11859
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
11878
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
11860
11879
  commandPolicy?: {
11861
11880
  command: string;
11862
11881
  decision: "ask" | "allow" | "deny";
11863
11882
  }[] | undefined;
11864
11883
  approvalRequire?: string[] | undefined;
11865
11884
  }, {
11866
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
11885
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
11867
11886
  commandPolicy?: {
11868
11887
  command: string;
11869
11888
  decision: "ask" | "allow" | "deny";
@@ -12261,10 +12280,6 @@ export declare const DOMAIN_SCHEMAS: {
12261
12280
  }, "strip", z.ZodTypeAny, {
12262
12281
  id: string;
12263
12282
  models?: string[] | undefined;
12264
- roster?: string | undefined;
12265
- visibleSkills?: string[] | undefined;
12266
- visibleMcp?: string[] | undefined;
12267
- visiblePlugins?: string[] | undefined;
12268
12283
  budget?: {
12269
12284
  mode?: "soft" | "hard" | "degrade" | undefined;
12270
12285
  maxBudgetUsd?: number | undefined;
@@ -12281,6 +12296,7 @@ export declare const DOMAIN_SCHEMAS: {
12281
12296
  maxIterations?: number | undefined;
12282
12297
  enforcement?: "local" | "lease" | "central" | undefined;
12283
12298
  } | undefined;
12299
+ roster?: string | undefined;
12284
12300
  runtimeCaps?: {
12285
12301
  allowBypassPermissions?: boolean | undefined;
12286
12302
  allowAutoMode?: boolean | undefined;
@@ -12292,17 +12308,16 @@ export declare const DOMAIN_SCHEMAS: {
12292
12308
  allowMemoryOptOut?: boolean | undefined;
12293
12309
  forceDurableGate?: boolean | undefined;
12294
12310
  } | undefined;
12311
+ tokenQuota?: undefined;
12312
+ visibleSkills?: string[] | undefined;
12313
+ visibleMcp?: string[] | undefined;
12314
+ visiblePlugins?: string[] | undefined;
12295
12315
  orgMemory?: Record<string, {
12296
12316
  write?: boolean | undefined;
12297
12317
  }> | undefined;
12298
- tokenQuota?: undefined;
12299
12318
  }, {
12300
12319
  id: string;
12301
12320
  models?: string[] | undefined;
12302
- roster?: string | undefined;
12303
- visibleSkills?: string[] | undefined;
12304
- visibleMcp?: string[] | undefined;
12305
- visiblePlugins?: string[] | undefined;
12306
12321
  budget?: {
12307
12322
  mode?: "soft" | "hard" | "degrade" | undefined;
12308
12323
  maxBudgetUsd?: number | undefined;
@@ -12319,6 +12334,7 @@ export declare const DOMAIN_SCHEMAS: {
12319
12334
  maxIterations?: number | undefined;
12320
12335
  enforcement?: "local" | "lease" | "central" | undefined;
12321
12336
  } | undefined;
12337
+ roster?: string | undefined;
12322
12338
  runtimeCaps?: {
12323
12339
  allowBypassPermissions?: boolean | undefined;
12324
12340
  allowAutoMode?: boolean | undefined;
@@ -12330,10 +12346,13 @@ export declare const DOMAIN_SCHEMAS: {
12330
12346
  allowMemoryOptOut?: boolean | undefined;
12331
12347
  forceDurableGate?: boolean | undefined;
12332
12348
  } | undefined;
12349
+ tokenQuota?: undefined;
12350
+ visibleSkills?: string[] | undefined;
12351
+ visibleMcp?: string[] | undefined;
12352
+ visiblePlugins?: string[] | undefined;
12333
12353
  orgMemory?: Record<string, {
12334
12354
  write?: boolean | undefined;
12335
12355
  }> | undefined;
12336
- tokenQuota?: undefined;
12337
12356
  }>, "many">>;
12338
12357
  subjects: z.ZodDefault<z.ZodArray<z.ZodObject<{
12339
12358
  principal: z.ZodString;
@@ -12344,6 +12363,8 @@ export declare const DOMAIN_SCHEMAS: {
12344
12363
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
12345
12364
  principal: z.ZodString;
12346
12365
  key: z.ZodString;
12366
+ /** The override's value — its SHAPE follows its `key`, so it is parse-transparent here and validated by
12367
+ * whoever enforces that key: {@link PARSE_TRANSPARENT_KEYS} (`entitlement.subjects[].overrides[].value`). */
12347
12368
  value: z.ZodUnknown;
12348
12369
  effectiveFrom: z.ZodOptional<z.ZodString>;
12349
12370
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -12484,11 +12505,11 @@ export declare const DOMAIN_SCHEMAS: {
12484
12505
  } & {
12485
12506
  group: z.ZodString;
12486
12507
  }, "strip", z.ZodTypeAny, {
12487
- memberSince: string;
12488
12508
  group: string;
12489
- }, {
12490
12509
  memberSince: string;
12510
+ }, {
12491
12511
  group: string;
12512
+ memberSince: string;
12492
12513
  }>, "many">>;
12493
12514
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
12494
12515
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -12504,8 +12525,8 @@ export declare const DOMAIN_SCHEMAS: {
12504
12525
  }>, "many">>;
12505
12526
  }, "strip", z.ZodTypeAny, {
12506
12527
  groups: {
12507
- memberSince: string;
12508
12528
  group: string;
12529
+ memberSince: string;
12509
12530
  }[];
12510
12531
  principals: {
12511
12532
  principal: string;
@@ -12513,8 +12534,8 @@ export declare const DOMAIN_SCHEMAS: {
12513
12534
  }[];
12514
12535
  }, {
12515
12536
  groups?: {
12516
- memberSince: string;
12517
12537
  group: string;
12538
+ memberSince: string;
12518
12539
  }[] | undefined;
12519
12540
  principals?: {
12520
12541
  principal: string;
@@ -12524,33 +12545,33 @@ export declare const DOMAIN_SCHEMAS: {
12524
12545
  }, "strip", z.ZodTypeAny, {
12525
12546
  id: string;
12526
12547
  name: string;
12527
- maxBudgetUsd: number;
12528
12548
  members: {
12529
12549
  groups: {
12530
- memberSince: string;
12531
12550
  group: string;
12551
+ memberSince: string;
12532
12552
  }[];
12533
12553
  principals: {
12534
12554
  principal: string;
12535
12555
  memberSince: string;
12536
12556
  }[];
12537
12557
  };
12558
+ maxBudgetUsd: number;
12538
12559
  budgetDuration?: string | undefined;
12539
12560
  }, {
12540
12561
  id: string;
12541
12562
  name: string;
12542
12563
  maxBudgetUsd: number;
12543
- budgetDuration?: string | undefined;
12544
12564
  members?: {
12545
12565
  groups?: {
12546
- memberSince: string;
12547
12566
  group: string;
12567
+ memberSince: string;
12548
12568
  }[] | undefined;
12549
12569
  principals?: {
12550
12570
  principal: string;
12551
12571
  memberSince: string;
12552
12572
  }[] | undefined;
12553
12573
  } | undefined;
12574
+ budgetDuration?: string | undefined;
12554
12575
  }>, "many">>;
12555
12576
  /** 生效场景分配(0.6.0 §7)——见 {@link ScenarioAssignments}。 */
12556
12577
  scenarioAssignments: z.ZodOptional<z.ZodObject<{
@@ -12560,11 +12581,11 @@ export declare const DOMAIN_SCHEMAS: {
12560
12581
  group: z.ZodString;
12561
12582
  scenario: z.ZodString;
12562
12583
  }, "strip", z.ZodTypeAny, {
12563
- group: string;
12564
12584
  scenario: string;
12565
- }, {
12566
12585
  group: string;
12586
+ }, {
12567
12587
  scenario: string;
12588
+ group: string;
12568
12589
  }>, "many">>;
12569
12590
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
12570
12591
  principal: z.ZodString;
@@ -12578,8 +12599,8 @@ export declare const DOMAIN_SCHEMAS: {
12578
12599
  }>, "many">>;
12579
12600
  }, "strip", z.ZodTypeAny, {
12580
12601
  groups: {
12581
- group: string;
12582
12602
  scenario: string;
12603
+ group: string;
12583
12604
  }[];
12584
12605
  principals: {
12585
12606
  principal: string;
@@ -12589,8 +12610,8 @@ export declare const DOMAIN_SCHEMAS: {
12589
12610
  }, {
12590
12611
  default?: string | undefined;
12591
12612
  groups?: {
12592
- group: string;
12593
12613
  scenario: string;
12614
+ group: string;
12594
12615
  }[] | undefined;
12595
12616
  principals?: {
12596
12617
  principal: string;
@@ -12601,10 +12622,6 @@ export declare const DOMAIN_SCHEMAS: {
12601
12622
  tiers: {
12602
12623
  id: string;
12603
12624
  models?: string[] | undefined;
12604
- roster?: string | undefined;
12605
- visibleSkills?: string[] | undefined;
12606
- visibleMcp?: string[] | undefined;
12607
- visiblePlugins?: string[] | undefined;
12608
12625
  budget?: {
12609
12626
  mode?: "soft" | "hard" | "degrade" | undefined;
12610
12627
  maxBudgetUsd?: number | undefined;
@@ -12621,6 +12638,7 @@ export declare const DOMAIN_SCHEMAS: {
12621
12638
  maxIterations?: number | undefined;
12622
12639
  enforcement?: "local" | "lease" | "central" | undefined;
12623
12640
  } | undefined;
12641
+ roster?: string | undefined;
12624
12642
  runtimeCaps?: {
12625
12643
  allowBypassPermissions?: boolean | undefined;
12626
12644
  allowAutoMode?: boolean | undefined;
@@ -12632,10 +12650,13 @@ export declare const DOMAIN_SCHEMAS: {
12632
12650
  allowMemoryOptOut?: boolean | undefined;
12633
12651
  forceDurableGate?: boolean | undefined;
12634
12652
  } | undefined;
12653
+ tokenQuota?: undefined;
12654
+ visibleSkills?: string[] | undefined;
12655
+ visibleMcp?: string[] | undefined;
12656
+ visiblePlugins?: string[] | undefined;
12635
12657
  orgMemory?: Record<string, {
12636
12658
  write?: boolean | undefined;
12637
12659
  }> | undefined;
12638
- tokenQuota?: undefined;
12639
12660
  }[];
12640
12661
  subjects: {
12641
12662
  principal: string;
@@ -12668,17 +12689,17 @@ export declare const DOMAIN_SCHEMAS: {
12668
12689
  budgetGroups: {
12669
12690
  id: string;
12670
12691
  name: string;
12671
- maxBudgetUsd: number;
12672
12692
  members: {
12673
12693
  groups: {
12674
- memberSince: string;
12675
12694
  group: string;
12695
+ memberSince: string;
12676
12696
  }[];
12677
12697
  principals: {
12678
12698
  principal: string;
12679
12699
  memberSince: string;
12680
12700
  }[];
12681
12701
  };
12702
+ maxBudgetUsd: number;
12682
12703
  budgetDuration?: string | undefined;
12683
12704
  }[];
12684
12705
  defaults?: {
@@ -12716,8 +12737,8 @@ export declare const DOMAIN_SCHEMAS: {
12716
12737
  } | undefined;
12717
12738
  scenarioAssignments?: {
12718
12739
  groups: {
12719
- group: string;
12720
12740
  scenario: string;
12741
+ group: string;
12721
12742
  }[];
12722
12743
  principals: {
12723
12744
  principal: string;
@@ -12729,10 +12750,6 @@ export declare const DOMAIN_SCHEMAS: {
12729
12750
  tiers?: {
12730
12751
  id: string;
12731
12752
  models?: string[] | undefined;
12732
- roster?: string | undefined;
12733
- visibleSkills?: string[] | undefined;
12734
- visibleMcp?: string[] | undefined;
12735
- visiblePlugins?: string[] | undefined;
12736
12753
  budget?: {
12737
12754
  mode?: "soft" | "hard" | "degrade" | undefined;
12738
12755
  maxBudgetUsd?: number | undefined;
@@ -12749,6 +12766,7 @@ export declare const DOMAIN_SCHEMAS: {
12749
12766
  maxIterations?: number | undefined;
12750
12767
  enforcement?: "local" | "lease" | "central" | undefined;
12751
12768
  } | undefined;
12769
+ roster?: string | undefined;
12752
12770
  runtimeCaps?: {
12753
12771
  allowBypassPermissions?: boolean | undefined;
12754
12772
  allowAutoMode?: boolean | undefined;
@@ -12760,10 +12778,13 @@ export declare const DOMAIN_SCHEMAS: {
12760
12778
  allowMemoryOptOut?: boolean | undefined;
12761
12779
  forceDurableGate?: boolean | undefined;
12762
12780
  } | undefined;
12781
+ tokenQuota?: undefined;
12782
+ visibleSkills?: string[] | undefined;
12783
+ visibleMcp?: string[] | undefined;
12784
+ visiblePlugins?: string[] | undefined;
12763
12785
  orgMemory?: Record<string, {
12764
12786
  write?: boolean | undefined;
12765
12787
  }> | undefined;
12766
- tokenQuota?: undefined;
12767
12788
  }[] | undefined;
12768
12789
  defaults?: {
12769
12790
  budget?: {
@@ -12830,23 +12851,23 @@ export declare const DOMAIN_SCHEMAS: {
12830
12851
  id: string;
12831
12852
  name: string;
12832
12853
  maxBudgetUsd: number;
12833
- budgetDuration?: string | undefined;
12834
12854
  members?: {
12835
12855
  groups?: {
12836
- memberSince: string;
12837
12856
  group: string;
12857
+ memberSince: string;
12838
12858
  }[] | undefined;
12839
12859
  principals?: {
12840
12860
  principal: string;
12841
12861
  memberSince: string;
12842
12862
  }[] | undefined;
12843
12863
  } | undefined;
12864
+ budgetDuration?: string | undefined;
12844
12865
  }[] | undefined;
12845
12866
  scenarioAssignments?: {
12846
12867
  default?: string | undefined;
12847
12868
  groups?: {
12848
- group: string;
12849
12869
  scenario: string;
12870
+ group: string;
12850
12871
  }[] | undefined;
12851
12872
  principals?: {
12852
12873
  principal: string;
@@ -12857,10 +12878,6 @@ export declare const DOMAIN_SCHEMAS: {
12857
12878
  tiers: {
12858
12879
  id: string;
12859
12880
  models?: string[] | undefined;
12860
- roster?: string | undefined;
12861
- visibleSkills?: string[] | undefined;
12862
- visibleMcp?: string[] | undefined;
12863
- visiblePlugins?: string[] | undefined;
12864
12881
  budget?: {
12865
12882
  mode?: "soft" | "hard" | "degrade" | undefined;
12866
12883
  maxBudgetUsd?: number | undefined;
@@ -12877,6 +12894,7 @@ export declare const DOMAIN_SCHEMAS: {
12877
12894
  maxIterations?: number | undefined;
12878
12895
  enforcement?: "local" | "lease" | "central" | undefined;
12879
12896
  } | undefined;
12897
+ roster?: string | undefined;
12880
12898
  runtimeCaps?: {
12881
12899
  allowBypassPermissions?: boolean | undefined;
12882
12900
  allowAutoMode?: boolean | undefined;
@@ -12888,10 +12906,13 @@ export declare const DOMAIN_SCHEMAS: {
12888
12906
  allowMemoryOptOut?: boolean | undefined;
12889
12907
  forceDurableGate?: boolean | undefined;
12890
12908
  } | undefined;
12909
+ tokenQuota?: undefined;
12910
+ visibleSkills?: string[] | undefined;
12911
+ visibleMcp?: string[] | undefined;
12912
+ visiblePlugins?: string[] | undefined;
12891
12913
  orgMemory?: Record<string, {
12892
12914
  write?: boolean | undefined;
12893
12915
  }> | undefined;
12894
- tokenQuota?: undefined;
12895
12916
  }[];
12896
12917
  subjects: {
12897
12918
  principal: string;
@@ -12924,17 +12945,17 @@ export declare const DOMAIN_SCHEMAS: {
12924
12945
  budgetGroups: {
12925
12946
  id: string;
12926
12947
  name: string;
12927
- maxBudgetUsd: number;
12928
12948
  members: {
12929
12949
  groups: {
12930
- memberSince: string;
12931
12950
  group: string;
12951
+ memberSince: string;
12932
12952
  }[];
12933
12953
  principals: {
12934
12954
  principal: string;
12935
12955
  memberSince: string;
12936
12956
  }[];
12937
12957
  };
12958
+ maxBudgetUsd: number;
12938
12959
  budgetDuration?: string | undefined;
12939
12960
  }[];
12940
12961
  defaults?: {
@@ -12972,8 +12993,8 @@ export declare const DOMAIN_SCHEMAS: {
12972
12993
  } | undefined;
12973
12994
  scenarioAssignments?: {
12974
12995
  groups: {
12975
- group: string;
12976
12996
  scenario: string;
12997
+ group: string;
12977
12998
  }[];
12978
12999
  principals: {
12979
13000
  principal: string;
@@ -12985,10 +13006,6 @@ export declare const DOMAIN_SCHEMAS: {
12985
13006
  tiers?: {
12986
13007
  id: string;
12987
13008
  models?: string[] | undefined;
12988
- roster?: string | undefined;
12989
- visibleSkills?: string[] | undefined;
12990
- visibleMcp?: string[] | undefined;
12991
- visiblePlugins?: string[] | undefined;
12992
13009
  budget?: {
12993
13010
  mode?: "soft" | "hard" | "degrade" | undefined;
12994
13011
  maxBudgetUsd?: number | undefined;
@@ -13005,6 +13022,7 @@ export declare const DOMAIN_SCHEMAS: {
13005
13022
  maxIterations?: number | undefined;
13006
13023
  enforcement?: "local" | "lease" | "central" | undefined;
13007
13024
  } | undefined;
13025
+ roster?: string | undefined;
13008
13026
  runtimeCaps?: {
13009
13027
  allowBypassPermissions?: boolean | undefined;
13010
13028
  allowAutoMode?: boolean | undefined;
@@ -13016,10 +13034,13 @@ export declare const DOMAIN_SCHEMAS: {
13016
13034
  allowMemoryOptOut?: boolean | undefined;
13017
13035
  forceDurableGate?: boolean | undefined;
13018
13036
  } | undefined;
13037
+ tokenQuota?: undefined;
13038
+ visibleSkills?: string[] | undefined;
13039
+ visibleMcp?: string[] | undefined;
13040
+ visiblePlugins?: string[] | undefined;
13019
13041
  orgMemory?: Record<string, {
13020
13042
  write?: boolean | undefined;
13021
13043
  }> | undefined;
13022
- tokenQuota?: undefined;
13023
13044
  }[] | undefined;
13024
13045
  defaults?: {
13025
13046
  budget?: {
@@ -13086,23 +13107,23 @@ export declare const DOMAIN_SCHEMAS: {
13086
13107
  id: string;
13087
13108
  name: string;
13088
13109
  maxBudgetUsd: number;
13089
- budgetDuration?: string | undefined;
13090
13110
  members?: {
13091
13111
  groups?: {
13092
- memberSince: string;
13093
13112
  group: string;
13113
+ memberSince: string;
13094
13114
  }[] | undefined;
13095
13115
  principals?: {
13096
13116
  principal: string;
13097
13117
  memberSince: string;
13098
13118
  }[] | undefined;
13099
13119
  } | undefined;
13120
+ budgetDuration?: string | undefined;
13100
13121
  }[] | undefined;
13101
13122
  scenarioAssignments?: {
13102
13123
  default?: string | undefined;
13103
13124
  groups?: {
13104
- group: string;
13105
13125
  scenario: string;
13126
+ group: string;
13106
13127
  }[] | undefined;
13107
13128
  principals?: {
13108
13129
  principal: string;
@@ -13401,29 +13422,29 @@ export declare const DOMAIN_SCHEMAS: {
13401
13422
  }, "strip", z.ZodTypeAny, {
13402
13423
  id: string;
13403
13424
  slot: "scenario" | "identity" | "behavior";
13404
- contentHash: string;
13405
13425
  text: string;
13426
+ contentHash: string;
13406
13427
  }, {
13407
13428
  id: string;
13408
13429
  slot: "scenario" | "identity" | "behavior";
13409
- contentHash: string;
13410
13430
  text: string;
13431
+ contentHash: string;
13411
13432
  }>, "many">;
13412
13433
  }, "strip", z.ZodTypeAny, {
13413
13434
  packId: string;
13414
13435
  sections: {
13415
13436
  id: string;
13416
13437
  slot: "scenario" | "identity" | "behavior";
13417
- contentHash: string;
13418
13438
  text: string;
13439
+ contentHash: string;
13419
13440
  }[];
13420
13441
  }, {
13421
13442
  packId: string;
13422
13443
  sections: {
13423
13444
  id: string;
13424
13445
  slot: "scenario" | "identity" | "behavior";
13425
- contentHash: string;
13426
13446
  text: string;
13447
+ contentHash: string;
13427
13448
  }[];
13428
13449
  }>;
13429
13450
  }, "strip", z.ZodTypeAny, {
@@ -13433,8 +13454,8 @@ export declare const DOMAIN_SCHEMAS: {
13433
13454
  sections: {
13434
13455
  id: string;
13435
13456
  slot: "scenario" | "identity" | "behavior";
13436
- contentHash: string;
13437
13457
  text: string;
13458
+ contentHash: string;
13438
13459
  }[];
13439
13460
  };
13440
13461
  }, {
@@ -13444,8 +13465,8 @@ export declare const DOMAIN_SCHEMAS: {
13444
13465
  sections: {
13445
13466
  id: string;
13446
13467
  slot: "scenario" | "identity" | "behavior";
13447
- contentHash: string;
13448
13468
  text: string;
13469
+ contentHash: string;
13449
13470
  }[];
13450
13471
  };
13451
13472
  }>;
@@ -13460,8 +13481,8 @@ export declare const DOMAIN_SCHEMAS: {
13460
13481
  sections: {
13461
13482
  id: string;
13462
13483
  slot: "scenario" | "identity" | "behavior";
13463
- contentHash: string;
13464
13484
  text: string;
13485
+ contentHash: string;
13465
13486
  }[];
13466
13487
  };
13467
13488
  };
@@ -13480,8 +13501,8 @@ export declare const DOMAIN_SCHEMAS: {
13480
13501
  sections: {
13481
13502
  id: string;
13482
13503
  slot: "scenario" | "identity" | "behavior";
13483
- contentHash: string;
13484
13504
  text: string;
13505
+ contentHash: string;
13485
13506
  }[];
13486
13507
  };
13487
13508
  };
@@ -13503,8 +13524,8 @@ export declare const DOMAIN_SCHEMAS: {
13503
13524
  sections: {
13504
13525
  id: string;
13505
13526
  slot: "scenario" | "identity" | "behavior";
13506
- contentHash: string;
13507
13527
  text: string;
13528
+ contentHash: string;
13508
13529
  }[];
13509
13530
  };
13510
13531
  };
@@ -13526,8 +13547,8 @@ export declare const DOMAIN_SCHEMAS: {
13526
13547
  sections: {
13527
13548
  id: string;
13528
13549
  slot: "scenario" | "identity" | "behavior";
13529
- contentHash: string;
13530
13550
  text: string;
13551
+ contentHash: string;
13531
13552
  }[];
13532
13553
  };
13533
13554
  };
@@ -13552,8 +13573,8 @@ export declare const DOMAIN_SCHEMAS: {
13552
13573
  sections: {
13553
13574
  id: string;
13554
13575
  slot: "scenario" | "identity" | "behavior";
13555
- contentHash: string;
13556
13576
  text: string;
13577
+ contentHash: string;
13557
13578
  }[];
13558
13579
  };
13559
13580
  };
@@ -13578,8 +13599,8 @@ export declare const DOMAIN_SCHEMAS: {
13578
13599
  sections: {
13579
13600
  id: string;
13580
13601
  slot: "scenario" | "identity" | "behavior";
13581
- contentHash: string;
13582
13602
  text: string;
13603
+ contentHash: string;
13583
13604
  }[];
13584
13605
  };
13585
13606
  };
@@ -13619,8 +13640,8 @@ export declare const DOMAIN_SCHEMAS: {
13619
13640
  sections: {
13620
13641
  id: string;
13621
13642
  slot: "scenario" | "identity" | "behavior";
13622
- contentHash: string;
13623
13643
  text: string;
13644
+ contentHash: string;
13624
13645
  }[];
13625
13646
  };
13626
13647
  };
@@ -13660,8 +13681,8 @@ export declare const DOMAIN_SCHEMAS: {
13660
13681
  sections: {
13661
13682
  id: string;
13662
13683
  slot: "scenario" | "identity" | "behavior";
13663
- contentHash: string;
13664
13684
  text: string;
13685
+ contentHash: string;
13665
13686
  }[];
13666
13687
  };
13667
13688
  };
@@ -13814,10 +13835,10 @@ export interface EffectiveConfig {
13814
13835
  models: ModelsConfig;
13815
13836
  /** Control-plane only: per-worker roster views. EMPTIED (set to `{ rosters: [] }`) in the /effective
13816
13837
  * endpoint response — the service receives its already-resolved `models`, never the raw rosters. See
13817
- * docs/MULTI-ROSTER.md. */
13838
+ * See the multi-roster design note. */
13818
13839
  rosters: RostersConfig;
13819
13840
  /** Skills shipped as a MANIFEST (content → contentHash) in the /effective endpoint; the service lazily
13820
- * pulls each body by hash (slice 2). Stored in full (with content) inside the store. docs/MCP-SKILLS.md. */
13841
+ * pulls each body by hash (slice 2). Stored in full (with content) inside the store. See the mcp/skills design note. */
13821
13842
  skills: SkillsConfig;
13822
13843
  /** MCP server registry; env/header secret VALUES are env-NAME refs only (resolved service-side). */
13823
13844
  mcp: McpConfig;
@@ -14037,7 +14058,7 @@ export declare const EffectiveKey: z.ZodObject<{
14037
14058
  export type EffectiveKey = z.infer<typeof EffectiveKey>;
14038
14059
  /** What the service actually receives from GET /effective: identical to {@link EffectiveConfig} EXCEPT the
14039
14060
  * `skills` domain is shipped as a MANIFEST (each skill's `content` → a `contentHash`; bodies pulled lazily
14040
- * via the content endpoint). The `rosters` domain is also emptied at resolution. docs/MCP-SKILLS.md §3.1.
14061
+ * via the content endpoint). The `rosters` domain is also emptied at resolution. See the mcp/skills design note §3.1.
14041
14062
  * `prompts` is the second wire divergence (#100): on the wire it is the center-assembled RESOLVED form
14042
14063
  * (worker lane strips the bindings storage table — {@link PromptsConfig} 注 [1057]⑤), consumer-validated
14043
14064
  * additive JSON — optional (absent = the center published nothing), never the storage shape. */
@@ -14049,7 +14070,7 @@ export type EffectiveWire = Omit<EffectiveConfig, "skills" | "prompts"> & {
14049
14070
  * rollback-able). Lets user changes share the one audit stream the Audit page already renders. */
14050
14071
  export declare const RBAC_AUDIT = "rbac";
14051
14072
  /** Audit category for secret write-through (value injected into the orchestrator secret source) — name + action
14052
- * ONLY, never the value (config_change.value=null), same discipline as RBAC_AUDIT. docs/SELF-SERVICE-FLEET.md §3. */
14073
+ * ONLY, never the value (config_change.value=null), same discipline as RBAC_AUDIT. See the self-service-fleet design note §3. */
14053
14074
  export declare const SECRETS_AUDIT = "secrets";
14054
14075
  /** An audit record (who/what/when). `domain` is a config {@link DomainName} for a config write, or a
14055
14076
  * non-domain audit category like {@link RBAC_AUDIT} for a user/role change (those carry no snapshot). */