@sema-agent/settings-schema 1.9.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;
@@ -184,6 +220,20 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
184
220
  * through), e.g. {frequency_penalty:0.5, presence_penalty:0.3}. Non-secret model metadata — same class
185
221
  * as cost/tier. Shipped on /effective.models.models[].extraBody; the service merges it into the request. */
186
222
  extraBody: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, Record<string, unknown> | undefined, unknown>;
223
+ /** Per-model wire-compat declaration for the OpenAI-completions lane — mirrors the engine's
224
+ * `OpenAICompletionsCompat` (five keys: `thinkingFormat` / `reasoningEffortLevels` / `maxTokensField` /
225
+ * `requiresReasoningContentOnAssistantMessages` / `supportsReasoningEffort`). Real need: a vLLM/Qwen-class
226
+ * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
227
+ * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
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.
230
+ *
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). */
236
+ compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
187
237
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
188
238
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
189
239
  quotaWeight: z.ZodDefault<z.ZodNumber>;
@@ -219,6 +269,7 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
219
269
  cacheWrite: number;
220
270
  } | undefined;
221
271
  extraBody?: Record<string, unknown> | undefined;
272
+ compat?: unknown;
222
273
  notes?: string | undefined;
223
274
  }, {
224
275
  id: string;
@@ -248,6 +299,7 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
248
299
  cacheWrite?: number | undefined;
249
300
  } | undefined;
250
301
  extraBody?: unknown;
302
+ compat?: unknown;
251
303
  quotaWeight?: number | undefined;
252
304
  enabled?: boolean | undefined;
253
305
  notes?: string | undefined;
@@ -281,6 +333,7 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
281
333
  cacheWrite: number;
282
334
  } | undefined;
283
335
  extraBody?: Record<string, unknown> | undefined;
336
+ compat?: unknown;
284
337
  notes?: string | undefined;
285
338
  }, {
286
339
  id: string;
@@ -310,6 +363,7 @@ export declare const ModelEntry: z.ZodEffects<z.ZodObject<{
310
363
  cacheWrite?: number | undefined;
311
364
  } | undefined;
312
365
  extraBody?: unknown;
366
+ compat?: unknown;
313
367
  quotaWeight?: number | undefined;
314
368
  enabled?: boolean | undefined;
315
369
  notes?: string | undefined;
@@ -504,6 +558,20 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
504
558
  * through), e.g. {frequency_penalty:0.5, presence_penalty:0.3}. Non-secret model metadata — same class
505
559
  * as cost/tier. Shipped on /effective.models.models[].extraBody; the service merges it into the request. */
506
560
  extraBody: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, Record<string, unknown> | undefined, unknown>;
561
+ /** Per-model wire-compat declaration for the OpenAI-completions lane — mirrors the engine's
562
+ * `OpenAICompletionsCompat` (five keys: `thinkingFormat` / `reasoningEffortLevels` / `maxTokensField` /
563
+ * `requiresReasoningContentOnAssistantMessages` / `supportsReasoningEffort`). Real need: a vLLM/Qwen-class
564
+ * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
565
+ * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
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.
568
+ *
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). */
574
+ compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
507
575
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
508
576
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
509
577
  quotaWeight: z.ZodDefault<z.ZodNumber>;
@@ -539,6 +607,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
539
607
  cacheWrite: number;
540
608
  } | undefined;
541
609
  extraBody?: Record<string, unknown> | undefined;
610
+ compat?: unknown;
542
611
  notes?: string | undefined;
543
612
  }, {
544
613
  id: string;
@@ -568,6 +637,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
568
637
  cacheWrite?: number | undefined;
569
638
  } | undefined;
570
639
  extraBody?: unknown;
640
+ compat?: unknown;
571
641
  quotaWeight?: number | undefined;
572
642
  enabled?: boolean | undefined;
573
643
  notes?: string | undefined;
@@ -601,6 +671,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
601
671
  cacheWrite: number;
602
672
  } | undefined;
603
673
  extraBody?: Record<string, unknown> | undefined;
674
+ compat?: unknown;
604
675
  notes?: string | undefined;
605
676
  }, {
606
677
  id: string;
@@ -630,6 +701,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
630
701
  cacheWrite?: number | undefined;
631
702
  } | undefined;
632
703
  extraBody?: unknown;
704
+ compat?: unknown;
633
705
  quotaWeight?: number | undefined;
634
706
  enabled?: boolean | undefined;
635
707
  notes?: string | undefined;
@@ -753,6 +825,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
753
825
  cacheWrite: number;
754
826
  } | undefined;
755
827
  extraBody?: Record<string, unknown> | undefined;
828
+ compat?: unknown;
756
829
  notes?: string | undefined;
757
830
  }[];
758
831
  roles: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
@@ -779,7 +852,6 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
779
852
  atModelAllowlist?: string[] | undefined;
780
853
  activeTierGroup?: string | undefined;
781
854
  }, {
782
- default?: string | undefined;
783
855
  models?: {
784
856
  id: string;
785
857
  name: string;
@@ -808,10 +880,12 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
808
880
  cacheWrite?: number | undefined;
809
881
  } | undefined;
810
882
  extraBody?: unknown;
883
+ compat?: unknown;
811
884
  quotaWeight?: number | undefined;
812
885
  enabled?: boolean | undefined;
813
886
  notes?: string | undefined;
814
887
  }[] | undefined;
888
+ default?: string | undefined;
815
889
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
816
890
  model: string;
817
891
  } | {
@@ -865,6 +939,7 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
865
939
  cacheWrite: number;
866
940
  } | undefined;
867
941
  extraBody?: Record<string, unknown> | undefined;
942
+ compat?: unknown;
868
943
  notes?: string | undefined;
869
944
  }[];
870
945
  roles: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
@@ -891,7 +966,6 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
891
966
  atModelAllowlist?: string[] | undefined;
892
967
  activeTierGroup?: string | undefined;
