@warmdrift/kgauto-compiler 2.0.0-alpha.91 → 2.0.0-alpha.93

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.
Files changed (42) hide show
  1. package/dist/chunk-BTP5WK3B.mjs +3448 -0
  2. package/dist/{chunk-BVEXV5KC.mjs → chunk-FEMPY6EC.mjs} +5 -1
  3. package/dist/{chunk-54IXD5BT.mjs → chunk-S4PA2BDB.mjs} +8 -3
  4. package/dist/{chunk-AUZTO6Q5.mjs → chunk-WFLDRRY7.mjs} +1 -1
  5. package/dist/{chunk-T53ISC2F.mjs → chunk-YO2ZLPSD.mjs} +10 -0
  6. package/dist/compile-BlMXv6QT.d.ts +53 -0
  7. package/dist/compile-C2IfAGV1.d.mts +53 -0
  8. package/dist/dialect.d.mts +11 -1
  9. package/dist/dialect.d.ts +11 -1
  10. package/dist/dialect.js +7 -2
  11. package/dist/dialect.mjs +5 -3
  12. package/dist/glassbox/index.d.mts +3 -3
  13. package/dist/glassbox/index.d.ts +3 -3
  14. package/dist/glassbox-routes/format.d.mts +2 -2
  15. package/dist/glassbox-routes/format.d.ts +2 -2
  16. package/dist/glassbox-routes/index.d.mts +4 -4
  17. package/dist/glassbox-routes/index.d.ts +4 -4
  18. package/dist/glassbox-routes/index.js +7 -2
  19. package/dist/glassbox-routes/index.mjs +2 -2
  20. package/dist/glassbox-routes/react/index.d.mts +2 -2
  21. package/dist/glassbox-routes/react/index.d.ts +2 -2
  22. package/dist/index.d.mts +13 -49
  23. package/dist/index.d.ts +13 -49
  24. package/dist/index.js +95 -11
  25. package/dist/index.mjs +197 -3425
  26. package/dist/{ir-CTx026t0.d.ts → ir-DbvOFKF-.d.ts} +96 -2
  27. package/dist/{ir-DeYMLWge.d.mts → ir-DyMJ84je.d.mts} +96 -2
  28. package/dist/key-health.js +1 -1
  29. package/dist/key-health.mjs +1 -1
  30. package/dist/probe.d.mts +46 -0
  31. package/dist/probe.d.ts +46 -0
  32. package/dist/probe.js +5767 -0
  33. package/dist/probe.mjs +45 -0
  34. package/dist/profiles.d.mts +30 -2
  35. package/dist/profiles.d.ts +30 -2
  36. package/dist/profiles.js +11 -0
  37. package/dist/profiles.mjs +3 -1
  38. package/dist/{types-Cp9ot1HV.d.ts → types-5TqjBeZD.d.ts} +1 -1
  39. package/dist/{types-BKbRtmUb.d.ts → types-BlrbNQfj.d.ts} +1 -1
  40. package/dist/{types-DD36cCbZ.d.mts → types-D441T-KC.d.mts} +1 -1
  41. package/dist/{types-cBzinzUR.d.mts → types-_myk4bxn.d.mts} +1 -1
  42. package/package.json +7 -2
@@ -440,7 +440,21 @@ interface PromptIR {
440
440
  */
441
441
  historyCachePolicy?: HistoryCachePolicy;
442
442
  }
