@sema-agent/settings-schema 1.3.0 → 1.4.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
@@ -1929,6 +1929,21 @@ export declare const EntitlementRuntimeCaps: z.ZodObject<{
1929
1929
  * classifier leg itself. */
1930
1930
  autoMode: z.ZodOptional<z.ZodBoolean>;
1931
1931
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
1932
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
1933
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
1934
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
1935
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
1936
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
1937
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
1938
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
1939
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
1940
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
1941
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
1942
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
1943
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
1944
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
1945
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
1946
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
1932
1947
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
1933
1948
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
1934
1949
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -1942,6 +1957,7 @@ export declare const EntitlementRuntimeCaps: z.ZodObject<{
1942
1957
  allowObservers?: boolean | undefined;
1943
1958
  autoMode?: boolean | undefined;
1944
1959
  allowUltracode?: boolean | undefined;
1960
+ allowMemoryOptOut?: boolean | undefined;
1945
1961
  forceDurableGate?: boolean | undefined;
1946
1962
  }, {
1947
1963
  allowBypassPermissions?: boolean | undefined;
@@ -1951,6 +1967,7 @@ export declare const EntitlementRuntimeCaps: z.ZodObject<{
1951
1967
  allowObservers?: boolean | undefined;
1952
1968
  autoMode?: boolean | undefined;
1953
1969
  allowUltracode?: boolean | undefined;
1970
+ allowMemoryOptOut?: boolean | undefined;
1954
1971
  forceDurableGate?: boolean | undefined;
1955
1972
  }>;
1956
1973
  export type EntitlementRuntimeCaps = z.infer<typeof EntitlementRuntimeCaps>;
@@ -2070,6 +2087,21 @@ export declare const EntitlementTier: z.ZodObject<{
2070
2087
  * classifier leg itself. */
2071
2088
  autoMode: z.ZodOptional<z.ZodBoolean>;
2072
2089
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
2090
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
2091
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
2092
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
2093
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
2094
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
2095
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
2096
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
2097
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
2098
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
2099
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
2100
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
2101
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
2102
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
2103
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
2104
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
2073
2105
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
2074
2106
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
2075
2107
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -2083,6 +2115,7 @@ export declare const EntitlementTier: z.ZodObject<{
2083
2115
  allowObservers?: boolean | undefined;
2084
2116
  autoMode?: boolean | undefined;
2085
2117
  allowUltracode?: boolean | undefined;
2118
+ allowMemoryOptOut?: boolean | undefined;
2086
2119
  forceDurableGate?: boolean | undefined;
2087
2120
  }, {
2088
2121
  allowBypassPermissions?: boolean | undefined;
@@ -2092,6 +2125,7 @@ export declare const EntitlementTier: z.ZodObject<{
2092
2125
  allowObservers?: boolean | undefined;
2093
2126
  autoMode?: boolean | undefined;
2094
2127
  allowUltracode?: boolean | undefined;
2128
+ allowMemoryOptOut?: boolean | undefined;
2095
2129
  forceDurableGate?: boolean | undefined;
2096
2130
  }>>;
2097
2131
  /** design/170 件A(additive 0.15.0):org 记忆授权束——`org:` scope 键 → 授予(`write` 缺席=只读)。
@@ -2139,6 +2173,7 @@ export declare const EntitlementTier: z.ZodObject<{
2139
2173
  allowObservers?: boolean | undefined;
2140
2174
  autoMode?: boolean | undefined;
2141
2175
  allowUltracode?: boolean | undefined;
2176
+ allowMemoryOptOut?: boolean | undefined;
2142
2177
  forceDurableGate?: boolean | undefined;
2143
2178
  } | undefined;
2144
2179
  orgMemory?: Record<string, {
@@ -2176,6 +2211,7 @@ export declare const EntitlementTier: z.ZodObject<{
2176
2211
  allowObservers?: boolean | undefined;
2177
2212
  autoMode?: boolean | undefined;
2178
2213
  allowUltracode?: boolean | undefined;
2214
+ allowMemoryOptOut?: boolean | undefined;
2179
2215
  forceDurableGate?: boolean | undefined;
2180
2216
  } | undefined;
2181
2217
  orgMemory?: Record<string, {
@@ -2413,6 +2449,21 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2413
2449
  * classifier leg itself. */
2414
2450
  autoMode: z.ZodOptional<z.ZodBoolean>;
2415
2451
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
2452
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
2453
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
2454
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
2455
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
2456
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
2457
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
2458
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
2459
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
2460
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
2461
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
2462
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
2463
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
2464
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
2465
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
2466
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
2416
2467
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
2417
2468
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
2418
2469
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -2426,6 +2477,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2426
2477
  allowObservers?: boolean | undefined;
2427
2478
  autoMode?: boolean | undefined;
2428
2479
  allowUltracode?: boolean | undefined;
2480
+ allowMemoryOptOut?: boolean | undefined;
2429
2481
  forceDurableGate?: boolean | undefined;
2430
2482
  }, {
2431
2483
  allowBypassPermissions?: boolean | undefined;
@@ -2435,6 +2487,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2435
2487
  allowObservers?: boolean | undefined;
2436
2488
  autoMode?: boolean | undefined;
2437
2489
  allowUltracode?: boolean | undefined;
2490
+ allowMemoryOptOut?: boolean | undefined;
2438
2491
  forceDurableGate?: boolean | undefined;
2439
2492
  }>>;
2440
2493
  budget: z.ZodOptional<z.ZodObject<{
@@ -2535,6 +2588,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2535
2588
  allowObservers?: boolean | undefined;
2536
2589
  autoMode?: boolean | undefined;
2537
2590
  allowUltracode?: boolean | undefined;
2591
+ allowMemoryOptOut?: boolean | undefined;
2538
2592
  forceDurableGate?: boolean | undefined;
2539
2593
  } | undefined;
2540
2594
  tokenQuota?: {
@@ -2566,6 +2620,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2566
2620
  allowObservers?: boolean | undefined;
2567
2621
  autoMode?: boolean | undefined;
2568
2622
  allowUltracode?: boolean | undefined;
2623
+ allowMemoryOptOut?: boolean | undefined;
2569
2624
  forceDurableGate?: boolean | undefined;
2570
2625
  } | undefined;
2571
2626
  tokenQuota?: {
@@ -2682,6 +2737,21 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2682
2737
  * classifier leg itself. */
2683
2738
  autoMode: z.ZodOptional<z.ZodBoolean>;
2684
2739
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
2740
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
2741
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
2742
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
2743
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
2744
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
2745
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
2746
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
2747
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
2748
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
2749
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
2750
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
2751
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
2752
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
2753
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
2754
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
2685
2755
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
2686
2756
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
2687
2757
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -2695,6 +2765,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2695
2765
  allowObservers?: boolean | undefined;
2696
2766
  autoMode?: boolean | undefined;
2697
2767
  allowUltracode?: boolean | undefined;
2768
+ allowMemoryOptOut?: boolean | undefined;
2698
2769
  forceDurableGate?: boolean | undefined;
2699
2770
  }, {
2700
2771
  allowBypassPermissions?: boolean | undefined;
@@ -2704,6 +2775,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2704
2775
  allowObservers?: boolean | undefined;
2705
2776
  autoMode?: boolean | undefined;
2706
2777
  allowUltracode?: boolean | undefined;
2778
+ allowMemoryOptOut?: boolean | undefined;
2707
2779
  forceDurableGate?: boolean | undefined;
2708
2780
  }>>;
2709
2781
  /** design/170 件A(additive 0.15.0):org 记忆授权束——`org:` scope 键 → 授予(`write` 缺席=只读)。
@@ -2751,6 +2823,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2751
2823
  allowObservers?: boolean | undefined;
2752
2824
  autoMode?: boolean | undefined;
2753
2825
  allowUltracode?: boolean | undefined;
2826
+ allowMemoryOptOut?: boolean | undefined;
2754
2827
  forceDurableGate?: boolean | undefined;
2755
2828
  } | undefined;
2756
2829
  orgMemory?: Record<string, {
@@ -2788,6 +2861,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
2788
2861
  allowObservers?: boolean | undefined;
2789
2862
  autoMode?: boolean | undefined;
2790
2863
  allowUltracode?: boolean | undefined;
2864
+ allowMemoryOptOut?: boolean | undefined;
2791
2865
  forceDurableGate?: boolean | undefined;
2792
2866
  } | undefined;
2793
2867
  orgMemory?: Record<string, {
@@ -3089,6 +3163,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3089
3163
  allowObservers?: boolean | undefined;
3090
3164
  autoMode?: boolean | undefined;
3091
3165
  allowUltracode?: boolean | undefined;
3166
+ allowMemoryOptOut?: boolean | undefined;
3092
3167
  forceDurableGate?: boolean | undefined;
3093
3168
  } | undefined;
3094
3169
  orgMemory?: Record<string, {
@@ -3165,6 +3240,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3165
3240
  allowObservers?: boolean | undefined;
3166
3241
  autoMode?: boolean | undefined;
3167
3242
  allowUltracode?: boolean | undefined;
3243
+ allowMemoryOptOut?: boolean | undefined;
3168
3244
  forceDurableGate?: boolean | undefined;
3169
3245
  } | undefined;
3170
3246
  tokenQuota?: {
@@ -3215,6 +3291,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3215
3291
  allowObservers?: boolean | undefined;
3216
3292
  autoMode?: boolean | undefined;
3217
3293
  allowUltracode?: boolean | undefined;
3294
+ allowMemoryOptOut?: boolean | undefined;
3218
3295
  forceDurableGate?: boolean | undefined;
3219
3296
  } | undefined;
3220
3297
  orgMemory?: Record<string, {
@@ -3247,6 +3324,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3247
3324
  allowObservers?: boolean | undefined;
3248
3325
  autoMode?: boolean | undefined;
3249
3326
  allowUltracode?: boolean | undefined;
3327
+ allowMemoryOptOut?: boolean | undefined;
3250
3328
  forceDurableGate?: boolean | undefined;
3251
3329
  } | undefined;
3252
3330
  tokenQuota?: {
@@ -3341,6 +3419,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3341
3419
  allowObservers?: boolean | undefined;
3342
3420
  autoMode?: boolean | undefined;
3343
3421
  allowUltracode?: boolean | undefined;
3422
+ allowMemoryOptOut?: boolean | undefined;
3344
3423
  forceDurableGate?: boolean | undefined;
3345
3424
  } | undefined;
3346
3425
  orgMemory?: Record<string, {
@@ -3417,6 +3496,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3417
3496
  allowObservers?: boolean | undefined;
3418
3497
  autoMode?: boolean | undefined;
3419
3498
  allowUltracode?: boolean | undefined;
3499
+ allowMemoryOptOut?: boolean | undefined;
3420
3500
  forceDurableGate?: boolean | undefined;
3421
3501
  } | undefined;
3422
3502
  tokenQuota?: {
@@ -3467,6 +3547,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3467
3547
  allowObservers?: boolean | undefined;
3468
3548
  autoMode?: boolean | undefined;
3469
3549
  allowUltracode?: boolean | undefined;
3550
+ allowMemoryOptOut?: boolean | undefined;
3470
3551
  forceDurableGate?: boolean | undefined;
3471
3552
  } | undefined;
3472
3553
  orgMemory?: Record<string, {
@@ -3499,6 +3580,7 @@ export declare const EntitlementConfig: z.ZodEffects<z.ZodObject<{
3499
3580
  allowObservers?: boolean | undefined;
3500
3581
  autoMode?: boolean | undefined;
3501
3582
  allowUltracode?: boolean | undefined;
3583
+ allowMemoryOptOut?: boolean | undefined;
3502
3584
  forceDurableGate?: boolean | undefined;
3503
3585
  } | undefined;
3504
3586
  tokenQuota?: {
@@ -3589,7 +3671,7 @@ export declare const PrincipalOrgMemoryWire: z.ZodObject<{
3589
3671
  }>;
3590
3672
  }>;
3591
3673
  export type PrincipalOrgMemoryWire = z.infer<typeof PrincipalOrgMemoryWire>;
3592
- /** `?principal=` caps wire **整体**的读边界 schema(center 铸、server 消费同源锚;clay 2026-08-05:
3674
+ /** `?principal=` caps wire **整体**的读边界 schema(center 铸、server 消费同源锚;产品令 2026-08-05:
3593
3675
  * 网络边界读入必 schema,禁裸 as-cast)。**逐面容错极性是裁定过的语义**,严格化会翻转极性的面在此
3594
3676
  * 显式保持宽读(每面注明所依裁定),不许硬转严:
3595
3677
  * - `runtimeCaps`/`budget`(治理面,fail-closed):严格校验已知键 + **passthrough 未知键**——新 center
@@ -3647,6 +3729,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3647
3729
  * classifier leg itself. */
3648
3730
  autoMode: z.ZodOptional<z.ZodBoolean>;
3649
3731
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
3732
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
3733
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
3734
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
3735
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
3736
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
3737
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
3738
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
3739
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
3740
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
3741
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
3742
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
3743
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
3744
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
3745
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
3746
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3650
3747
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3651
3748
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3652
3749
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -3692,6 +3789,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3692
3789
  * classifier leg itself. */
3693
3790
  autoMode: z.ZodOptional<z.ZodBoolean>;
3694
3791
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
3792
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
3793
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
3794
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
3795
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
3796
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
3797
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
3798
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
3799
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
3800
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
3801
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
3802
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
3803
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
3804
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
3805
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
3806
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3695
3807
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3696
3808
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3697
3809
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -3737,6 +3849,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3737
3849
  * classifier leg itself. */
3738
3850
  autoMode: z.ZodOptional<z.ZodBoolean>;
3739
3851
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
3852
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
3853
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
3854
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
3855
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
3856
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
3857
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
3858
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
3859
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
3860
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
3861
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
3862
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
3863
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
3864
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
3865
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
3866
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3740
3867
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3741
3868
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3742
3869
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -3879,6 +4006,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3879
4006
  * classifier leg itself. */
3880
4007
  autoMode: z.ZodOptional<z.ZodBoolean>;
3881
4008
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4009
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4010
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4011
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4012
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4013
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4014
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4015
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4016
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4017
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4018
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4019
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4020
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4021
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4022
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4023
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3882
4024
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3883
4025
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3884
4026
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -3924,6 +4066,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3924
4066
  * classifier leg itself. */
3925
4067
  autoMode: z.ZodOptional<z.ZodBoolean>;
3926
4068
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4069
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4070
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4071
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4072
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4073
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4074
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4075
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4076
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4077
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4078
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4079
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4080
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4081
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4082
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4083
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3927
4084
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3928
4085
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3929
4086
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -3969,6 +4126,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
3969
4126
  * classifier leg itself. */
3970
4127
  autoMode: z.ZodOptional<z.ZodBoolean>;
3971
4128
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4129
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4130
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4131
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4132
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4133
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4134
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4135
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4136
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4137
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4138
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4139
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4140
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4141
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4142
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4143
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
3972
4144
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
3973
4145
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
3974
4146
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -4111,6 +4283,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
4111
4283
  * classifier leg itself. */
4112
4284
  autoMode: z.ZodOptional<z.ZodBoolean>;
4113
4285
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4286
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4287
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4288
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4289
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4290
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4291
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4292
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4293
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4294
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4295
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4296
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4297
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4298
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4299
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4300
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
4114
4301
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
4115
4302
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
4116
4303
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -4156,6 +4343,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
4156
4343
  * classifier leg itself. */
4157
4344
  autoMode: z.ZodOptional<z.ZodBoolean>;
4158
4345
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4346
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4347
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4348
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4349
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4350
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4351
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4352
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4353
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4354
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4355
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4356
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4357
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4358
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4359
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4360
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
4159
4361
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
4160
4362
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
4161
4363
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -4201,6 +4403,21 @@ export declare const PrincipalCapsWire: z.ZodObject<{
4201
4403
  * classifier leg itself. */
4202
4404
  autoMode: z.ZodOptional<z.ZodBoolean>;
4203
4405
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
4406
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
4407
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
4408
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
4409
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
4410
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
4411
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
4412
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
4413
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
4414
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
4415
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
4416
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
4417
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
4418
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
4419
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
4420
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
4204
4421
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
4205
4422
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
4206
4423
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -7023,6 +7240,15 @@ export declare const McpTransport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<
7023
7240
  principalHeader?: string | undefined;
7024
7241
  }>]>;
7025
7242
  export type McpTransport = z.infer<typeof McpTransport>;
7243
+ /** The closed word table for {@link McpServerSpec}.contentOrigin — a MIRROR literal of the engine's
7244
+ * `ToolContentOrigin`. This package deliberately carries no engine dependency axis (the same ruling that made
7245
+ * PROMPT_ARTIFACT_LIMITS a mirror constant), so the cross-package enforcement point is NOT here: the consumer
7246
+ * compile-pins its own copy against the engine type in both directions (AssertNever pair), and on picking this
7247
+ * package up it should add a same-source assertion against THIS table too — it is the one repo holding both
7248
+ * dependencies. Inside this repo the table is pinned as a literal only (a drift surfaces at the consumer's
7249
+ * pickup gate, never silently on the wire — an out-of-table word is rejected at parse on both sides). */
7250
+ export declare const MCP_CONTENT_ORIGINS: readonly ["local", "execution", "external"];
7251
+ export type McpContentOrigin = (typeof MCP_CONTENT_ORIGINS)[number];
7026
7252
  export declare const McpServerSpec: z.ZodObject<{
7027
7253
  name: z.ZodString;
7028
7254
  transport: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -7074,6 +7300,23 @@ export declare const McpServerSpec: z.ZodObject<{
7074
7300
  * OFF = fail-closed: only an opted-in server may prompt the user mid-tool-call. Service forwards this into the
7075
7301
  * core spec (was read untyped as `(s as {elicitation?})` before this field — service ask). */
7076
7302
  elicitation: z.ZodDefault<z.ZodBoolean>;
7303
+ /** Trust-origin declaration for EVERYTHING this server's tools return — maps 1:1 onto the engine's
7304
+ * `McpServerSpec.contentOrigin` (closed word table {@link MCP_CONTENT_ORIGINS}):
7305
+ * · `"local"` — content the deployment itself produces (its own process / socket / service);
7306
+ * · `"execution"` — execution-environment output (the consumer's `execIsExternalContent` knob still applies);
7307
+ * · `"external"` — third-party content, declared EXPLICITLY: a PIN, not a no-op — it cancels any by-name
7308
+ * trusted-tool exemption the consumer would otherwise grant this server.
7309
+ * ABSENT = the engine's pre-declaration behaviour (protocol namespaces are judged external, fail-closed); the key is
7310
+ * `.optional()` with NO default so absence is never coined into a word. It affects memory-write governance (the
7311
+ * "touched foreign content" session mark) only — no gate / policy / roster effect.
7312
+ * 🔴 A TRUST statement, not a routing hint: the class is boundary-relative and independent of transport or
7313
+ * address (a stdio child can be an untrusted package, a loopback URL can be your own service), so nothing here
7314
+ * infers it from topology. It is a DEPLOYMENT-plane key: the publication leg (`config.d/mcp.json` locally,
7315
+ * `/effective.mcp` remotely) is its home; the consumer applies the same word-table gate on its request plane.
7316
+ * Before this key existed both legs stripped the declaration (default-strip object): the operator believed they
7317
+ * declared `"local"`, the engine read ABSENT. A value outside the table is REJECTED at parse — a mistyped trust
7318
+ * word must never be read as a legal one (the consumer's gate is equally severe: no case-folding). */
7319
+ contentOrigin: z.ZodOptional<z.ZodEnum<["local", "execution", "external"]>>;
7077
7320
  notes: z.ZodOptional<z.ZodString>;
7078
7321
  }, "strip", z.ZodTypeAny, {
7079
7322
  name: string;
@@ -7094,6 +7337,7 @@ export declare const McpServerSpec: z.ZodObject<{
7094
7337
  elicitation: boolean;
7095
7338
  notes?: string | undefined;
7096
7339
  allowTools?: string[] | undefined;
7340
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7097
7341
  }, {
7098
7342
  name: string;
7099
7343
  transport: {
@@ -7113,6 +7357,7 @@ export declare const McpServerSpec: z.ZodObject<{
7113
7357
  scenarios?: string[] | undefined;
7114
7358
  allowTools?: string[] | undefined;
7115
7359
  elicitation?: boolean | undefined;
7360
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7116
7361
  }>;
7117
7362
  export type McpServerSpec = z.infer<typeof McpServerSpec>;
7118
7363
  export declare const McpConfig: z.ZodEffects<z.ZodObject<{
@@ -7167,6 +7412,23 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7167
7412
  * OFF = fail-closed: only an opted-in server may prompt the user mid-tool-call. Service forwards this into the
7168
7413
  * core spec (was read untyped as `(s as {elicitation?})` before this field — service ask). */
7169
7414
  elicitation: z.ZodDefault<z.ZodBoolean>;
7415
+ /** Trust-origin declaration for EVERYTHING this server's tools return — maps 1:1 onto the engine's
7416
+ * `McpServerSpec.contentOrigin` (closed word table {@link MCP_CONTENT_ORIGINS}):
7417
+ * · `"local"` — content the deployment itself produces (its own process / socket / service);
7418
+ * · `"execution"` — execution-environment output (the consumer's `execIsExternalContent` knob still applies);
7419
+ * · `"external"` — third-party content, declared EXPLICITLY: a PIN, not a no-op — it cancels any by-name
7420
+ * trusted-tool exemption the consumer would otherwise grant this server.
7421
+ * ABSENT = the engine's pre-declaration behaviour (protocol namespaces are judged external, fail-closed); the key is
7422
+ * `.optional()` with NO default so absence is never coined into a word. It affects memory-write governance (the
7423
+ * "touched foreign content" session mark) only — no gate / policy / roster effect.
7424
+ * 🔴 A TRUST statement, not a routing hint: the class is boundary-relative and independent of transport or
7425
+ * address (a stdio child can be an untrusted package, a loopback URL can be your own service), so nothing here
7426
+ * infers it from topology. It is a DEPLOYMENT-plane key: the publication leg (`config.d/mcp.json` locally,
7427
+ * `/effective.mcp` remotely) is its home; the consumer applies the same word-table gate on its request plane.
7428
+ * Before this key existed both legs stripped the declaration (default-strip object): the operator believed they
7429
+ * declared `"local"`, the engine read ABSENT. A value outside the table is REJECTED at parse — a mistyped trust
7430
+ * word must never be read as a legal one (the consumer's gate is equally severe: no case-folding). */
7431
+ contentOrigin: z.ZodOptional<z.ZodEnum<["local", "execution", "external"]>>;
7170
7432
  notes: z.ZodOptional<z.ZodString>;
7171
7433
  }, "strip", z.ZodTypeAny, {
7172
7434
  name: string;
@@ -7187,6 +7449,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7187
7449
  elicitation: boolean;
7188
7450
  notes?: string | undefined;
7189
7451
  allowTools?: string[] | undefined;
7452
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7190
7453
  }, {
7191
7454
  name: string;
7192
7455
  transport: {
@@ -7206,6 +7469,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7206
7469
  scenarios?: string[] | undefined;
7207
7470
  allowTools?: string[] | undefined;
7208
7471
  elicitation?: boolean | undefined;
7472
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7209
7473
  }>, "many">>;
7210
7474
  }, "strip", z.ZodTypeAny, {
7211
7475
  servers: {
@@ -7227,6 +7491,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7227
7491
  elicitation: boolean;
7228
7492
  notes?: string | undefined;
7229
7493
  allowTools?: string[] | undefined;
7494
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7230
7495
  }[];
7231
7496
  }, {
7232
7497
  servers?: {
@@ -7248,6 +7513,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7248
7513
  scenarios?: string[] | undefined;
7249
7514
  allowTools?: string[] | undefined;
7250
7515
  elicitation?: boolean | undefined;
7516
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7251
7517
  }[] | undefined;
7252
7518
  }>, {
7253
7519
  servers: {
@@ -7269,6 +7535,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7269
7535
  elicitation: boolean;
7270
7536
  notes?: string | undefined;
7271
7537
  allowTools?: string[] | undefined;
7538
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7272
7539
  }[];
7273
7540
  }, {
7274
7541
  servers?: {
@@ -7290,10 +7557,11 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
7290
7557
  scenarios?: string[] | undefined;
7291
7558
  allowTools?: string[] | undefined;
7292
7559
  elicitation?: boolean | undefined;
7560
+ contentOrigin?: "local" | "execution" | "external" | undefined;
7293
7561
  }[] | undefined;
7294
7562
  }>;
7295
7563
  export type McpConfig = z.infer<typeof McpConfig>;
7296
- /** A plugin/marketplace ORIGIN string: **https only**(contract freeze board [1362] tightening-① /
7564
+ /** A plugin/marketplace ORIGIN string: **https only**(contract freeze [ref] tightening-① /
7297
7565
  * [1366]①,0.10.23 单真源修:此前这条规则只落在 web UI 层的表单校验,API 直写仍放行任意形——
7298
7566
  * 同一条规则两处真源,API 这处敞了 8 天)。`ssh:`/`scp 形`/`git:`/`file:`/裸 `http:`/`owner/repo`
7299
7567
  * shorthand 一律拒:worker 只 clone 声明里的 url,能入库的形必须是消费端能安全物化的形;国内镜像
@@ -7546,7 +7814,7 @@ export declare const PromptTextDeclaration: z.ZodObject<{
7546
7814
  contentHash?: string | undefined;
7547
7815
  }>;
7548
7816
  export type PromptTextDeclaration = z.infer<typeof PromptTextDeclaration>;
7549
- /** 三维 binding(board [1050]①a:v1=global/worker/scenario,砍 model 维——per-model 微调走
7817
+ /** 三维 binding([ref]①a:v1=global/worker/scenario,砍 model 维——per-model 微调走
7550
7818
  * ModelEntry.promptGuidance 专用通道)。covering 语义([1050]①b,解析只在 center 一处):
7551
7819
  * 同 slot **层间整体替换**(胜出层该 slot 声明数组整体替换低层同 slot 全部条目;层内数组保序,
7552
7820
  * 与 core assemble「declaration order preserved」无缝);层序 scenario > worker > global。
@@ -8426,7 +8694,7 @@ export declare const PromptsConfig: z.ZodObject<{
8426
8694
  } | undefined;
8427
8695
  }>;
8428
8696
  export type PromptsConfig = z.infer<typeof PromptsConfig>;
8429
- /** effective 下发形(board [1057] 逐字;`GET /api/config/effective?worker=` 的 additive `prompts`
8697
+ /** effective 下发形([ref] 逐字;`GET /api/config/effective?worker=` 的 additive `prompts`
8430
8698
  * key)。语义定死([1057]①):packId=`center:`+contentDigest 前 12(纯内容寻址,无 rev);
8431
8699
  * contentDigest=canonical JSON 全量 sha256 非盐化(operator 对账位,digest 函数在 /node 绑定
8432
8700
  * `promptsContentDigest`);sections=covering 已走完的基线终形(worker/core 零解析义务);
@@ -9794,6 +10062,23 @@ export declare const DOMAIN_SCHEMAS: {
9794
10062
  * OFF = fail-closed: only an opted-in server may prompt the user mid-tool-call. Service forwards this into the
9795
10063
  * core spec (was read untyped as `(s as {elicitation?})` before this field — service ask). */
9796
10064
  elicitation: z.ZodDefault<z.ZodBoolean>;
10065
+ /** Trust-origin declaration for EVERYTHING this server's tools return — maps 1:1 onto the engine's
10066
+ * `McpServerSpec.contentOrigin` (closed word table {@link MCP_CONTENT_ORIGINS}):
10067
+ * · `"local"` — content the deployment itself produces (its own process / socket / service);
10068
+ * · `"execution"` — execution-environment output (the consumer's `execIsExternalContent` knob still applies);
10069
+ * · `"external"` — third-party content, declared EXPLICITLY: a PIN, not a no-op — it cancels any by-name
10070
+ * trusted-tool exemption the consumer would otherwise grant this server.
10071
+ * ABSENT = the engine's pre-declaration behaviour (protocol namespaces are judged external, fail-closed); the key is
10072
+ * `.optional()` with NO default so absence is never coined into a word. It affects memory-write governance (the
10073
+ * "touched foreign content" session mark) only — no gate / policy / roster effect.
10074
+ * 🔴 A TRUST statement, not a routing hint: the class is boundary-relative and independent of transport or
10075
+ * address (a stdio child can be an untrusted package, a loopback URL can be your own service), so nothing here
10076
+ * infers it from topology. It is a DEPLOYMENT-plane key: the publication leg (`config.d/mcp.json` locally,
10077
+ * `/effective.mcp` remotely) is its home; the consumer applies the same word-table gate on its request plane.
10078
+ * Before this key existed both legs stripped the declaration (default-strip object): the operator believed they
10079
+ * declared `"local"`, the engine read ABSENT. A value outside the table is REJECTED at parse — a mistyped trust
10080
+ * word must never be read as a legal one (the consumer's gate is equally severe: no case-folding). */
10081
+ contentOrigin: z.ZodOptional<z.ZodEnum<["local", "execution", "external"]>>;
9797
10082
  notes: z.ZodOptional<z.ZodString>;
9798
10083
  }, "strip", z.ZodTypeAny, {
9799
10084
  name: string;
@@ -9814,6 +10099,7 @@ export declare const DOMAIN_SCHEMAS: {
9814
10099
  elicitation: boolean;
9815
10100
  notes?: string | undefined;
9816
10101
  allowTools?: string[] | undefined;
10102
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9817
10103
  }, {
9818
10104
  name: string;
9819
10105
  transport: {
@@ -9833,6 +10119,7 @@ export declare const DOMAIN_SCHEMAS: {
9833
10119
  scenarios?: string[] | undefined;
9834
10120
  allowTools?: string[] | undefined;
9835
10121
  elicitation?: boolean | undefined;
10122
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9836
10123
  }>, "many">>;
9837
10124
  }, "strip", z.ZodTypeAny, {
9838
10125
  servers: {
@@ -9854,6 +10141,7 @@ export declare const DOMAIN_SCHEMAS: {
9854
10141
  elicitation: boolean;
9855
10142
  notes?: string | undefined;
9856
10143
  allowTools?: string[] | undefined;
10144
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9857
10145
  }[];
9858
10146
  }, {
9859
10147
  servers?: {
@@ -9875,6 +10163,7 @@ export declare const DOMAIN_SCHEMAS: {
9875
10163
  scenarios?: string[] | undefined;
9876
10164
  allowTools?: string[] | undefined;
9877
10165
  elicitation?: boolean | undefined;
10166
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9878
10167
  }[] | undefined;
9879
10168
  }>, {
9880
10169
  servers: {
@@ -9896,6 +10185,7 @@ export declare const DOMAIN_SCHEMAS: {
9896
10185
  elicitation: boolean;
9897
10186
  notes?: string | undefined;
9898
10187
  allowTools?: string[] | undefined;
10188
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9899
10189
  }[];
9900
10190
  }, {
9901
10191
  servers?: {
@@ -9917,6 +10207,7 @@ export declare const DOMAIN_SCHEMAS: {
9917
10207
  scenarios?: string[] | undefined;
9918
10208
  allowTools?: string[] | undefined;
9919
10209
  elicitation?: boolean | undefined;
10210
+ contentOrigin?: "local" | "execution" | "external" | undefined;
9920
10211
  }[] | undefined;
9921
10212
  }>;
9922
10213
  readonly plugins: z.ZodEffects<z.ZodObject<{
@@ -11453,6 +11744,21 @@ export declare const DOMAIN_SCHEMAS: {
11453
11744
  * classifier leg itself. */
11454
11745
  autoMode: z.ZodOptional<z.ZodBoolean>;
11455
11746
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
11747
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
11748
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
11749
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
11750
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
11751
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
11752
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
11753
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
11754
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
11755
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
11756
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
11757
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
11758
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
11759
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
11760
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
11761
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
11456
11762
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
11457
11763
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
11458
11764
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -11466,6 +11772,7 @@ export declare const DOMAIN_SCHEMAS: {
11466
11772
  allowObservers?: boolean | undefined;
11467
11773
  autoMode?: boolean | undefined;
11468
11774
  allowUltracode?: boolean | undefined;
11775
+ allowMemoryOptOut?: boolean | undefined;
11469
11776
  forceDurableGate?: boolean | undefined;
11470
11777
  }, {
11471
11778
  allowBypassPermissions?: boolean | undefined;
@@ -11475,6 +11782,7 @@ export declare const DOMAIN_SCHEMAS: {
11475
11782
  allowObservers?: boolean | undefined;
11476
11783
  autoMode?: boolean | undefined;
11477
11784
  allowUltracode?: boolean | undefined;
11785
+ allowMemoryOptOut?: boolean | undefined;
11478
11786
  forceDurableGate?: boolean | undefined;
11479
11787
  }>>;
11480
11788
  budget: z.ZodOptional<z.ZodObject<{
@@ -11575,6 +11883,7 @@ export declare const DOMAIN_SCHEMAS: {
11575
11883
  allowObservers?: boolean | undefined;
11576
11884
  autoMode?: boolean | undefined;
11577
11885
  allowUltracode?: boolean | undefined;
11886
+ allowMemoryOptOut?: boolean | undefined;
11578
11887
  forceDurableGate?: boolean | undefined;
11579
11888
  } | undefined;
11580
11889
  tokenQuota?: {
@@ -11606,6 +11915,7 @@ export declare const DOMAIN_SCHEMAS: {
11606
11915
  allowObservers?: boolean | undefined;
11607
11916
  autoMode?: boolean | undefined;
11608
11917
  allowUltracode?: boolean | undefined;
11918
+ allowMemoryOptOut?: boolean | undefined;
11609
11919
  forceDurableGate?: boolean | undefined;
11610
11920
  } | undefined;
11611
11921
  tokenQuota?: {
@@ -11722,6 +12032,21 @@ export declare const DOMAIN_SCHEMAS: {
11722
12032
  * classifier leg itself. */
11723
12033
  autoMode: z.ZodOptional<z.ZodBoolean>;
11724
12034
  allowUltracode: z.ZodOptional<z.ZodBoolean>;
12035
+ /** Per-principal governance of the session memory-capture OPT-OUT — the consumer's `RuntimeCaps.allowMemoryOptOut`
12036
+ * (design/383 §3.1): may this principal declare `memory.capture: "off"` for a run? `false` = the deployment
12037
+ * REQUIRES capture for this principal (compliance / knowledge retention) — the declaration is refused, terminal
12038
+ * (`memory.capture_optout_denied`). `true` = explicitly no per-principal restriction. Three-state, ABSENT ≠ false:
12039
+ * ABSENT = center says nothing → key NOT emitted on the wire (never coined into a verdict). The consumer's
12040
+ * fault-transit contract for THIS member runs opposite to the `{allowWorkflows:false}` degrade habit: a resolver
12041
+ * FAULT must surface as ABSENT (or a throw), never as a stand-in `false` — on the privacy axis "deny" is the
12042
+ * IRREVERSIBLE side (capturing a session the user said not to capture), so the default/`open` posture reads a
12043
+ * fault as "opt-out honoured + named disclosure", and a `governed` posture reads it as "verdict missing ⇒
12044
+ * refuse the run". The consumer composes this key from its own local grant store FIRST and the center value
12045
+ * second. Compose polarity across bundles is the allow* family's: `false` (capture required) wins — see
12046
+ * RUNTIME_CAP_STRICT; the consumer's posture arms are orthogonal to that merge. Consumer-side: the center value
12047
+ * reaches the engine caps only once the consumer's cap mapping picks this member up; until then its local grant
12048
+ * store is the sole verdict source (the key parses and is carried on the wire from this version on). */
12049
+ allowMemoryOptOut: z.ZodOptional<z.ZodBoolean>;
11725
12050
  /** Force this principal's run onto durable-approval (per-tool gate) — center's fleet-wide handle for CC-faithful
11726
12051
  * per-tool interception (K-3, core confirmed it consumes this). Polarity is INVERTED vs the allow* caps:
11727
12052
  * here `true` is the STRICT/tightening value (forcing the gate ON), so it wins on compose — see RUNTIME_CAP_STRICT.
@@ -11735,6 +12060,7 @@ export declare const DOMAIN_SCHEMAS: {
11735
12060
  allowObservers?: boolean | undefined;
11736
12061
  autoMode?: boolean | undefined;
11737
12062
  allowUltracode?: boolean | undefined;
12063
+ allowMemoryOptOut?: boolean | undefined;
11738
12064
  forceDurableGate?: boolean | undefined;
11739
12065
  }, {
11740
12066
  allowBypassPermissions?: boolean | undefined;
@@ -11744,6 +12070,7 @@ export declare const DOMAIN_SCHEMAS: {
11744
12070
  allowObservers?: boolean | undefined;
11745
12071
  autoMode?: boolean | undefined;
11746
12072
  allowUltracode?: boolean | undefined;
12073
+ allowMemoryOptOut?: boolean | undefined;
11747
12074
  forceDurableGate?: boolean | undefined;
11748
12075
  }>>;
11749
12076
  /** design/170 件A(additive 0.15.0):org 记忆授权束——`org:` scope 键 → 授予(`write` 缺席=只读)。
@@ -11791,6 +12118,7 @@ export declare const DOMAIN_SCHEMAS: {
11791
12118
  allowObservers?: boolean | undefined;
11792
12119
  autoMode?: boolean | undefined;
11793
12120
  allowUltracode?: boolean | undefined;
12121
+ allowMemoryOptOut?: boolean | undefined;
11794
12122
  forceDurableGate?: boolean | undefined;
11795
12123
  } | undefined;
11796
12124
  orgMemory?: Record<string, {
@@ -11828,6 +12156,7 @@ export declare const DOMAIN_SCHEMAS: {
11828
12156
  allowObservers?: boolean | undefined;
11829
12157
  autoMode?: boolean | undefined;
11830
12158
  allowUltracode?: boolean | undefined;
12159
+ allowMemoryOptOut?: boolean | undefined;
11831
12160
  forceDurableGate?: boolean | undefined;
11832
12161
  } | undefined;
11833
12162
  orgMemory?: Record<string, {
@@ -12129,6 +12458,7 @@ export declare const DOMAIN_SCHEMAS: {
12129
12458
  allowObservers?: boolean | undefined;
12130
12459
  autoMode?: boolean | undefined;
12131
12460
  allowUltracode?: boolean | undefined;
12461
+ allowMemoryOptOut?: boolean | undefined;
12132
12462
  forceDurableGate?: boolean | undefined;
12133
12463
  } | undefined;
12134
12464
  orgMemory?: Record<string, {
@@ -12205,6 +12535,7 @@ export declare const DOMAIN_SCHEMAS: {
12205
12535
  allowObservers?: boolean | undefined;
12206
12536
  autoMode?: boolean | undefined;
12207
12537
  allowUltracode?: boolean | undefined;
12538
+ allowMemoryOptOut?: boolean | undefined;
12208
12539
  forceDurableGate?: boolean | undefined;
12209
12540
  } | undefined;
12210
12541
  tokenQuota?: {
@@ -12255,6 +12586,7 @@ export declare const DOMAIN_SCHEMAS: {
12255
12586
  allowObservers?: boolean | undefined;
12256
12587
  autoMode?: boolean | undefined;
12257
12588
  allowUltracode?: boolean | undefined;
12589
+ allowMemoryOptOut?: boolean | undefined;
12258
12590
  forceDurableGate?: boolean | undefined;
12259
12591
  } | undefined;
12260
12592
  orgMemory?: Record<string, {
@@ -12287,6 +12619,7 @@ export declare const DOMAIN_SCHEMAS: {
12287
12619
  allowObservers?: boolean | undefined;
12288
12620
  autoMode?: boolean | undefined;
12289
12621
  allowUltracode?: boolean | undefined;
12622
+ allowMemoryOptOut?: boolean | undefined;
12290
12623
  forceDurableGate?: boolean | undefined;
12291
12624
  } | undefined;
12292
12625
  tokenQuota?: {
@@ -12381,6 +12714,7 @@ export declare const DOMAIN_SCHEMAS: {
12381
12714
  allowObservers?: boolean | undefined;
12382
12715
  autoMode?: boolean | undefined;
12383
12716
  allowUltracode?: boolean | undefined;
12717
+ allowMemoryOptOut?: boolean | undefined;
12384
12718
  forceDurableGate?: boolean | undefined;
12385
12719
  } | undefined;
12386
12720
  orgMemory?: Record<string, {
@@ -12457,6 +12791,7 @@ export declare const DOMAIN_SCHEMAS: {
12457
12791
  allowObservers?: boolean | undefined;
12458
12792
  autoMode?: boolean | undefined;
12459
12793
  allowUltracode?: boolean | undefined;
12794
+ allowMemoryOptOut?: boolean | undefined;
12460
12795
  forceDurableGate?: boolean | undefined;
12461
12796
  } | undefined;
12462
12797
  tokenQuota?: {
@@ -12507,6 +12842,7 @@ export declare const DOMAIN_SCHEMAS: {
12507
12842
  allowObservers?: boolean | undefined;
12508
12843
  autoMode?: boolean | undefined;
12509
12844
  allowUltracode?: boolean | undefined;
12845
+ allowMemoryOptOut?: boolean | undefined;
12510
12846
  forceDurableGate?: boolean | undefined;
12511
12847
  } | undefined;
12512
12848
  orgMemory?: Record<string, {
@@ -12539,6 +12875,7 @@ export declare const DOMAIN_SCHEMAS: {
12539
12875
  allowObservers?: boolean | undefined;
12540
12876
  autoMode?: boolean | undefined;
12541
12877
  allowUltracode?: boolean | undefined;
12878
+ allowMemoryOptOut?: boolean | undefined;
12542
12879
  forceDurableGate?: boolean | undefined;
12543
12880
  } | undefined;
12544
12881
  tokenQuota?: {
@@ -13342,7 +13679,7 @@ export interface EffectiveConfig {
13342
13679
  /** center prompts 战役 v1(0.10.18,[1064]②):存储真形(bindings);effective 下发的解析终形
13343
13680
  * (EffectivePrompts key)由 center 另行组装,worker lane 剥 bindings 全表([1057]⑤ lane 纪律)。 */
13344
13681
  prompts: PromptsConfig;
13345
- /** cost/限流族的热更新发布位(0.19.0,sema-server #322 批1)。域缺席 ⇒ `{}`(每一键都 ABSENT =
13682
+ /** cost/限流族的热更新发布位(0.19.0,消费方 #322 批1)。域缺席 ⇒ `{}`(每一键都 ABSENT =
13346
13683
  * center 不管 ⇒ 消费方回 env 底);与 `runtime` 的五键重叠位的优先级归消费方,见域头注。 */
13347
13684
  limits: LimitsConfig;
13348
13685
  }