893
968
  }, {
894
- default?: string | undefined;
895
969
  models?: {
896
970
  id: string;
897
971
  name: string;
@@ -920,10 +994,12 @@ export declare const ModelsConfig: z.ZodEffects<z.ZodObject<{
920
994
  cacheWrite?: number | undefined;
921
995
  } | undefined;
922
996
  extraBody?: unknown;
997
+ compat?: unknown;
923
998
  quotaWeight?: number | undefined;
924
999
  enabled?: boolean | undefined;
925
1000
  notes?: string | undefined;
926
1001
  }[] | undefined;
1002
+ default?: string | undefined;
927
1003
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
928
1004
  model: string;
929
1005
  } | {
@@ -1469,16 +1545,16 @@ export declare const RuntimeConfig: z.ZodObject<{
1469
1545
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
1470
1546
  costQuotaWindowSec: z.ZodOptional<z.ZodNumber>;
1471
1547
  }, "strip", z.ZodTypeAny, {
1548
+ maxPrincipalCostUsd?: number | undefined;
1472
1549
  rateLimitPerMin?: number | undefined;
1473
1550
  maxTaskCostUsd?: number | undefined;
1474
1551
  maxTaskTokens?: number | undefined;
1475
- maxPrincipalCostUsd?: number | undefined;
1476
1552
  costQuotaWindowSec?: number | undefined;
1477
1553
  }, {
1554
+ maxPrincipalCostUsd?: number | undefined;
1478
1555
  rateLimitPerMin?: number | undefined;
1479
1556
  maxTaskCostUsd?: number | undefined;
1480
1557
  maxTaskTokens?: number | undefined;
1481
- maxPrincipalCostUsd?: number | undefined;
1482
1558
  costQuotaWindowSec?: number | undefined;
1483
1559
  }>;
1484
1560
  export type RuntimeConfig = z.infer<typeof RuntimeConfig>;
@@ -1644,14 +1720,14 @@ export declare const GovernanceConfig: z.ZodObject<{
1644
1720
  /** Tool names needing operator approval (F4). Moved verbatim from runtime (same ABSENT/explicit-[] semantics). */
1645
1721
  approvalRequire: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1646
1722
  }, "strip", z.ZodTypeAny, {
1647
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
1723
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
1648
1724
  commandPolicy?: {
1649
1725
  command: string;
1650
1726
  decision: "ask" | "allow" | "deny";
1651
1727
  }[] | undefined;
1652
1728
  approvalRequire?: string[] | undefined;
1653
1729
  }, {
1654
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
1730
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
1655
1731
  commandPolicy?: {
1656
1732
  command: string;
1657
1733
  decision: "ask" | "allow" | "deny";
@@ -1769,11 +1845,11 @@ export declare const BudgetGroup: z.ZodObject<{
1769
1845
  } & {
1770
1846
  group: z.ZodString;
1771
1847
  }, "strip", z.ZodTypeAny, {
1772
- memberSince: string;
1773
1848
  group: string;
1774
- }, {
1775
1849
  memberSince: string;
1850
+ }, {
1776
1851
  group: string;
1852
+ memberSince: string;
1777
1853
  }>, "many">>;
1778
1854
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
1779
1855
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -1789,8 +1865,8 @@ export declare const BudgetGroup: z.ZodObject<{
1789
1865
  }>, "many">>;
1790
1866
  }, "strip", z.ZodTypeAny, {
1791
1867
  groups: {
1792
- memberSince: string;
1793
1868
  group: string;
1869
+ memberSince: string;
1794
1870
  }[];
1795
1871
  principals: {
1796
1872
  principal: string;
@@ -1798,8 +1874,8 @@ export declare const BudgetGroup: z.ZodObject<{
1798
1874
  }[];
1799
1875
  }, {
1800
1876
  groups?: {
1801
- memberSince: string;
1802
1877
  group: string;
1878
+ memberSince: string;
1803
1879
  }[] | undefined;
1804
1880
  principals?: {
1805
1881
  principal: string;
@@ -1809,33 +1885,33 @@ export declare const BudgetGroup: z.ZodObject<{
1809
1885
  }, "strip", z.ZodTypeAny, {
1810
1886
  id: string;
1811
1887
  name: string;
1812
- maxBudgetUsd: number;
1813
1888
  members: {
1814
1889
  groups: {
1815
- memberSince: string;
1816
1890
  group: string;
1891
+ memberSince: string;
1817
1892
  }[];
1818
1893
  principals: {
1819
1894
  principal: string;
1820
1895
  memberSince: string;
1821
1896
  }[];
1822
1897
  };
1898
+ maxBudgetUsd: number;
1823
1899
  budgetDuration?: string | undefined;
1824
1900
  }, {
1825
1901
  id: string;
1826
1902
  name: string;
1827
1903
  maxBudgetUsd: number;
1828
- budgetDuration?: string | undefined;
1829
1904
  members?: {
1830
1905
  groups?: {
1831
- memberSince: string;
1832
1906
  group: string;
1907
+ memberSince: string;
1833
1908
  }[] | undefined;
1834
1909
  principals?: {
1835
1910
  principal: string;
1836
1911
  memberSince: string;
1837
1912
  }[] | undefined;
1838
1913
  } | undefined;
1914
+ budgetDuration?: string | undefined;
1839
1915
  }>;
1840
1916
  export type BudgetGroup = z.infer<typeof BudgetGroup>;
1841
1917
  /** 生效场景分配(§7,与配额同一挂载心智):全局默认 + 按组 + 按用户三层;解析优先级=用户 > 组 > 全局默认
@@ -1849,11 +1925,11 @@ export declare const ScenarioAssignments: z.ZodObject<{
1849
1925
  group: z.ZodString;
1850
1926
  scenario: z.ZodString;
1851
1927
  }, "strip", z.ZodTypeAny, {
1852
- group: string;
1853
1928
  scenario: string;
1854
- }, {
1855
1929
  group: string;
1930
+ }, {
1856
1931
  scenario: string;
1932
+ group: string;
1857
1933
  }>, "many">>;
1858
1934
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
1859
1935
  principal: z.ZodString;
@@ -1867,8 +1943,8 @@ export declare const ScenarioAssignments: z.ZodObject<{
1867
1943
  }>, "many">>;
1868
1944
  }, "strip", z.ZodTypeAny, {
1869
1945
  groups: {
1870
- group: string;
1871
1946
  scenario: string;
1947
+ group: string;
1872
1948
  }[];
1873
1949
  principals: {
1874
1950
  principal: string;
@@ -1878,8 +1954,8 @@ export declare const ScenarioAssignments: z.ZodObject<{
1878
1954
  }, {
1879
1955
  default?: string | undefined;
1880
1956
  groups?: {
1881
- group: string;
1882
1957
  scenario: string;
1958
+ group: string;
1883
1959
  }[] | undefined;
1884
1960
  principals?: {
1885
1961
  principal: string;
@@ -2145,10 +2221,6 @@ export declare const EntitlementTier: z.ZodObject<{
2145
2221
  }, "strip", z.ZodTypeAny, {
2146
2222
  id: string;
2147
2223
  models?: string[] | undefined;
2148
- roster?: string | undefined;
2149
- visibleSkills?: string[] | undefined;
2150
- visibleMcp?: string[] | undefined;
2151
- visiblePlugins?: string[] | undefined;
2152
2224
  budget?: {
2153
2225
  mode?: "soft" | "hard" | "degrade" | undefined;
2154
2226
  maxBudgetUsd?: number | undefined;
@@ -2165,6 +2237,7 @@ export declare const EntitlementTier: z.ZodObject<{
2165
2237
  maxIterations?: number | undefined;
2166
2238
  enforcement?: "local" | "lease" | "central" | undefined;
2167
2239
  } | undefined;
2240
+ roster?: string | undefined;
2168
2241
  runtimeCaps?: {
2169
2242
  allowBypassPermissions?: boolean | undefined;
2170
2243
  allowAutoMode?: boolean | undefined;
@@ -2176,17 +2249,16 @@ export declare const EntitlementTier: z.ZodObject<{
2176
2249
  allowMemoryOptOut?: boolean | undefined;
2177
2250
  forceDurableGate?: boolean | undefined;
2178
2251
  } | undefined;
2252
+ tokenQuota?: undefined;
2253
+ visibleSkills?: string[] | undefined;
2254
+ visibleMcp?: string[] | undefined;
2255
+ visiblePlugins?: string[] | undefined;
2179
2256
  orgMemory?: Record<string, {
2180
2257
  write?: boolean | undefined;
2181
2258
  }> | undefined;
2182
- tokenQuota?: undefined;
2183
2259
  }, {
2184
2260
  id: string;
2185
2261
  models?: string[] | undefined;
2186
- roster?: string | undefined;
2187
- visibleSkills?: string[] | undefined;
2188
- visibleMcp?: string[] | undefined;
2189
- visiblePlugins?: string[] | undefined;
2190
2262
  budget?: {
2191
2263
  mode?: "soft" | "hard" | "degrade" | undefined;
2192
2264
  maxBudgetUsd?: number | undefined;
@@ -2203,6 +2275,7 @@ export declare const EntitlementTier: z.ZodObject<{
2203
2275
  maxIterations?: number | undefined;
2204
2276
  enforcement?: "local" | "lease" | "central" | undefined;
2205
2277
  } | undefined;
2278
+ roster?: string | undefined;
2206
2279
  runtimeCaps?: {
2207
2280
  allowBypassPermissions?: boolean | undefined;
2208
2281
  allowAutoMode?: boolean | undefined;
@@ -2214,16 +2287,21 @@ export declare const EntitlementTier: z.ZodObject<{
2214
2287
  allowMemoryOptOut?: boolean | undefined;
2215
2288
  forceDurableGate?: boolean | undefined;
2216
2289
  } | undefined;
2290
+ tokenQuota?: undefined;
2291
+ visibleSkills?: string[] | undefined;
2292
+ visibleMcp?: string[] | undefined;
2293
+ visiblePlugins?: string[] | undefined;
2217
2294
  orgMemory?: Record<string, {
2218
2295
  write?: boolean | undefined;
2219
2296
  }> | undefined;
2220
- tokenQuota?: undefined;
2221
2297
  }>;
2222
2298
  export type EntitlementTier = z.infer<typeof EntitlementTier>;
2223
2299
  /** A time-bounded, audited per-principal override (escape hatch above the tier/role defaults). */
2224
2300
  export declare const EntitlementOverride: z.ZodEffects<z.ZodObject<{
2225
2301
  principal: z.ZodString;
2226
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`). */
2227
2305
  value: z.ZodUnknown;
2228
2306
  effectiveFrom: z.ZodOptional<z.ZodString>;
2229
2307
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -2272,6 +2350,8 @@ export declare const EntitlementSubject: z.ZodObject<{
2272
2350
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
2273
2351
  principal: z.ZodString;
2274
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`). */
2275
2355
  value: z.ZodUnknown;
2276
2356
  effectiveFrom: z.ZodOptional<z.ZodString>;
2277
2357
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -2795,10 +2875,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2795
2875
  }, "strip", z.ZodTypeAny, {
2796
2876
  id: string;
2797
2877
  models?: string[] | undefined;
2798
- roster?: string | undefined;
2799
- visibleSkills?: string[] | undefined;
2800
- visibleMcp?: string[] | undefined;
2801
- visiblePlugins?: string[] | undefined;
2802
2878
  budget?: {
2803
2879
  mode?: "soft" | "hard" | "degrade" | undefined;
2804
2880
  maxBudgetUsd?: number | undefined;
@@ -2815,6 +2891,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2815
2891
  maxIterations?: number | undefined;
2816
2892
  enforcement?: "local" | "lease" | "central" | undefined;
2817
2893
  } | undefined;
2894
+ roster?: string | undefined;
2818
2895
  runtimeCaps?: {
2819
2896
  allowBypassPermissions?: boolean | undefined;
2820
2897
  allowAutoMode?: boolean | undefined;
@@ -2826,17 +2903,16 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2826
2903
  allowMemoryOptOut?: boolean | undefined;
2827
2904
  forceDurableGate?: boolean | undefined;
2828
2905
  } | undefined;
2906
+ tokenQuota?: undefined;
2907
+ visibleSkills?: string[] | undefined;
2908
+ visibleMcp?: string[] | undefined;
2909
+ visiblePlugins?: string[] | undefined;
2829
2910
  orgMemory?: Record<string, {
2830
2911
  write?: boolean | undefined;
2831
2912
  }> | undefined;
2832
- tokenQuota?: undefined;
2833
2913
  }, {
2834
2914
  id: string;
2835
2915
  models?: string[] | undefined;
2836
- roster?: string | undefined;
2837
- visibleSkills?: string[] | undefined;
2838
- visibleMcp?: string[] | undefined;
2839
- visiblePlugins?: string[] | undefined;
2840
2916
  budget?: {
2841
2917
  mode?: "soft" | "hard" | "degrade" | undefined;
2842
2918
  maxBudgetUsd?: number | undefined;
@@ -2853,6 +2929,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2853
2929
  maxIterations?: number | undefined;
2854
2930
  enforcement?: "local" | "lease" | "central" | undefined;
2855
2931
  } | undefined;
2932
+ roster?: string | undefined;
2856
2933
  runtimeCaps?: {
2857
2934
  allowBypassPermissions?: boolean | undefined;
2858
2935
  allowAutoMode?: boolean | undefined;
@@ -2864,10 +2941,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2864
2941
  allowMemoryOptOut?: boolean | undefined;
2865
2942
  forceDurableGate?: boolean | undefined;
2866
2943
  } | undefined;
2944
+ tokenQuota?: undefined;
2945
+ visibleSkills?: string[] | undefined;
2946
+ visibleMcp?: string[] | undefined;
2947
+ visiblePlugins?: string[] | undefined;
2867
2948
  orgMemory?: Record<string, {
2868
2949
  write?: boolean | undefined;
2869
2950
  }> | undefined;
2870
- tokenQuota?: undefined;
2871
2951
  }>, "many">>;
2872
2952
  subjects: z.ZodDefault<z.ZodArray<z.ZodObject<{
2873
2953
  principal: z.ZodString;
@@ -2878,6 +2958,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2878
2958
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
2879
2959
  principal: z.ZodString;
2880
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`). */
2881
2963
  value: z.ZodUnknown;
2882
2964
  effectiveFrom: z.ZodOptional<z.ZodString>;
2883
2965
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -3018,11 +3100,11 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3018
3100
  } & {
3019
3101
  group: z.ZodString;
3020
3102
  }, "strip", z.ZodTypeAny, {
3021
- memberSince: string;
3022
3103
  group: string;
3023
- }, {
3024
3104
  memberSince: string;
3105
+ }, {
3025
3106
  group: string;
3107
+ memberSince: string;
3026
3108
  }>, "many">>;
3027
3109
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
3028
3110
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -3038,8 +3120,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3038
3120
  }>, "many">>;
3039
3121
  }, "strip", z.ZodTypeAny, {
3040
3122
  groups: {
3041
- memberSince: string;
3042
3123
  group: string;
3124
+ memberSince: string;
3043
3125
  }[];
3044
3126
  principals: {
3045
3127
  principal: string;
@@ -3047,8 +3129,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3047
3129
  }[];
3048
3130
  }, {
3049
3131
  groups?: {
3050
- memberSince: string;
3051
3132
  group: string;
3133
+ memberSince: string;
3052
3134
  }[] | undefined;
3053
3135
  principals?: {
3054
3136
  principal: string;
@@ -3058,33 +3140,33 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3058
3140
  }, "strip", z.ZodTypeAny, {
3059
3141
  id: string;
3060
3142
  name: string;
3061
- maxBudgetUsd: number;
3062
3143
  members: {
3063
3144
  groups: {
3064
- memberSince: string;
3065
3145
  group: string;
3146
+ memberSince: string;
3066
3147
  }[];
3067
3148
  principals: {
3068
3149
  principal: string;
3069
3150
  memberSince: string;
3070
3151
  }[];
3071
3152
  };
3153
+ maxBudgetUsd: number;
3072
3154
  budgetDuration?: string | undefined;
3073
3155
  }, {
3074
3156
  id: string;
3075
3157
  name: string;
3076
3158
  maxBudgetUsd: number;
3077
- budgetDuration?: string | undefined;
3078
3159
  members?: {
3079
3160
  groups?: {
3080
- memberSince: string;
3081
3161
  group: string;
3162
+ memberSince: string;
3082
3163
  }[] | undefined;
3083
3164
  principals?: {
3084
3165
  principal: string;
3085
3166
  memberSince: string;
3086
3167
  }[] | undefined;
3087
3168
  } | undefined;
3169
+ budgetDuration?: string | undefined;
3088
3170
  }>, "many">>;
3089
3171
  /** 生效场景分配(0.6.0 §7)——见 {@link ScenarioAssignments}。 */
3090
3172
  scenarioAssignments: z.ZodOptional<z.ZodObject<{
@@ -3094,11 +3176,11 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3094
3176
  group: z.ZodString;
3095
3177
  scenario: z.ZodString;
3096
3178
  }, "strip", z.ZodTypeAny, {
3097
- group: string;
3098
3179
  scenario: string;
3099
- }, {
3100
3180
  group: string;
3181
+ }, {
3101
3182
  scenario: string;
3183
+ group: string;
3102
3184
  }>, "many">>;
3103
3185
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
3104
3186
  principal: z.ZodString;
@@ -3112,8 +3194,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3112
3194
  }>, "many">>;
3113
3195
  }, "strip", z.ZodTypeAny, {
3114
3196
  groups: {
3115
- group: string;
3116
3197
  scenario: string;
3198
+ group: string;
3117
3199
  }[];
3118
3200
  principals: {
3119
3201
  principal: string;
@@ -3123,8 +3205,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3123
3205
  }, {
3124
3206
  default?: string | undefined;
3125
3207
  groups?: {
3126
- group: string;
3127
3208
  scenario: string;
3209
+ group: string;
3128
3210
  }[] | undefined;
3129
3211
  principals?: {
3130
3212
  principal: string;
@@ -3135,10 +3217,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3135
3217
  tiers: {
3136
3218
  id: string;
3137
3219
  models?: string[] | undefined;
3138
- roster?: string | undefined;
3139
- visibleSkills?: string[] | undefined;
3140
- visibleMcp?: string[] | undefined;
3141
- visiblePlugins?: string[] | undefined;
3142
3220
  budget?: {
3143
3221
  mode?: "soft" | "hard" | "degrade" | undefined;
3144
3222
  maxBudgetUsd?: number | undefined;
@@ -3155,6 +3233,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3155
3233
  maxIterations?: number | undefined;
3156
3234
  enforcement?: "local" | "lease" | "central" | undefined;
3157
3235
  } | undefined;
3236
+ roster?: string | undefined;
3158
3237
  runtimeCaps?: {
3159
3238
  allowBypassPermissions?: boolean | undefined;
3160
3239
  allowAutoMode?: boolean | undefined;
@@ -3166,10 +3245,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3166
3245
  allowMemoryOptOut?: boolean | undefined;
3167
3246
  forceDurableGate?: boolean | undefined;
3168
3247
  } | undefined;
3248
+ tokenQuota?: undefined;
3249
+ visibleSkills?: string[] | undefined;
3250
+ visibleMcp?: string[] | undefined;
3251
+ visiblePlugins?: string[] | undefined;
3169
3252
  orgMemory?: Record<string, {
3170
3253
  write?: boolean | undefined;
3171
3254
  }> | undefined;
3172
- tokenQuota?: undefined;
3173
3255
  }[];
3174
3256
  subjects: {
3175
3257
  principal: string;
@@ -3202,17 +3284,17 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3202
3284
  budgetGroups: {
3203
3285
  id: string;
3204
3286
  name: string;
3205
- maxBudgetUsd: number;
3206
3287
  members: {
3207
3288
  groups: {
3208
- memberSince: string;
3209
3289
  group: string;
3290
+ memberSince: string;
3210
3291
  }[];
3211
3292
  principals: {
3212
3293
  principal: string;
3213
3294
  memberSince: string;
3214
3295
  }[];
3215
3296
  };
3297
+ maxBudgetUsd: number;
3216
3298
  budgetDuration?: string | undefined;
3217
3299
  }[];
3218
3300
  defaults?: {
@@ -3250,8 +3332,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3250
3332
  } | undefined;
3251
3333
  scenarioAssignments?: {
3252
3334
  groups: {
3253
- group: string;
3254
3335
  scenario: string;
3336
+ group: string;
3255
3337
  }[];
3256
3338
  principals: {
3257
3339
  principal: string;
@@ -3263,10 +3345,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3263
3345
  tiers?: {
3264
3346
  id: string;
3265
3347
  models?: string[] | undefined;
3266
- roster?: string | undefined;
3267
- visibleSkills?: string[] | undefined;
3268
- visibleMcp?: string[] | undefined;
3269
- visiblePlugins?: string[] | undefined;
3270
3348
  budget?: {
3271
3349
  mode?: "soft" | "hard" | "degrade" | undefined;
3272
3350
  maxBudgetUsd?: number | undefined;
@@ -3283,6 +3361,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3283
3361
  maxIterations?: number | undefined;
3284
3362
  enforcement?: "local" | "lease" | "central" | undefined;
3285
3363
  } | undefined;
3364
+ roster?: string | undefined;
3286
3365
  runtimeCaps?: {
3287
3366
  allowBypassPermissions?: boolean | undefined;
3288
3367
  allowAutoMode?: boolean | undefined;
@@ -3294,10 +3373,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3294
3373
  allowMemoryOptOut?: boolean | undefined;
3295
3374
  forceDurableGate?: boolean | undefined;
3296
3375
  } | undefined;
3376
+ tokenQuota?: undefined;
3377
+ visibleSkills?: string[] | undefined;
3378
+ visibleMcp?: string[] | undefined;
3379
+ visiblePlugins?: string[] | undefined;
3297
3380
  orgMemory?: Record<string, {
3298
3381
  write?: boolean | undefined;
3299
3382
  }> | undefined;
3300
- tokenQuota?: undefined;
3301
3383
  }[] | undefined;
3302
3384
  defaults?: {
3303
3385
  budget?: {
@@ -3364,23 +3446,23 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3364
3446
  id: string;
3365
3447
  name: string;
3366
3448
  maxBudgetUsd: number;
3367
- budgetDuration?: string | undefined;
3368
3449
  members?: {
3369
3450
  groups?: {
3370
- memberSince: string;
3371
3451
  group: string;
3452
+ memberSince: string;
3372
3453
  }[] | undefined;
3373
3454
  principals?: {
3374
3455
  principal: string;
3375
3456
  memberSince: string;
3376
3457
  }[] | undefined;
3377
3458
  } | undefined;
3459
+ budgetDuration?: string | undefined;
3378
3460
  }[] | undefined;
3379
3461
  scenarioAssignments?: {
3380
3462
  default?: string | undefined;
3381
3463
  groups?: {
3382
- group: string;
3383
3464
  scenario: string;
3465
+ group: string;
3384
3466
  }[] | undefined;
3385
3467
  principals?: {
3386
3468
  principal: string;
@@ -3391,10 +3473,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3391
3473
  tiers: {
3392
3474
  id: string;
3393
3475
  models?: string[] | undefined;
3394
- roster?: string | undefined;
3395
- visibleSkills?: string[] | undefined;
3396
- visibleMcp?: string[] | undefined;
3397
- visiblePlugins?: string[] | undefined;
3398
3476
  budget?: {
3399
3477
  mode?: "soft" | "hard" | "degrade" | undefined;
3400
3478
  maxBudgetUsd?: number | undefined;
@@ -3411,6 +3489,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3411
3489
  maxIterations?: number | undefined;
3412
3490
  enforcement?: "local" | "lease" | "central" | undefined;
3413
3491
  } | undefined;
3492
+ roster?: string | undefined;
3414
3493
  runtimeCaps?: {
3415
3494
  allowBypassPermissions?: boolean | undefined;
3416
3495
  allowAutoMode?: boolean | undefined;
@@ -3422,10 +3501,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3422
3501
  allowMemoryOptOut?: boolean | undefined;
3423
3502
  forceDurableGate?: boolean | undefined;
3424
3503
  } | undefined;
3504
+ tokenQuota?: undefined;
3505
+ visibleSkills?: string[] | undefined;
3506
+ visibleMcp?: string[] | undefined;
3507
+ visiblePlugins?: string[] | undefined;
3425
3508
  orgMemory?: Record<string, {
3426
3509
  write?: boolean | undefined;
3427
3510
  }> | undefined;
3428
- tokenQuota?: undefined;
3429
3511
  }[];
3430
3512
  subjects: {
3431
3513
  principal: string;
@@ -3458,17 +3540,17 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3458
3540
  budgetGroups: {
3459
3541
  id: string;
3460
3542
  name: string;
3461
- maxBudgetUsd: number;
3462
3543
  members: {
3463
3544
  groups: {
3464
- memberSince: string;
3465
3545
  group: string;
3546
+ memberSince: string;
3466
3547
  }[];
3467
3548
  principals: {
3468
3549
  principal: string;
3469
3550
  memberSince: string;
3470
3551
  }[];
3471
3552
  };
3553
+ maxBudgetUsd: number;
3472
3554
  budgetDuration?: string | undefined;
3473
3555
  }[];
3474
3556
  defaults?: {
@@ -3506,8 +3588,8 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3506
3588
  } | undefined;
3507
3589
  scenarioAssignments?: {
3508
3590
  groups: {
3509
- group: string;
3510
3591
  scenario: string;
3592
+ group: string;
3511
3593
  }[];
3512
3594
  principals: {
3513
3595
  principal: string;
@@ -3519,10 +3601,6 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3519
3601
  tiers?: {
3520
3602
  id: string;
3521
3603
  models?: string[] | undefined;
3522
- roster?: string | undefined;
3523
- visibleSkills?: string[] | undefined;
3524
- visibleMcp?: string[] | undefined;
3525
- visiblePlugins?: string[] | undefined;
3526
3604
  budget?: {
3527
3605
  mode?: "soft" | "hard" | "degrade" | undefined;
3528
3606
  maxBudgetUsd?: number | undefined;
@@ -3539,6 +3617,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3539
3617
  maxIterations?: number | undefined;
3540
3618
  enforcement?: "local" | "lease" | "central" | undefined;
3541
3619
  } | undefined;
3620
+ roster?: string | undefined;
3542
3621
  runtimeCaps?: {
3543
3622
  allowBypassPermissions?: boolean | undefined;
3544
3623
  allowAutoMode?: boolean | undefined;
@@ -3550,10 +3629,13 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3550
3629
  allowMemoryOptOut?: boolean | undefined;
3551
3630
  forceDurableGate?: boolean | undefined;
3552
3631
  } | undefined;
3632
+ tokenQuota?: undefined;
3633
+ visibleSkills?: string[] | undefined;
3634
+ visibleMcp?: string[] | undefined;
3635
+ visiblePlugins?: string[] | undefined;
3553
3636
  orgMemory?: Record<string, {
3554
3637
  write?: boolean | undefined;
3555
3638
  }> | undefined;
3556
- tokenQuota?: undefined;
3557
3639
  }[] | undefined;
3558
3640
  defaults?: {
3559
3641
  budget?: {
@@ -3620,23 +3702,23 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3620
3702
  id: string;
3621
3703
  name: string;
3622
3704
  maxBudgetUsd: number;
3623
- budgetDuration?: string | undefined;
3624
3705
  members?: {
3625
3706
  groups?: {
3626
- memberSince: string;
3627
3707
  group: string;
3708
+ memberSince: string;
3628
3709
  }[] | undefined;
3629
3710
  principals?: {
3630
3711
  principal: string;
3631
3712
  memberSince: string;
3632
3713
  }[] | undefined;
3633
3714
  } | undefined;
3715
+ budgetDuration?: string | undefined;
3634
3716
  }[] | undefined;
3635
3717
  scenarioAssignments?: {
3636
3718
  default?: string | undefined;
3637
3719
  groups?: {
3638
- group: string;
3639
3720
  scenario: string;
3721
+ group: string;
3640
3722
  }[] | undefined;
3641
3723
  principals?: {
3642
3724
  principal: string;
@@ -4728,10 +4810,11 @@ export type ExecutionPolicy = z.infer<typeof ExecutionPolicy>;
4728
4810
  /** projectId 形状:lowercase 规范 UUID。**宽读严写**(core 口径):读面/claim 收 generic
4729
4811
  * UUID(外部/历史铸造的 v4 也认——marker 是身份不是格式声明);铸造侧(core formatProjectMarker /
4730
4812
  * center mint 端点)统一产 **uuidv7**。36 字符,天然满足 design/142 §1.2 段编码 64 上限。
4731
- * SINGLE-SOURCE 纪律:core 1.268.0 尚未公开导出其内部 UUID_RE——本常量为自持镜像,与 core 的对拍
4732
- * 走 dev-only conformance(never a runtime import,EffectiveKey/coreTypes 先例)。
4733
- * TODO(0.10.x): @sema-agent/core 下一班车公开导出 PROJECT_ID_REGEX 后(core 已承诺),
4734
- * 加 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 / 找回身份),放宽合理。 */
4735
4818
  export declare const PROJECT_ID_REGEX: RegExp;
4736
4819
  export declare const ProjectRegistration: z.ZodObject<{
4737
4820
  /** 人读名(展示/管理面用;不是身份,改名自由——身份=Record 键 projectId)。 */
@@ -4870,31 +4953,31 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4870
4953
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
4871
4954
  rolePrompt: z.ZodOptional<z.ZodString>;
4872
4955
  }, "strip", z.ZodTypeAny, {
4873
- modelRef?: string | undefined;
4874
4956
  rolePrompt?: string | undefined;
4875
- }, {
4876
4957
  modelRef?: string | undefined;
4958
+ }, {
4877
4959
  rolePrompt?: string | undefined;
4960
+ modelRef?: string | undefined;
4878
4961
  }>, "many">>;
4879
4962
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
4880
4963
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4881
4964
  }, "strip", z.ZodTypeAny, {
4882
4965
  id: string;
4966
+ cardinality: 1 | "N";
4883
4967
  members: {
4884
- modelRef?: string | undefined;
4885
4968
  rolePrompt?: string | undefined;
4969
+ modelRef?: string | undefined;
4886
4970
  }[];
4887
- cardinality: 1 | "N";
4888
4971
  rolePrompt?: string | undefined;
4889
4972
  tools?: string[] | undefined;
4890
4973
  }, {
4891
4974
  id: string;
4975
+ rolePrompt?: string | undefined;
4976
+ cardinality?: 1 | "N" | undefined;
4892
4977
  members?: {
4893
- modelRef?: string | undefined;
4894
4978
  rolePrompt?: string | undefined;
4979
+ modelRef?: string | undefined;
4895
4980
  }[] | undefined;
4896
- rolePrompt?: string | undefined;
4897
- cardinality?: 1 | "N" | undefined;
4898
4981
  tools?: string[] | undefined;
4899
4982
  }>, "many">;
4900
4983
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -4925,10 +5008,10 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4925
5008
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
4926
5009
  }, "strip", z.ZodTypeAny, {
4927
5010
  kind: "blackboard" | "transcript";
4928
- persistence: "session" | "store-blob" | "git";
5011
+ persistence: "git" | "session" | "store-blob";
4929
5012
  }, {
4930
5013
  kind?: "blackboard" | "transcript" | undefined;
4931
- persistence?: "session" | "store-blob" | "git" | undefined;
5014
+ persistence?: "git" | "session" | "store-blob" | undefined;
4932
5015
  }>>;
4933
5016
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
4934
5017
  budget: z.ZodObject<{
@@ -4947,18 +5030,14 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4947
5030
  id: string;
4948
5031
  name: string;
4949
5032
  enabled: boolean;
4950
- budget: {
4951
- maxTokens?: number | undefined;
4952
- maxCost?: number | undefined;
4953
- };
4954
5033
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
4955
5034
  slots: {
4956
5035
  id: string;
5036
+ cardinality: 1 | "N";
4957
5037
  members: {
4958
- modelRef?: string | undefined;
4959
5038
  rolePrompt?: string | undefined;
5039
+ modelRef?: string | undefined;
4960
5040
  }[];
4961
- cardinality: 1 | "N";
4962
5041
  rolePrompt?: string | undefined;
4963
5042
  tools?: string[] | undefined;
4964
5043
  }[];
@@ -4972,26 +5051,26 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
4972
5051
  };
4973
5052
  sharedContext: {
4974
5053
  kind: "blackboard" | "transcript";
4975
- persistence: "session" | "store-blob" | "git";
5054
+ persistence: "git" | "session" | "store-blob";
5055
+ };
5056
+ budget: {
5057
+ maxTokens?: number | undefined;
5058
+ maxCost?: number | undefined;
4976
5059
  };
4977
5060
  notes?: string | undefined;
4978
5061
  description?: string | undefined;
4979
5062
  }, {
4980
5063
  id: string;
4981
5064
  name: string;
4982
- budget: {
4983
- maxTokens?: number | undefined;
4984
- maxCost?: number | undefined;
4985
- };
4986
5065
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
4987
5066
  slots: {
4988
5067
  id: string;
5068
+ rolePrompt?: string | undefined;
5069
+ cardinality?: 1 | "N" | undefined;
4989
5070
  members?: {
4990
- modelRef?: string | undefined;
4991
5071
  rolePrompt?: string | undefined;
5072
+ modelRef?: string | undefined;
4992
5073
  }[] | undefined;
4993
- rolePrompt?: string | undefined;
4994
- cardinality?: 1 | "N" | undefined;
4995
5074
  tools?: string[] | undefined;
4996
5075
  }[];
4997
5076
  rounds: {
@@ -5002,29 +5081,29 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5002
5081
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5003
5082
  slot?: string | undefined;
5004
5083
  };
5084
+ budget: {
5085
+ maxTokens?: number | undefined;
5086
+ maxCost?: number | undefined;
5087
+ };
5005
5088
  enabled?: boolean | undefined;
5006
5089
  notes?: string | undefined;
5007
5090
  description?: string | undefined;
5008
5091
  sharedContext?: {
5009
5092
  kind?: "blackboard" | "transcript" | undefined;
5010
- persistence?: "session" | "store-blob" | "git" | undefined;
5093
+ persistence?: "git" | "session" | "store-blob" | undefined;
5011
5094
  } | undefined;
5012
5095
  }>, {
5013
5096
  id: string;
5014
5097
  name: string;
5015
5098
  enabled: boolean;
5016
- budget: {
5017
- maxTokens?: number | undefined;
5018
- maxCost?: number | undefined;
5019
- };
5020
5099
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5021
5100
  slots: {
5022
5101
  id: string;
5102
+ cardinality: 1 | "N";
5023
5103
  members: {
5024
- modelRef?: string | undefined;
5025
5104
  rolePrompt?: string | undefined;
5105
+ modelRef?: string | undefined;
5026
5106
  }[];
5027
- cardinality: 1 | "N";
5028
5107
  rolePrompt?: string | undefined;
5029
5108
  tools?: string[] | undefined;
5030
5109
  }[];
@@ -5038,26 +5117,26 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5038
5117
  };
5039
5118
  sharedContext: {
5040
5119
  kind: "blackboard" | "transcript";
5041
- persistence: "session" | "store-blob" | "git";
5120
+ persistence: "git" | "session" | "store-blob";
5121
+ };
5122
+ budget: {
5123
+ maxTokens?: number | undefined;
5124
+ maxCost?: number | undefined;
5042
5125
  };
5043
5126
  notes?: string | undefined;
5044
5127
  description?: string | undefined;
5045
5128
  }, {
5046
5129
  id: string;
5047
5130
  name: string;
5048
- budget: {
5049
- maxTokens?: number | undefined;
5050
- maxCost?: number | undefined;
5051
- };
5052
5131
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5053
5132
  slots: {
5054
5133
  id: string;
5134
+ rolePrompt?: string | undefined;
5135
+ cardinality?: 1 | "N" | undefined;
5055
5136
  members?: {
5056
- modelRef?: string | undefined;
5057
5137
  rolePrompt?: string | undefined;
5138
+ modelRef?: string | undefined;
5058
5139
  }[] | undefined;
5059
- rolePrompt?: string | undefined;
5060
- cardinality?: 1 | "N" | undefined;
5061
5140
  tools?: string[] | undefined;
5062
5141
  }[];
5063
5142
  rounds: {
@@ -5068,12 +5147,16 @@ declare const CollabTemplate: z.ZodEffects<z.ZodObject<{
5068
5147
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5069
5148
  slot?: string | undefined;
5070
5149
  };
5150
+ budget: {
5151
+ maxTokens?: number | undefined;
5152
+ maxCost?: number | undefined;
5153
+ };
5071
5154
  enabled?: boolean | undefined;
5072
5155
  notes?: string | undefined;
5073
5156
  description?: string | undefined;
5074
5157
  sharedContext?: {
5075
5158
  kind?: "blackboard" | "transcript" | undefined;
5076
- persistence?: "session" | "store-blob" | "git" | undefined;
5159
+ persistence?: "git" | "session" | "store-blob" | undefined;
5077
5160
  } | undefined;
5078
5161
  }>;
5079
5162
  export type CollabTemplate = z.infer<typeof CollabTemplate>;
@@ -5098,31 +5181,31 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5098
5181
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
5099
5182
  rolePrompt: z.ZodOptional<z.ZodString>;
5100
5183
  }, "strip", z.ZodTypeAny, {
5101
- modelRef?: string | undefined;
5102
5184
  rolePrompt?: string | undefined;
5103
- }, {
5104
5185
  modelRef?: string | undefined;
5186
+ }, {
5105
5187
  rolePrompt?: string | undefined;
5188
+ modelRef?: string | undefined;
5106
5189
  }>, "many">>;
5107
5190
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
5108
5191
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5109
5192
  }, "strip", z.ZodTypeAny, {
5110
5193
  id: string;
5194
+ cardinality: 1 | "N";
5111
5195
  members: {
5112
- modelRef?: string | undefined;
5113
5196
  rolePrompt?: string | undefined;
5197
+ modelRef?: string | undefined;
5114
5198
  }[];
5115
- cardinality: 1 | "N";
5116
5199
  rolePrompt?: string | undefined;
5117
5200
  tools?: string[] | undefined;
5118
5201
  }, {
5119
5202
  id: string;
5203
+ rolePrompt?: string | undefined;
5204
+ cardinality?: 1 | "N" | undefined;
5120
5205
  members?: {
5121
- modelRef?: string | undefined;
5122
5206
  rolePrompt?: string | undefined;
5207
+ modelRef?: string | undefined;
5123
5208
  }[] | undefined;
5124
- rolePrompt?: string | undefined;
5125
- cardinality?: 1 | "N" | undefined;
5126
5209
  tools?: string[] | undefined;
5127
5210
  }>, "many">;
5128
5211
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -5153,10 +5236,10 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5153
5236
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
5154
5237
  }, "strip", z.ZodTypeAny, {
5155
5238
  kind: "blackboard" | "transcript";
5156
- persistence: "session" | "store-blob" | "git";
5239
+ persistence: "git" | "session" | "store-blob";
5157
5240
  }, {
5158
5241
  kind?: "blackboard" | "transcript" | undefined;
5159
- persistence?: "session" | "store-blob" | "git" | undefined;
5242
+ persistence?: "git" | "session" | "store-blob" | undefined;
5160
5243
  }>>;
5161
5244
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
5162
5245
  budget: z.ZodObject<{
@@ -5175,18 +5258,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5175
5258
  id: string;
5176
5259
  name: string;
5177
5260
  enabled: boolean;
5178
- budget: {
5179
- maxTokens?: number | undefined;
5180
- maxCost?: number | undefined;
5181
- };
5182
5261
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5183
5262
  slots: {
5184
5263
  id: string;
5264
+ cardinality: 1 | "N";
5185
5265
  members: {
5186
- modelRef?: string | undefined;
5187
5266
  rolePrompt?: string | undefined;
5267
+ modelRef?: string | undefined;
5188
5268
  }[];
5189
- cardinality: 1 | "N";
5190
5269
  rolePrompt?: string | undefined;
5191
5270
  tools?: string[] | undefined;
5192
5271
  }[];
@@ -5200,26 +5279,26 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5200
5279
  };
5201
5280
  sharedContext: {
5202
5281
  kind: "blackboard" | "transcript";
5203
- persistence: "session" | "store-blob" | "git";
5282
+ persistence: "git" | "session" | "store-blob";
5204
5283
  };
5205
- notes?: string | undefined;
5206
- description?: string | undefined;
5207
- }, {
5208
- id: string;
5209
- name: string;
5210
5284
  budget: {
5211
5285
  maxTokens?: number | undefined;
5212
5286
  maxCost?: number | undefined;
5213
5287
  };
5288
+ notes?: string | undefined;
5289
+ description?: string | undefined;
5290
+ }, {
5291
+ id: string;
5292
+ name: string;
5214
5293
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5215
5294
  slots: {
5216
5295
  id: string;
5296
+ rolePrompt?: string | undefined;
5297
+ cardinality?: 1 | "N" | undefined;
5217
5298
  members?: {
5218
- modelRef?: string | undefined;
5219
5299
  rolePrompt?: string | undefined;
5300
+ modelRef?: string | undefined;
5220
5301
  }[] | undefined;
5221
- rolePrompt?: string | undefined;
5222
- cardinality?: 1 | "N" | undefined;
5223
5302
  tools?: string[] | undefined;
5224
5303
  }[];
5225
5304
  rounds: {
@@ -5230,29 +5309,29 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5230
5309
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5231
5310
  slot?: string | undefined;
5232
5311
  };
5312
+ budget: {
5313
+ maxTokens?: number | undefined;
5314
+ maxCost?: number | undefined;
5315
+ };
5233
5316
  enabled?: boolean | undefined;
5234
5317
  notes?: string | undefined;
5235
5318
  description?: string | undefined;
5236
5319
  sharedContext?: {
5237
5320
  kind?: "blackboard" | "transcript" | undefined;
5238
- persistence?: "session" | "store-blob" | "git" | undefined;
5321
+ persistence?: "git" | "session" | "store-blob" | undefined;
5239
5322
  } | undefined;
5240
5323
  }>, {
5241
5324
  id: string;
5242
5325
  name: string;
5243
5326
  enabled: boolean;
5244
- budget: {
5245
- maxTokens?: number | undefined;
5246
- maxCost?: number | undefined;
5247
- };
5248
5327
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5249
5328
  slots: {
5250
5329
  id: string;
5330
+ cardinality: 1 | "N";
5251
5331
  members: {
5252
- modelRef?: string | undefined;
5253
5332
  rolePrompt?: string | undefined;
5333
+ modelRef?: string | undefined;
5254
5334
  }[];
5255
- cardinality: 1 | "N";
5256
5335
  rolePrompt?: string | undefined;
5257
5336
  tools?: string[] | undefined;
5258
5337
  }[];
@@ -5266,26 +5345,26 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5266
5345
  };
5267
5346
  sharedContext: {
5268
5347
  kind: "blackboard" | "transcript";
5269
- persistence: "session" | "store-blob" | "git";
5348
+ persistence: "git" | "session" | "store-blob";
5349
+ };
5350
+ budget: {
5351
+ maxTokens?: number | undefined;
5352
+ maxCost?: number | undefined;
5270
5353
  };
5271
5354
  notes?: string | undefined;
5272
5355
  description?: string | undefined;
5273
5356
  }, {
5274
5357
  id: string;
5275
5358
  name: string;
5276
- budget: {
5277
- maxTokens?: number | undefined;
5278
- maxCost?: number | undefined;
5279
- };
5280
5359
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5281
5360
  slots: {
5282
5361
  id: string;
5362
+ rolePrompt?: string | undefined;
5363
+ cardinality?: 1 | "N" | undefined;
5283
5364
  members?: {
5284
- modelRef?: string | undefined;
5285
5365
  rolePrompt?: string | undefined;
5366
+ modelRef?: string | undefined;
5286
5367
  }[] | undefined;
5287
- rolePrompt?: string | undefined;
5288
- cardinality?: 1 | "N" | undefined;
5289
5368
  tools?: string[] | undefined;
5290
5369
  }[];
5291
5370
  rounds: {
@@ -5296,12 +5375,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5296
5375
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5297
5376
  slot?: string | undefined;
5298
5377
  };
5378
+ budget: {
5379
+ maxTokens?: number | undefined;
5380
+ maxCost?: number | undefined;
5381
+ };
5299
5382
  enabled?: boolean | undefined;
5300
5383
  notes?: string | undefined;
5301
5384
  description?: string | undefined;
5302
5385
  sharedContext?: {
5303
5386
  kind?: "blackboard" | "transcript" | undefined;
5304
- persistence?: "session" | "store-blob" | "git" | undefined;
5387
+ persistence?: "git" | "session" | "store-blob" | undefined;
5305
5388
  } | undefined;
5306
5389
  }>, "many">>;
5307
5390
  }, "strip", z.ZodTypeAny, {
@@ -5309,18 +5392,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5309
5392
  id: string;
5310
5393
  name: string;
5311
5394
  enabled: boolean;
5312
- budget: {
5313
- maxTokens?: number | undefined;
5314
- maxCost?: number | undefined;
5315
- };
5316
5395
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5317
5396
  slots: {
5318
5397
  id: string;
5398
+ cardinality: 1 | "N";
5319
5399
  members: {
5320
- modelRef?: string | undefined;
5321
5400
  rolePrompt?: string | undefined;
5401
+ modelRef?: string | undefined;
5322
5402
  }[];
5323
- cardinality: 1 | "N";
5324
5403
  rolePrompt?: string | undefined;
5325
5404
  tools?: string[] | undefined;
5326
5405
  }[];
@@ -5334,7 +5413,11 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5334
5413
  };
5335
5414
  sharedContext: {
5336
5415
  kind: "blackboard" | "transcript";
5337
- persistence: "session" | "store-blob" | "git";
5416
+ persistence: "git" | "session" | "store-blob";
5417
+ };
5418
+ budget: {
5419
+ maxTokens?: number | undefined;
5420
+ maxCost?: number | undefined;
5338
5421
  };
5339
5422
  notes?: string | undefined;
5340
5423
  description?: string | undefined;
@@ -5343,19 +5426,15 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5343
5426
  templates?: {
5344
5427
  id: string;
5345
5428
  name: string;
5346
- budget: {
5347
- maxTokens?: number | undefined;
5348
- maxCost?: number | undefined;
5349
- };
5350
5429
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5351
5430
  slots: {
5352
5431
  id: string;
5432
+ rolePrompt?: string | undefined;
5433
+ cardinality?: 1 | "N" | undefined;
5353
5434
  members?: {
5354
- modelRef?: string | undefined;
5355
5435
  rolePrompt?: string | undefined;
5436
+ modelRef?: string | undefined;
5356
5437
  }[] | undefined;
5357
- rolePrompt?: string | undefined;
5358
- cardinality?: 1 | "N" | undefined;
5359
5438
  tools?: string[] | undefined;
5360
5439
  }[];
5361
5440
  rounds: {
@@ -5366,12 +5445,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5366
5445
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5367
5446
  slot?: string | undefined;
5368
5447
  };
5448
+ budget: {
5449
+ maxTokens?: number | undefined;
5450
+ maxCost?: number | undefined;
5451
+ };
5369
5452
  enabled?: boolean | undefined;
5370
5453
  notes?: string | undefined;
5371
5454
  description?: string | undefined;
5372
5455
  sharedContext?: {
5373
5456
  kind?: "blackboard" | "transcript" | undefined;
5374
- persistence?: "session" | "store-blob" | "git" | undefined;
5457
+ persistence?: "git" | "session" | "store-blob" | undefined;
5375
5458
  } | undefined;
5376
5459
  }[] | undefined;
5377
5460
  }>, {
@@ -5379,18 +5462,14 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5379
5462
  id: string;
5380
5463
  name: string;
5381
5464
  enabled: boolean;
5382
- budget: {
5383
- maxTokens?: number | undefined;
5384
- maxCost?: number | undefined;
5385
- };
5386
5465
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5387
5466
  slots: {
5388
5467
  id: string;
5468
+ cardinality: 1 | "N";
5389
5469
  members: {
5390
- modelRef?: string | undefined;
5391
5470
  rolePrompt?: string | undefined;
5471
+ modelRef?: string | undefined;
5392
5472
  }[];
5393
- cardinality: 1 | "N";
5394
5473
  rolePrompt?: string | undefined;
5395
5474
  tools?: string[] | undefined;
5396
5475
  }[];
@@ -5404,7 +5483,11 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5404
5483
  };
5405
5484
  sharedContext: {
5406
5485
  kind: "blackboard" | "transcript";
5407
- persistence: "session" | "store-blob" | "git";
5486
+ persistence: "git" | "session" | "store-blob";
5487
+ };
5488
+ budget: {
5489
+ maxTokens?: number | undefined;
5490
+ maxCost?: number | undefined;
5408
5491
  };
5409
5492
  notes?: string | undefined;
5410
5493
  description?: string | undefined;
@@ -5413,19 +5496,15 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5413
5496
  templates?: {
5414
5497
  id: string;
5415
5498
  name: string;
5416
- budget: {
5417
- maxTokens?: number | undefined;
5418
- maxCost?: number | undefined;
5419
- };
5420
5499
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
5421
5500
  slots: {
5422
5501
  id: string;
5502
+ rolePrompt?: string | undefined;
5503
+ cardinality?: 1 | "N" | undefined;
5423
5504
  members?: {
5424
- modelRef?: string | undefined;
5425
5505
  rolePrompt?: string | undefined;
5506
+ modelRef?: string | undefined;
5426
5507
  }[] | undefined;
5427
- rolePrompt?: string | undefined;
5428
- cardinality?: 1 | "N" | undefined;
5429
5508
  tools?: string[] | undefined;
5430
5509
  }[];
5431
5510
  rounds: {
@@ -5436,12 +5515,16 @@ export declare const CollabConfig: z.ZodEffects<z.ZodObject<{
5436
5515
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
5437
5516
  slot?: string | undefined;
5438
5517
  };
5518
+ budget: {
5519
+ maxTokens?: number | undefined;
5520
+ maxCost?: number | undefined;
5521
+ };
5439
5522
  enabled?: boolean | undefined;
5440
5523
  notes?: string | undefined;
5441
5524
  description?: string | undefined;
5442
5525
  sharedContext?: {
5443
5526
  kind?: "blackboard" | "transcript" | undefined;
5444
- persistence?: "session" | "store-blob" | "git" | undefined;
5527
+ persistence?: "git" | "session" | "store-blob" | undefined;
5445
5528
  } | undefined;
5446
5529
  }[] | undefined;
5447
5530
  }>;
@@ -5459,16 +5542,16 @@ export declare const WorkerLifecycle: z.ZodObject<{
5459
5542
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5460
5543
  }, "strip", z.ZodTypeAny, {
5461
5544
  kind: "persistent" | "ephemeral";
5462
- owner?: string | undefined;
5463
5545
  ttl?: string | undefined;
5464
5546
  idleTimeout?: string | undefined;
5547
+ owner?: string | undefined;
5465
5548
  purpose?: string | undefined;
5466
5549
  dependsOn?: string[] | undefined;
5467
5550
  }, {
5468
- owner?: string | undefined;
5469
5551
  kind?: "persistent" | "ephemeral" | undefined;
5470
5552
  ttl?: string | undefined;
5471
5553
  idleTimeout?: string | undefined;
5554
+ owner?: string | undefined;
5472
5555
  purpose?: string | undefined;
5473
5556
  dependsOn?: string[] | undefined;
5474
5557
  }>;
@@ -5612,7 +5695,6 @@ export declare const WorkerSpec: z.ZodObject<{
5612
5695
  * (worker-side default 600s, floor 10s). */
5613
5696
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
5614
5697
  }, "strip", z.ZodTypeAny, {
5615
- drainGraceMs?: number | undefined;
5616
5698
  dispatch?: {
5617
5699
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
5618
5700
  sessionAffinity: boolean;
@@ -5620,8 +5702,8 @@ export declare const WorkerSpec: z.ZodObject<{
5620
5702
  perActorMaxInflight?: number | undefined;
5621
5703
  maxCostUsd?: number | undefined;
5622
5704
  } | undefined;
5623
- }, {
5624
5705
  drainGraceMs?: number | undefined;
5706
+ }, {
5625
5707
  dispatch?: {
5626
5708
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
5627
5709
  sessionAffinity?: boolean | undefined;
@@ -5629,6 +5711,7 @@ export declare const WorkerSpec: z.ZodObject<{
5629
5711
  perActorMaxInflight?: number | undefined;
5630
5712
  maxCostUsd?: number | undefined;
5631
5713
  } | undefined;
5714
+ drainGraceMs?: number | undefined;
5632
5715
  }>>;
5633
5716
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
5634
5717
  runtime: z.ZodObject<{
@@ -5645,21 +5728,21 @@ export declare const WorkerSpec: z.ZodObject<{
5645
5728
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
5646
5729
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
5647
5730
  }, "strip", z.ZodTypeAny, {
5648
- sessionBackend: "auto" | "memory" | "tidb";
5731
+ sessionBackend: "memory" | "tidb" | "auto";
5649
5732
  memoryBackend: "memory" | "tidb" | "off";
5650
5733
  requirePrincipal: boolean;
5651
5734
  rateLimitRpm: number;
5652
- maxPrincipalCostUsd?: number | undefined;
5653
- scenario?: string | undefined;
5654
5735
  db?: string | undefined;
5655
- }, {
5656
- maxPrincipalCostUsd?: number | undefined;
5657
5736
  scenario?: string | undefined;
5658
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
5737
+ maxPrincipalCostUsd?: number | undefined;
5738
+ }, {
5739
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
5659
5740
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
5660
5741
  db?: string | undefined;
5742
+ scenario?: string | undefined;
5661
5743
  requirePrincipal?: boolean | undefined;
5662
5744
  rateLimitRpm?: number | undefined;
5745
+ maxPrincipalCostUsd?: number | undefined;
5663
5746
  }>;
5664
5747
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
5665
5748
  coords: z.ZodDefault<z.ZodObject<{
@@ -5734,16 +5817,16 @@ export declare const WorkerSpec: z.ZodObject<{
5734
5817
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5735
5818
  }, "strip", z.ZodTypeAny, {
5736
5819
  kind: "persistent" | "ephemeral";
5737
- owner?: string | undefined;
5738
5820
  ttl?: string | undefined;
5739
5821
  idleTimeout?: string | undefined;
5822
+ owner?: string | undefined;
5740
5823
  purpose?: string | undefined;
5741
5824
  dependsOn?: string[] | undefined;
5742
5825
  }, {
5743
- owner?: string | undefined;
5744
5826
  kind?: "persistent" | "ephemeral" | undefined;
5745
5827
  ttl?: string | undefined;
5746
5828
  idleTimeout?: string | undefined;
5829
+ owner?: string | undefined;
5747
5830
  purpose?: string | undefined;
5748
5831
  dependsOn?: string[] | undefined;
5749
5832
  }>>;
@@ -5756,7 +5839,7 @@ export declare const WorkerSpec: z.ZodObject<{
5756
5839
  auto: z.ZodDefault<z.ZodBoolean>;
5757
5840
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
5758
5841
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
5759
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
5842
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
5760
5843
  spread: z.ZodOptional<z.ZodString>;
5761
5844
  }, "strip", z.ZodTypeAny, {
5762
5845
  auto: boolean;
@@ -5768,7 +5851,7 @@ export declare const WorkerSpec: z.ZodObject<{
5768
5851
  spread?: string | undefined;
5769
5852
  }>>;
5770
5853
  /**
5771
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
5854
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
5772
5855
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
5773
5856
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
5774
5857
  */
@@ -5782,13 +5865,13 @@ export declare const WorkerSpec: z.ZodObject<{
5782
5865
  host: string;
5783
5866
  image: string;
5784
5867
  runtime: {
5785
- sessionBackend: "auto" | "memory" | "tidb";
5868
+ sessionBackend: "memory" | "tidb" | "auto";
5786
5869
  memoryBackend: "memory" | "tidb" | "off";
5787
5870
  requirePrincipal: boolean;
5788
5871
  rateLimitRpm: number;
5789
- maxPrincipalCostUsd?: number | undefined;
5790
- scenario?: string | undefined;
5791
5872
  db?: string | undefined;
5873
+ scenario?: string | undefined;
5874
+ maxPrincipalCostUsd?: number | undefined;
5792
5875
  };
5793
5876
  coords: {
5794
5877
  gitApiBaseUrl?: string | undefined;
@@ -5803,7 +5886,6 @@ export declare const WorkerSpec: z.ZodObject<{
5803
5886
  tidbPasswordEnv?: string | undefined;
5804
5887
  };
5805
5888
  notes?: string | undefined;
5806
- roster?: string | undefined;
5807
5889
  routePrefix?: string | undefined;
5808
5890
  replicas?: number | undefined;
5809
5891
  autoscaling?: {
@@ -5822,7 +5904,6 @@ export declare const WorkerSpec: z.ZodObject<{
5822
5904
  } | undefined;
5823
5905
  } | undefined;
5824
5906
  fleet?: {
5825
- drainGraceMs?: number | undefined;
5826
5907
  dispatch?: {
5827
5908
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
5828
5909
  sessionAffinity: boolean;
@@ -5830,15 +5911,16 @@ export declare const WorkerSpec: z.ZodObject<{
5830
5911
  perActorMaxInflight?: number | undefined;
5831
5912
  maxCostUsd?: number | undefined;
5832
5913
  } | undefined;
5914
+ drainGraceMs?: number | undefined;
5833
5915
  } | undefined;
5834
5916
  env?: Record<string, string> | undefined;
5835
5917
  secretEnv?: Record<string, string> | undefined;
5836
5918
  recreateNonce?: string | undefined;
5837
5919
  lifecycle?: {
5838
5920
  kind: "persistent" | "ephemeral";
5839
- owner?: string | undefined;
5840
5921
  ttl?: string | undefined;
5841
5922
  idleTimeout?: string | undefined;
5923
+ owner?: string | undefined;
5842
5924
  purpose?: string | undefined;
5843
5925
  dependsOn?: string[] | undefined;
5844
5926
  } | undefined;
@@ -5847,17 +5929,18 @@ export declare const WorkerSpec: z.ZodObject<{
5847
5929
  requires: string[];
5848
5930
  spread?: string | undefined;
5849
5931
  } | undefined;
5932
+ roster?: string | undefined;
5850
5933
  signature?: string | undefined;
5851
5934
  }, {
5852
5935
  name: string;
5853
5936
  runtime: {
5854
- maxPrincipalCostUsd?: number | undefined;
5855
- scenario?: string | undefined;
5856
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
5937
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
5857
5938
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
5858
5939
  db?: string | undefined;
5940
+ scenario?: string | undefined;
5859
5941
  requirePrincipal?: boolean | undefined;
5860
5942
  rateLimitRpm?: number | undefined;
5943
+ maxPrincipalCostUsd?: number | undefined;
5861
5944
  };
5862
5945
  secretRefs: {
5863
5946
  apiKeyEnv: string;
@@ -5867,7 +5950,6 @@ export declare const WorkerSpec: z.ZodObject<{
5867
5950
  };
5868
5951
  enabled?: boolean | undefined;
5869
5952
  notes?: string | undefined;
5870
- roster?: string | undefined;
5871
5953
  host?: string | undefined;
5872
5954
  image?: string | undefined;
5873
5955
  routePrefix?: string | undefined;
@@ -5888,7 +5970,6 @@ export declare const WorkerSpec: z.ZodObject<{
5888
5970
  } | undefined;
5889
5971
  } | undefined;
5890
5972
  fleet?: {
5891
- drainGraceMs?: number | undefined;
5892
5973
  dispatch?: {
5893
5974
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
5894
5975
  sessionAffinity?: boolean | undefined;
@@ -5896,6 +5977,7 @@ export declare const WorkerSpec: z.ZodObject<{
5896
5977
  perActorMaxInflight?: number | undefined;
5897
5978
  maxCostUsd?: number | undefined;
5898
5979
  } | undefined;
5980
+ drainGraceMs?: number | undefined;
5899
5981
  } | undefined;
5900
5982
  coords?: {
5901
5983
  gitApiBaseUrl?: string | undefined;
@@ -5907,10 +5989,10 @@ export declare const WorkerSpec: z.ZodObject<{
5907
5989
  secretEnv?: Record<string, string> | undefined;
5908
5990
  recreateNonce?: string | undefined;
5909
5991
  lifecycle?: {
5910
- owner?: string | undefined;
5911
5992
  kind?: "persistent" | "ephemeral" | undefined;
5912
5993
  ttl?: string | undefined;
5913
5994
  idleTimeout?: string | undefined;
5995
+ owner?: string | undefined;
5914
5996
  purpose?: string | undefined;
5915
5997
  dependsOn?: string[] | undefined;
5916
5998
  } | undefined;
@@ -5919,6 +6001,7 @@ export declare const WorkerSpec: z.ZodObject<{
5919
6001
  requires?: string[] | undefined;
5920
6002
  spread?: string | undefined;
5921
6003
  } | undefined;
6004
+ roster?: string | undefined;
5922
6005
  signature?: string | undefined;
5923
6006
  }>;
5924
6007
  export type WorkerSpec = z.infer<typeof WorkerSpec>;
@@ -6085,7 +6168,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6085
6168
  * (worker-side default 600s, floor 10s). */
6086
6169
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
6087
6170
  }, "strip", z.ZodTypeAny, {
6088
- drainGraceMs?: number | undefined;
6089
6171
  dispatch?: {
6090
6172
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6091
6173
  sessionAffinity: boolean;
@@ -6093,8 +6175,8 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6093
6175
  perActorMaxInflight?: number | undefined;
6094
6176
  maxCostUsd?: number | undefined;
6095
6177
  } | undefined;
6096
- }, {
6097
6178
  drainGraceMs?: number | undefined;
6179
+ }, {
6098
6180
  dispatch?: {
6099
6181
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6100
6182
  sessionAffinity?: boolean | undefined;
@@ -6102,6 +6184,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6102
6184
  perActorMaxInflight?: number | undefined;
6103
6185
  maxCostUsd?: number | undefined;
6104
6186
  } | undefined;
6187
+ drainGraceMs?: number | undefined;
6105
6188
  }>>;
6106
6189
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
6107
6190
  runtime: z.ZodObject<{
@@ -6118,21 +6201,21 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6118
6201
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
6119
6202
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
6120
6203
  }, "strip", z.ZodTypeAny, {
6121
- sessionBackend: "auto" | "memory" | "tidb";
6204
+ sessionBackend: "memory" | "tidb" | "auto";
6122
6205
  memoryBackend: "memory" | "tidb" | "off";
6123
6206
  requirePrincipal: boolean;
6124
6207
  rateLimitRpm: number;
6125
- maxPrincipalCostUsd?: number | undefined;
6126
- scenario?: string | undefined;
6127
6208
  db?: string | undefined;
6128
- }, {
6129
- maxPrincipalCostUsd?: number | undefined;
6130
6209
  scenario?: string | undefined;
6131
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6210
+ maxPrincipalCostUsd?: number | undefined;
6211
+ }, {
6212
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6132
6213
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6133
6214
  db?: string | undefined;
6215
+ scenario?: string | undefined;
6134
6216
  requirePrincipal?: boolean | undefined;
6135
6217
  rateLimitRpm?: number | undefined;
6218
+ maxPrincipalCostUsd?: number | undefined;
6136
6219
  }>;
6137
6220
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
6138
6221
  coords: z.ZodDefault<z.ZodObject<{
@@ -6207,16 +6290,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6207
6290
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6208
6291
  }, "strip", z.ZodTypeAny, {
6209
6292
  kind: "persistent" | "ephemeral";
6210
- owner?: string | undefined;
6211
6293
  ttl?: string | undefined;
6212
6294
  idleTimeout?: string | undefined;
6295
+ owner?: string | undefined;
6213
6296
  purpose?: string | undefined;
6214
6297
  dependsOn?: string[] | undefined;
6215
6298
  }, {
6216
- owner?: string | undefined;
6217
6299
  kind?: "persistent" | "ephemeral" | undefined;
6218
6300
  ttl?: string | undefined;
6219
6301
  idleTimeout?: string | undefined;
6302
+ owner?: string | undefined;
6220
6303
  purpose?: string | undefined;
6221
6304
  dependsOn?: string[] | undefined;
6222
6305
  }>>;
@@ -6229,7 +6312,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6229
6312
  auto: z.ZodDefault<z.ZodBoolean>;
6230
6313
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6231
6314
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
6232
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
6315
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
6233
6316
  spread: z.ZodOptional<z.ZodString>;
6234
6317
  }, "strip", z.ZodTypeAny, {
6235
6318
  auto: boolean;
@@ -6241,7 +6324,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6241
6324
  spread?: string | undefined;
6242
6325
  }>>;
6243
6326
  /**
6244
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
6327
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
6245
6328
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
6246
6329
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
6247
6330
  */
@@ -6255,13 +6338,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6255
6338
  host: string;
6256
6339
  image: string;
6257
6340
  runtime: {
6258
- sessionBackend: "auto" | "memory" | "tidb";
6341
+ sessionBackend: "memory" | "tidb" | "auto";
6259
6342
  memoryBackend: "memory" | "tidb" | "off";
6260
6343
  requirePrincipal: boolean;
6261
6344
  rateLimitRpm: number;
6262
- maxPrincipalCostUsd?: number | undefined;
6263
- scenario?: string | undefined;
6264
6345
  db?: string | undefined;
6346
+ scenario?: string | undefined;
6347
+ maxPrincipalCostUsd?: number | undefined;
6265
6348
  };
6266
6349
  coords: {
6267
6350
  gitApiBaseUrl?: string | undefined;
@@ -6276,7 +6359,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6276
6359
  tidbPasswordEnv?: string | undefined;
6277
6360
  };
6278
6361
  notes?: string | undefined;
6279
- roster?: string | undefined;
6280
6362
  routePrefix?: string | undefined;
6281
6363
  replicas?: number | undefined;
6282
6364
  autoscaling?: {
@@ -6295,7 +6377,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6295
6377
  } | undefined;
6296
6378
  } | undefined;
6297
6379
  fleet?: {
6298
- drainGraceMs?: number | undefined;
6299
6380
  dispatch?: {
6300
6381
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6301
6382
  sessionAffinity: boolean;
@@ -6303,15 +6384,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6303
6384
  perActorMaxInflight?: number | undefined;
6304
6385
  maxCostUsd?: number | undefined;
6305
6386
  } | undefined;
6387
+ drainGraceMs?: number | undefined;
6306
6388
  } | undefined;
6307
6389
  env?: Record<string, string> | undefined;
6308
6390
  secretEnv?: Record<string, string> | undefined;
6309
6391
  recreateNonce?: string | undefined;
6310
6392
  lifecycle?: {
6311
6393
  kind: "persistent" | "ephemeral";
6312
- owner?: string | undefined;
6313
6394
  ttl?: string | undefined;
6314
6395
  idleTimeout?: string | undefined;
6396
+ owner?: string | undefined;
6315
6397
  purpose?: string | undefined;
6316
6398
  dependsOn?: string[] | undefined;
6317
6399
  } | undefined;
@@ -6320,17 +6402,18 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6320
6402
  requires: string[];
6321
6403
  spread?: string | undefined;
6322
6404
  } | undefined;
6405
+ roster?: string | undefined;
6323
6406
  signature?: string | undefined;
6324
6407
  }, {
6325
6408
  name: string;
6326
6409
  runtime: {
6327
- maxPrincipalCostUsd?: number | undefined;
6328
- scenario?: string | undefined;
6329
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6410
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6330
6411
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6331
6412
  db?: string | undefined;
6413
+ scenario?: string | undefined;
6332
6414
  requirePrincipal?: boolean | undefined;
6333
6415
  rateLimitRpm?: number | undefined;
6416
+ maxPrincipalCostUsd?: number | undefined;
6334
6417
  };
6335
6418
  secretRefs: {
6336
6419
  apiKeyEnv: string;
@@ -6340,7 +6423,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6340
6423
  };
6341
6424
  enabled?: boolean | undefined;
6342
6425
  notes?: string | undefined;
6343
- roster?: string | undefined;
6344
6426
  host?: string | undefined;
6345
6427
  image?: string | undefined;
6346
6428
  routePrefix?: string | undefined;
@@ -6361,7 +6443,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6361
6443
  } | undefined;
6362
6444
  } | undefined;
6363
6445
  fleet?: {
6364
- drainGraceMs?: number | undefined;
6365
6446
  dispatch?: {
6366
6447
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6367
6448
  sessionAffinity?: boolean | undefined;
@@ -6369,6 +6450,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6369
6450
  perActorMaxInflight?: number | undefined;
6370
6451
  maxCostUsd?: number | undefined;
6371
6452
  } | undefined;
6453
+ drainGraceMs?: number | undefined;
6372
6454
  } | undefined;
6373
6455
  coords?: {
6374
6456
  gitApiBaseUrl?: string | undefined;
@@ -6380,10 +6462,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6380
6462
  secretEnv?: Record<string, string> | undefined;
6381
6463
  recreateNonce?: string | undefined;
6382
6464
  lifecycle?: {
6383
- owner?: string | undefined;
6384
6465
  kind?: "persistent" | "ephemeral" | undefined;
6385
6466
  ttl?: string | undefined;
6386
6467
  idleTimeout?: string | undefined;
6468
+ owner?: string | undefined;
6387
6469
  purpose?: string | undefined;
6388
6470
  dependsOn?: string[] | undefined;
6389
6471
  } | undefined;
@@ -6392,6 +6474,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6392
6474
  requires?: string[] | undefined;
6393
6475
  spread?: string | undefined;
6394
6476
  } | undefined;
6477
+ roster?: string | undefined;
6395
6478
  signature?: string | undefined;
6396
6479
  }>, "many">>;
6397
6480
  }, "strip", z.ZodTypeAny, {
@@ -6401,13 +6484,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6401
6484
  host: string;
6402
6485
  image: string;
6403
6486
  runtime: {
6404
- sessionBackend: "auto" | "memory" | "tidb";
6487
+ sessionBackend: "memory" | "tidb" | "auto";
6405
6488
  memoryBackend: "memory" | "tidb" | "off";
6406
6489
  requirePrincipal: boolean;
6407
6490
  rateLimitRpm: number;
6408
- maxPrincipalCostUsd?: number | undefined;
6409
- scenario?: string | undefined;
6410
6491
  db?: string | undefined;
6492
+ scenario?: string | undefined;
6493
+ maxPrincipalCostUsd?: number | undefined;
6411
6494
  };
6412
6495
  coords: {
6413
6496
  gitApiBaseUrl?: string | undefined;
@@ -6422,7 +6505,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6422
6505
  tidbPasswordEnv?: string | undefined;
6423
6506
  };
6424
6507
  notes?: string | undefined;
6425
- roster?: string | undefined;
6426
6508
  routePrefix?: string | undefined;
6427
6509
  replicas?: number | undefined;
6428
6510
  autoscaling?: {
@@ -6441,7 +6523,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6441
6523
  } | undefined;
6442
6524
  } | undefined;
6443
6525
  fleet?: {
6444
- drainGraceMs?: number | undefined;
6445
6526
  dispatch?: {
6446
6527
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6447
6528
  sessionAffinity: boolean;
@@ -6449,15 +6530,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6449
6530
  perActorMaxInflight?: number | undefined;
6450
6531
  maxCostUsd?: number | undefined;
6451
6532
  } | undefined;
6533
+ drainGraceMs?: number | undefined;
6452
6534
  } | undefined;
6453
6535
  env?: Record<string, string> | undefined;
6454
6536
  secretEnv?: Record<string, string> | undefined;
6455
6537
  recreateNonce?: string | undefined;
6456
6538
  lifecycle?: {
6457
6539
  kind: "persistent" | "ephemeral";
6458
- owner?: string | undefined;
6459
6540
  ttl?: string | undefined;
6460
6541
  idleTimeout?: string | undefined;
6542
+ owner?: string | undefined;
6461
6543
  purpose?: string | undefined;
6462
6544
  dependsOn?: string[] | undefined;
6463
6545
  } | undefined;
@@ -6466,19 +6548,20 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6466
6548
  requires: string[];
6467
6549
  spread?: string | undefined;
6468
6550
  } | undefined;
6551
+ roster?: string | undefined;
6469
6552
  signature?: string | undefined;
6470
6553
  }[];
6471
6554
  }, {
6472
6555
  workers?: {
6473
6556
  name: string;
6474
6557
  runtime: {
6475
- maxPrincipalCostUsd?: number | undefined;
6476
- scenario?: string | undefined;
6477
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6558
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6478
6559
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6479
6560
  db?: string | undefined;
6561
+ scenario?: string | undefined;
6480
6562
  requirePrincipal?: boolean | undefined;
6481
6563
  rateLimitRpm?: number | undefined;
6564
+ maxPrincipalCostUsd?: number | undefined;
6482
6565
  };
6483
6566
  secretRefs: {
6484
6567
  apiKeyEnv: string;
@@ -6488,7 +6571,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6488
6571
  };
6489
6572
  enabled?: boolean | undefined;
6490
6573
  notes?: string | undefined;
6491
- roster?: string | undefined;
6492
6574
  host?: string | undefined;
6493
6575
  image?: string | undefined;
6494
6576
  routePrefix?: string | undefined;
@@ -6509,7 +6591,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6509
6591
  } | undefined;
6510
6592
  } | undefined;
6511
6593
  fleet?: {
6512
- drainGraceMs?: number | undefined;
6513
6594
  dispatch?: {
6514
6595
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6515
6596
  sessionAffinity?: boolean | undefined;
@@ -6517,6 +6598,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6517
6598
  perActorMaxInflight?: number | undefined;
6518
6599
  maxCostUsd?: number | undefined;
6519
6600
  } | undefined;
6601
+ drainGraceMs?: number | undefined;
6520
6602
  } | undefined;
6521
6603
  coords?: {
6522
6604
  gitApiBaseUrl?: string | undefined;
@@ -6528,10 +6610,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6528
6610
  secretEnv?: Record<string, string> | undefined;
6529
6611
  recreateNonce?: string | undefined;
6530
6612
  lifecycle?: {
6531
- owner?: string | undefined;
6532
6613
  kind?: "persistent" | "ephemeral" | undefined;
6533
6614
  ttl?: string | undefined;
6534
6615
  idleTimeout?: string | undefined;
6616
+ owner?: string | undefined;
6535
6617
  purpose?: string | undefined;
6536
6618
  dependsOn?: string[] | undefined;
6537
6619
  } | undefined;
@@ -6540,6 +6622,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6540
6622
  requires?: string[] | undefined;
6541
6623
  spread?: string | undefined;
6542
6624
  } | undefined;
6625
+ roster?: string | undefined;
6543
6626
  signature?: string | undefined;
6544
6627
  }[] | undefined;
6545
6628
  }>, {
@@ -6549,13 +6632,13 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6549
6632
  host: string;
6550
6633
  image: string;
6551
6634
  runtime: {
6552
- sessionBackend: "auto" | "memory" | "tidb";
6635
+ sessionBackend: "memory" | "tidb" | "auto";
6553
6636
  memoryBackend: "memory" | "tidb" | "off";
6554
6637
  requirePrincipal: boolean;
6555
6638
  rateLimitRpm: number;
6556
- maxPrincipalCostUsd?: number | undefined;
6557
- scenario?: string | undefined;
6558
6639
  db?: string | undefined;
6640
+ scenario?: string | undefined;
6641
+ maxPrincipalCostUsd?: number | undefined;
6559
6642
  };
6560
6643
  coords: {
6561
6644
  gitApiBaseUrl?: string | undefined;
@@ -6570,7 +6653,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6570
6653
  tidbPasswordEnv?: string | undefined;
6571
6654
  };
6572
6655
  notes?: string | undefined;
6573
- roster?: string | undefined;
6574
6656
  routePrefix?: string | undefined;
6575
6657
  replicas?: number | undefined;
6576
6658
  autoscaling?: {
@@ -6589,7 +6671,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6589
6671
  } | undefined;
6590
6672
  } | undefined;
6591
6673
  fleet?: {
6592
- drainGraceMs?: number | undefined;
6593
6674
  dispatch?: {
6594
6675
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
6595
6676
  sessionAffinity: boolean;
@@ -6597,15 +6678,16 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6597
6678
  perActorMaxInflight?: number | undefined;
6598
6679
  maxCostUsd?: number | undefined;
6599
6680
  } | undefined;
6681
+ drainGraceMs?: number | undefined;
6600
6682
  } | undefined;
6601
6683
  env?: Record<string, string> | undefined;
6602
6684
  secretEnv?: Record<string, string> | undefined;
6603
6685
  recreateNonce?: string | undefined;
6604
6686
  lifecycle?: {
6605
6687
  kind: "persistent" | "ephemeral";
6606
- owner?: string | undefined;
6607
6688
  ttl?: string | undefined;
6608
6689
  idleTimeout?: string | undefined;
6690
+ owner?: string | undefined;
6609
6691
  purpose?: string | undefined;
6610
6692
  dependsOn?: string[] | undefined;
6611
6693
  } | undefined;
@@ -6614,19 +6696,20 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6614
6696
  requires: string[];
6615
6697
  spread?: string | undefined;
6616
6698
  } | undefined;
6699
+ roster?: string | undefined;
6617
6700
  signature?: string | undefined;
6618
6701
  }[];
6619
6702
  }, {
6620
6703
  workers?: {
6621
6704
  name: string;
6622
6705
  runtime: {
6623
- maxPrincipalCostUsd?: number | undefined;
6624
- scenario?: string | undefined;
6625
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
6706
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
6626
6707
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
6627
6708
  db?: string | undefined;
6709
+ scenario?: string | undefined;
6628
6710
  requirePrincipal?: boolean | undefined;
6629
6711
  rateLimitRpm?: number | undefined;
6712
+ maxPrincipalCostUsd?: number | undefined;
6630
6713
  };
6631
6714
  secretRefs: {
6632
6715
  apiKeyEnv: string;
@@ -6636,7 +6719,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6636
6719
  };
6637
6720
  enabled?: boolean | undefined;
6638
6721
  notes?: string | undefined;
6639
- roster?: string | undefined;
6640
6722
  host?: string | undefined;
6641
6723
  image?: string | undefined;
6642
6724
  routePrefix?: string | undefined;
@@ -6657,7 +6739,6 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6657
6739
  } | undefined;
6658
6740
  } | undefined;
6659
6741
  fleet?: {
6660
- drainGraceMs?: number | undefined;
6661
6742
  dispatch?: {
6662
6743
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
6663
6744
  sessionAffinity?: boolean | undefined;
@@ -6665,6 +6746,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6665
6746
  perActorMaxInflight?: number | undefined;
6666
6747
  maxCostUsd?: number | undefined;
6667
6748
  } | undefined;
6749
+ drainGraceMs?: number | undefined;
6668
6750
  } | undefined;
6669
6751
  coords?: {
6670
6752
  gitApiBaseUrl?: string | undefined;
@@ -6676,10 +6758,10 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6676
6758
  secretEnv?: Record<string, string> | undefined;
6677
6759
  recreateNonce?: string | undefined;
6678
6760
  lifecycle?: {
6679
- owner?: string | undefined;
6680
6761
  kind?: "persistent" | "ephemeral" | undefined;
6681
6762
  ttl?: string | undefined;
6682
6763
  idleTimeout?: string | undefined;
6764
+ owner?: string | undefined;
6683
6765
  purpose?: string | undefined;
6684
6766
  dependsOn?: string[] | undefined;
6685
6767
  } | undefined;
@@ -6688,6 +6770,7 @@ export declare const WorkersConfig: z.ZodEffects<z.ZodObject<{
6688
6770
  requires?: string[] | undefined;
6689
6771
  spread?: string | undefined;
6690
6772
  } | undefined;
6773
+ roster?: string | undefined;
6691
6774
  signature?: string | undefined;
6692
6775
  }[] | undefined;
6693
6776
  }>;
@@ -6743,9 +6826,9 @@ export declare const WorkerStatus: z.ZodObject<{
6743
6826
  updatedAt: z.ZodString;
6744
6827
  }, "strip", z.ZodTypeAny, {
6745
6828
  name: string;
6829
+ host: string;
6746
6830
  phase: "Unknown" | "Pending" | "Running" | "Failed";
6747
6831
  updatedAt: string;
6748
- host: string;
6749
6832
  conditions: {
6750
6833
  type: "Reconciled" | "Healthy" | "Conflicted";
6751
6834
  status: "True" | "False" | "Unknown";
@@ -6758,9 +6841,9 @@ export declare const WorkerStatus: z.ZodObject<{
6758
6841
  observedSpecHash?: string | undefined;
6759
6842
  }, {
6760
6843
  name: string;
6844
+ host: string;
6761
6845
  phase: "Unknown" | "Pending" | "Running" | "Failed";
6762
6846
  updatedAt: string;
6763
- host: string;
6764
6847
  observedVersion: number;
6765
6848
  message?: string | undefined;
6766
6849
  conditions?: {
@@ -7036,7 +7119,7 @@ export declare const SkillSpec: z.ZodObject<{
7036
7119
  description: z.ZodDefault<z.ZodString>;
7037
7120
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7038
7121
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7039
- /** 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.
7040
7123
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7041
7124
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7042
7125
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7047,8 +7130,8 @@ export declare const SkillSpec: z.ZodObject<{
7047
7130
  name: string;
7048
7131
  enabled: boolean;
7049
7132
  rosters: string[];
7050
- scenarios: string[];
7051
7133
  description: string;
7134
+ scenarios: string[];
7052
7135
  content: string;
7053
7136
  notes?: string | undefined;
7054
7137
  }, {
@@ -7056,8 +7139,8 @@ export declare const SkillSpec: z.ZodObject<{
7056
7139
  enabled?: boolean | undefined;
7057
7140
  notes?: string | undefined;
7058
7141
  rosters?: string[] | undefined;
7059
- scenarios?: string[] | undefined;
7060
7142
  description?: string | undefined;
7143
+ scenarios?: string[] | undefined;
7061
7144
  content?: string | undefined;
7062
7145
  }>;
7063
7146
  export type SkillSpec = z.infer<typeof SkillSpec>;
@@ -7069,7 +7152,7 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7069
7152
  description: z.ZodDefault<z.ZodString>;
7070
7153
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7071
7154
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7072
- /** 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.
7073
7156
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7074
7157
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7075
7158
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7080,8 +7163,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7080
7163
  name: string;
7081
7164
  enabled: boolean;
7082
7165
  rosters: string[];
7083
- scenarios: string[];
7084
7166
  description: string;
7167
+ scenarios: string[];
7085
7168
  content: string;
7086
7169
  notes?: string | undefined;
7087
7170
  }, {
@@ -7089,8 +7172,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7089
7172
  enabled?: boolean | undefined;
7090
7173
  notes?: string | undefined;
7091
7174
  rosters?: string[] | undefined;
7092
- scenarios?: string[] | undefined;
7093
7175
  description?: string | undefined;
7176
+ scenarios?: string[] | undefined;
7094
7177
  content?: string | undefined;
7095
7178
  }>, "many">>;
7096
7179
  }, "strip", z.ZodTypeAny, {
@@ -7098,8 +7181,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7098
7181
  name: string;
7099
7182
  enabled: boolean;
7100
7183
  rosters: string[];
7101
- scenarios: string[];
7102
7184
  description: string;
7185
+ scenarios: string[];
7103
7186
  content: string;
7104
7187
  notes?: string | undefined;
7105
7188
  }[];
@@ -7109,8 +7192,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7109
7192
  enabled?: boolean | undefined;
7110
7193
  notes?: string | undefined;
7111
7194
  rosters?: string[] | undefined;
7112
- scenarios?: string[] | undefined;
7113
7195
  description?: string | undefined;
7196
+ scenarios?: string[] | undefined;
7114
7197
  content?: string | undefined;
7115
7198
  }[] | undefined;
7116
7199
  }>, {
@@ -7118,8 +7201,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7118
7201
  name: string;
7119
7202
  enabled: boolean;
7120
7203
  rosters: string[];
7121
- scenarios: string[];
7122
7204
  description: string;
7205
+ scenarios: string[];
7123
7206
  content: string;
7124
7207
  notes?: string | undefined;
7125
7208
  }[];
@@ -7129,8 +7212,8 @@ export declare const SkillsConfig: z.ZodEffects<z.ZodObject<{
7129
7212
  enabled?: boolean | undefined;
7130
7213
  notes?: string | undefined;
7131
7214
  rosters?: string[] | undefined;
7132
- scenarios?: string[] | undefined;
7133
7215
  description?: string | undefined;
7216
+ scenarios?: string[] | undefined;
7134
7217
  content?: string | undefined;
7135
7218
  }[] | undefined;
7136
7219
  }>;
@@ -7155,7 +7238,7 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7155
7238
  description: z.ZodDefault<z.ZodString>;
7156
7239
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
7157
7240
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7158
- /** 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.
7159
7242
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
7160
7243
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7161
7244
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -7168,8 +7251,8 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7168
7251
  name: string;
7169
7252
  enabled: boolean;
7170
7253
  rosters: string[];
7171
- scenarios: string[];
7172
7254
  description: string;
7255
+ scenarios: string[];
7173
7256
  contentHash: string;
7174
7257
  notes?: string | undefined;
7175
7258
  }, {
@@ -7178,16 +7261,16 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7178
7261
  enabled?: boolean | undefined;
7179
7262
  notes?: string | undefined;
7180
7263
  rosters?: string[] | undefined;
7181
- scenarios?: string[] | undefined;
7182
7264
  description?: string | undefined;
7265
+ scenarios?: string[] | undefined;
7183
7266
  }>, "many">>;
7184
7267
  }, "strip", z.ZodTypeAny, {
7185
7268
  skills: {
7186
7269
  name: string;
7187
7270
  enabled: boolean;
7188
7271
  rosters: string[];
7189
- scenarios: string[];
7190
7272
  description: string;
7273
+ scenarios: string[];
7191
7274
  contentHash: string;
7192
7275
  notes?: string | undefined;
7193
7276
  }[];
@@ -7198,8 +7281,8 @@ export declare const SkillsManifestSchema: z.ZodObject<{
7198
7281
  enabled?: boolean | undefined;
7199
7282
  notes?: string | undefined;
7200
7283
  rosters?: string[] | undefined;
7201
- scenarios?: string[] | undefined;
7202
7284
  description?: string | undefined;
7285
+ scenarios?: string[] | undefined;
7203
7286
  }[] | undefined;
7204
7287
  }>;
7205
7288
  export declare const McpTransport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -7209,13 +7292,13 @@ export declare const McpTransport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<
7209
7292
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7210
7293
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7211
7294
  }, "strip", z.ZodTypeAny, {
7212
- command: string;
7213
7295
  kind: "stdio";
7296
+ command: string;
7214
7297
  args?: string[] | undefined;
7215
7298
  envRefs?: Record<string, string> | undefined;
7216
7299
  }, {
7217
- command: string;
7218
7300
  kind: "stdio";
7301
+ command: string;
7219
7302
  args?: string[] | undefined;
7220
7303
  envRefs?: Record<string, string> | undefined;
7221
7304
  }>, z.ZodObject<{
@@ -7258,13 +7341,13 @@ export declare const McpServerSpec: z.ZodObject<{
7258
7341
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7259
7342
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7260
7343
  }, "strip", z.ZodTypeAny, {
7261
- command: string;
7262
7344
  kind: "stdio";
7345
+ command: string;
7263
7346
  args?: string[] | undefined;
7264
7347
  envRefs?: Record<string, string> | undefined;
7265
7348
  }, {
7266
- command: string;
7267
7349
  kind: "stdio";
7350
+ command: string;
7268
7351
  args?: string[] | undefined;
7269
7352
  envRefs?: Record<string, string> | undefined;
7270
7353
  }>, z.ZodObject<{
@@ -7322,23 +7405,19 @@ export declare const McpServerSpec: z.ZodObject<{
7322
7405
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
7323
7406
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
7324
7407
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
7325
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
7326
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
7327
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
7328
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
7329
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
7330
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
7331
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
7332
- * no gate / policy / trust
7333
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
7334
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
7335
- * (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`). */
7336
7415
  source: z.ZodOptional<z.ZodUnknown>;
7337
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7416
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7338
7417
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
7339
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
7340
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
7341
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
7418
+ * 缺席 = 不铸键。
7419
+ *
7420
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
7342
7421
  toolFaces: z.ZodOptional<z.ZodUnknown>;
7343
7422
  notes: z.ZodOptional<z.ZodString>;
7344
7423
  }, "strip", z.ZodTypeAny, {
@@ -7347,8 +7426,8 @@ export declare const McpServerSpec: z.ZodObject<{
7347
7426
  rosters: string[];
7348
7427
  scenarios: string[];
7349
7428
  transport: {
7350
- command: string;
7351
7429
  kind: "stdio";
7430
+ command: string;
7352
7431
  args?: string[] | undefined;
7353
7432
  envRefs?: Record<string, string> | undefined;
7354
7433
  } | {
@@ -7366,8 +7445,8 @@ export declare const McpServerSpec: z.ZodObject<{
7366
7445
  }, {
7367
7446
  name: string;
7368
7447
  transport: {
7369
- command: string;
7370
7448
  kind: "stdio";
7449
+ command: string;
7371
7450
  args?: string[] | undefined;
7372
7451
  envRefs?: Record<string, string> | undefined;
7373
7452
  } | {
@@ -7397,13 +7476,13 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7397
7476
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
7398
7477
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
7399
7478
  }, "strip", z.ZodTypeAny, {
7400
- command: string;
7401
7479
  kind: "stdio";
7480
+ command: string;
7402
7481
  args?: string[] | undefined;
7403
7482
  envRefs?: Record<string, string> | undefined;
7404
7483
  }, {
7405
- command: string;
7406
7484
  kind: "stdio";
7485
+ command: string;
7407
7486
  args?: string[] | undefined;
7408
7487
  envRefs?: Record<string, string> | undefined;
7409
7488
  }>, z.ZodObject<{
@@ -7461,23 +7540,19 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7461
7540
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
7462
7541
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
7463
7542
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
7464
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
7465
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
7466
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
7467
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
7468
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
7469
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
7470
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
7471
- * no gate / policy / trust
7472
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
7473
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
7474
- * (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`). */
7475
7550
  source: z.ZodOptional<z.ZodUnknown>;
7476
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7551
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
7477
7552
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
7478
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
7479
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
7480
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
7553
+ * 缺席 = 不铸键。
7554
+ *
7555
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
7481
7556
  toolFaces: z.ZodOptional<z.ZodUnknown>;
7482
7557
  notes: z.ZodOptional<z.ZodString>;
7483
7558
  }, "strip", z.ZodTypeAny, {
@@ -7486,8 +7561,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7486
7561
  rosters: string[];
7487
7562
  scenarios: string[];
7488
7563
  transport: {
7489
- command: string;
7490
7564
  kind: "stdio";
7565
+ command: string;
7491
7566
  args?: string[] | undefined;
7492
7567
  envRefs?: Record<string, string> | undefined;
7493
7568
  } | {
@@ -7505,8 +7580,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7505
7580
  }, {
7506
7581
  name: string;
7507
7582
  transport: {
7508
- command: string;
7509
7583
  kind: "stdio";
7584
+ command: string;
7510
7585
  args?: string[] | undefined;
7511
7586
  envRefs?: Record<string, string> | undefined;
7512
7587
  } | {
@@ -7532,8 +7607,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7532
7607
  rosters: string[];
7533
7608
  scenarios: string[];
7534
7609
  transport: {
7535
- command: string;
7536
7610
  kind: "stdio";
7611
+ command: string;
7537
7612
  args?: string[] | undefined;
7538
7613
  envRefs?: Record<string, string> | undefined;
7539
7614
  } | {
@@ -7553,8 +7628,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7553
7628
  servers?: {
7554
7629
  name: string;
7555
7630
  transport: {
7556
- command: string;
7557
7631
  kind: "stdio";
7632
+ command: string;
7558
7633
  args?: string[] | undefined;
7559
7634
  envRefs?: Record<string, string> | undefined;
7560
7635
  } | {
@@ -7580,8 +7655,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7580
7655
  rosters: string[];
7581
7656
  scenarios: string[];
7582
7657
  transport: {
7583
- command: string;
7584
7658
  kind: "stdio";
7659
+ command: string;
7585
7660
  args?: string[] | undefined;
7586
7661
  envRefs?: Record<string, string> | undefined;
7587
7662
  } | {
@@ -7601,8 +7676,8 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7601
7676
  servers?: {
7602
7677
  name: string;
7603
7678
  transport: {
7604
- command: string;
7605
7679
  kind: "stdio";
7680
+ command: string;
7606
7681
  args?: string[] | undefined;
7607
7682
  envRefs?: Record<string, string> | undefined;
7608
7683
  } | {
@@ -7981,13 +8056,13 @@ export declare const PromptArtifactSection: z.ZodObject<{
7981
8056
  }, "strip", z.ZodTypeAny, {
7982
8057
  id: string;
7983
8058
  slot: "scenario" | "identity" | "behavior";
7984
- contentHash: string;
7985
8059
  text: string;
8060
+ contentHash: string;
7986
8061
  }, {
7987
8062
  id: string;
7988
8063
  slot: "scenario" | "identity" | "behavior";
7989
- contentHash: string;
7990
8064
  text: string;
8065
+ contentHash: string;
7991
8066
  }>;
7992
8067
  export type PromptArtifactSection = z.infer<typeof PromptArtifactSection>;
7993
8068
  /** core `PromptCatalogSnapshot` 同形。packId=逻辑名(如 `center:acme@3`),历史身份恒在 digest。 */
@@ -8001,29 +8076,29 @@ export declare const PromptCatalogSnapshot: z.ZodObject<{
8001
8076
  }, "strip", z.ZodTypeAny, {
8002
8077
  id: string;
8003
8078
  slot: "scenario" | "identity" | "behavior";
8004
- contentHash: string;
8005
8079
  text: string;
8080
+ contentHash: string;
8006
8081
  }, {
8007
8082
  id: string;
8008
8083
  slot: "scenario" | "identity" | "behavior";
8009
- contentHash: string;
8010
8084
  text: string;
8085
+ contentHash: string;
8011
8086
  }>, "many">;
8012
8087
  }, "strip", z.ZodTypeAny, {
8013
8088
  packId: string;
8014
8089
  sections: {
8015
8090
  id: string;
8016
8091
  slot: "scenario" | "identity" | "behavior";
8017
- contentHash: string;
8018
8092
  text: string;
8093
+ contentHash: string;
8019
8094
  }[];
8020
8095
  }, {
8021
8096
  packId: string;
8022
8097
  sections: {
8023
8098
  id: string;
8024
8099
  slot: "scenario" | "identity" | "behavior";
8025
- contentHash: string;
8026
8100
  text: string;
8101
+ contentHash: string;
8027
8102
  }[];
8028
8103
  }>;
8029
8104
  export type PromptCatalogSnapshot = z.infer<typeof PromptCatalogSnapshot>;
@@ -8056,29 +8131,29 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8056
8131
  }, "strip", z.ZodTypeAny, {
8057
8132
  id: string;
8058
8133
  slot: "scenario" | "identity" | "behavior";
8059
- contentHash: string;
8060
8134
  text: string;
8135
+ contentHash: string;
8061
8136
  }, {
8062
8137
  id: string;
8063
8138
  slot: "scenario" | "identity" | "behavior";
8064
- contentHash: string;
8065
8139
  text: string;
8140
+ contentHash: string;
8066
8141
  }>, "many">;
8067
8142
  }, "strip", z.ZodTypeAny, {
8068
8143
  packId: string;
8069
8144
  sections: {
8070
8145
  id: string;
8071
8146
  slot: "scenario" | "identity" | "behavior";
8072
- contentHash: string;
8073
8147
  text: string;
8148
+ contentHash: string;
8074
8149
  }[];
8075
8150
  }, {
8076
8151
  packId: string;
8077
8152
  sections: {
8078
8153
  id: string;
8079
8154
  slot: "scenario" | "identity" | "behavior";
8080
- contentHash: string;
8081
8155
  text: string;
8156
+ contentHash: string;
8082
8157
  }[];
8083
8158
  }>;
8084
8159
  }, "strip", z.ZodTypeAny, {
@@ -8088,8 +8163,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8088
8163
  sections: {
8089
8164
  id: string;
8090
8165
  slot: "scenario" | "identity" | "behavior";
8091
- contentHash: string;
8092
8166
  text: string;
8167
+ contentHash: string;
8093
8168
  }[];
8094
8169
  };
8095
8170
  }, {
@@ -8099,8 +8174,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8099
8174
  sections: {
8100
8175
  id: string;
8101
8176
  slot: "scenario" | "identity" | "behavior";
8102
- contentHash: string;
8103
8177
  text: string;
8178
+ contentHash: string;
8104
8179
  }[];
8105
8180
  };
8106
8181
  }>;
@@ -8115,8 +8190,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8115
8190
  sections: {
8116
8191
  id: string;
8117
8192
  slot: "scenario" | "identity" | "behavior";
8118
- contentHash: string;
8119
8193
  text: string;
8194
+ contentHash: string;
8120
8195
  }[];
8121
8196
  };
8122
8197
  };
@@ -8135,8 +8210,8 @@ export declare const PromptEpochArtifactPayload: z.ZodObject<{
8135
8210
  sections: {
8136
8211
  id: string;
8137
8212
  slot: "scenario" | "identity" | "behavior";
8138
- contentHash: string;
8139
8213
  text: string;
8214
+ contentHash: string;
8140
8215
  }[];
8141
8216
  };
8142
8217
  };
@@ -8176,29 +8251,29 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8176
8251
  }, "strip", z.ZodTypeAny, {
8177
8252
  id: string;
8178
8253
  slot: "scenario" | "identity" | "behavior";
8179
- contentHash: string;
8180
8254
  text: string;
8255
+ contentHash: string;
8181
8256
  }, {
8182
8257
  id: string;
8183
8258
  slot: "scenario" | "identity" | "behavior";
8184
- contentHash: string;
8185
8259
  text: string;
8260
+ contentHash: string;
8186
8261
  }>, "many">;
8187
8262
  }, "strip", z.ZodTypeAny, {
8188
8263
  packId: string;
8189
8264
  sections: {
8190
8265
  id: string;
8191
8266
  slot: "scenario" | "identity" | "behavior";
8192
- contentHash: string;
8193
8267
  text: string;
8268
+ contentHash: string;
8194
8269
  }[];
8195
8270
  }, {
8196
8271
  packId: string;
8197
8272
  sections: {
8198
8273
  id: string;
8199
8274
  slot: "scenario" | "identity" | "behavior";
8200
- contentHash: string;
8201
8275
  text: string;
8276
+ contentHash: string;
8202
8277
  }[];
8203
8278
  }>;
8204
8279
  }, "strip", z.ZodTypeAny, {
@@ -8208,8 +8283,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8208
8283
  sections: {
8209
8284
  id: string;
8210
8285
  slot: "scenario" | "identity" | "behavior";
8211
- contentHash: string;
8212
8286
  text: string;
8287
+ contentHash: string;
8213
8288
  }[];
8214
8289
  };
8215
8290
  }, {
@@ -8219,8 +8294,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8219
8294
  sections: {
8220
8295
  id: string;
8221
8296
  slot: "scenario" | "identity" | "behavior";
8222
- contentHash: string;
8223
8297
  text: string;
8298
+ contentHash: string;
8224
8299
  }[];
8225
8300
  };
8226
8301
  }>;
@@ -8235,8 +8310,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8235
8310
  sections: {
8236
8311
  id: string;
8237
8312
  slot: "scenario" | "identity" | "behavior";
8238
- contentHash: string;
8239
8313
  text: string;
8314
+ contentHash: string;
8240
8315
  }[];
8241
8316
  };
8242
8317
  };
@@ -8255,8 +8330,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8255
8330
  sections: {
8256
8331
  id: string;
8257
8332
  slot: "scenario" | "identity" | "behavior";
8258
- contentHash: string;
8259
8333
  text: string;
8334
+ contentHash: string;
8260
8335
  }[];
8261
8336
  };
8262
8337
  };
@@ -8278,8 +8353,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8278
8353
  sections: {
8279
8354
  id: string;
8280
8355
  slot: "scenario" | "identity" | "behavior";
8281
- contentHash: string;
8282
8356
  text: string;
8357
+ contentHash: string;
8283
8358
  }[];
8284
8359
  };
8285
8360
  };
@@ -8301,8 +8376,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8301
8376
  sections: {
8302
8377
  id: string;
8303
8378
  slot: "scenario" | "identity" | "behavior";
8304
- contentHash: string;
8305
8379
  text: string;
8380
+ contentHash: string;
8306
8381
  }[];
8307
8382
  };
8308
8383
  };
@@ -8327,8 +8402,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8327
8402
  sections: {
8328
8403
  id: string;
8329
8404
  slot: "scenario" | "identity" | "behavior";
8330
- contentHash: string;
8331
8405
  text: string;
8406
+ contentHash: string;
8332
8407
  }[];
8333
8408
  };
8334
8409
  };
@@ -8353,8 +8428,8 @@ export declare const PublishedPromptArtifactEnvelope: z.ZodObject<{
8353
8428
  sections: {
8354
8429
  id: string;
8355
8430
  slot: "scenario" | "identity" | "behavior";
8356
- contentHash: string;
8357
8431
  text: string;
8432
+ contentHash: string;
8358
8433
  }[];
8359
8434
  };
8360
8435
  };
@@ -8481,29 +8556,29 @@ export declare const PromptsConfig: z.ZodObject<{
8481
8556
  }, "strip", z.ZodTypeAny, {
8482
8557
  id: string;
8483
8558
  slot: "scenario" | "identity" | "behavior";
8484
- contentHash: string;
8485
8559
  text: string;
8560
+ contentHash: string;
8486
8561
  }, {
8487
8562
  id: string;
8488
8563
  slot: "scenario" | "identity" | "behavior";
8489
- contentHash: string;
8490
8564
  text: string;
8565
+ contentHash: string;
8491
8566
  }>, "many">;
8492
8567
  }, "strip", z.ZodTypeAny, {
8493
8568
  packId: string;
8494
8569
  sections: {
8495
8570
  id: string;
8496
8571
  slot: "scenario" | "identity" | "behavior";
8497
- contentHash: string;
8498
8572
  text: string;
8573
+ contentHash: string;
8499
8574
  }[];
8500
8575
  }, {
8501
8576
  packId: string;
8502
8577
  sections: {
8503
8578
  id: string;
8504
8579
  slot: "scenario" | "identity" | "behavior";
8505
- contentHash: string;
8506
8580
  text: string;
8581
+ contentHash: string;
8507
8582
  }[];
8508
8583
  }>;
8509
8584
  }, "strip", z.ZodTypeAny, {
@@ -8513,8 +8588,8 @@ export declare const PromptsConfig: z.ZodObject<{
8513
8588
  sections: {
8514
8589
  id: string;
8515
8590
  slot: "scenario" | "identity" | "behavior";
8516
- contentHash: string;
8517
8591
  text: string;
8592
+ contentHash: string;
8518
8593
  }[];
8519
8594
  };
8520
8595
  }, {
@@ -8524,8 +8599,8 @@ export declare const PromptsConfig: z.ZodObject<{
8524
8599
  sections: {
8525
8600
  id: string;
8526
8601
  slot: "scenario" | "identity" | "behavior";
8527
- contentHash: string;
8528
8602
  text: string;
8603
+ contentHash: string;
8529
8604
  }[];
8530
8605
  };
8531
8606
  }>;
@@ -8540,8 +8615,8 @@ export declare const PromptsConfig: z.ZodObject<{
8540
8615
  sections: {
8541
8616
  id: string;
8542
8617
  slot: "scenario" | "identity" | "behavior";
8543
- contentHash: string;
8544
8618
  text: string;
8619
+ contentHash: string;
8545
8620
  }[];
8546
8621
  };
8547
8622
  };
@@ -8560,8 +8635,8 @@ export declare const PromptsConfig: z.ZodObject<{
8560
8635
  sections: {
8561
8636
  id: string;
8562
8637
  slot: "scenario" | "identity" | "behavior";
8563
- contentHash: string;
8564
8638
  text: string;
8639
+ contentHash: string;
8565
8640
  }[];
8566
8641
  };
8567
8642
  };
@@ -8583,8 +8658,8 @@ export declare const PromptsConfig: z.ZodObject<{
8583
8658
  sections: {
8584
8659
  id: string;
8585
8660
  slot: "scenario" | "identity" | "behavior";
8586
- contentHash: string;
8587
8661
  text: string;
8662
+ contentHash: string;
8588
8663
  }[];
8589
8664
  };
8590
8665
  };
@@ -8606,8 +8681,8 @@ export declare const PromptsConfig: z.ZodObject<{
8606
8681
  sections: {
8607
8682
  id: string;
8608
8683
  slot: "scenario" | "identity" | "behavior";
8609
- contentHash: string;
8610
8684
  text: string;
8685
+ contentHash: string;
8611
8686
  }[];
8612
8687
  };
8613
8688
  };
@@ -8632,8 +8707,8 @@ export declare const PromptsConfig: z.ZodObject<{
8632
8707
  sections: {
8633
8708
  id: string;
8634
8709
  slot: "scenario" | "identity" | "behavior";
8635
- contentHash: string;
8636
8710
  text: string;
8711
+ contentHash: string;
8637
8712
  }[];
8638
8713
  };
8639
8714
  };
@@ -8658,8 +8733,8 @@ export declare const PromptsConfig: z.ZodObject<{
8658
8733
  sections: {
8659
8734
  id: string;
8660
8735
  slot: "scenario" | "identity" | "behavior";
8661
- contentHash: string;
8662
8736
  text: string;
8737
+ contentHash: string;
8663
8738
  }[];
8664
8739
  };
8665
8740
  };
@@ -8699,8 +8774,8 @@ export declare const PromptsConfig: z.ZodObject<{
8699
8774
  sections: {
8700
8775
  id: string;
8701
8776
  slot: "scenario" | "identity" | "behavior";
8702
- contentHash: string;
8703
8777
  text: string;
8778
+ contentHash: string;
8704
8779
  }[];
8705
8780
  };
8706
8781
  };
@@ -8740,8 +8815,8 @@ export declare const PromptsConfig: z.ZodObject<{
8740
8815
  sections: {
8741
8816
  id: string;
8742
8817
  slot: "scenario" | "identity" | "behavior";
8743
- contentHash: string;
8744
8818
  text: string;
8819
+ contentHash: string;
8745
8820
  }[];
8746
8821
  };
8747
8822
  };
@@ -8942,29 +9017,29 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
8942
9017
  }, "strip", z.ZodTypeAny, {
8943
9018
  id: string;
8944
9019
  slot: "scenario" | "identity" | "behavior";
8945
- contentHash: string;
8946
9020
  text: string;
9021
+ contentHash: string;
8947
9022
  }, {
8948
9023
  id: string;
8949
9024
  slot: "scenario" | "identity" | "behavior";
8950
- contentHash: string;
8951
9025
  text: string;
9026
+ contentHash: string;
8952
9027
  }>, "many">;
8953
9028
  }, "strip", z.ZodTypeAny, {
8954
9029
  packId: string;
8955
9030
  sections: {
8956
9031
  id: string;
8957
9032
  slot: "scenario" | "identity" | "behavior";
8958
- contentHash: string;
8959
9033
  text: string;
9034
+ contentHash: string;
8960
9035
  }[];
8961
9036
  }, {
8962
9037
  packId: string;
8963
9038
  sections: {
8964
9039
  id: string;
8965
9040
  slot: "scenario" | "identity" | "behavior";
8966
- contentHash: string;
8967
9041
  text: string;
9042
+ contentHash: string;
8968
9043
  }[];
8969
9044
  }>;
8970
9045
  }, "strip", z.ZodTypeAny, {
@@ -8974,8 +9049,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
8974
9049
  sections: {
8975
9050
  id: string;
8976
9051
  slot: "scenario" | "identity" | "behavior";
8977
- contentHash: string;
8978
9052
  text: string;
9053
+ contentHash: string;
8979
9054
  }[];
8980
9055
  };
8981
9056
  }, {
@@ -8985,8 +9060,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
8985
9060
  sections: {
8986
9061
  id: string;
8987
9062
  slot: "scenario" | "identity" | "behavior";
8988
- contentHash: string;
8989
9063
  text: string;
9064
+ contentHash: string;
8990
9065
  }[];
8991
9066
  };
8992
9067
  }>;
@@ -9001,8 +9076,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9001
9076
  sections: {
9002
9077
  id: string;
9003
9078
  slot: "scenario" | "identity" | "behavior";
9004
- contentHash: string;
9005
9079
  text: string;
9080
+ contentHash: string;
9006
9081
  }[];
9007
9082
  };
9008
9083
  };
@@ -9021,8 +9096,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9021
9096
  sections: {
9022
9097
  id: string;
9023
9098
  slot: "scenario" | "identity" | "behavior";
9024
- contentHash: string;
9025
9099
  text: string;
9100
+ contentHash: string;
9026
9101
  }[];
9027
9102
  };
9028
9103
  };
@@ -9044,8 +9119,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9044
9119
  sections: {
9045
9120
  id: string;
9046
9121
  slot: "scenario" | "identity" | "behavior";
9047
- contentHash: string;
9048
9122
  text: string;
9123
+ contentHash: string;
9049
9124
  }[];
9050
9125
  };
9051
9126
  };
@@ -9067,8 +9142,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9067
9142
  sections: {
9068
9143
  id: string;
9069
9144
  slot: "scenario" | "identity" | "behavior";
9070
- contentHash: string;
9071
9145
  text: string;
9146
+ contentHash: string;
9072
9147
  }[];
9073
9148
  };
9074
9149
  };
@@ -9093,8 +9168,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9093
9168
  sections: {
9094
9169
  id: string;
9095
9170
  slot: "scenario" | "identity" | "behavior";
9096
- contentHash: string;
9097
9171
  text: string;
9172
+ contentHash: string;
9098
9173
  }[];
9099
9174
  };
9100
9175
  };
@@ -9119,8 +9194,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9119
9194
  sections: {
9120
9195
  id: string;
9121
9196
  slot: "scenario" | "identity" | "behavior";
9122
- contentHash: string;
9123
9197
  text: string;
9198
+ contentHash: string;
9124
9199
  }[];
9125
9200
  };
9126
9201
  };
@@ -9164,8 +9239,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9164
9239
  sections: {
9165
9240
  id: string;
9166
9241
  slot: "scenario" | "identity" | "behavior";
9167
- contentHash: string;
9168
9242
  text: string;
9243
+ contentHash: string;
9169
9244
  }[];
9170
9245
  };
9171
9246
  };
@@ -9209,8 +9284,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9209
9284
  sections: {
9210
9285
  id: string;
9211
9286
  slot: "scenario" | "identity" | "behavior";
9212
- contentHash: string;
9213
9287
  text: string;
9288
+ contentHash: string;
9214
9289
  }[];
9215
9290
  };
9216
9291
  };
@@ -9254,8 +9329,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9254
9329
  sections: {
9255
9330
  id: string;
9256
9331
  slot: "scenario" | "identity" | "behavior";
9257
- contentHash: string;
9258
9332
  text: string;
9333
+ contentHash: string;
9259
9334
  }[];
9260
9335
  };
9261
9336
  };
@@ -9299,8 +9374,8 @@ export declare const EffectivePromptsWire: z.ZodEffects<z.ZodObject<{
9299
9374
  sections: {
9300
9375
  id: string;
9301
9376
  slot: "scenario" | "identity" | "behavior";
9302
- contentHash: string;
9303
9377
  text: string;
9378
+ contentHash: string;
9304
9379
  }[];
9305
9380
  };
9306
9381
  };
@@ -9399,6 +9474,20 @@ export declare const DOMAIN_SCHEMAS: {
9399
9474
  * through), e.g. {frequency_penalty:0.5, presence_penalty:0.3}. Non-secret model metadata — same class
9400
9475
  * as cost/tier. Shipped on /effective.models.models[].extraBody; the service merges it into the request. */
9401
9476
  extraBody: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, Record<string, unknown> | undefined, unknown>;
9477
+ /** Per-model wire-compat declaration for the OpenAI-completions lane — mirrors the engine's
9478
+ * `OpenAICompletionsCompat` (five keys: `thinkingFormat` / `reasoningEffortLevels` / `maxTokensField` /
9479
+ * `requiresReasoningContentOnAssistantMessages` / `supportsReasoningEffort`). Real need: a vLLM/Qwen-class
9480
+ * gateway that thinks by DEFAULT can only be turned off with `chat_template_kwargs.enable_thinking=false`,
9481
+ * which `extraBody` cannot carry (the engine reserves those request keys) — and without this key a catalog
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.
9484
+ *
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). */
9490
+ compat: z.ZodEffects<z.ZodOptional<z.ZodUnknown>, unknown, unknown>;
9402
9491
  /** 配额倍率(EXPERT-REDESIGN §4-1):该模型烧 token 双窗额度的倍率,默认 1。折算时点=weight-at-burn
9403
9492
  * (记账时固化到 UsageEntry.quotaWeightAtUse/weightedTokens):改倍率只影响此后记账,不回算窗口内历史。 */
9404
9493
  quotaWeight: z.ZodDefault<z.ZodNumber>;
@@ -9434,6 +9523,7 @@ export declare const DOMAIN_SCHEMAS: {
9434
9523
  cacheWrite: number;
9435
9524
  } | undefined;
9436
9525
  extraBody?: Record<string, unknown> | undefined;
9526
+ compat?: unknown;
9437
9527
  notes?: string | undefined;
9438
9528
  }, {
9439
9529
  id: string;
@@ -9463,6 +9553,7 @@ export declare const DOMAIN_SCHEMAS: {
9463
9553
  cacheWrite?: number | undefined;
9464
9554
  } | undefined;
9465
9555
  extraBody?: unknown;
9556
+ compat?: unknown;
9466
9557
  quotaWeight?: number | undefined;
9467
9558
  enabled?: boolean | undefined;
9468
9559
  notes?: string | undefined;
@@ -9496,6 +9587,7 @@ export declare const DOMAIN_SCHEMAS: {
9496
9587
  cacheWrite: number;
9497
9588
  } | undefined;
9498
9589
  extraBody?: Record<string, unknown> | undefined;
9590
+ compat?: unknown;
9499
9591
  notes?: string | undefined;
9500
9592
  }, {
9501
9593
  id: string;
@@ -9525,6 +9617,7 @@ export declare const DOMAIN_SCHEMAS: {
9525
9617
  cacheWrite?: number | undefined;
9526
9618
  } | undefined;
9527
9619
  extraBody?: unknown;
9620
+ compat?: unknown;
9528
9621
  quotaWeight?: number | undefined;
9529
9622
  enabled?: boolean | undefined;
9530
9623
  notes?: string | undefined;
@@ -9648,6 +9741,7 @@ export declare const DOMAIN_SCHEMAS: {
9648
9741
  cacheWrite: number;
9649
9742
  } | undefined;
9650
9743
  extraBody?: Record<string, unknown> | undefined;
9744
+ compat?: unknown;
9651
9745
  notes?: string | undefined;
9652
9746
  }[];
9653
9747
  roles: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
@@ -9674,7 +9768,6 @@ export declare const DOMAIN_SCHEMAS: {
9674
9768
  atModelAllowlist?: string[] | undefined;
9675
9769
  activeTierGroup?: string | undefined;
9676
9770
  }, {
9677
- default?: string | undefined;
9678
9771
  models?: {
9679
9772
  id: string;
9680
9773
  name: string;
@@ -9703,10 +9796,12 @@ export declare const DOMAIN_SCHEMAS: {
9703
9796
  cacheWrite?: number | undefined;
9704
9797
  } | undefined;
9705
9798
  extraBody?: unknown;
9799
+ compat?: unknown;
9706
9800
  quotaWeight?: number | undefined;
9707
9801
  enabled?: boolean | undefined;
9708
9802
  notes?: string | undefined;
9709
9803
  }[] | undefined;
9804
+ default?: string | undefined;
9710
9805
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
9711
9806
  model: string;
9712
9807
  } | {
@@ -9760,6 +9855,7 @@ export declare const DOMAIN_SCHEMAS: {
9760
9855
  cacheWrite: number;
9761
9856
  } | undefined;
9762
9857
  extraBody?: Record<string, unknown> | undefined;
9858
+ compat?: unknown;
9763
9859
  notes?: string | undefined;
9764
9860
  }[];
9765
9861
  roles: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
@@ -9786,7 +9882,6 @@ export declare const DOMAIN_SCHEMAS: {
9786
9882
  atModelAllowlist?: string[] | undefined;
9787
9883
  activeTierGroup?: string | undefined;
9788
9884
  }, {
9789
- default?: string | undefined;
9790
9885
  models?: {
9791
9886
  id: string;
9792
9887
  name: string;
@@ -9815,10 +9910,12 @@ export declare const DOMAIN_SCHEMAS: {
9815
9910
  cacheWrite?: number | undefined;
9816
9911
  } | undefined;
9817
9912
  extraBody?: unknown;
9913
+ compat?: unknown;
9818
9914
  quotaWeight?: number | undefined;
9819
9915
  enabled?: boolean | undefined;
9820
9916
  notes?: string | undefined;
9821
9917
  }[] | undefined;
9918
+ default?: string | undefined;
9822
9919
  roles?: Partial<Record<"default" | "summarize" | "subagent" | "team" | "synthesize" | "verifier" | "classifier" | "consolidate", {
9823
9920
  model: string;
9824
9921
  } | {
@@ -10007,7 +10104,7 @@ export declare const DOMAIN_SCHEMAS: {
10007
10104
  description: z.ZodDefault<z.ZodString>;
10008
10105
  /** Scenarios this skill applies to; empty = all scenarios (service-side filter, same as skillsForScenario). */
10009
10106
  scenarios: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
10010
- /** 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.
10011
10108
  * Filtered at GET /effective?worker=<name> by the worker's roster; the unscoped global pull ships all. */
10012
10109
  rosters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
10013
10110
  /** The markdown body injected into the model context on invoke (progressive disclosure). Stored in full here; shipped as a hash in /effective. */
@@ -10018,8 +10115,8 @@ export declare const DOMAIN_SCHEMAS: {
10018
10115
  name: string;
10019
10116
  enabled: boolean;
10020
10117
  rosters: string[];
10021
- scenarios: string[];
10022
10118
  description: string;
10119
+ scenarios: string[];
10023
10120
  content: string;
10024
10121
  notes?: string | undefined;
10025
10122
  }, {
@@ -10027,8 +10124,8 @@ export declare const DOMAIN_SCHEMAS: {
10027
10124
  enabled?: boolean | undefined;
10028
10125
  notes?: string | undefined;
10029
10126
  rosters?: string[] | undefined;
10030
- scenarios?: string[] | undefined;
10031
10127
  description?: string | undefined;
10128
+ scenarios?: string[] | undefined;
10032
10129
  content?: string | undefined;
10033
10130
  }>, "many">>;
10034
10131
  }, "strip", z.ZodTypeAny, {
@@ -10036,8 +10133,8 @@ export declare const DOMAIN_SCHEMAS: {
10036
10133
  name: string;
10037
10134
  enabled: boolean;
10038
10135
  rosters: string[];
10039
- scenarios: string[];
10040
10136
  description: string;
10137
+ scenarios: string[];
10041
10138
  content: string;
10042
10139
  notes?: string | undefined;
10043
10140
  }[];
@@ -10047,8 +10144,8 @@ export declare const DOMAIN_SCHEMAS: {
10047
10144
  enabled?: boolean | undefined;
10048
10145
  notes?: string | undefined;
10049
10146
  rosters?: string[] | undefined;
10050
- scenarios?: string[] | undefined;
10051
10147
  description?: string | undefined;
10148
+ scenarios?: string[] | undefined;
10052
10149
  content?: string | undefined;
10053
10150
  }[] | undefined;
10054
10151
  }>, {
@@ -10056,8 +10153,8 @@ export declare const DOMAIN_SCHEMAS: {
10056
10153
  name: string;
10057
10154
  enabled: boolean;
10058
10155
  rosters: string[];
10059
- scenarios: string[];
10060
10156
  description: string;
10157
+ scenarios: string[];
10061
10158
  content: string;
10062
10159
  notes?: string | undefined;
10063
10160
  }[];
@@ -10067,8 +10164,8 @@ export declare const DOMAIN_SCHEMAS: {
10067
10164
  enabled?: boolean | undefined;
10068
10165
  notes?: string | undefined;
10069
10166
  rosters?: string[] | undefined;
10070
- scenarios?: string[] | undefined;
10071
10167
  description?: string | undefined;
10168
+ scenarios?: string[] | undefined;
10072
10169
  content?: string | undefined;
10073
10170
  }[] | undefined;
10074
10171
  }>;
@@ -10082,13 +10179,13 @@ export declare const DOMAIN_SCHEMAS: {
10082
10179
  /** target ENV key → ENV_NAME in the service env (never a secret value). */
10083
10180
  envRefs: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>>>;
10084
10181
  }, "strip", z.ZodTypeAny, {
10085
- command: string;
10086
10182
  kind: "stdio";
10183
+ command: string;
10087
10184
  args?: string[] | undefined;
10088
10185
  envRefs?: Record<string, string> | undefined;
10089
10186
  }, {
10090
- command: string;
10091
10187
  kind: "stdio";
10188
+ command: string;
10092
10189
  args?: string[] | undefined;
10093
10190
  envRefs?: Record<string, string> | undefined;
10094
10191
  }>, z.ZodObject<{
@@ -10146,23 +10243,19 @@ export declare const DOMAIN_SCHEMAS: {
10146
10243
  * consumer can group servers by where they were declared). An OPEN set: CC's `plugin` / `user` /
10147
10244
  * `project` / `local` are conventions, not a vocabulary — a deployment's own word is equally legal, so
10148
10245
  * no closed table here (a closed table would reject the operator's grouping word at parse). ABSENT =
10149
- * no label (`.optional()`, no default — a label has no default tier). 🔴 ZERO rules here (`z.unknown()`):
10150
- * the label RULE (string, non-empty, ≤80 chars) lives in ONE place — the consumer's projection helper,
10151
- * which drops a malformed label's KEY, keeps the server and records the drop. Nothing may live here:
10152
- * this domain parses all-or-nothing, so ANY rejection at parse (1.7.0 `min/max`, 1.7.1 `z.string()`
10153
- * against a `null`) lets one bad label default the ENTIRE mcp domain — every server gone, silently when
10154
- * no onWarning is wired — a blast radius a display label must never have. 1.7.2 makes the key
10155
- * parse-transparent: whatever JSON value the file carries reaches the consumer verbatim. Display-only:
10156
- * no gate / policy / trust
10157
- * effect (the trust axis is `contentOrigin` above, which stays a closed table). Before this key existed
10158
- * both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
10159
- * (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`). */
10160
10253
  source: z.ZodOptional<z.ZodUnknown>;
10161
- /** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
10254
+ /** 1.9.0 —— 引擎的 `toolFaces` 覆盖层:按远端工具名 key 的 face 声明
10162
10255
  * (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
10163
- * 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
10164
- * 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
10165
- * 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
10256
+ * 缺席 = 不铸键。
10257
+ *
10258
+ * **解析透明** —— 形归谁校验、为什么不放这里:{@link PARSE_TRANSPARENT_KEYS}(`mcp.servers[].toolFaces`)。 */
10166
10259
  toolFaces: z.ZodOptional<z.ZodUnknown>;
10167
10260
  notes: z.ZodOptional<z.ZodString>;
10168
10261
  }, "strip", z.ZodTypeAny, {
@@ -10171,8 +10264,8 @@ export declare const DOMAIN_SCHEMAS: {
10171
10264
  rosters: string[];
10172
10265
  scenarios: string[];
10173
10266
  transport: {
10174
- command: string;
10175
10267
  kind: "stdio";
10268
+ command: string;
10176
10269
  args?: string[] | undefined;
10177
10270
  envRefs?: Record<string, string> | undefined;
10178
10271
  } | {
@@ -10190,8 +10283,8 @@ export declare const DOMAIN_SCHEMAS: {
10190
10283
  }, {
10191
10284
  name: string;
10192
10285
  transport: {
10193
- command: string;
10194
10286
  kind: "stdio";
10287
+ command: string;
10195
10288
  args?: string[] | undefined;
10196
10289
  envRefs?: Record<string, string> | undefined;
10197
10290
  } | {
@@ -10217,8 +10310,8 @@ export declare const DOMAIN_SCHEMAS: {
10217
10310
  rosters: string[];
10218
10311
  scenarios: string[];
10219
10312
  transport: {
10220
- command: string;
10221
10313
  kind: "stdio";
10314
+ command: string;
10222
10315
  args?: string[] | undefined;
10223
10316
  envRefs?: Record<string, string> | undefined;
10224
10317
  } | {
@@ -10238,8 +10331,8 @@ export declare const DOMAIN_SCHEMAS: {
10238
10331
  servers?: {
10239
10332
  name: string;
10240
10333
  transport: {
10241
- command: string;
10242
10334
  kind: "stdio";
10335
+ command: string;
10243
10336
  args?: string[] | undefined;
10244
10337
  envRefs?: Record<string, string> | undefined;
10245
10338
  } | {
@@ -10265,8 +10358,8 @@ export declare const DOMAIN_SCHEMAS: {
10265
10358
  rosters: string[];
10266
10359
  scenarios: string[];
10267
10360
  transport: {
10268
- command: string;
10269
10361
  kind: "stdio";
10362
+ command: string;
10270
10363
  args?: string[] | undefined;
10271
10364
  envRefs?: Record<string, string> | undefined;
10272
10365
  } | {
@@ -10286,8 +10379,8 @@ export declare const DOMAIN_SCHEMAS: {
10286
10379
  servers?: {
10287
10380
  name: string;
10288
10381
  transport: {
10289
- command: string;
10290
10382
  kind: "stdio";
10383
+ command: string;
10291
10384
  args?: string[] | undefined;
10292
10385
  envRefs?: Record<string, string> | undefined;
10293
10386
  } | {
@@ -10609,31 +10702,31 @@ export declare const DOMAIN_SCHEMAS: {
10609
10702
  * different lenses in ONE cardinality-"N" slot). Falls back to the slot's `rolePrompt`. */
10610
10703
  rolePrompt: z.ZodOptional<z.ZodString>;
10611
10704
  }, "strip", z.ZodTypeAny, {
10612
- modelRef?: string | undefined;
10613
10705
  rolePrompt?: string | undefined;
10614
- }, {
10615
10706
  modelRef?: string | undefined;
10707
+ }, {
10616
10708
  rolePrompt?: string | undefined;
10709
+ modelRef?: string | undefined;
10617
10710
  }>, "many">>;
10618
10711
  /** Tool names available to this slot's members (the old team `scenario` binding migrates here). */
10619
10712
  tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10620
10713
  }, "strip", z.ZodTypeAny, {
10621
10714
  id: string;
10715
+ cardinality: 1 | "N";
10622
10716
  members: {
10623
- modelRef?: string | undefined;
10624
10717
  rolePrompt?: string | undefined;
10718
+ modelRef?: string | undefined;
10625
10719
  }[];
10626
- cardinality: 1 | "N";
10627
10720
  rolePrompt?: string | undefined;
10628
10721
  tools?: string[] | undefined;
10629
10722
  }, {
10630
10723
  id: string;
10724
+ rolePrompt?: string | undefined;
10725
+ cardinality?: 1 | "N" | undefined;
10631
10726
  members?: {
10632
- modelRef?: string | undefined;
10633
10727
  rolePrompt?: string | undefined;
10728
+ modelRef?: string | undefined;
10634
10729
  }[] | undefined;
10635
- rolePrompt?: string | undefined;
10636
- cardinality?: 1 | "N" | undefined;
10637
10730
  tools?: string[] | undefined;
10638
10731
  }>, "many">;
10639
10732
  /** `max` is ALWAYS the safety cap (blackboard topology: event/round cap — required, 防跑飞);
@@ -10664,10 +10757,10 @@ export declare const DOMAIN_SCHEMAS: {
10664
10757
  persistence: z.ZodDefault<z.ZodEnum<["session", "store-blob", "git"]>>;
10665
10758
  }, "strip", z.ZodTypeAny, {
10666
10759
  kind: "blackboard" | "transcript";
10667
- persistence: "session" | "store-blob" | "git";
10760
+ persistence: "git" | "session" | "store-blob";
10668
10761
  }, {
10669
10762
  kind?: "blackboard" | "transcript" | undefined;
10670
- persistence?: "session" | "store-blob" | "git" | undefined;
10763
+ persistence?: "git" | "session" | "store-blob" | undefined;
10671
10764
  }>>;
10672
10765
  /** 多模型烧钱必须有闸 (拍板): the budget object is REQUIRED and at least one axis must be set. */
10673
10766
  budget: z.ZodObject<{
@@ -10686,18 +10779,14 @@ export declare const DOMAIN_SCHEMAS: {
10686
10779
  id: string;
10687
10780
  name: string;
10688
10781
  enabled: boolean;
10689
- budget: {
10690
- maxTokens?: number | undefined;
10691
- maxCost?: number | undefined;
10692
- };
10693
10782
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10694
10783
  slots: {
10695
10784
  id: string;
10785
+ cardinality: 1 | "N";
10696
10786
  members: {
10697
- modelRef?: string | undefined;
10698
10787
  rolePrompt?: string | undefined;
10788
+ modelRef?: string | undefined;
10699
10789
  }[];
10700
- cardinality: 1 | "N";
10701
10790
  rolePrompt?: string | undefined;
10702
10791
  tools?: string[] | undefined;
10703
10792
  }[];
@@ -10711,26 +10800,26 @@ export declare const DOMAIN_SCHEMAS: {
10711
10800
  };
10712
10801
  sharedContext: {
10713
10802
  kind: "blackboard" | "transcript";
10714
- persistence: "session" | "store-blob" | "git";
10803
+ persistence: "git" | "session" | "store-blob";
10804
+ };
10805
+ budget: {
10806
+ maxTokens?: number | undefined;
10807
+ maxCost?: number | undefined;
10715
10808
  };
10716
10809
  notes?: string | undefined;
10717
10810
  description?: string | undefined;
10718
10811
  }, {
10719
10812
  id: string;
10720
10813
  name: string;
10721
- budget: {
10722
- maxTokens?: number | undefined;
10723
- maxCost?: number | undefined;
10724
- };
10725
10814
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10726
10815
  slots: {
10727
10816
  id: string;
10817
+ rolePrompt?: string | undefined;
10818
+ cardinality?: 1 | "N" | undefined;
10728
10819
  members?: {
10729
- modelRef?: string | undefined;
10730
10820
  rolePrompt?: string | undefined;
10821
+ modelRef?: string | undefined;
10731
10822
  }[] | undefined;
10732
- rolePrompt?: string | undefined;
10733
- cardinality?: 1 | "N" | undefined;
10734
10823
  tools?: string[] | undefined;
10735
10824
  }[];
10736
10825
  rounds: {
@@ -10741,29 +10830,29 @@ export declare const DOMAIN_SCHEMAS: {
10741
10830
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10742
10831
  slot?: string | undefined;
10743
10832
  };
10833
+ budget: {
10834
+ maxTokens?: number | undefined;
10835
+ maxCost?: number | undefined;
10836
+ };
10744
10837
  enabled?: boolean | undefined;
10745
10838
  notes?: string | undefined;
10746
10839
  description?: string | undefined;
10747
10840
  sharedContext?: {
10748
10841
  kind?: "blackboard" | "transcript" | undefined;
10749
- persistence?: "session" | "store-blob" | "git" | undefined;
10842
+ persistence?: "git" | "session" | "store-blob" | undefined;
10750
10843
  } | undefined;
10751
10844
  }>, {
10752
10845
  id: string;
10753
10846
  name: string;
10754
10847
  enabled: boolean;
10755
- budget: {
10756
- maxTokens?: number | undefined;
10757
- maxCost?: number | undefined;
10758
- };
10759
10848
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10760
10849
  slots: {
10761
10850
  id: string;
10851
+ cardinality: 1 | "N";
10762
10852
  members: {
10763
- modelRef?: string | undefined;
10764
10853
  rolePrompt?: string | undefined;
10854
+ modelRef?: string | undefined;
10765
10855
  }[];
10766
- cardinality: 1 | "N";
10767
10856
  rolePrompt?: string | undefined;
10768
10857
  tools?: string[] | undefined;
10769
10858
  }[];
@@ -10777,26 +10866,26 @@ export declare const DOMAIN_SCHEMAS: {
10777
10866
  };
10778
10867
  sharedContext: {
10779
10868
  kind: "blackboard" | "transcript";
10780
- persistence: "session" | "store-blob" | "git";
10869
+ persistence: "git" | "session" | "store-blob";
10870
+ };
10871
+ budget: {
10872
+ maxTokens?: number | undefined;
10873
+ maxCost?: number | undefined;
10781
10874
  };
10782
10875
  notes?: string | undefined;
10783
10876
  description?: string | undefined;
10784
10877
  }, {
10785
10878
  id: string;
10786
10879
  name: string;
10787
- budget: {
10788
- maxTokens?: number | undefined;
10789
- maxCost?: number | undefined;
10790
- };
10791
10880
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10792
10881
  slots: {
10793
10882
  id: string;
10883
+ rolePrompt?: string | undefined;
10884
+ cardinality?: 1 | "N" | undefined;
10794
10885
  members?: {
10795
- modelRef?: string | undefined;
10796
10886
  rolePrompt?: string | undefined;
10887
+ modelRef?: string | undefined;
10797
10888
  }[] | undefined;
10798
- rolePrompt?: string | undefined;
10799
- cardinality?: 1 | "N" | undefined;
10800
10889
  tools?: string[] | undefined;
10801
10890
  }[];
10802
10891
  rounds: {
@@ -10807,12 +10896,16 @@ export declare const DOMAIN_SCHEMAS: {
10807
10896
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10808
10897
  slot?: string | undefined;
10809
10898
  };
10899
+ budget: {
10900
+ maxTokens?: number | undefined;
10901
+ maxCost?: number | undefined;
10902
+ };
10810
10903
  enabled?: boolean | undefined;
10811
10904
  notes?: string | undefined;
10812
10905
  description?: string | undefined;
10813
10906
  sharedContext?: {
10814
10907
  kind?: "blackboard" | "transcript" | undefined;
10815
- persistence?: "session" | "store-blob" | "git" | undefined;
10908
+ persistence?: "git" | "session" | "store-blob" | undefined;
10816
10909
  } | undefined;
10817
10910
  }>, "many">>;
10818
10911
  }, "strip", z.ZodTypeAny, {
@@ -10820,18 +10913,14 @@ export declare const DOMAIN_SCHEMAS: {
10820
10913
  id: string;
10821
10914
  name: string;
10822
10915
  enabled: boolean;
10823
- budget: {
10824
- maxTokens?: number | undefined;
10825
- maxCost?: number | undefined;
10826
- };
10827
10916
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10828
10917
  slots: {
10829
10918
  id: string;
10919
+ cardinality: 1 | "N";
10830
10920
  members: {
10831
- modelRef?: string | undefined;
10832
10921
  rolePrompt?: string | undefined;
10922
+ modelRef?: string | undefined;
10833
10923
  }[];
10834
- cardinality: 1 | "N";
10835
10924
  rolePrompt?: string | undefined;
10836
10925
  tools?: string[] | undefined;
10837
10926
  }[];
@@ -10845,7 +10934,11 @@ export declare const DOMAIN_SCHEMAS: {
10845
10934
  };
10846
10935
  sharedContext: {
10847
10936
  kind: "blackboard" | "transcript";
10848
- persistence: "session" | "store-blob" | "git";
10937
+ persistence: "git" | "session" | "store-blob";
10938
+ };
10939
+ budget: {
10940
+ maxTokens?: number | undefined;
10941
+ maxCost?: number | undefined;
10849
10942
  };
10850
10943
  notes?: string | undefined;
10851
10944
  description?: string | undefined;
@@ -10854,19 +10947,15 @@ export declare const DOMAIN_SCHEMAS: {
10854
10947
  templates?: {
10855
10948
  id: string;
10856
10949
  name: string;
10857
- budget: {
10858
- maxTokens?: number | undefined;
10859
- maxCost?: number | undefined;
10860
- };
10861
10950
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10862
10951
  slots: {
10863
10952
  id: string;
10953
+ rolePrompt?: string | undefined;
10954
+ cardinality?: 1 | "N" | undefined;
10864
10955
  members?: {
10865
- modelRef?: string | undefined;
10866
10956
  rolePrompt?: string | undefined;
10957
+ modelRef?: string | undefined;
10867
10958
  }[] | undefined;
10868
- rolePrompt?: string | undefined;
10869
- cardinality?: 1 | "N" | undefined;
10870
10959
  tools?: string[] | undefined;
10871
10960
  }[];
10872
10961
  rounds: {
@@ -10877,12 +10966,16 @@ export declare const DOMAIN_SCHEMAS: {
10877
10966
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10878
10967
  slot?: string | undefined;
10879
10968
  };
10969
+ budget: {
10970
+ maxTokens?: number | undefined;
10971
+ maxCost?: number | undefined;
10972
+ };
10880
10973
  enabled?: boolean | undefined;
10881
10974
  notes?: string | undefined;
10882
10975
  description?: string | undefined;
10883
10976
  sharedContext?: {
10884
10977
  kind?: "blackboard" | "transcript" | undefined;
10885
- persistence?: "session" | "store-blob" | "git" | undefined;
10978
+ persistence?: "git" | "session" | "store-blob" | undefined;
10886
10979
  } | undefined;
10887
10980
  }[] | undefined;
10888
10981
  }>, {
@@ -10890,18 +10983,14 @@ export declare const DOMAIN_SCHEMAS: {
10890
10983
  id: string;
10891
10984
  name: string;
10892
10985
  enabled: boolean;
10893
- budget: {
10894
- maxTokens?: number | undefined;
10895
- maxCost?: number | undefined;
10896
- };
10897
10986
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10898
10987
  slots: {
10899
10988
  id: string;
10989
+ cardinality: 1 | "N";
10900
10990
  members: {
10901
- modelRef?: string | undefined;
10902
10991
  rolePrompt?: string | undefined;
10992
+ modelRef?: string | undefined;
10903
10993
  }[];
10904
- cardinality: 1 | "N";
10905
10994
  rolePrompt?: string | undefined;
10906
10995
  tools?: string[] | undefined;
10907
10996
  }[];
@@ -10915,7 +11004,11 @@ export declare const DOMAIN_SCHEMAS: {
10915
11004
  };
10916
11005
  sharedContext: {
10917
11006
  kind: "blackboard" | "transcript";
10918
- persistence: "session" | "store-blob" | "git";
11007
+ persistence: "git" | "session" | "store-blob";
11008
+ };
11009
+ budget: {
11010
+ maxTokens?: number | undefined;
11011
+ maxCost?: number | undefined;
10919
11012
  };
10920
11013
  notes?: string | undefined;
10921
11014
  description?: string | undefined;
@@ -10924,19 +11017,15 @@ export declare const DOMAIN_SCHEMAS: {
10924
11017
  templates?: {
10925
11018
  id: string;
10926
11019
  name: string;
10927
- budget: {
10928
- maxTokens?: number | undefined;
10929
- maxCost?: number | undefined;
10930
- };
10931
11020
  topology: "star" | "ring" | "layered" | "pair" | "blackboard";
10932
11021
  slots: {
10933
11022
  id: string;
11023
+ rolePrompt?: string | undefined;
11024
+ cardinality?: 1 | "N" | undefined;
10934
11025
  members?: {
10935
- modelRef?: string | undefined;
10936
11026
  rolePrompt?: string | undefined;
11027
+ modelRef?: string | undefined;
10937
11028
  }[] | undefined;
10938
- rolePrompt?: string | undefined;
10939
- cardinality?: 1 | "N" | undefined;
10940
11029
  tools?: string[] | undefined;
10941
11030
  }[];
10942
11031
  rounds: {
@@ -10947,12 +11036,16 @@ export declare const DOMAIN_SCHEMAS: {
10947
11036
  type: "summarize" | "judge" | "vote" | "fuse" | "verify" | "none";
10948
11037
  slot?: string | undefined;
10949
11038
  };
11039
+ budget: {
11040
+ maxTokens?: number | undefined;
11041
+ maxCost?: number | undefined;
11042
+ };
10950
11043
  enabled?: boolean | undefined;
10951
11044
  notes?: string | undefined;
10952
11045
  description?: string | undefined;
10953
11046
  sharedContext?: {
10954
11047
  kind?: "blackboard" | "transcript" | undefined;
10955
- persistence?: "session" | "store-blob" | "git" | undefined;
11048
+ persistence?: "git" | "session" | "store-blob" | undefined;
10956
11049
  } | undefined;
10957
11050
  }[] | undefined;
10958
11051
  }>;
@@ -11077,7 +11170,6 @@ export declare const DOMAIN_SCHEMAS: {
11077
11170
  * (worker-side default 600s, floor 10s). */
11078
11171
  drainGraceMs: z.ZodOptional<z.ZodNumber>;
11079
11172
  }, "strip", z.ZodTypeAny, {
11080
- drainGraceMs?: number | undefined;
11081
11173
  dispatch?: {
11082
11174
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11083
11175
  sessionAffinity: boolean;
@@ -11085,8 +11177,8 @@ export declare const DOMAIN_SCHEMAS: {
11085
11177
  perActorMaxInflight?: number | undefined;
11086
11178
  maxCostUsd?: number | undefined;
11087
11179
  } | undefined;
11088
- }, {
11089
11180
  drainGraceMs?: number | undefined;
11181
+ }, {
11090
11182
  dispatch?: {
11091
11183
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11092
11184
  sessionAffinity?: boolean | undefined;
@@ -11094,6 +11186,7 @@ export declare const DOMAIN_SCHEMAS: {
11094
11186
  perActorMaxInflight?: number | undefined;
11095
11187
  maxCostUsd?: number | undefined;
11096
11188
  } | undefined;
11189
+ drainGraceMs?: number | undefined;
11097
11190
  }>>;
11098
11191
  /** 运行时 (非 secret). 映射到 service SESSION_BACKEND/REQUIRE_PRINCIPAL/RATE_LIMIT_RPM/… */
11099
11192
  runtime: z.ZodObject<{
@@ -11110,21 +11203,21 @@ export declare const DOMAIN_SCHEMAS: {
11110
11203
  * default → absent never materialises → no spec-hash churn. Hash-included (read at boot → cap change recreates). */
11111
11204
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
11112
11205
  }, "strip", z.ZodTypeAny, {
11113
- sessionBackend: "auto" | "memory" | "tidb";
11206
+ sessionBackend: "memory" | "tidb" | "auto";
11114
11207
  memoryBackend: "memory" | "tidb" | "off";
11115
11208
  requirePrincipal: boolean;
11116
11209
  rateLimitRpm: number;
11117
- maxPrincipalCostUsd?: number | undefined;
11118
- scenario?: string | undefined;
11119
11210
  db?: string | undefined;
11120
- }, {
11121
- maxPrincipalCostUsd?: number | undefined;
11122
11211
  scenario?: string | undefined;
11123
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11212
+ maxPrincipalCostUsd?: number | undefined;
11213
+ }, {
11214
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11124
11215
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11125
11216
  db?: string | undefined;
11217
+ scenario?: string | undefined;
11126
11218
  requirePrincipal?: boolean | undefined;
11127
11219
  rateLimitRpm?: number | undefined;
11220
+ maxPrincipalCostUsd?: number | undefined;
11128
11221
  }>;
11129
11222
  /** 物理坐标 (非 secret). 映射到 GIT_API_BASEURL / TIDB_HOST 等. */
11130
11223
  coords: z.ZodDefault<z.ZodObject<{
@@ -11199,16 +11292,16 @@ export declare const DOMAIN_SCHEMAS: {
11199
11292
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11200
11293
  }, "strip", z.ZodTypeAny, {
11201
11294
  kind: "persistent" | "ephemeral";
11202
- owner?: string | undefined;
11203
11295
  ttl?: string | undefined;
11204
11296
  idleTimeout?: string | undefined;
11297
+ owner?: string | undefined;
11205
11298
  purpose?: string | undefined;
11206
11299
  dependsOn?: string[] | undefined;
11207
11300
  }, {
11208
- owner?: string | undefined;
11209
11301
  kind?: "persistent" | "ephemeral" | undefined;
11210
11302
  ttl?: string | undefined;
11211
11303
  idleTimeout?: string | undefined;
11304
+ owner?: string | undefined;
11212
11305
  purpose?: string | undefined;
11213
11306
  dependsOn?: string[] | undefined;
11214
11307
  }>>;
@@ -11221,7 +11314,7 @@ export declare const DOMAIN_SCHEMAS: {
11221
11314
  auto: z.ZodDefault<z.ZodBoolean>;
11222
11315
  requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
11223
11316
  /** SOFT anti-affinity group: auto workers sharing this key are spread across hosts when possible
11224
- * (preferred, never blocks placement — design SCHEDULING.md). 不填 = 无 spread 约束。 */
11317
+ * (preferred, never blocks placement — the scheduling design note). 不填 = 无 spread 约束。 */
11225
11318
  spread: z.ZodOptional<z.ZodString>;
11226
11319
  }, "strip", z.ZodTypeAny, {
11227
11320
  auto: boolean;
@@ -11233,7 +11326,7 @@ export declare const DOMAIN_SCHEMAS: {
11233
11326
  spread?: string | undefined;
11234
11327
  }>>;
11235
11328
  /**
11236
- * per-worker roster 引用 (docs/MULTI-ROSTER.md)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
11329
+ * per-worker roster 引用 (the multi-roster design note)。指向 `rosters` 域里一个命名 roster;该 worker 的 service 拉
11237
11330
  * `GET /api/config/effective?worker=<name>` 时,sema-registry 用这个 roster 解析它专属的 models/roles/@白名单。
11238
11331
  * 不填 → 该 worker 拿全局 models(向后兼容)。**不进 `workerSpecHash`**(改 roster 只让 service 重拉、不重建容器)。
11239
11332
  */
@@ -11247,13 +11340,13 @@ export declare const DOMAIN_SCHEMAS: {
11247
11340
  host: string;
11248
11341
  image: string;
11249
11342
  runtime: {
11250
- sessionBackend: "auto" | "memory" | "tidb";
11343
+ sessionBackend: "memory" | "tidb" | "auto";
11251
11344
  memoryBackend: "memory" | "tidb" | "off";
11252
11345
  requirePrincipal: boolean;
11253
11346
  rateLimitRpm: number;
11254
- maxPrincipalCostUsd?: number | undefined;
11255
- scenario?: string | undefined;
11256
11347
  db?: string | undefined;
11348
+ scenario?: string | undefined;
11349
+ maxPrincipalCostUsd?: number | undefined;
11257
11350
  };
11258
11351
  coords: {
11259
11352
  gitApiBaseUrl?: string | undefined;
@@ -11268,7 +11361,6 @@ export declare const DOMAIN_SCHEMAS: {
11268
11361
  tidbPasswordEnv?: string | undefined;
11269
11362
  };
11270
11363
  notes?: string | undefined;
11271
- roster?: string | undefined;
11272
11364
  routePrefix?: string | undefined;
11273
11365
  replicas?: number | undefined;
11274
11366
  autoscaling?: {
@@ -11287,7 +11379,6 @@ export declare const DOMAIN_SCHEMAS: {
11287
11379
  } | undefined;
11288
11380
  } | undefined;
11289
11381
  fleet?: {
11290
- drainGraceMs?: number | undefined;
11291
11382
  dispatch?: {
11292
11383
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11293
11384
  sessionAffinity: boolean;
@@ -11295,15 +11386,16 @@ export declare const DOMAIN_SCHEMAS: {
11295
11386
  perActorMaxInflight?: number | undefined;
11296
11387
  maxCostUsd?: number | undefined;
11297
11388
  } | undefined;
11389
+ drainGraceMs?: number | undefined;
11298
11390
  } | undefined;
11299
11391
  env?: Record<string, string> | undefined;
11300
11392
  secretEnv?: Record<string, string> | undefined;
11301
11393
  recreateNonce?: string | undefined;
11302
11394
  lifecycle?: {
11303
11395
  kind: "persistent" | "ephemeral";
11304
- owner?: string | undefined;
11305
11396
  ttl?: string | undefined;
11306
11397
  idleTimeout?: string | undefined;
11398
+ owner?: string | undefined;
11307
11399
  purpose?: string | undefined;
11308
11400
  dependsOn?: string[] | undefined;
11309
11401
  } | undefined;
@@ -11312,17 +11404,18 @@ export declare const DOMAIN_SCHEMAS: {
11312
11404
  requires: string[];
11313
11405
  spread?: string | undefined;
11314
11406
  } | undefined;
11407
+ roster?: string | undefined;
11315
11408
  signature?: string | undefined;
11316
11409
  }, {
11317
11410
  name: string;
11318
11411
  runtime: {
11319
- maxPrincipalCostUsd?: number | undefined;
11320
- scenario?: string | undefined;
11321
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11412
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11322
11413
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11323
11414
  db?: string | undefined;
11415
+ scenario?: string | undefined;
11324
11416
  requirePrincipal?: boolean | undefined;
11325
11417
  rateLimitRpm?: number | undefined;
11418
+ maxPrincipalCostUsd?: number | undefined;
11326
11419
  };
11327
11420
  secretRefs: {
11328
11421
  apiKeyEnv: string;
@@ -11332,7 +11425,6 @@ export declare const DOMAIN_SCHEMAS: {
11332
11425
  };
11333
11426
  enabled?: boolean | undefined;
11334
11427
  notes?: string | undefined;
11335
- roster?: string | undefined;
11336
11428
  host?: string | undefined;
11337
11429
  image?: string | undefined;
11338
11430
  routePrefix?: string | undefined;
@@ -11353,7 +11445,6 @@ export declare const DOMAIN_SCHEMAS: {
11353
11445
  } | undefined;
11354
11446
  } | undefined;
11355
11447
  fleet?: {
11356
- drainGraceMs?: number | undefined;
11357
11448
  dispatch?: {
11358
11449
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11359
11450
  sessionAffinity?: boolean | undefined;
@@ -11361,6 +11452,7 @@ export declare const DOMAIN_SCHEMAS: {
11361
11452
  perActorMaxInflight?: number | undefined;
11362
11453
  maxCostUsd?: number | undefined;
11363
11454
  } | undefined;
11455
+ drainGraceMs?: number | undefined;
11364
11456
  } | undefined;
11365
11457
  coords?: {
11366
11458
  gitApiBaseUrl?: string | undefined;
@@ -11372,10 +11464,10 @@ export declare const DOMAIN_SCHEMAS: {
11372
11464
  secretEnv?: Record<string, string> | undefined;
11373
11465
  recreateNonce?: string | undefined;
11374
11466
  lifecycle?: {
11375
- owner?: string | undefined;
11376
11467
  kind?: "persistent" | "ephemeral" | undefined;
11377
11468
  ttl?: string | undefined;
11378
11469
  idleTimeout?: string | undefined;
11470
+ owner?: string | undefined;
11379
11471
  purpose?: string | undefined;
11380
11472
  dependsOn?: string[] | undefined;
11381
11473
  } | undefined;
@@ -11384,6 +11476,7 @@ export declare const DOMAIN_SCHEMAS: {
11384
11476
  requires?: string[] | undefined;
11385
11477
  spread?: string | undefined;
11386
11478
  } | undefined;
11479
+ roster?: string | undefined;
11387
11480
  signature?: string | undefined;
11388
11481
  }>, "many">>;
11389
11482
  }, "strip", z.ZodTypeAny, {
@@ -11393,13 +11486,13 @@ export declare const DOMAIN_SCHEMAS: {
11393
11486
  host: string;
11394
11487
  image: string;
11395
11488
  runtime: {
11396
- sessionBackend: "auto" | "memory" | "tidb";
11489
+ sessionBackend: "memory" | "tidb" | "auto";
11397
11490
  memoryBackend: "memory" | "tidb" | "off";
11398
11491
  requirePrincipal: boolean;
11399
11492
  rateLimitRpm: number;
11400
- maxPrincipalCostUsd?: number | undefined;
11401
- scenario?: string | undefined;
11402
11493
  db?: string | undefined;
11494
+ scenario?: string | undefined;
11495
+ maxPrincipalCostUsd?: number | undefined;
11403
11496
  };
11404
11497
  coords: {
11405
11498
  gitApiBaseUrl?: string | undefined;
@@ -11414,7 +11507,6 @@ export declare const DOMAIN_SCHEMAS: {
11414
11507
  tidbPasswordEnv?: string | undefined;
11415
11508
  };
11416
11509
  notes?: string | undefined;
11417
- roster?: string | undefined;
11418
11510
  routePrefix?: string | undefined;
11419
11511
  replicas?: number | undefined;
11420
11512
  autoscaling?: {
@@ -11433,7 +11525,6 @@ export declare const DOMAIN_SCHEMAS: {
11433
11525
  } | undefined;
11434
11526
  } | undefined;
11435
11527
  fleet?: {
11436
- drainGraceMs?: number | undefined;
11437
11528
  dispatch?: {
11438
11529
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11439
11530
  sessionAffinity: boolean;
@@ -11441,15 +11532,16 @@ export declare const DOMAIN_SCHEMAS: {
11441
11532
  perActorMaxInflight?: number | undefined;
11442
11533
  maxCostUsd?: number | undefined;
11443
11534
  } | undefined;
11535
+ drainGraceMs?: number | undefined;
11444
11536
  } | undefined;
11445
11537
  env?: Record<string, string> | undefined;
11446
11538
  secretEnv?: Record<string, string> | undefined;
11447
11539
  recreateNonce?: string | undefined;
11448
11540
  lifecycle?: {
11449
11541
  kind: "persistent" | "ephemeral";
11450
- owner?: string | undefined;
11451
11542
  ttl?: string | undefined;
11452
11543
  idleTimeout?: string | undefined;
11544
+ owner?: string | undefined;
11453
11545
  purpose?: string | undefined;
11454
11546
  dependsOn?: string[] | undefined;
11455
11547
  } | undefined;
@@ -11458,19 +11550,20 @@ export declare const DOMAIN_SCHEMAS: {
11458
11550
  requires: string[];
11459
11551
  spread?: string | undefined;
11460
11552
  } | undefined;
11553
+ roster?: string | undefined;
11461
11554
  signature?: string | undefined;
11462
11555
  }[];
11463
11556
  }, {
11464
11557
  workers?: {
11465
11558
  name: string;
11466
11559
  runtime: {
11467
- maxPrincipalCostUsd?: number | undefined;
11468
- scenario?: string | undefined;
11469
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11560
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11470
11561
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11471
11562
  db?: string | undefined;
11563
+ scenario?: string | undefined;
11472
11564
  requirePrincipal?: boolean | undefined;
11473
11565
  rateLimitRpm?: number | undefined;
11566
+ maxPrincipalCostUsd?: number | undefined;
11474
11567
  };
11475
11568
  secretRefs: {
11476
11569
  apiKeyEnv: string;
@@ -11480,7 +11573,6 @@ export declare const DOMAIN_SCHEMAS: {
11480
11573
  };
11481
11574
  enabled?: boolean | undefined;
11482
11575
  notes?: string | undefined;
11483
- roster?: string | undefined;
11484
11576
  host?: string | undefined;
11485
11577
  image?: string | undefined;
11486
11578
  routePrefix?: string | undefined;
@@ -11501,7 +11593,6 @@ export declare const DOMAIN_SCHEMAS: {
11501
11593
  } | undefined;
11502
11594
  } | undefined;
11503
11595
  fleet?: {
11504
- drainGraceMs?: number | undefined;
11505
11596
  dispatch?: {
11506
11597
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11507
11598
  sessionAffinity?: boolean | undefined;
@@ -11509,6 +11600,7 @@ export declare const DOMAIN_SCHEMAS: {
11509
11600
  perActorMaxInflight?: number | undefined;
11510
11601
  maxCostUsd?: number | undefined;
11511
11602
  } | undefined;
11603
+ drainGraceMs?: number | undefined;
11512
11604
  } | undefined;
11513
11605
  coords?: {
11514
11606
  gitApiBaseUrl?: string | undefined;
@@ -11520,10 +11612,10 @@ export declare const DOMAIN_SCHEMAS: {
11520
11612
  secretEnv?: Record<string, string> | undefined;
11521
11613
  recreateNonce?: string | undefined;
11522
11614
  lifecycle?: {
11523
- owner?: string | undefined;
11524
11615
  kind?: "persistent" | "ephemeral" | undefined;
11525
11616
  ttl?: string | undefined;
11526
11617
  idleTimeout?: string | undefined;
11618
+ owner?: string | undefined;
11527
11619
  purpose?: string | undefined;
11528
11620
  dependsOn?: string[] | undefined;
11529
11621
  } | undefined;
@@ -11532,6 +11624,7 @@ export declare const DOMAIN_SCHEMAS: {
11532
11624
  requires?: string[] | undefined;
11533
11625
  spread?: string | undefined;
11534
11626
  } | undefined;
11627
+ roster?: string | undefined;
11535
11628
  signature?: string | undefined;
11536
11629
  }[] | undefined;
11537
11630
  }>, {
@@ -11541,13 +11634,13 @@ export declare const DOMAIN_SCHEMAS: {
11541
11634
  host: string;
11542
11635
  image: string;
11543
11636
  runtime: {
11544
- sessionBackend: "auto" | "memory" | "tidb";
11637
+ sessionBackend: "memory" | "tidb" | "auto";
11545
11638
  memoryBackend: "memory" | "tidb" | "off";
11546
11639
  requirePrincipal: boolean;
11547
11640
  rateLimitRpm: number;
11548
- maxPrincipalCostUsd?: number | undefined;
11549
- scenario?: string | undefined;
11550
11641
  db?: string | undefined;
11642
+ scenario?: string | undefined;
11643
+ maxPrincipalCostUsd?: number | undefined;
11551
11644
  };
11552
11645
  coords: {
11553
11646
  gitApiBaseUrl?: string | undefined;
@@ -11562,7 +11655,6 @@ export declare const DOMAIN_SCHEMAS: {
11562
11655
  tidbPasswordEnv?: string | undefined;
11563
11656
  };
11564
11657
  notes?: string | undefined;
11565
- roster?: string | undefined;
11566
11658
  routePrefix?: string | undefined;
11567
11659
  replicas?: number | undefined;
11568
11660
  autoscaling?: {
@@ -11581,7 +11673,6 @@ export declare const DOMAIN_SCHEMAS: {
11581
11673
  } | undefined;
11582
11674
  } | undefined;
11583
11675
  fleet?: {
11584
- drainGraceMs?: number | undefined;
11585
11676
  dispatch?: {
11586
11677
  strategy: "round-robin" | "least-inflight" | "consistent-hash";
11587
11678
  sessionAffinity: boolean;
@@ -11589,15 +11680,16 @@ export declare const DOMAIN_SCHEMAS: {
11589
11680
  perActorMaxInflight?: number | undefined;
11590
11681
  maxCostUsd?: number | undefined;
11591
11682
  } | undefined;
11683
+ drainGraceMs?: number | undefined;
11592
11684
  } | undefined;
11593
11685
  env?: Record<string, string> | undefined;
11594
11686
  secretEnv?: Record<string, string> | undefined;
11595
11687
  recreateNonce?: string | undefined;
11596
11688
  lifecycle?: {
11597
11689
  kind: "persistent" | "ephemeral";
11598
- owner?: string | undefined;
11599
11690
  ttl?: string | undefined;
11600
11691
  idleTimeout?: string | undefined;
11692
+ owner?: string | undefined;
11601
11693
  purpose?: string | undefined;
11602
11694
  dependsOn?: string[] | undefined;
11603
11695
  } | undefined;
@@ -11606,19 +11698,20 @@ export declare const DOMAIN_SCHEMAS: {
11606
11698
  requires: string[];
11607
11699
  spread?: string | undefined;
11608
11700
  } | undefined;
11701
+ roster?: string | undefined;
11609
11702
  signature?: string | undefined;
11610
11703
  }[];
11611
11704
  }, {
11612
11705
  workers?: {
11613
11706
  name: string;
11614
11707
  runtime: {
11615
- maxPrincipalCostUsd?: number | undefined;
11616
- scenario?: string | undefined;
11617
- sessionBackend?: "auto" | "memory" | "tidb" | undefined;
11708
+ sessionBackend?: "memory" | "tidb" | "auto" | undefined;
11618
11709
  memoryBackend?: "memory" | "tidb" | "off" | undefined;
11619
11710
  db?: string | undefined;
11711
+ scenario?: string | undefined;
11620
11712
  requirePrincipal?: boolean | undefined;
11621
11713
  rateLimitRpm?: number | undefined;
11714
+ maxPrincipalCostUsd?: number | undefined;
11622
11715
  };
11623
11716
  secretRefs: {
11624
11717
  apiKeyEnv: string;
@@ -11628,7 +11721,6 @@ export declare const DOMAIN_SCHEMAS: {
11628
11721
  };
11629
11722
  enabled?: boolean | undefined;
11630
11723
  notes?: string | undefined;
11631
- roster?: string | undefined;
11632
11724
  host?: string | undefined;
11633
11725
  image?: string | undefined;
11634
11726
  routePrefix?: string | undefined;
@@ -11649,7 +11741,6 @@ export declare const DOMAIN_SCHEMAS: {
11649
11741
  } | undefined;
11650
11742
  } | undefined;
11651
11743
  fleet?: {
11652
- drainGraceMs?: number | undefined;
11653
11744
  dispatch?: {
11654
11745
  strategy?: "round-robin" | "least-inflight" | "consistent-hash" | undefined;
11655
11746
  sessionAffinity?: boolean | undefined;
@@ -11657,6 +11748,7 @@ export declare const DOMAIN_SCHEMAS: {
11657
11748
  perActorMaxInflight?: number | undefined;
11658
11749
  maxCostUsd?: number | undefined;
11659
11750
  } | undefined;
11751
+ drainGraceMs?: number | undefined;
11660
11752
  } | undefined;
11661
11753
  coords?: {
11662
11754
  gitApiBaseUrl?: string | undefined;
@@ -11668,10 +11760,10 @@ export declare const DOMAIN_SCHEMAS: {
11668
11760
  secretEnv?: Record<string, string> | undefined;
11669
11761
  recreateNonce?: string | undefined;
11670
11762
  lifecycle?: {
11671
- owner?: string | undefined;
11672
11763
  kind?: "persistent" | "ephemeral" | undefined;
11673
11764
  ttl?: string | undefined;
11674
11765
  idleTimeout?: string | undefined;
11766
+ owner?: string | undefined;
11675
11767
  purpose?: string | undefined;
11676
11768
  dependsOn?: string[] | undefined;
11677
11769
  } | undefined;
@@ -11680,6 +11772,7 @@ export declare const DOMAIN_SCHEMAS: {
11680
11772
  requires?: string[] | undefined;
11681
11773
  spread?: string | undefined;
11682
11774
  } | undefined;
11775
+ roster?: string | undefined;
11683
11776
  signature?: string | undefined;
11684
11777
  }[] | undefined;
11685
11778
  }>;
@@ -11755,16 +11848,16 @@ export declare const DOMAIN_SCHEMAS: {
11755
11848
  maxPrincipalCostUsd: z.ZodOptional<z.ZodNumber>;
11756
11849
  costQuotaWindowSec: z.ZodOptional<z.ZodNumber>;
11757
11850
  }, "strip", z.ZodTypeAny, {
11851
+ maxPrincipalCostUsd?: number | undefined;
11758
11852
  rateLimitPerMin?: number | undefined;
11759
11853
  maxTaskCostUsd?: number | undefined;
11760
11854
  maxTaskTokens?: number | undefined;
11761
- maxPrincipalCostUsd?: number | undefined;
11762
11855
  costQuotaWindowSec?: number | undefined;
11763
11856
  }, {
11857
+ maxPrincipalCostUsd?: number | undefined;
11764
11858
  rateLimitPerMin?: number | undefined;
11765
11859
  maxTaskCostUsd?: number | undefined;
11766
11860
  maxTaskTokens?: number | undefined;
11767
- maxPrincipalCostUsd?: number | undefined;
11768
11861
  costQuotaWindowSec?: number | undefined;
11769
11862
  }>;
11770
11863
  readonly governance: z.ZodObject<{
@@ -11782,14 +11875,14 @@ export declare const DOMAIN_SCHEMAS: {
11782
11875
  /** Tool names needing operator approval (F4). Moved verbatim from runtime (same ABSENT/explicit-[] semantics). */
11783
11876
  approvalRequire: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11784
11877
  }, "strip", z.ZodTypeAny, {
11785
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
11878
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
11786
11879
  commandPolicy?: {
11787
11880
  command: string;
11788
11881
  decision: "ask" | "allow" | "deny";
11789
11882
  }[] | undefined;
11790
11883
  approvalRequire?: string[] | undefined;
11791
11884
  }, {
11792
- autonomy?: "read-only" | "ask" | "plan" | "auto" | undefined;
11885
+ autonomy?: "auto" | "read-only" | "ask" | "plan" | undefined;
11793
11886
  commandPolicy?: {
11794
11887
  command: string;
11795
11888
  decision: "ask" | "allow" | "deny";
@@ -12187,10 +12280,6 @@ export declare const DOMAIN_SCHEMAS: {
12187
12280
  }, "strip", z.ZodTypeAny, {
12188
12281
  id: string;
12189
12282
  models?: string[] | undefined;
12190
- roster?: string | undefined;
12191
- visibleSkills?: string[] | undefined;
12192
- visibleMcp?: string[] | undefined;
12193
- visiblePlugins?: string[] | undefined;
12194
12283
  budget?: {
12195
12284
  mode?: "soft" | "hard" | "degrade" | undefined;
12196
12285
  maxBudgetUsd?: number | undefined;
@@ -12207,6 +12296,7 @@ export declare const DOMAIN_SCHEMAS: {
12207
12296
  maxIterations?: number | undefined;
12208
12297
  enforcement?: "local" | "lease" | "central" | undefined;
12209
12298
  } | undefined;
12299
+ roster?: string | undefined;
12210
12300
  runtimeCaps?: {
12211
12301
  allowBypassPermissions?: boolean | undefined;
12212
12302
  allowAutoMode?: boolean | undefined;
@@ -12218,17 +12308,16 @@ export declare const DOMAIN_SCHEMAS: {
12218
12308
  allowMemoryOptOut?: boolean | undefined;
12219
12309
  forceDurableGate?: boolean | undefined;
12220
12310
  } | undefined;
12311
+ tokenQuota?: undefined;
12312
+ visibleSkills?: string[] | undefined;
12313
+ visibleMcp?: string[] | undefined;
12314
+ visiblePlugins?: string[] | undefined;
12221
12315
  orgMemory?: Record<string, {
12222
12316
  write?: boolean | undefined;
12223
12317
  }> | undefined;
12224
- tokenQuota?: undefined;
12225
12318
  }, {
12226
12319
  id: string;
12227
12320
  models?: string[] | undefined;
12228
- roster?: string | undefined;
12229
- visibleSkills?: string[] | undefined;
12230
- visibleMcp?: string[] | undefined;
12231
- visiblePlugins?: string[] | undefined;
12232
12321
  budget?: {
12233
12322
  mode?: "soft" | "hard" | "degrade" | undefined;
12234
12323
  maxBudgetUsd?: number | undefined;
@@ -12245,6 +12334,7 @@ export declare const DOMAIN_SCHEMAS: {
12245
12334
  maxIterations?: number | undefined;
12246
12335
  enforcement?: "local" | "lease" | "central" | undefined;
12247
12336
  } | undefined;
12337
+ roster?: string | undefined;
12248
12338
  runtimeCaps?: {
12249
12339
  allowBypassPermissions?: boolean | undefined;
12250
12340
  allowAutoMode?: boolean | undefined;
@@ -12256,10 +12346,13 @@ export declare const DOMAIN_SCHEMAS: {
12256
12346
  allowMemoryOptOut?: boolean | undefined;
12257
12347
  forceDurableGate?: boolean | undefined;
12258
12348
  } | undefined;
12349
+ tokenQuota?: undefined;
12350
+ visibleSkills?: string[] | undefined;
12351
+ visibleMcp?: string[] | undefined;
12352
+ visiblePlugins?: string[] | undefined;
12259
12353
  orgMemory?: Record<string, {
12260
12354
  write?: boolean | undefined;
12261
12355
  }> | undefined;
12262
- tokenQuota?: undefined;
12263
12356
  }>, "many">>;
12264
12357
  subjects: z.ZodDefault<z.ZodArray<z.ZodObject<{
12265
12358
  principal: z.ZodString;
@@ -12270,6 +12363,8 @@ export declare const DOMAIN_SCHEMAS: {
12270
12363
  overrides: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
12271
12364
  principal: z.ZodString;
12272
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`). */
12273
12368
  value: z.ZodUnknown;
12274
12369
  effectiveFrom: z.ZodOptional<z.ZodString>;
12275
12370
  effectiveUntil: z.ZodOptional<z.ZodString>;
@@ -12410,11 +12505,11 @@ export declare const DOMAIN_SCHEMAS: {
12410
12505
  } & {
12411
12506
  group: z.ZodString;
12412
12507
  }, "strip", z.ZodTypeAny, {
12413
- memberSince: string;
12414
12508
  group: string;
12415
- }, {
12416
12509
  memberSince: string;
12510
+ }, {
12417
12511
  group: string;
12512
+ memberSince: string;
12418
12513
  }>, "many">>;
12419
12514
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
12420
12515
  /** 池成员生效时刻(ISO)——用量聚合的下边界。 */
@@ -12430,8 +12525,8 @@ export declare const DOMAIN_SCHEMAS: {
12430
12525
  }>, "many">>;
12431
12526
  }, "strip", z.ZodTypeAny, {
12432
12527
  groups: {
12433
- memberSince: string;
12434
12528
  group: string;
12529
+ memberSince: string;
12435
12530
  }[];
12436
12531
  principals: {
12437
12532
  principal: string;
@@ -12439,8 +12534,8 @@ export declare const DOMAIN_SCHEMAS: {
12439
12534
  }[];
12440
12535
  }, {
12441
12536
  groups?: {
12442
- memberSince: string;
12443
12537
  group: string;
12538
+ memberSince: string;
12444
12539
  }[] | undefined;
12445
12540
  principals?: {
12446
12541
  principal: string;
@@ -12450,33 +12545,33 @@ export declare const DOMAIN_SCHEMAS: {
12450
12545
  }, "strip", z.ZodTypeAny, {
12451
12546
  id: string;
12452
12547
  name: string;
12453
- maxBudgetUsd: number;
12454
12548
  members: {
12455
12549
  groups: {
12456
- memberSince: string;
12457
12550
  group: string;
12551
+ memberSince: string;
12458
12552
  }[];
12459
12553
  principals: {
12460
12554
  principal: string;
12461
12555
  memberSince: string;
12462
12556
  }[];
12463
12557
  };
12558
+ maxBudgetUsd: number;
12464
12559
  budgetDuration?: string | undefined;
12465
12560
  }, {
12466
12561
  id: string;
12467
12562
  name: string;
12468
12563
  maxBudgetUsd: number;
12469
- budgetDuration?: string | undefined;
12470
12564
  members?: {
12471
12565
  groups?: {
12472
- memberSince: string;
12473
12566
  group: string;
12567
+ memberSince: string;
12474
12568
  }[] | undefined;
12475
12569
  principals?: {
12476
12570
  principal: string;
12477
12571
  memberSince: string;
12478
12572
  }[] | undefined;
12479
12573
  } | undefined;
12574
+ budgetDuration?: string | undefined;
12480
12575
  }>, "many">>;
12481
12576
  /** 生效场景分配(0.6.0 §7)——见 {@link ScenarioAssignments}。 */
12482
12577
  scenarioAssignments: z.ZodOptional<z.ZodObject<{
@@ -12486,11 +12581,11 @@ export declare const DOMAIN_SCHEMAS: {
12486
12581
  group: z.ZodString;
12487
12582
  scenario: z.ZodString;
12488
12583
  }, "strip", z.ZodTypeAny, {
12489
- group: string;
12490
12584
  scenario: string;
12491
- }, {
12492
12585
  group: string;
12586
+ }, {
12493
12587
  scenario: string;
12588
+ group: string;
12494
12589
  }>, "many">>;
12495
12590
  principals: z.ZodDefault<z.ZodArray<z.ZodObject<{
12496
12591
  principal: z.ZodString;
@@ -12504,8 +12599,8 @@ export declare const DOMAIN_SCHEMAS: {
12504
12599
  }>, "many">>;
12505
12600
  }, "strip", z.ZodTypeAny, {
12506
12601
  groups: {
12507
- group: string;
12508
12602
  scenario: string;
12603
+ group: string;
12509
12604
  }[];
12510
12605
  principals: {
12511
12606
  principal: string;
@@ -12515,8 +12610,8 @@ export declare const DOMAIN_SCHEMAS: {
12515
12610
  }, {
12516
12611
  default?: string | undefined;
12517
12612
  groups?: {
12518
- group: string;
12519
12613
  scenario: string;
12614
+ group: string;
12520
12615
  }[] | undefined;
12521
12616
  principals?: {
12522
12617
  principal: string;
@@ -12527,10 +12622,6 @@ export declare const DOMAIN_SCHEMAS: {
12527
12622
  tiers: {
12528
12623
  id: string;
12529
12624
  models?: string[] | undefined;
12530
- roster?: string | undefined;
12531
- visibleSkills?: string[] | undefined;
12532
- visibleMcp?: string[] | undefined;
12533
- visiblePlugins?: string[] | undefined;
12534
12625
  budget?: {
12535
12626
  mode?: "soft" | "hard" | "degrade" | undefined;
12536
12627
  maxBudgetUsd?: number | undefined;
@@ -12547,6 +12638,7 @@ export declare const DOMAIN_SCHEMAS: {
12547
12638
  maxIterations?: number | undefined;
12548
12639
  enforcement?: "local" | "lease" | "central" | undefined;
12549
12640
  } | undefined;
12641
+ roster?: string | undefined;
12550
12642
  runtimeCaps?: {
12551
12643
  allowBypassPermissions?: boolean | undefined;
12552
12644
  allowAutoMode?: boolean | undefined;
@@ -12558,10 +12650,13 @@ export declare const DOMAIN_SCHEMAS: {
12558
12650
  allowMemoryOptOut?: boolean | undefined;
12559
12651
  forceDurableGate?: boolean | undefined;
12560
12652
  } | undefined;
12653
+ tokenQuota?: undefined;
12654
+ visibleSkills?: string[] | undefined;
12655
+ visibleMcp?: string[] | undefined;
12656
+ visiblePlugins?: string[] | undefined;
12561
12657
  orgMemory?: Record<string, {
12562
12658
  write?: boolean | undefined;
12563
12659
  }> | undefined;
12564
- tokenQuota?: undefined;
12565
12660
  }[];
12566
12661
  subjects: {
12567
12662
  principal: string;
@@ -12594,17 +12689,17 @@ export declare const DOMAIN_SCHEMAS: {
12594
12689
  budgetGroups: {
12595
12690
  id: string;
12596
12691
  name: string;
12597
- maxBudgetUsd: number;
12598
12692
  members: {
12599
12693
  groups: {
12600
- memberSince: string;
12601
12694
  group: string;
12695
+ memberSince: string;
12602
12696
  }[];
12603
12697
  principals: {
12604
12698
  principal: string;
12605
12699
  memberSince: string;
12606
12700
  }[];
12607
12701
  };
12702
+ maxBudgetUsd: number;
12608
12703
  budgetDuration?: string | undefined;
12609
12704
  }[];
12610
12705
  defaults?: {
@@ -12642,8 +12737,8 @@ export declare const DOMAIN_SCHEMAS: {
12642
12737
  } | undefined;
12643
12738
  scenarioAssignments?: {
12644
12739
  groups: {
12645
- group: string;
12646
12740
  scenario: string;
12741
+ group: string;
12647
12742
  }[];
12648
12743
  principals: {
12649
12744
  principal: string;
@@ -12655,10 +12750,6 @@ export declare const DOMAIN_SCHEMAS: {
12655
12750
  tiers?: {
12656
12751
  id: string;
12657
12752
  models?: string[] | undefined;
12658
- roster?: string | undefined;
12659
- visibleSkills?: string[] | undefined;
12660
- visibleMcp?: string[] | undefined;
12661
- visiblePlugins?: string[] | undefined;
12662
12753
  budget?: {
12663
12754
  mode?: "soft" | "hard" | "degrade" | undefined;
12664
12755
  maxBudgetUsd?: number | undefined;
@@ -12675,6 +12766,7 @@ export declare const DOMAIN_SCHEMAS: {
12675
12766
  maxIterations?: number | undefined;
12676
12767
  enforcement?: "local" | "lease" | "central" | undefined;
12677
12768
  } | undefined;
12769
+ roster?: string | undefined;
12678
12770
  runtimeCaps?: {
12679
12771
  allowBypassPermissions?: boolean | undefined;
12680
12772
  allowAutoMode?: boolean | undefined;
@@ -12686,10 +12778,13 @@ export declare const DOMAIN_SCHEMAS: {
12686
12778
  allowMemoryOptOut?: boolean | undefined;
12687
12779
  forceDurableGate?: boolean | undefined;
12688
12780
  } | undefined;
12781
+ tokenQuota?: undefined;
12782
+ visibleSkills?: string[] | undefined;
12783
+ visibleMcp?: string[] | undefined;
12784
+ visiblePlugins?: string[] | undefined;
12689
12785
  orgMemory?: Record<string, {
12690
12786
  write?: boolean | undefined;
12691
12787
  }> | undefined;
12692
- tokenQuota?: undefined;
12693
12788
  }[] | undefined;
12694
12789
  defaults?: {
12695
12790
  budget?: {
@@ -12756,23 +12851,23 @@ export declare const DOMAIN_SCHEMAS: {
12756
12851
  id: string;
12757
12852
  name: string;
12758
12853
  maxBudgetUsd: number;
12759
- budgetDuration?: string | undefined;
12760
12854
  members?: {
12761
12855
  groups?: {
12762
- memberSince: string;
12763
12856
  group: string;
12857
+ memberSince: string;
12764
12858
  }[] | undefined;
12765
12859
  principals?: {
12766
12860
  principal: string;
12767
12861
  memberSince: string;
12768
12862
  }[] | undefined;
12769
12863
  } | undefined;
12864
+ budgetDuration?: string | undefined;
12770
12865
  }[] | undefined;
12771
12866
  scenarioAssignments?: {
12772
12867
  default?: string | undefined;
12773
12868
  groups?: {
12774
- group: string;
12775
12869
  scenario: string;
12870
+ group: string;
12776
12871
  }[] | undefined;
12777
12872
  principals?: {
12778
12873
  principal: string;
@@ -12783,10 +12878,6 @@ export declare const DOMAIN_SCHEMAS: {
12783
12878
  tiers: {
12784
12879
  id: string;
12785
12880
  models?: string[] | undefined;
12786
- roster?: string | undefined;
12787
- visibleSkills?: string[] | undefined;
12788
- visibleMcp?: string[] | undefined;
12789
- visiblePlugins?: string[] | undefined;
12790
12881
  budget?: {
12791
12882
  mode?: "soft" | "hard" | "degrade" | undefined;
12792
12883
  maxBudgetUsd?: number | undefined;
@@ -12803,6 +12894,7 @@ export declare const DOMAIN_SCHEMAS: {
12803
12894
  maxIterations?: number | undefined;
12804
12895
  enforcement?: "local" | "lease" | "central" | undefined;
12805
12896
  } | undefined;
12897
+ roster?: string | undefined;
12806
12898
  runtimeCaps?: {
12807
12899
  allowBypassPermissions?: boolean | undefined;
12808
12900
  allowAutoMode?: boolean | undefined;
@@ -12814,10 +12906,13 @@ export declare const DOMAIN_SCHEMAS: {
12814
12906
  allowMemoryOptOut?: boolean | undefined;
12815
12907
  forceDurableGate?: boolean | undefined;
12816
12908
  } | undefined;
12909
+ tokenQuota?: undefined;
12910
+ visibleSkills?: string[] | undefined;
12911
+ visibleMcp?: string[] | undefined;
12912
+ visiblePlugins?: string[] | undefined;
12817
12913
  orgMemory?: Record<string, {
12818
12914
  write?: boolean | undefined;
12819
12915
  }> | undefined;
12820
- tokenQuota?: undefined;
12821
12916
  }[];
12822
12917
  subjects: {
12823
12918
  principal: string;
@@ -12850,17 +12945,17 @@ export declare const DOMAIN_SCHEMAS: {
12850
12945
  budgetGroups: {
12851
12946
  id: string;
12852
12947
  name: string;
12853
- maxBudgetUsd: number;
12854
12948
  members: {
12855
12949
  groups: {
12856
- memberSince: string;
12857
12950
  group: string;
12951
+ memberSince: string;
12858
12952
  }[];
12859
12953
  principals: {
12860
12954
  principal: string;
12861
12955
  memberSince: string;
12862
12956
  }[];
12863
12957
  };
12958
+ maxBudgetUsd: number;
12864
12959
  budgetDuration?: string | undefined;
12865
12960
  }[];
12866
12961
  defaults?: {
@@ -12898,8 +12993,8 @@ export declare const DOMAIN_SCHEMAS: {
12898
12993
  } | undefined;
12899
12994
  scenarioAssignments?: {
12900
12995
  groups: {
12901
- group: string;
12902
12996
  scenario: string;
12997
+ group: string;
12903
12998
  }[];
12904
12999
  principals: {
12905
13000
  principal: string;
@@ -12911,10 +13006,6 @@ export declare const DOMAIN_SCHEMAS: {
12911
13006
  tiers?: {
12912
13007
  id: string;
12913
13008
  models?: string[] | undefined;
12914
- roster?: string | undefined;
12915
- visibleSkills?: string[] | undefined;
12916
- visibleMcp?: string[] | undefined;
12917
- visiblePlugins?: string[] | undefined;
12918
13009
  budget?: {
12919
13010
  mode?: "soft" | "hard" | "degrade" | undefined;
12920
13011
  maxBudgetUsd?: number | undefined;
@@ -12931,6 +13022,7 @@ export declare const DOMAIN_SCHEMAS: {
12931
13022
  maxIterations?: number | undefined;
12932
13023
  enforcement?: "local" | "lease" | "central" | undefined;
12933
13024
  } | undefined;
13025
+ roster?: string | undefined;
12934
13026
  runtimeCaps?: {
12935
13027
  allowBypassPermissions?: boolean | undefined;
12936
13028
  allowAutoMode?: boolean | undefined;
@@ -12942,10 +13034,13 @@ export declare const DOMAIN_SCHEMAS: {
12942
13034
  allowMemoryOptOut?: boolean | undefined;
12943
13035
  forceDurableGate?: boolean | undefined;
12944
13036
  } | undefined;
13037
+ tokenQuota?: undefined;
13038
+ visibleSkills?: string[] | undefined;
13039
+ visibleMcp?: string[] | undefined;
13040
+ visiblePlugins?: string[] | undefined;
12945
13041
  orgMemory?: Record<string, {
12946
13042
  write?: boolean | undefined;
12947
13043
  }> | undefined;
12948
- tokenQuota?: undefined;
12949
13044
  }[] | undefined;
12950
13045
  defaults?: {
12951
13046
  budget?: {
@@ -13012,23 +13107,23 @@ export declare const DOMAIN_SCHEMAS: {
13012
13107
  id: string;
13013
13108
  name: string;
13014
13109
  maxBudgetUsd: number;
13015
- budgetDuration?: string | undefined;
13016
13110
  members?: {
13017
13111
  groups?: {
13018
- memberSince: string;
13019
13112
  group: string;
13113
+ memberSince: string;
13020
13114
  }[] | undefined;
13021
13115
  principals?: {
13022
13116
  principal: string;
13023
13117
  memberSince: string;
13024
13118
  }[] | undefined;
13025
13119
  } | undefined;
13120
+ budgetDuration?: string | undefined;
13026
13121
  }[] | undefined;
13027
13122
  scenarioAssignments?: {
13028
13123
  default?: string | undefined;
13029
13124
  groups?: {
13030
- group: string;
13031
13125
  scenario: string;
13126
+ group: string;
13032
13127
  }[] | undefined;
13033
13128
  principals?: {
13034
13129
  principal: string;
@@ -13327,29 +13422,29 @@ export declare const DOMAIN_SCHEMAS: {
13327
13422
  }, "strip", z.ZodTypeAny, {
13328
13423
  id: string;
13329
13424
  slot: "scenario" | "identity" | "behavior";
13330
- contentHash: string;
13331
13425
  text: string;
13426
+ contentHash: string;
13332
13427
  }, {
13333
13428
  id: string;
13334
13429
  slot: "scenario" | "identity" | "behavior";
13335
- contentHash: string;
13336
13430
  text: string;
13431
+ contentHash: string;
13337
13432
  }>, "many">;
13338
13433
  }, "strip", z.ZodTypeAny, {
13339
13434
  packId: string;
13340
13435
  sections: {
13341
13436
  id: string;
13342
13437
  slot: "scenario" | "identity" | "behavior";
13343
- contentHash: string;
13344
13438
  text: string;
13439
+ contentHash: string;
13345
13440
  }[];
13346
13441
  }, {
13347
13442
  packId: string;
13348
13443
  sections: {
13349
13444
  id: string;
13350
13445
  slot: "scenario" | "identity" | "behavior";
13351
- contentHash: string;
13352
13446
  text: string;
13447
+ contentHash: string;
13353
13448
  }[];
13354
13449
  }>;
13355
13450
  }, "strip", z.ZodTypeAny, {
@@ -13359,8 +13454,8 @@ export declare const DOMAIN_SCHEMAS: {
13359
13454
  sections: {
13360
13455
  id: string;
13361
13456
  slot: "scenario" | "identity" | "behavior";
13362
- contentHash: string;
13363
13457
  text: string;
13458
+ contentHash: string;
13364
13459
  }[];
13365
13460
  };
13366
13461
  }, {
@@ -13370,8 +13465,8 @@ export declare const DOMAIN_SCHEMAS: {
13370
13465
  sections: {
13371
13466
  id: string;
13372
13467
  slot: "scenario" | "identity" | "behavior";
13373
- contentHash: string;
13374
13468
  text: string;
13469
+ contentHash: string;
13375
13470
  }[];
13376
13471
  };
13377
13472
  }>;
@@ -13386,8 +13481,8 @@ export declare const DOMAIN_SCHEMAS: {
13386
13481
  sections: {
13387
13482
  id: string;
13388
13483
  slot: "scenario" | "identity" | "behavior";
13389
- contentHash: string;
13390
13484
  text: string;
13485
+ contentHash: string;
13391
13486
  }[];
13392
13487
  };
13393
13488
  };
@@ -13406,8 +13501,8 @@ export declare const DOMAIN_SCHEMAS: {
13406
13501
  sections: {
13407
13502
  id: string;
13408
13503
  slot: "scenario" | "identity" | "behavior";
13409
- contentHash: string;
13410
13504
  text: string;
13505
+ contentHash: string;
13411
13506
  }[];
13412
13507
  };
13413
13508
  };
@@ -13429,8 +13524,8 @@ export declare const DOMAIN_SCHEMAS: {
13429
13524
  sections: {
13430
13525
  id: string;
13431
13526
  slot: "scenario" | "identity" | "behavior";
13432
- contentHash: string;
13433
13527
  text: string;
13528
+ contentHash: string;
13434
13529
  }[];
13435
13530
  };
13436
13531
  };
@@ -13452,8 +13547,8 @@ export declare const DOMAIN_SCHEMAS: {
13452
13547
  sections: {
13453
13548
  id: string;
13454
13549
  slot: "scenario" | "identity" | "behavior";
13455
- contentHash: string;
13456
13550
  text: string;
13551
+ contentHash: string;
13457
13552
  }[];
13458
13553
  };
13459
13554
  };
@@ -13478,8 +13573,8 @@ export declare const DOMAIN_SCHEMAS: {
13478
13573
  sections: {
13479
13574
  id: string;
13480
13575
  slot: "scenario" | "identity" | "behavior";
13481
- contentHash: string;
13482
13576
  text: string;
13577
+ contentHash: string;
13483
13578
  }[];
13484
13579
  };
13485
13580
  };
@@ -13504,8 +13599,8 @@ export declare const DOMAIN_SCHEMAS: {
13504
13599
  sections: {
13505
13600
  id: string;
13506
13601
  slot: "scenario" | "identity" | "behavior";
13507
- contentHash: string;
13508
13602
  text: string;
13603
+ contentHash: string;
13509
13604
  }[];
13510
13605
  };
13511
13606
  };
@@ -13545,8 +13640,8 @@ export declare const DOMAIN_SCHEMAS: {
13545
13640
  sections: {
13546
13641
  id: string;
13547
13642
  slot: "scenario" | "identity" | "behavior";
13548
- contentHash: string;
13549
13643
  text: string;
13644
+ contentHash: string;
13550
13645
  }[];
13551
13646
  };
13552
13647
  };
@@ -13586,8 +13681,8 @@ export declare const DOMAIN_SCHEMAS: {
13586
13681
  sections: {
13587
13682
  id: string;
13588
13683
  slot: "scenario" | "identity" | "behavior";
13589
- contentHash: string;
13590
13684
  text: string;
13685
+ contentHash: string;
13591
13686
  }[];
13592
13687
  };
13593
13688
  };
@@ -13740,10 +13835,10 @@ export interface EffectiveConfig {
13740
13835
  models: ModelsConfig;
13741
13836
  /** Control-plane only: per-worker roster views. EMPTIED (set to `{ rosters: [] }`) in the /effective
13742
13837
  * endpoint response — the service receives its already-resolved `models`, never the raw rosters. See
13743
- * docs/MULTI-ROSTER.md. */
13838
+ * See the multi-roster design note. */
13744
13839
  rosters: RostersConfig;
13745
13840
  /** Skills shipped as a MANIFEST (content → contentHash) in the /effective endpoint; the service lazily
13746
- * 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. */
13747
13842
  skills: SkillsConfig;
13748
13843
  /** MCP server registry; env/header secret VALUES are env-NAME refs only (resolved service-side). */
13749
13844
  mcp: McpConfig;
@@ -13963,7 +14058,7 @@ export declare const EffectiveKey: z.ZodObject<{
13963
14058
  export type EffectiveKey = z.infer<typeof EffectiveKey>;
13964
14059
  /** What the service actually receives from GET /effective: identical to {@link EffectiveConfig} EXCEPT the
13965
14060
  * `skills` domain is shipped as a MANIFEST (each skill's `content` → a `contentHash`; bodies pulled lazily
13966
- * 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.
13967
14062
  * `prompts` is the second wire divergence (#100): on the wire it is the center-assembled RESOLVED form
13968
14063
  * (worker lane strips the bindings storage table — {@link PromptsConfig} 注 [1057]⑤), consumer-validated
13969
14064
  * additive JSON — optional (absent = the center published nothing), never the storage shape. */
@@ -13975,7 +14070,7 @@ export type EffectiveWire = Omit<EffectiveConfig, "skills" | "prompts"> & {
13975
14070
  * rollback-able). Lets user changes share the one audit stream the Audit page already renders. */
13976
14071
  export declare const RBAC_AUDIT = "rbac";
13977
14072
  /** Audit category for secret write-through (value injected into the orchestrator secret source) — name + action
13978
- * 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. */
13979
14074
  export declare const SECRETS_AUDIT = "secrets";
13980
14075
  /** An audit record (who/what/when). `domain` is a config {@link DomainName} for a config write, or a
13981
14076
  * non-domain audit category like {@link RBAC_AUDIT} for a user/role change (those carry no snapshot). */