443
- type Provider = 'anthropic' | 'google' | 'openai' | 'deepseek' | 'zai' | 'moonshot' | 'mistral' | 'xai';
443
+ type Provider = 'anthropic' | 'google' | 'openai' | 'deepseek' | 'zai' | 'moonshot' | 'mistral' | 'xai' | 'openrouter';
444
+ /**
445
+ * alpha.92 — the route a call travels, part of a measurement's identity
446
+ * (execute-leg design contract, 2026-08-26). `'direct'` = the vendor's own
447
+ * API (every measurement before this release; the default, and the only
448
+ * route consumer production traffic uses unless a consumer explicitly opts
449
+ * in later). `'openrouter'` = the OpenRouter gateway — the STARTER tier for
450
+ * eval and candidate admission. The route matters because the model behind
451
+ * a name is a different serving stack per gateway host: the same
452
+ * `deepseek-v4-flash` id was served by "Venice" and by "StreamLake"
453
+ * emitting PARALLEL tool calls — behavior opposite to the vendor-API
454
+ * evidence our cliff rests on. Vendor-keyed evidence does not transfer
455
+ * through a gateway, so verdicts never silently transfer across routes.
456
+ */
457
+ type CallRoute = 'direct' | 'openrouter';
444
458
  /**
445
459
  * Mutation IDs that fired during compile. Empty in v1 (no mutation engine
446
460
  * yet). Populated when the brain is online and pushing mutations.
@@ -592,6 +606,22 @@ type CompiledRequest = {
592
606
  }>;
593
607
  tools?: unknown[];
594
608
  response_format?: unknown;
609
+ } | {
610
+ /**
611
+ * alpha.92 — the OpenRouter gateway route. OpenAI-compatible wire;
612
+ * `model` is the OpenRouter id (`vendor/model`, e.g.
613
+ * `deepseek/deepseek-v4-flash`), mapped from the CANONICAL profile id
614
+ * by `openRouterModelId()` — the canonical id stays the measurement
615
+ * identity everywhere else.
616
+ */
617
+ provider: 'openrouter';
618
+ model: string;
619
+ messages: Array<{
620
+ role: string;
621
+ content: unknown;
622
+ }>;
623
+ tools?: unknown[];
624
+ response_format?: unknown;
595
625
  };
596
626
  /**
597
627
  * Best-practice advisory emitted by the compiler at compile time. Non-fatal —
@@ -1065,6 +1095,14 @@ interface NormalizedResponse {
1065
1095
  tokens: NormalizedTokens;
1066
1096
  /** Provider-specific finish reason, passed through unchanged. */
1067
1097
  finishReason?: string;
1098
+ /**
1099
+ * alpha.92 — the serving host a gateway reported (OpenRouter's response
1100
+ * `provider` field, captured verbatim: "Venice", "StreamLake", …).
1101
+ * Undefined on direct vendor calls and on gateways that don't report it.
1102
+ * Discarding this would be the L-073 silent-drop at birth — the gateway
1103
+ * itself tells us which stack served the call.
1104
+ */
1105
+ routeHost?: string;
1068
1106
  /** Untouched provider response — escape hatch for consumers needing fields not yet normalized. */
1069
1107
  raw: unknown;
1070
1108
  /** Set when structuredOutput parsing was attempted and failed. */
@@ -1077,6 +1115,8 @@ interface ApiKeys {
1077
1115
  deepseek?: string;
1078
1116
  zai?: string;
1079
1117
  moonshot?: string;
1118
+ /** alpha.92 — the OpenRouter gateway route's key (a route key, not a vendor key). */
1119
+ openrouter?: string;
1080
1120
  }
1081
1121
  /**
1082
1122
  * Per-provider override fields shallow-merged into the lowered request before
@@ -1090,6 +1130,8 @@ interface ProviderOverrides {
1090
1130
  deepseek?: Record<string, unknown>;
1091
1131
  zai?: Record<string, unknown>;
1092
1132
  moonshot?: Record<string, unknown>;
1133
+ /** alpha.92 — overrides for requests traveling the OpenRouter route. */
1134
+ openrouter?: Record<string, unknown>;
1093
1135
  }
1094
1136
  /**
1095
1137
  * Full-IR inline shadow-probe config (Shape B, Phase 1 — 2026-05-29 s51).
@@ -1180,6 +1222,24 @@ interface CallOptions {
1180
1222
  * money attributable to the customer). See {@link RecordInput.endUserId}.
1181
1223
  */
1182
1224
  endUserId?: string;
1225
+ /**
1226
+ * alpha.92 — route this call through a gateway instead of the vendor's
1227
+ * own API. Omit (or `'direct'`) for normal calls — this is the STARTER
1228
+ * tier for eval and candidate admission, NOT a consumer routing surface:
1229
+ * production traffic stays direct-vendor-only by default per the
1230
+ * execute-leg design contract. When `'openrouter'`:
1231
+ * - lowering emits the OpenAI-compatible wire with the OpenRouter id
1232
+ * (canonical id stays the measurement identity),
1233
+ * - the outcome row records `route='openrouter'` + `route_host` (the
1234
+ * serving host OpenRouter reports),
1235
+ * - the learning key gains the route dimension (`…::model@openrouter`),
1236
+ * so gateway evidence never pollutes direct-vendor evidence,
1237
+ * - cliff guards still apply but are route-unverified (see
1238
+ * {@link CallResult.routeUnverifiedCliffs}) — never assume a host
1239
+ * fixed a vendor cliff.
1240
+ * Requires `OPENROUTER_API_KEY`.
1241
+ */
1242
+ route?: CallRoute;
1183
1243
  /**
1184
1244
  * alpha.84 — fires once per FAILED attempt during the fallback walk, before
1185
1245
  * the walk continues. IC-Cairn's filing, 2026-07-29.
@@ -1429,6 +1489,28 @@ interface CallResult {
1429
1489
  provider: Provider;
1430
1490
  response: NormalizedResponse;
1431
1491
  latencyMs: number;
1492
+ /**
1493
+ * alpha.92 — the route this call traveled. `'direct'` unless the caller
1494
+ * passed `CallOptions.route`. Part of the measurement's identity: the
1495
+ * outcome row and learning key are route-scoped, and verdicts never
1496
+ * silently transfer across routes.
1497
+ */
1498
+ route: CallRoute;
1499
+ /**
1500
+ * alpha.92 — the serving host the gateway reported for the winning
1501
+ * attempt (OpenRouter's `provider` field: "Venice", "StreamLake", …).
1502
+ * Undefined on direct calls.
1503
+ */
1504
+ routeHost?: string;
1505
+ /**
1506
+ * alpha.92 — cliff metrics of the served profile that applied on a
1507
+ * non-direct route. The guards STILL FIRED (conservative default: never
1508
+ * assume a host fixed a vendor cliff) but their evidence is vendor-route
1509
+ * evidence — a different serving stack may not share the cliff. The
1510
+ * probe-suite can promote/demote per (cliff × route). Undefined on
1511
+ * direct calls or when the served profile has no cliffs.
1512
+ */
1513
+ routeUnverifiedCliffs?: string[];
1432
1514
  /** Mutations that fired during compile (informational, mirrors CompileResult.mutationsApplied). */
1433
1515
  mutationsApplied: MutationApplied[];
1434
1516
  /** One entry per provider attempt — observability for retry/fallback walks. */
@@ -1592,6 +1674,18 @@ interface RecordInput {
1592
1674
  * Omit for traffic that has no end user.
1593
1675
  */
1594
1676
  endUserId?: string;
1677
+ /**
1678
+ * alpha.92 — the route the call traveled (migration 067). `call()` sets
1679
+ * this automatically from `CallOptions.route`; manual `record()` callers
1680
+ * replaying through a gateway set it themselves. Omit for direct calls —
1681
+ * the column defaults to `'direct'`.
1682
+ */
1683
+ route?: CallRoute;
1684
+ /**
1685
+ * alpha.92 — the gateway-reported serving host ("Venice", "StreamLake").
1686
+ * Only meaningful with a non-direct `route`.
1687
+ */
1688
+ routeHost?: string;
1595
1689
  /** Actual tokens consumed (post-call). */
1596
1690
  tokensIn: number;
1597
1691
  tokensOut: number;
@@ -1884,4 +1978,4 @@ interface PerAxisMetrics {
1884
1978
  /** Per-axis metrics keyed by model — used for chain-comparison views. */
1885
1979
  type PerAxisMetricsByModel = Record<string, PerAxisMetrics>;
1886
1980
 
1887
- export { type ApiKeys as A, type BestPracticeAdvisory as B, type CompilePolicy as C, type ToolDefinition as D, type EffortLevel as E, type FallbackReason as F, type Grounding as G, type HistoryCachePolicy as H, type IntentDeclaration as I, captureGoldenIr as J, hasMutation as K, mutationId as L, type Message as M, type NormalizedResponse as N, type OutcomeResult as O, type ProviderOverrides as P, parseGoldenCaptureRate as Q, type RecordInput as R, type SystemModelMessage as S, type ToolCall as T, resolveGoldenCaptureRate as U, shouldCaptureGolden as V, type CompiledRequest as a, type PromptIR as b, type CallOptions as c, type CallResult as d, type CompileResult as e, type SectionRewrite as f, type RecordOutcomeInput as g, type OutcomeSource as h, type OracleScore as i, type Adapter as j, type PerAxisMetrics as k, type Provider as l, type ChainEntry as m, type CallAttempt as n, CallError as o, type ChainModelEntry as p, type ChainWithGrounding as q, type Constraints as r, type GoldenCaptureOptions as s, type MutationApplied as t, type NormalizedTokens as u, type OutcomeKind as v, type PerAxisMetricsByModel as w, type PromptSection as x, type SectionKind as y, type ShadowProbeConfig as z };
1981
+ export { type ApiKeys as A, type BestPracticeAdvisory as B, type CompiledRequest as C, type ToolDefinition as D, type EffortLevel as E, type FallbackReason as F, type Grounding as G, type HistoryCachePolicy as H, type IntentDeclaration as I, captureGoldenIr as J, hasMutation as K, mutationId as L, type Message as M, type NormalizedResponse as N, type OutcomeResult as O, type ProviderOverrides as P, parseGoldenCaptureRate as Q, type RecordInput as R, type SystemModelMessage as S, type ToolCall as T, resolveGoldenCaptureRate as U, shouldCaptureGolden as V, type CompilePolicy as a, type PromptIR as b, type CallOptions as c, type CallResult as d, type CompileResult as e, type SectionRewrite as f, type RecordOutcomeInput as g, type OutcomeSource as h, type OracleScore as i, type Adapter as j, type PerAxisMetrics as k, type Provider as l, type ChainEntry as m, type CallAttempt as n, CallError as o, type ChainModelEntry as p, type ChainWithGrounding as q, type Constraints as r, type GoldenCaptureOptions as s, type MutationApplied as t, type NormalizedTokens as u, type OutcomeKind as v, type PerAxisMetricsByModel as w, type PromptSection as x, type SectionKind as y, type ShadowProbeConfig as z };
@@ -440,7 +440,21 @@ interface PromptIR {
440
440
  */
441
441
  historyCachePolicy?: HistoryCachePolicy;
442
442
  }
443
- type Provider = 'anthropic' | 'google' | 'openai' | 'deepseek' | 'zai' | 'moonshot' | 'mistral' | 'xai';
443
+ type Provider = 'anthropic' | 'google' | 'openai' | 'deepseek' | 'zai' | 'moonshot' | 'mistral' | 'xai' | 'openrouter';
444
+ /**
445
+ * alpha.92 — the route a call travels, part of a measurement's identity
446
+ * (execute-leg design contract, 2026-08-26). `'direct'` = the vendor's own
447
+ * API (every measurement before this release; the default, and the only
448
+ * route consumer production traffic uses unless a consumer explicitly opts
449
+ * in later). `'openrouter'` = the OpenRouter gateway — the STARTER tier for
450
+ * eval and candidate admission. The route matters because the model behind
451
+ * a name is a different serving stack per gateway host: the same
452
+ * `deepseek-v4-flash` id was served by "Venice" and by "StreamLake"
453
+ * emitting PARALLEL tool calls — behavior opposite to the vendor-API
454
+ * evidence our cliff rests on. Vendor-keyed evidence does not transfer
455
+ * through a gateway, so verdicts never silently transfer across routes.
456
+ */
457
+ type CallRoute = 'direct' | 'openrouter';
444
458
  /**
445
459
  * Mutation IDs that fired during compile. Empty in v1 (no mutation engine
446
460
  * yet). Populated when the brain is online and pushing mutations.
@@ -592,6 +606,22 @@ type CompiledRequest = {
592
606
  }>;
593
607
  tools?: unknown[];
594
608
  response_format?: unknown;
609
+ } | {
610
+ /**
611
+ * alpha.92 — the OpenRouter gateway route. OpenAI-compatible wire;
612
+ * `model` is the OpenRouter id (`vendor/model`, e.g.
613
+ * `deepseek/deepseek-v4-flash`), mapped from the CANONICAL profile id
614
+ * by `openRouterModelId()` — the canonical id stays the measurement
615
+ * identity everywhere else.
616
+ */
617
+ provider: 'openrouter';
618
+ model: string;
619
+ messages: Array<{
620
+ role: string;
621
+ content: unknown;
622
+ }>;
623
+ tools?: unknown[];
624
+ response_format?: unknown;
595
625
  };
596
626
  /**
597
627
  * Best-practice advisory emitted by the compiler at compile time. Non-fatal —
@@ -1065,6 +1095,14 @@ interface NormalizedResponse {
1065
1095
  tokens: NormalizedTokens;
1066
1096
  /** Provider-specific finish reason, passed through unchanged. */
1067
1097
  finishReason?: string;
1098
+ /**
1099
+ * alpha.92 — the serving host a gateway reported (OpenRouter's response
1100
+ * `provider` field, captured verbatim: "Venice", "StreamLake", …).
1101
+ * Undefined on direct vendor calls and on gateways that don't report it.
1102
+ * Discarding this would be the L-073 silent-drop at birth — the gateway
1103
+ * itself tells us which stack served the call.
1104
+ */
1105
+ routeHost?: string;
1068
1106
  /** Untouched provider response — escape hatch for consumers needing fields not yet normalized. */
1069
1107
  raw: unknown;
1070
1108
  /** Set when structuredOutput parsing was attempted and failed. */
@@ -1077,6 +1115,8 @@ interface ApiKeys {
1077
1115
  deepseek?: string;
1078
1116
  zai?: string;
1079
1117
  moonshot?: string;
1118
+ /** alpha.92 — the OpenRouter gateway route's key (a route key, not a vendor key). */
1119
+ openrouter?: string;
1080
1120
  }
1081
1121
  /**
1082
1122
  * Per-provider override fields shallow-merged into the lowered request before
@@ -1090,6 +1130,8 @@ interface ProviderOverrides {
1090
1130
  deepseek?: Record<string, unknown>;
1091
1131
  zai?: Record<string, unknown>;
1092
1132
  moonshot?: Record<string, unknown>;
1133
+ /** alpha.92 — overrides for requests traveling the OpenRouter route. */
1134
+ openrouter?: Record<string, unknown>;
1093
1135
  }
1094
1136
  /**
1095
1137
  * Full-IR inline shadow-probe config (Shape B, Phase 1 — 2026-05-29 s51).
@@ -1180,6 +1222,24 @@ interface CallOptions {
1180
1222
  * money attributable to the customer). See {@link RecordInput.endUserId}.
1181
1223
  */
1182
1224
  endUserId?: string;
1225
+ /**
1226
+ * alpha.92 — route this call through a gateway instead of the vendor's
1227
+ * own API. Omit (or `'direct'`) for normal calls — this is the STARTER
1228
+ * tier for eval and candidate admission, NOT a consumer routing surface:
1229
+ * production traffic stays direct-vendor-only by default per the
1230
+ * execute-leg design contract. When `'openrouter'`:
1231
+ * - lowering emits the OpenAI-compatible wire with the OpenRouter id
1232
+ * (canonical id stays the measurement identity),
1233
+ * - the outcome row records `route='openrouter'` + `route_host` (the
1234
+ * serving host OpenRouter reports),
1235
+ * - the learning key gains the route dimension (`…::model@openrouter`),
1236
+ * so gateway evidence never pollutes direct-vendor evidence,
1237
+ * - cliff guards still apply but are route-unverified (see
1238
+ * {@link CallResult.routeUnverifiedCliffs}) — never assume a host
1239
+ * fixed a vendor cliff.
1240
+ * Requires `OPENROUTER_API_KEY`.
1241
+ */
1242
+ route?: CallRoute;
1183
1243
  /**
1184
1244
  * alpha.84 — fires once per FAILED attempt during the fallback walk, before
1185
1245
  * the walk continues. IC-Cairn's filing, 2026-07-29.
@@ -1429,6 +1489,28 @@ interface CallResult {
1429
1489
  provider: Provider;
1430
1490
  response: NormalizedResponse;
1431
1491
  latencyMs: number;
1492
+ /**
1493
+ * alpha.92 — the route this call traveled. `'direct'` unless the caller
1494
+ * passed `CallOptions.route`. Part of the measurement's identity: the
1495
+ * outcome row and learning key are route-scoped, and verdicts never
1496
+ * silently transfer across routes.
1497
+ */
1498
+ route: CallRoute;
1499
+ /**
1500
+ * alpha.92 — the serving host the gateway reported for the winning
1501
+ * attempt (OpenRouter's `provider` field: "Venice", "StreamLake", …).
1502
+ * Undefined on direct calls.
1503
+ */
1504
+ routeHost?: string;
1505
+ /**
1506
+ * alpha.92 — cliff metrics of the served profile that applied on a
1507
+ * non-direct route. The guards STILL FIRED (conservative default: never
1508
+ * assume a host fixed a vendor cliff) but their evidence is vendor-route
1509
+ * evidence — a different serving stack may not share the cliff. The
1510
+ * probe-suite can promote/demote per (cliff × route). Undefined on
1511
+ * direct calls or when the served profile has no cliffs.
1512
+ */
1513
+ routeUnverifiedCliffs?: string[];
1432
1514
  /** Mutations that fired during compile (informational, mirrors CompileResult.mutationsApplied). */
1433
1515
  mutationsApplied: MutationApplied[];
1434
1516
  /** One entry per provider attempt — observability for retry/fallback walks. */
@@ -1592,6 +1674,18 @@ interface RecordInput {
1592
1674
  * Omit for traffic that has no end user.
1593
1675
  */
1594
1676
  endUserId?: string;
1677
+ /**
1678
+ * alpha.92 — the route the call traveled (migration 067). `call()` sets
1679
+ * this automatically from `CallOptions.route`; manual `record()` callers
1680
+ * replaying through a gateway set it themselves. Omit for direct calls —
1681
+ * the column defaults to `'direct'`.
1682
+ */
1683
+ route?: CallRoute;
1684
+ /**
1685
+ * alpha.92 — the gateway-reported serving host ("Venice", "StreamLake").
1686
+ * Only meaningful with a non-direct `route`.
1687
+ */
1688
+ routeHost?: string;
1595
1689
  /** Actual tokens consumed (post-call). */
1596
1690
  tokensIn: number;
1597
1691
  tokensOut: number;
@@ -1884,4 +1978,4 @@ interface PerAxisMetrics {
1884
1978
  /** Per-axis metrics keyed by model — used for chain-comparison views. */
1885
1979
  type PerAxisMetricsByModel = Record<string, PerAxisMetrics>;
1886
1980
 
1887
- export { type ApiKeys as A, type BestPracticeAdvisory as B, type CompilePolicy as C, type ToolDefinition as D, type EffortLevel as E, type FallbackReason as F, type Grounding as G, type HistoryCachePolicy as H, type IntentDeclaration as I, captureGoldenIr as J, hasMutation as K, mutationId as L, type Message as M, type NormalizedResponse as N, type OutcomeResult as O, type ProviderOverrides as P, parseGoldenCaptureRate as Q, type RecordInput as R, type SystemModelMessage as S, type ToolCall as T, resolveGoldenCaptureRate as U, shouldCaptureGolden as V, type CompiledRequest as a, type PromptIR as b, type CallOptions as c, type CallResult as d, type CompileResult as e, type SectionRewrite as f, type RecordOutcomeInput as g, type OutcomeSource as h, type OracleScore as i, type Adapter as j, type PerAxisMetrics as k, type Provider as l, type ChainEntry as m, type CallAttempt as n, CallError as o, type ChainModelEntry as p, type ChainWithGrounding as q, type Constraints as r, type GoldenCaptureOptions as s, type MutationApplied as t, type NormalizedTokens as u, type OutcomeKind as v, type PerAxisMetricsByModel as w, type PromptSection as x, type SectionKind as y, type ShadowProbeConfig as z };
1981
+ export { type ApiKeys as A, type BestPracticeAdvisory as B, type CompiledRequest as C, type ToolDefinition as D, type EffortLevel as E, type FallbackReason as F, type Grounding as G, type HistoryCachePolicy as H, type IntentDeclaration as I, captureGoldenIr as J, hasMutation as K, mutationId as L, type Message as M, type NormalizedResponse as N, type OutcomeResult as O, type ProviderOverrides as P, parseGoldenCaptureRate as Q, type RecordInput as R, type SystemModelMessage as S, type ToolCall as T, resolveGoldenCaptureRate as U, shouldCaptureGolden as V, type CompilePolicy as a, type PromptIR as b, type CallOptions as c, type CallResult as d, type CompileResult as e, type SectionRewrite as f, type RecordOutcomeInput as g, type OutcomeSource as h, type OracleScore as i, type Adapter as j, type PerAxisMetrics as k, type Provider as l, type ChainEntry as m, type CallAttempt as n, CallError as o, type ChainModelEntry as p, type ChainWithGrounding as q, type Constraints as r, type GoldenCaptureOptions as s, type MutationApplied as t, type NormalizedTokens as u, type OutcomeKind as v, type PerAxisMetricsByModel as w, type PromptSection as x, type SectionKind as y, type ShadowProbeConfig as z };
@@ -28,7 +28,7 @@ __export(key_health_exports, {
28
28
  module.exports = __toCommonJS(key_health_exports);
29
29
 
30
30
  // src/version.ts
31
- var LIBRARY_VERSION = "2.0.0-alpha.91";
31
+ var LIBRARY_VERSION = "2.0.0-alpha.93";
32
32
 
33
33
  // src/key-health.ts
34
34
  var JSON_HEADERS = { "Content-Type": "application/json" };
@@ -3,7 +3,7 @@ import {
3
3
  KEY_FINGERPRINT_LENGTH,
4
4
  createKeyHealthRoute,
5
5
  keyFingerprint
6
- } from "./chunk-AUZTO6Q5.mjs";
6
+ } from "./chunk-WFLDRRY7.mjs";
7
7
  export {
8
8
  KEY_FINGERPRINT_DOMAIN,
9
9
  KEY_FINGERPRINT_LENGTH,
@@ -0,0 +1,46 @@
1
+ import { C as CompileOptions } from './compile-C2IfAGV1.mjs';
2
+ import { CliffRule } from './profiles.mjs';
3
+ export { CliffEvidence, deriveCliffEvidenceClass } from './profiles.mjs';
4
+ import { b as PromptIR, e as CompileResult } from './ir-DyMJ84je.mjs';
5
+ import './dialect.mjs';
6
+
7
+ /**
8
+ * `@warmdrift/kgauto-compiler/probe` — guard-probe-suite compile surface.
9
+ *
10
+ * ## This subpath exists for the probe suite. Do not serve traffic with it.
11
+ *
12
+ * A guard must be suppressible to be testable: an active cliff suppresses
13
+ * exactly the evidence that would validate it (the summarize+tools guard
14
+ * strips the tools, so no organic traffic ever sends that shape again —
15
+ * which is why 15 of 17 behavioural guards sat unvalidated with an "n≥20
16
+ * brain evidence" release condition that was structurally never coming).
17
+ * `compileSuppressing` compiles with NAMED cliffs removed so a probe can
18
+ * deliberately send the bad shape.
19
+ *
20
+ * The subpath boundary IS the fence (Phase-0 decision: an env-var gate on a
21
+ * library export is theater). Importing this in a serving path forfeits the
22
+ * named guard for that call — nothing else protects the consumer. The main
23
+ * export carries no suppression affordance; the tests pin that.
24
+ */
25
+
26
+ interface CliffSelector {
27
+ /** Canonical model id whose profile carries the guard. */
28
+ model: string;
29
+ /** The cliff's metric — with `whenIntent`, identifies the guard. */
30
+ metric: CliffRule['metric'];
31
+ /** Narrow to an intent-scoped guard; absent matches any `whenIntent`. */
32
+ whenIntent?: string;
33
+ }
34
+ interface CompileSuppressingOptions extends CompileOptions {
35
+ /** The guards to suppress. Every other cliff keeps firing. */
36
+ suppress: CliffSelector[];
37
+ }
38
+ /**
39
+ * compile() with the named guards removed from the resolved profiles.
40
+ * Refuses (throws) when a selector matches no cliff on its model — a probe
41
+ * that silently "suppresses" a guard that never existed would convict the
42
+ * wrong hypothesis.
43
+ */
44
+ declare function compileSuppressing(ir: PromptIR, opts: CompileSuppressingOptions): CompileResult;
45
+
46
+ export { CliffRule, type CliffSelector, type CompileSuppressingOptions, compileSuppressing };
@@ -0,0 +1,46 @@
1
+ import { C as CompileOptions } from './compile-BlMXv6QT.js';
2
+ import { CliffRule } from './profiles.js';
3
+ export { CliffEvidence, deriveCliffEvidenceClass } from './profiles.js';
4
+ import { b as PromptIR, e as CompileResult } from './ir-DbvOFKF-.js';
5
+ import './dialect.js';
6
+
7
+ /**
8
+ * `@warmdrift/kgauto-compiler/probe` — guard-probe-suite compile surface.
9
+ *
10
+ * ## This subpath exists for the probe suite. Do not serve traffic with it.
11
+ *
12
+ * A guard must be suppressible to be testable: an active cliff suppresses
13
+ * exactly the evidence that would validate it (the summarize+tools guard
14
+ * strips the tools, so no organic traffic ever sends that shape again —
15
+ * which is why 15 of 17 behavioural guards sat unvalidated with an "n≥20
16
+ * brain evidence" release condition that was structurally never coming).
17
+ * `compileSuppressing` compiles with NAMED cliffs removed so a probe can
18
+ * deliberately send the bad shape.
19
+ *
20
+ * The subpath boundary IS the fence (Phase-0 decision: an env-var gate on a
21
+ * library export is theater). Importing this in a serving path forfeits the
22
+ * named guard for that call — nothing else protects the consumer. The main
23
+ * export carries no suppression affordance; the tests pin that.
24
+ */
25
+
26
+ interface CliffSelector {
27
+ /** Canonical model id whose profile carries the guard. */
28
+ model: string;
29
+ /** The cliff's metric — with `whenIntent`, identifies the guard. */
30
+ metric: CliffRule['metric'];
31
+ /** Narrow to an intent-scoped guard; absent matches any `whenIntent`. */
32
+ whenIntent?: string;
33
+ }
34
+ interface CompileSuppressingOptions extends CompileOptions {
35
+ /** The guards to suppress. Every other cliff keeps firing. */
36
+ suppress: CliffSelector[];
37
+ }
38
+ /**
39
+ * compile() with the named guards removed from the resolved profiles.
40
+ * Refuses (throws) when a selector matches no cliff on its model — a probe
41
+ * that silently "suppresses" a guard that never existed would convict the
42
+ * wrong hypothesis.
43
+ */
44
+ declare function compileSuppressing(ir: PromptIR, opts: CompileSuppressingOptions): CompileResult;
45
+
46
+ export { CliffRule, type CliffSelector, type CompileSuppressingOptions, compileSuppressing };