@intutic/shared-types 2.2.0 → 2.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.
Files changed (202) hide show
  1. package/dist/anomaly.d.ts +6 -10
  2. package/dist/anomaly.d.ts.map +1 -1
  3. package/dist/anomaly.js +0 -2
  4. package/dist/anomaly.js.map +1 -1
  5. package/dist/api-contracts.d.ts +1 -1
  6. package/dist/api-contracts.js +1 -1
  7. package/dist/attenuation.d.ts +1 -1
  8. package/dist/attenuation.js +1 -1
  9. package/dist/auth.d.ts +116 -9
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +20 -5
  12. package/dist/auth.js.map +1 -1
  13. package/dist/billing.d.ts +1 -1
  14. package/dist/billing.js +1 -1
  15. package/dist/cloudProbe.d.ts +54 -0
  16. package/dist/cloudProbe.d.ts.map +1 -0
  17. package/dist/cloudProbe.js +254 -0
  18. package/dist/cloudProbe.js.map +1 -0
  19. package/dist/destructiveSql.d.ts +48 -0
  20. package/dist/destructiveSql.d.ts.map +1 -0
  21. package/dist/destructiveSql.js +43 -0
  22. package/dist/destructiveSql.js.map +1 -0
  23. package/dist/devInventory.d.ts +120 -0
  24. package/dist/devInventory.d.ts.map +1 -0
  25. package/dist/devInventory.js +80 -0
  26. package/dist/devInventory.js.map +1 -0
  27. package/dist/enums.d.ts +66 -21
  28. package/dist/enums.d.ts.map +1 -1
  29. package/dist/enums.js +55 -31
  30. package/dist/enums.js.map +1 -1
  31. package/dist/errors.js +3 -3
  32. package/dist/errors.js.map +1 -1
  33. package/dist/finops.d.ts +52 -2
  34. package/dist/finops.d.ts.map +1 -1
  35. package/dist/finops.js +15 -1
  36. package/dist/finops.js.map +1 -1
  37. package/dist/gateDecisions.d.ts +18 -0
  38. package/dist/gateDecisions.d.ts.map +1 -0
  39. package/dist/gateDecisions.js +20 -0
  40. package/dist/gateDecisions.js.map +1 -0
  41. package/dist/gateIdentity.d.ts +23 -0
  42. package/dist/gateIdentity.d.ts.map +1 -0
  43. package/dist/gateIdentity.js +32 -0
  44. package/dist/gateIdentity.js.map +1 -0
  45. package/dist/gateKind.d.ts +172 -0
  46. package/dist/gateKind.d.ts.map +1 -0
  47. package/dist/gateKind.js +160 -0
  48. package/dist/gateKind.js.map +1 -0
  49. package/dist/gateLimits.d.ts +170 -0
  50. package/dist/gateLimits.d.ts.map +1 -0
  51. package/dist/gateLimits.js +96 -0
  52. package/dist/gateLimits.js.map +1 -0
  53. package/dist/gitRemote.d.ts +17 -0
  54. package/dist/gitRemote.d.ts.map +1 -0
  55. package/dist/gitRemote.js +71 -0
  56. package/dist/gitRemote.js.map +1 -0
  57. package/dist/governanceCoverage.d.ts +1 -1
  58. package/dist/governanceCoverage.js +1 -1
  59. package/dist/guardrailIr.d.ts +9 -9
  60. package/dist/guardrailIr.d.ts.map +1 -1
  61. package/dist/guardrailIr.js +3 -3
  62. package/dist/guardrailIr.js.map +1 -1
  63. package/dist/guardrailRender.d.ts +1 -1
  64. package/dist/guardrailRender.js +1 -1
  65. package/dist/harnessRules.d.ts +74 -0
  66. package/dist/harnessRules.d.ts.map +1 -0
  67. package/dist/harnessRules.js +142 -0
  68. package/dist/harnessRules.js.map +1 -0
  69. package/dist/holdMessages.d.ts +25 -0
  70. package/dist/holdMessages.d.ts.map +1 -0
  71. package/dist/holdMessages.js +34 -0
  72. package/dist/holdMessages.js.map +1 -0
  73. package/dist/identity.d.ts +1 -1
  74. package/dist/identity.js +2 -2
  75. package/dist/identity.js.map +1 -1
  76. package/dist/index.d.ts +42 -9
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +161 -10
  79. package/dist/index.js.map +1 -1
  80. package/dist/intelligence.d.ts +1 -1
  81. package/dist/mcpBudgets.d.ts +191 -0
  82. package/dist/mcpBudgets.d.ts.map +1 -0
  83. package/dist/mcpBudgets.js +144 -0
  84. package/dist/mcpBudgets.js.map +1 -0
  85. package/dist/mcpRegistryRecord.d.ts +143 -0
  86. package/dist/mcpRegistryRecord.d.ts.map +1 -0
  87. package/dist/mcpRegistryRecord.js +229 -0
  88. package/dist/mcpRegistryRecord.js.map +1 -0
  89. package/dist/mcpToolRisk.d.ts +82 -0
  90. package/dist/mcpToolRisk.d.ts.map +1 -0
  91. package/dist/mcpToolRisk.js +334 -0
  92. package/dist/mcpToolRisk.js.map +1 -0
  93. package/dist/modelCatalog.d.ts +2 -2
  94. package/dist/modelCatalog.generated.js +1 -1
  95. package/dist/modelCatalog.generated.js.map +1 -1
  96. package/dist/modelCatalog.js +2 -2
  97. package/dist/notifications.d.ts +24 -151
  98. package/dist/notifications.d.ts.map +1 -1
  99. package/dist/notifications.js +266 -1
  100. package/dist/notifications.js.map +1 -1
  101. package/dist/phrases.d.ts +87 -0
  102. package/dist/phrases.d.ts.map +1 -0
  103. package/dist/phrases.js +241 -0
  104. package/dist/phrases.js.map +1 -0
  105. package/dist/piiDetectors.d.ts +97 -0
  106. package/dist/piiDetectors.d.ts.map +1 -0
  107. package/dist/piiDetectors.js +96 -0
  108. package/dist/piiDetectors.js.map +1 -0
  109. package/dist/piiDetectors.json +71 -0
  110. package/dist/policy.d.ts +1 -1
  111. package/dist/policy.js +1 -1
  112. package/dist/policyGuardrails.d.ts +127 -10
  113. package/dist/policyGuardrails.d.ts.map +1 -1
  114. package/dist/policyGuardrails.js +59 -6
  115. package/dist/policyGuardrails.js.map +1 -1
  116. package/dist/posturePresets.js +1 -1
  117. package/dist/posturePresets.js.map +1 -1
  118. package/dist/providerVerification.d.ts +36 -10
  119. package/dist/providerVerification.d.ts.map +1 -1
  120. package/dist/providerVerification.js +80 -20
  121. package/dist/providerVerification.js.map +1 -1
  122. package/dist/providers.d.ts +54 -17
  123. package/dist/providers.d.ts.map +1 -1
  124. package/dist/providers.js +135 -26
  125. package/dist/providers.js.map +1 -1
  126. package/dist/regoBuiltins.d.ts +42 -0
  127. package/dist/regoBuiltins.d.ts.map +1 -0
  128. package/dist/regoBuiltins.js +732 -0
  129. package/dist/regoBuiltins.js.map +1 -0
  130. package/dist/regoRules.d.ts +105 -0
  131. package/dist/regoRules.d.ts.map +1 -0
  132. package/dist/regoRules.js +407 -0
  133. package/dist/regoRules.js.map +1 -0
  134. package/dist/ruleLoadFailures.d.ts +15 -0
  135. package/dist/ruleLoadFailures.d.ts.map +1 -0
  136. package/dist/ruleLoadFailures.js +26 -0
  137. package/dist/ruleLoadFailures.js.map +1 -0
  138. package/dist/scriptScan.d.ts +5 -5
  139. package/dist/scriptScan.js +3 -3
  140. package/dist/sequence.d.ts +52 -0
  141. package/dist/sequence.d.ts.map +1 -0
  142. package/dist/sequence.js +127 -0
  143. package/dist/sequence.js.map +1 -0
  144. package/dist/session.d.ts +1 -1
  145. package/dist/session.js +1 -1
  146. package/dist/skillScan.d.ts +3 -3
  147. package/dist/skillScan.d.ts.map +1 -1
  148. package/dist/skillScan.js +26 -4
  149. package/dist/skillScan.js.map +1 -1
  150. package/dist/sop.d.ts +5 -5
  151. package/dist/sop.js +2 -2
  152. package/dist/sourceProviders.d.ts +1 -8
  153. package/dist/sourceProviders.d.ts.map +1 -1
  154. package/dist/sourceProviders.js +2 -9
  155. package/dist/sourceProviders.js.map +1 -1
  156. package/dist/spendBudgets.d.ts +122 -0
  157. package/dist/spendBudgets.d.ts.map +1 -0
  158. package/dist/spendBudgets.js +92 -0
  159. package/dist/spendBudgets.js.map +1 -0
  160. package/dist/ssoGroupClearance.d.ts +18 -2
  161. package/dist/ssoGroupClearance.d.ts.map +1 -1
  162. package/dist/ssoGroupClearance.js +43 -4
  163. package/dist/ssoGroupClearance.js.map +1 -1
  164. package/dist/sync.d.ts +0 -1
  165. package/dist/sync.d.ts.map +1 -1
  166. package/dist/sync.js +0 -1
  167. package/dist/sync.js.map +1 -1
  168. package/dist/taskManagement.d.ts +0 -2
  169. package/dist/taskManagement.d.ts.map +1 -1
  170. package/dist/taskManagement.js +0 -2
  171. package/dist/taskManagement.js.map +1 -1
  172. package/dist/toolPoison.d.ts +33 -0
  173. package/dist/toolPoison.d.ts.map +1 -0
  174. package/dist/toolPoison.js +85 -0
  175. package/dist/toolPoison.js.map +1 -0
  176. package/dist/upstreamRetry.d.ts +121 -0
  177. package/dist/upstreamRetry.d.ts.map +1 -0
  178. package/dist/upstreamRetry.js +90 -0
  179. package/dist/upstreamRetry.js.map +1 -0
  180. package/dist/usage.d.ts +186 -0
  181. package/dist/usage.d.ts.map +1 -1
  182. package/dist/wasmBinary.d.ts +25 -0
  183. package/dist/wasmBinary.d.ts.map +1 -0
  184. package/dist/wasmBinary.js +111 -0
  185. package/dist/wasmBinary.js.map +1 -0
  186. package/dist/wasmFuel.d.ts +52 -0
  187. package/dist/wasmFuel.d.ts.map +1 -0
  188. package/dist/wasmFuel.js +320 -0
  189. package/dist/wasmFuel.js.map +1 -0
  190. package/dist/wasmMemoryCap.d.ts +21 -0
  191. package/dist/wasmMemoryCap.d.ts.map +1 -0
  192. package/dist/wasmMemoryCap.js +58 -0
  193. package/dist/wasmMemoryCap.js.map +1 -0
  194. package/dist/wasmRuleDescriptor.d.ts +43 -0
  195. package/dist/wasmRuleDescriptor.d.ts.map +1 -0
  196. package/dist/wasmRuleDescriptor.js +65 -0
  197. package/dist/wasmRuleDescriptor.js.map +1 -0
  198. package/dist/workspaceSettings.d.ts +95 -17
  199. package/dist/workspaceSettings.d.ts.map +1 -1
  200. package/dist/workspaceSettings.js +2 -1
  201. package/dist/workspaceSettings.js.map +1 -1
  202. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Wire types for the Policy Clause Ledger (LLD #71): what
2
+ * Wire types for the Policy Clause Ledger: what
3
3
  * `/api/v1/policy-guardrails/*` returns, as the control plane, the dashboard
4
4
  * page and `intutic guardrails` all read it. The control plane's service
5
5
  * imports these rather than declaring its own, so a field cannot drift
@@ -8,12 +8,13 @@
8
8
  * camelCase throughout: the routes select through Drizzle column maps, and
9
9
  * that is the casing they emit.
10
10
  */
11
- import type { GuardrailIr } from './guardrailIr.js';
11
+ import { z } from 'zod';
12
+ import { type GuardrailIr } from './guardrailIr.js';
12
13
  export declare const GUARDRAIL_STATUSES: readonly ["PROPOSED", "SHADOW", "ENFORCING", "REJECTED", "RETIRED"];
13
14
  /**
14
15
  * Statuses in which a guardrail's citation is live — the ones conflicts are
15
16
  * reported for and the ones that keep the cited document from being written
16
- * back over (LLD #71, Wave 8). A rejected proposal does not freeze a source.
17
+ * back over. A rejected proposal does not freeze a source.
17
18
  */
18
19
  export declare const LIVE_GUARDRAIL_STATUSES: readonly ["PROPOSED", "SHADOW", "ENFORCING"];
19
20
  /**
@@ -34,16 +35,110 @@ export declare function guardrailFileStem(guardrailId: string): string;
34
35
  export declare function guardrailIdFromSopTitle(title: string): string | null;
35
36
  export type GuardrailStatus = (typeof GUARDRAIL_STATUSES)[number];
36
37
  /**
37
- * `workspace_setting` (TD-474 item 2) is the one target no rule endpoint
38
+ * `workspace_setting` is the one target no rule endpoint
38
39
  * projects: an `allowed_models` or `egress_allow` guardrail is written into
39
40
  * the workspace setting the proxy already enforces when a member promotes it,
40
41
  * and unwound when it is retired.
41
42
  */
42
43
  export declare const GUARDRAIL_TARGETS: readonly ["hook_rule", "sop_front_matter", "wasm_rule", "workspace_setting"];
43
44
  export type GuardrailTarget = (typeof GUARDRAIL_TARGETS)[number];
44
- export declare const GUARDRAIL_EVENT_TYPES: readonly ["PROPOSED", "SHADOW_APPROVED", "PROMOTED", "REJECTED", "RETIRED", "SOURCE_STALE", "SOURCE_RECONFIRMED", "CITATION_REBOUND", "RENDER_REBOUND"];
45
+ export declare const GUARDRAIL_EVENT_TYPES: readonly ["PROPOSED", "SHADOW_APPROVED", "PROMOTED", "REJECTED", "RETIRED", "SOURCE_STALE", "SOURCE_RECONFIRMED", "CITATION_REBOUND", "RENDER_REBOUND", "UPDATED"];
45
46
  export type GuardrailEventType = (typeof GUARDRAIL_EVENT_TYPES)[number];
46
- /** The one promotion rule (LLD #71 decision 7), as `GET …/thresholds` reports it. */
47
+ /**
48
+ * Where a guardrail came from.
49
+ *
50
+ * - `extracted`: compiled from a cited clause of a policy document. It stands
51
+ * on a passage, carries the quote, and goes stale when the passage changes.
52
+ * - `authored`: written directly by an OWNER or ADMIN (API, CLI, Terraform or
53
+ * the dashboard). It has a name and an optional description instead of a
54
+ * citation, and is held to the same IR and the same validator — minus the
55
+ * checks that ground a model's proposal in the passage it was shown, which
56
+ * have nothing to read.
57
+ *
58
+ * Both start PROPOSED and move through the same transitions on the same
59
+ * evidence.
60
+ */
61
+ export declare const GUARDRAIL_PROVENANCES: readonly ["extracted", "authored"];
62
+ export type GuardrailProvenance = (typeof GUARDRAIL_PROVENANCES)[number];
63
+ /** An authored guardrail's name is a one-line label: it titles the projected SOP and the review card. */
64
+ export declare const AUTHORED_NAME_MAX_CHARS = 80;
65
+ /** The description stands where an extracted guardrail's quote stands — in a hook rule's block message, among others — so it has the quote's ceiling. */
66
+ export declare const AUTHORED_DESCRIPTION_MAX_CHARS = 480;
67
+ /**
68
+ * `POST /api/v1/policy-guardrails/guardrails`. The IR is checked by the
69
+ * guardrail validator, not here: this schema only says the envelope is right.
70
+ */
71
+ export declare const AuthoredGuardrailCreateSchema: z.ZodObject<{
72
+ name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
73
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ ir: z.ZodEffects<z.ZodUnknown, {} | null, unknown>;
75
+ }, "strict", z.ZodTypeAny, {
76
+ name: string;
77
+ ir: {} | null;
78
+ description?: string | null | undefined;
79
+ }, {
80
+ name: string;
81
+ ir?: unknown;
82
+ description?: string | null | undefined;
83
+ }>;
84
+ /**
85
+ * `PUT /api/v1/policy-guardrails/guardrails/:guardrailId`: any of the three.
86
+ * A changed IR creates a new version; `description: null` clears it.
87
+ */
88
+ export declare const AuthoredGuardrailUpdateSchema: z.ZodEffects<z.ZodObject<{
89
+ name: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
90
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ ir: z.ZodOptional<z.ZodUnknown>;
92
+ }, "strict", z.ZodTypeAny, {
93
+ name?: string | undefined;
94
+ ir?: unknown;
95
+ description?: string | null | undefined;
96
+ }, {
97
+ name?: string | undefined;
98
+ ir?: unknown;
99
+ description?: string | null | undefined;
100
+ }>, {
101
+ name?: string | undefined;
102
+ ir?: unknown;
103
+ description?: string | null | undefined;
104
+ }, {
105
+ name?: string | undefined;
106
+ ir?: unknown;
107
+ description?: string | null | undefined;
108
+ }>;
109
+ export type AuthoredGuardrailCreate = z.infer<typeof AuthoredGuardrailCreateSchema>;
110
+ export type AuthoredGuardrailUpdate = z.infer<typeof AuthoredGuardrailUpdateSchema>;
111
+ /** One named validator check, in the order the checks ran. */
112
+ export interface GuardrailCheckResult {
113
+ name: string;
114
+ passed: boolean;
115
+ detail: string;
116
+ }
117
+ /** `POST …/guardrails/validate`: what a create or an IR edit would be refused for, without writing anything. */
118
+ export interface GuardrailValidationResponse {
119
+ valid: boolean;
120
+ validation: GuardrailCheckResult[];
121
+ /** The enforcer the IR is projected into; null when the IR did not validate. */
122
+ target: GuardrailTarget | null;
123
+ /** The artifact the enforcer would read; null when the IR did not validate. */
124
+ rendered: unknown;
125
+ }
126
+ /** The 400 a create or an IR edit answers with when a check refuses the IR. */
127
+ export interface GuardrailValidationFailure {
128
+ error: string;
129
+ code: 'invalid_guardrail';
130
+ validation: GuardrailCheckResult[];
131
+ }
132
+ /** The answer to an authored create (201) or update (200). */
133
+ export interface AuthoredGuardrailWriteResult {
134
+ ok: true;
135
+ guardrail: GuardrailDetail;
136
+ /** The IR changed: a new version, back in PROPOSED with no evidence, replaced the old one, which is now RETIRED. */
137
+ forked: boolean;
138
+ /** The id of the version this one replaced, when `forked`. */
139
+ supersedes: string | null;
140
+ }
141
+ /** The one promotion rule, as `GET …/thresholds` reports it. */
47
142
  export interface GuardrailThresholds {
48
143
  minShadowEvaluations: number;
49
144
  maxWouldActRate: number;
@@ -76,6 +171,15 @@ export interface GuardrailDocumentRef {
76
171
  }
77
172
  export interface GuardrailSummary {
78
173
  guardrailId: string;
174
+ provenance: GuardrailProvenance;
175
+ /** Authored only: the author's label for it. Null for an extracted guardrail, whose label is its document and quote. */
176
+ name: string | null;
177
+ /** Authored only: what the rule is for, in the author's words; shown where an extracted guardrail shows its quote. */
178
+ description: string | null;
179
+ /** 1 for an extracted guardrail. Each IR edit of an authored guardrail creates the next version under a new id. */
180
+ version: number;
181
+ /** The guardrail id of the version this one replaced, or null. */
182
+ supersedes: string | null;
79
183
  target: GuardrailTarget;
80
184
  status: GuardrailStatus;
81
185
  ir: GuardrailIr;
@@ -87,14 +191,16 @@ export interface GuardrailSummary {
87
191
  shadowWouldAct: number;
88
192
  enforcingFires: number;
89
193
  sourceStale: boolean;
90
- /** wasm_rule only: the rule candidate this guardrail was handed to on shadow approval (LLD #71, Wave 7). */
194
+ /** wasm_rule only: the rule candidate this guardrail was handed to on shadow approval. */
91
195
  ruleCandidateId: string | null;
92
196
  proposedAt: string;
93
197
  shadowAt: string | null;
94
198
  promotedAt: string | null;
95
199
  rejectedReason: string | null;
96
- clause: GuardrailClauseRef;
97
- document: GuardrailDocumentRef;
200
+ /** Null for an authored guardrail: it cites nothing. */
201
+ clause: GuardrailClauseRef | null;
202
+ /** Null for an authored guardrail. */
203
+ document: GuardrailDocumentRef | null;
98
204
  }
99
205
  export interface GuardrailEvent {
100
206
  eventId: string;
@@ -114,10 +220,13 @@ export interface GuardrailDetail extends GuardrailSummary {
114
220
  validation: unknown;
115
221
  passage: GuardrailPassageRef | null;
116
222
  events: GuardrailEvent[];
223
+ /** The id of the version that replaced this one (an authored guardrail whose IR was edited), or null. */
224
+ supersededBy: string | null;
117
225
  }
118
226
  export interface GuardrailListFilters {
119
227
  status?: GuardrailStatus;
120
228
  target?: GuardrailTarget;
229
+ provenance?: GuardrailProvenance;
121
230
  docId?: string;
122
231
  limit?: number;
123
232
  }
@@ -268,7 +377,7 @@ export interface TokenCoverage {
268
377
  }>;
269
378
  }
270
379
  /**
271
- * The ledger's two Jaccard lines (LLD #71): passages at or above the overlap
380
+ * The ledger's two Jaccard lines: passages at or above the overlap
272
381
  * line are recorded as OVERLAPS edges, and a retired passage's successor must
273
382
  * clear the near-identical line to be recorded as SUPERSEDES. One definition
274
383
  * for the ingest that writes the edges and the duplicates query that reads
@@ -436,5 +545,13 @@ export interface CandidateCitationEvidence {
436
545
  documentTitle: string;
437
546
  };
438
547
  }
548
+ /** A candidate's evidence entry when the guardrail it came from was authored, not extracted: there is no citation to carry. */
549
+ export interface AuthoredCandidateEvidence {
550
+ authored: {
551
+ guardrailId: string;
552
+ name: string;
553
+ version: number;
554
+ };
555
+ }
439
556
  export declare function isCandidateCitationEvidence(value: unknown): value is CandidateCitationEvidence;
440
557
  //# sourceMappingURL=policyGuardrails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policyGuardrails.d.ts","sourceRoot":"","sources":["../src/policyGuardrails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyGuardrails.d.ts","sourceRoot":"","sources":["../src/policyGuardrails.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Wire types for the Policy Clause Ledger (LLD #71): what
3
+ * Wire types for the Policy Clause Ledger: what
4
4
  * `/api/v1/policy-guardrails/*` returns, as the control plane, the dashboard
5
5
  * page and `intutic guardrails` all read it. The control plane's service
6
6
  * imports these rather than declaring its own, so a field cannot drift
@@ -10,15 +10,17 @@
10
10
  * that is the casing they emit.
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.LEDGER_EDGE_TYPES = exports.LEDGER_IMPACT_MAX_DEPTH = exports.LEDGER_NEAR_IDENTICAL_JACCARD = exports.LEDGER_OVERLAP_JACCARD = exports.GUARDRAIL_EVENT_TYPES = exports.GUARDRAIL_TARGETS = exports.GUARDRAIL_SOP_TITLE_PREFIX = exports.LIVE_GUARDRAIL_STATUSES = exports.GUARDRAIL_STATUSES = void 0;
13
+ exports.LEDGER_EDGE_TYPES = exports.LEDGER_IMPACT_MAX_DEPTH = exports.LEDGER_NEAR_IDENTICAL_JACCARD = exports.LEDGER_OVERLAP_JACCARD = exports.AuthoredGuardrailUpdateSchema = exports.AuthoredGuardrailCreateSchema = exports.AUTHORED_DESCRIPTION_MAX_CHARS = exports.AUTHORED_NAME_MAX_CHARS = exports.GUARDRAIL_PROVENANCES = exports.GUARDRAIL_EVENT_TYPES = exports.GUARDRAIL_TARGETS = exports.GUARDRAIL_SOP_TITLE_PREFIX = exports.LIVE_GUARDRAIL_STATUSES = exports.GUARDRAIL_STATUSES = void 0;
14
14
  exports.guardrailFileStem = guardrailFileStem;
15
15
  exports.guardrailIdFromSopTitle = guardrailIdFromSopTitle;
16
16
  exports.isCandidateCitationEvidence = isCandidateCitationEvidence;
17
+ const zod_1 = require("zod");
18
+ const guardrailIr_js_1 = require("./guardrailIr.js");
17
19
  exports.GUARDRAIL_STATUSES = ['PROPOSED', 'SHADOW', 'ENFORCING', 'REJECTED', 'RETIRED'];
18
20
  /**
19
21
  * Statuses in which a guardrail's citation is live — the ones conflicts are
20
22
  * reported for and the ones that keep the cited document from being written
21
- * back over (LLD #71, Wave 8). A rejected proposal does not freeze a source.
23
+ * back over. A rejected proposal does not freeze a source.
22
24
  */
23
25
  exports.LIVE_GUARDRAIL_STATUSES = ['PROPOSED', 'SHADOW', 'ENFORCING'];
24
26
  /**
@@ -46,7 +48,7 @@ function guardrailIdFromSopTitle(title) {
46
48
  return stem ? stem[1] : null;
47
49
  }
48
50
  /**
49
- * `workspace_setting` (TD-474 item 2) is the one target no rule endpoint
51
+ * `workspace_setting` is the one target no rule endpoint
50
52
  * projects: an `allowed_models` or `egress_allow` guardrail is written into
51
53
  * the workspace setting the proxy already enforces when a member promotes it,
52
54
  * and unwound when it is retired.
@@ -61,11 +63,62 @@ exports.GUARDRAIL_EVENT_TYPES = [
61
63
  'SOURCE_STALE',
62
64
  'SOURCE_RECONFIRMED',
63
65
  'CITATION_REBOUND',
64
- /** The stored render was recomputed by the current renderer (TD-478); shadow evidence gathered under the old render was reset. */
66
+ /** The stored render was recomputed by the current renderer; shadow evidence gathered under the old render was reset. */
65
67
  'RENDER_REBOUND',
68
+ /** An authored guardrail's name or description changed in place; what it enforces did not. */
69
+ 'UPDATED',
66
70
  ];
67
71
  /**
68
- * The ledger's two Jaccard lines (LLD #71): passages at or above the overlap
72
+ * Where a guardrail came from.
73
+ *
74
+ * - `extracted`: compiled from a cited clause of a policy document. It stands
75
+ * on a passage, carries the quote, and goes stale when the passage changes.
76
+ * - `authored`: written directly by an OWNER or ADMIN (API, CLI, Terraform or
77
+ * the dashboard). It has a name and an optional description instead of a
78
+ * citation, and is held to the same IR and the same validator — minus the
79
+ * checks that ground a model's proposal in the passage it was shown, which
80
+ * have nothing to read.
81
+ *
82
+ * Both start PROPOSED and move through the same transitions on the same
83
+ * evidence.
84
+ */
85
+ exports.GUARDRAIL_PROVENANCES = ['extracted', 'authored'];
86
+ /** An authored guardrail's name is a one-line label: it titles the projected SOP and the review card. */
87
+ exports.AUTHORED_NAME_MAX_CHARS = guardrailIr_js_1.MAX_TITLE_CHARS;
88
+ /** The description stands where an extracted guardrail's quote stands — in a hook rule's block message, among others — so it has the quote's ceiling. */
89
+ exports.AUTHORED_DESCRIPTION_MAX_CHARS = guardrailIr_js_1.MAX_RATIONALE_CHARS;
90
+ const AuthoredName = zod_1.z
91
+ .string()
92
+ .min(1)
93
+ .max(exports.AUTHORED_NAME_MAX_CHARS)
94
+ .refine((v) => [...v].every((ch) => ch.charCodeAt(0) >= 0x20 && ch.charCodeAt(0) !== 0x7f), { message: 'a name is one line: no tab, newline or control character' })
95
+ .refine((v) => v === v.trim(), { message: 'a name has no leading or trailing whitespace' });
96
+ const AuthoredDescription = zod_1.z.string().min(1).max(exports.AUTHORED_DESCRIPTION_MAX_CHARS);
97
+ /**
98
+ * `POST /api/v1/policy-guardrails/guardrails`. The IR is checked by the
99
+ * guardrail validator, not here: this schema only says the envelope is right.
100
+ */
101
+ exports.AuthoredGuardrailCreateSchema = zod_1.z
102
+ .object({
103
+ name: AuthoredName,
104
+ description: AuthoredDescription.nullable().optional(),
105
+ ir: zod_1.z.unknown().refine((v) => v !== undefined, { message: 'ir is required' }),
106
+ })
107
+ .strict();
108
+ /**
109
+ * `PUT /api/v1/policy-guardrails/guardrails/:guardrailId`: any of the three.
110
+ * A changed IR creates a new version; `description: null` clears it.
111
+ */
112
+ exports.AuthoredGuardrailUpdateSchema = zod_1.z
113
+ .object({
114
+ name: AuthoredName.optional(),
115
+ description: AuthoredDescription.nullable().optional(),
116
+ ir: zod_1.z.unknown().optional(),
117
+ })
118
+ .strict()
119
+ .refine((v) => v.name !== undefined || v.description !== undefined || v.ir !== undefined, { message: 'nothing to update: send name, description or ir' });
120
+ /**
121
+ * The ledger's two Jaccard lines: passages at or above the overlap
69
122
  * line are recorded as OVERLAPS edges, and a retired passage's successor must
70
123
  * clear the near-identical line to be recorded as SUPERSEDES. One definition
71
124
  * for the ingest that writes the edges and the duplicates query that reads
@@ -1 +1 @@
1
- {"version":3,"file":"policyGuardrails.js","sourceRoot":"","sources":["../src/policyGuardrails.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAsBH,8CAEC;AAOD,0DAKC;AAgUD,kEAIC;AApWY,QAAA,kBAAkB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAU,CAAA;AACrG;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAA;AAEnF;;;;;;GAMG;AACU,QAAA,0BAA0B,GAAG,YAAY,CAAA;AAEtD,oFAAoF;AACpF,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,aAAa,WAAW,EAAE,CAAA;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACtE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/B,CAAC;AAGD;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,CAAU,CAAA;AAGhG,QAAA,qBAAqB,GAAG;IACnC,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,UAAU;IACV,SAAS;IACT,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,kIAAkI;IAClI,gBAAgB;CACR,CAAA;AAgNV;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG,GAAG,CAAA;AAC5B,QAAA,6BAA6B,GAAG,IAAI,CAAA;AAEjD,4EAA4E;AAC/D,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAExC;;;;;;;;;;;GAWG;AACU,QAAA,iBAAiB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAU,CAAA;AAgErJ,SAAgB,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,CAAC,GAAI,KAAgC,CAAC,QAAQ,CAAA;IACpD,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAyB,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,CAA+B,CAAC,WAAW,KAAK,QAAQ,CAAA;AACjK,CAAC"}
1
+ {"version":3,"file":"policyGuardrails.js","sourceRoot":"","sources":["../src/policyGuardrails.ts"],"names":[],"mappings":"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"}
@@ -121,7 +121,7 @@ exports.COST_POSTURES = [
121
121
  name: 'quality-first',
122
122
  title: 'Quality first',
123
123
  description: 'No routing, no semantic cache: every request is served by the requested ' +
124
- 'model, fresh, with only byte-identical repeats served from cache.',
124
+ 'model, fresh, with only exact repeats of a whole request served from cache.',
125
125
  settings: {},
126
126
  featureFlags: {
127
127
  ff_bandit_routing: false,
@@ -1 +1 @@
1
- {"version":3,"file":"posturePresets.js","sourceRoot":"","sources":["../src/posturePresets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AA6HH,kCAGC;AApHD;;GAEG;AACU,QAAA,iBAAiB,GAA6B;IACzD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,iFAAiF;YACjF,2EAA2E;YAC3E,oEAAoE;QACtE,QAAQ,EAAE;YACR,qBAAqB,EAAE,WAAW;YAClC,oBAAoB,EAAE,QAAQ;SAC/B;QACD,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,+DAA+D;QAC/D,kEAAkE;QAClE,kEAAkE;QAClE,kEAAkE;QAClE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,YAAY,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE;KAC/E;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,+EAA+E;YAC/E,0EAA0E;YAC1E,6BAA6B;QAC/B,QAAQ,EAAE;YACR,qBAAqB,EAAE,SAAS;YAChC,oBAAoB,EAAE,MAAM;SAC7B;QACD,YAAY,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE;KAC/C;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,gFAAgF;YAChF,gFAAgF;YAChF,4EAA4E;QAC9E,QAAQ,EAAE;YACR,qBAAqB,EAAE,YAAY;YACnC,oBAAoB,EAAE,MAAM;SAC7B;QACD,YAAY,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;KAC9C;CACO,CAAA;AAEV;;;;;;;GAOG;AACU,QAAA,aAAa,GAA6B;IACrD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,yEAAyE;YACzE,2EAA2E;YAC3E,gFAAgF;QAClF,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,IAAI;SACjC;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,8EAA8E;YAC9E,8EAA8E;YAC9E,+CAA+C;QACjD,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,IAAI;YACvB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,KAAK;SAClC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,0EAA0E;YAC1E,mEAAmE;QACrE,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,KAAK;SAClC;KACF;CACO,CAAA;AAIV,yEAAyE;AACzE,SAAgB,WAAW,CAAC,IAAiB,EAAE,IAAY;IACzD,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,qBAAa,CAAA;IACnE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"posturePresets.js","sourceRoot":"","sources":["../src/posturePresets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AA6HH,kCAGC;AApHD;;GAEG;AACU,QAAA,iBAAiB,GAA6B;IACzD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,iFAAiF;YACjF,2EAA2E;YAC3E,oEAAoE;QACtE,QAAQ,EAAE;YACR,qBAAqB,EAAE,WAAW;YAClC,oBAAoB,EAAE,QAAQ;SAC/B;QACD,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,+DAA+D;QAC/D,kEAAkE;QAClE,kEAAkE;QAClE,kEAAkE;QAClE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,YAAY,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE;KAC/E;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,+EAA+E;YAC/E,0EAA0E;YAC1E,6BAA6B;QAC/B,QAAQ,EAAE;YACR,qBAAqB,EAAE,SAAS;YAChC,oBAAoB,EAAE,MAAM;SAC7B;QACD,YAAY,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE;KAC/C;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,gFAAgF;YAChF,gFAAgF;YAChF,4EAA4E;QAC9E,QAAQ,EAAE;YACR,qBAAqB,EAAE,YAAY;YACnC,oBAAoB,EAAE,MAAM;SAC7B;QACD,YAAY,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;KAC9C;CACO,CAAA;AAEV;;;;;;;GAOG;AACU,QAAA,aAAa,GAA6B;IACrD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,yEAAyE;YACzE,2EAA2E;YAC3E,gFAAgF;QAClF,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,IAAI;SACjC;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,8EAA8E;YAC9E,8EAA8E;YAC9E,+CAA+C;QACjD,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,IAAI;YACvB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,KAAK;SAClC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,0EAA0E;YAC1E,6EAA6E;QAC/E,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,KAAK;SAClC;KACF;CACO,CAAA;AAIV,yEAAyE;AACzE,SAAgB,WAAW,CAAC,IAAiB,EAAE,IAAY;IACzD,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,qBAAa,CAAA;IACnE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AACzC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Provider credential verification (LLD #70, model catalog & cohort wizard).
2
+ * Provider credential verification (model catalog & cohort wizard).
3
3
  *
4
4
  * Pure, network-free description of how to check whether a credential works —
5
5
  * the cheapest authenticated call each provider's own API exposes. Two
@@ -29,8 +29,16 @@ export interface ProviderProbeRequest {
29
29
  url: string;
30
30
  method: 'GET' | 'POST';
31
31
  headers: Record<string, string>;
32
- /** Present only for POST probes (currently: Anthropic's 1-token message). */
32
+ /** Present only for POST probes (the cloud token and STS calls). */
33
33
  body?: string;
34
+ /** A provider-specific reading of the answer; `classifyProbeResponse` otherwise. */
35
+ classify?: (status: number, headers: {
36
+ get(name: string): string | null;
37
+ }) => ProbeVerdict;
38
+ /** What a `valid` answer proves, when it is narrower than "the credential works". */
39
+ validDetail?: string;
40
+ /** Decided without a request (a key that cannot be used at all); nothing is sent. */
41
+ localVerdict?: ProbeVerdict;
34
42
  }
35
43
  /**
36
44
  * Build the cheapest authenticated request that proves a credential works,
@@ -38,18 +46,36 @@ export interface ProviderProbeRequest {
38
46
  *
39
47
  * `fields` is the provider's credential field map exactly as stored — the
40
48
  * same shape `PROVIDER_REGISTRY`'s `ProviderCredentialField.key`s describe
41
- * (`providers.ts`), e.g. `{ apiKey: '...' }` for Anthropic, `{ apiKey, endpoint,
42
- * deploymentName }` for Azure OpenAI.
49
+ * (`providers.ts`), e.g. `{ apiKey: '...' }` for Anthropic, `{ apiKey, endpoint }`
50
+ * for Azure OpenAI.
43
51
  *
44
- * Bedrock and Vertex AI return `null`: verifying them means SigV4 request
45
- * signing or a GCP OAuth2/JWT exchange, neither of which exists anywhere in
46
- * this codebase yet (the same "real per-provider engineering, not a config
47
- * change" boundary LLD #67 §3 draws around routing those two providers). A
48
- * caller seeing `null` should say "cannot verify automatically," not fail
49
- * the credential.
52
+ * Bedrock and Vertex AI return `null` here: their probe is signed per
53
+ * request, which takes WebCrypto and is asynchronous — see
54
+ * `buildVerificationProbeAsync`, which every executor calls. A caller seeing
55
+ * `null` from that should say "cannot verify automatically," not fail the
56
+ * credential.
50
57
  */
51
58
  export declare function buildVerificationProbe(provider: string, fields: Record<string, string>): ProviderProbeRequest | null;
52
59
  export type ProbeVerdict = 'valid' | 'invalid' | 'unknown';
60
+ /**
61
+ * The model ids in a provider's list-models answer (the body a `valid`
62
+ * verification probe got back), deduplicated and sorted; `null` when this
63
+ * provider's probe does not list the models a request can name, or the body
64
+ * is not the expected shape.
65
+ *
66
+ * Azure OpenAI's probe lists base models, while a request names a deployment,
67
+ * so its list would mislead; Bedrock and Vertex AI probe identity, not models.
68
+ */
69
+ export declare function parseProviderModels(provider: string, body: unknown): string[] | null;
70
+ /**
71
+ * The probe for any provider: a signed cloud probe for Bedrock and Vertex AI
72
+ * (`cloudProbe.ts`), the plain request description otherwise.
73
+ */
74
+ export declare function buildVerificationProbeAsync(provider: string, fields: Record<string, string>, now?: Date): Promise<ProviderProbeRequest | null>;
75
+ /** The verdict for a probe's answer: the probe's own reading when it has one. */
76
+ export declare function classifyProbe(probe: ProviderProbeRequest, status: number, headers?: {
77
+ get(name: string): string | null;
78
+ }): ProbeVerdict;
53
79
  /**
54
80
  * Classify a probe's HTTP response. Deliberately narrow about what counts as
55
81
  * "invalid": only 401/403 mean the credential itself is wrong. A 429
@@ -1 +1 @@
1
- {"version":3,"file":"providerVerification.d.ts","sourceRoot":"","sources":["../src/providerVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,oBAAoB,GAAG,IAAI,CAkH7B;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAItE"}
1
+ {"version":3,"file":"providerVerification.d.ts","sourceRoot":"","sources":["../src/providerVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAmBH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,YAAY,CAAA;IAC1F,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,oBAAoB,GAAG,IAAI,CA6G7B;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAe1D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAuBpF;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAEtC;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C,YAAY,CAId;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAItE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Provider credential verification (LLD #70, model catalog & cohort wizard).
3
+ * Provider credential verification (model catalog & cohort wizard).
4
4
  *
5
5
  * Pure, network-free description of how to check whether a credential works —
6
6
  * the cheapest authenticated call each provider's own API exposes. Two
@@ -28,7 +28,11 @@
28
28
  */
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.buildVerificationProbe = buildVerificationProbe;
31
+ exports.parseProviderModels = parseProviderModels;
32
+ exports.buildVerificationProbeAsync = buildVerificationProbeAsync;
33
+ exports.classifyProbe = classifyProbe;
31
34
  exports.classifyProbeResponse = classifyProbeResponse;
35
+ const cloudProbe_js_1 = require("./cloudProbe.js");
32
36
  /**
33
37
  * Strip trailing `/` characters, without a regex. `endpoint`/`apiBase` are
34
38
  * workspace-provisioned credential fields — CodeQL correctly flagged the
@@ -50,15 +54,14 @@ function stripTrailingSlashes(s) {
50
54
  *
51
55
  * `fields` is the provider's credential field map exactly as stored — the
52
56
  * same shape `PROVIDER_REGISTRY`'s `ProviderCredentialField.key`s describe
53
- * (`providers.ts`), e.g. `{ apiKey: '...' }` for Anthropic, `{ apiKey, endpoint,
54
- * deploymentName }` for Azure OpenAI.
57
+ * (`providers.ts`), e.g. `{ apiKey: '...' }` for Anthropic, `{ apiKey, endpoint }`
58
+ * for Azure OpenAI.
55
59
  *
56
- * Bedrock and Vertex AI return `null`: verifying them means SigV4 request
57
- * signing or a GCP OAuth2/JWT exchange, neither of which exists anywhere in
58
- * this codebase yet (the same "real per-provider engineering, not a config
59
- * change" boundary LLD #67 §3 draws around routing those two providers). A
60
- * caller seeing `null` should say "cannot verify automatically," not fail
61
- * the credential.
60
+ * Bedrock and Vertex AI return `null` here: their probe is signed per
61
+ * request, which takes WebCrypto and is asynchronous — see
62
+ * `buildVerificationProbeAsync`, which every executor calls. A caller seeing
63
+ * `null` from that should say "cannot verify automatically," not fail the
64
+ * credential.
62
65
  */
63
66
  function buildVerificationProbe(provider, fields) {
64
67
  switch (provider) {
@@ -66,21 +69,16 @@ function buildVerificationProbe(provider, fields) {
66
69
  const apiKey = fields.apiKey;
67
70
  if (!apiKey)
68
71
  return null;
69
- // Anthropic's API has no /v1/models endpoint to probe cheaply, so the
70
- // cheapest real call is a 1-max-token message — costs about one token.
72
+ // Listing models is the cheapest authenticated call Anthropic has: it
73
+ // spends no tokens, and the answer says which models the key reaches.
74
+ // 1000 is the page-size ceiling, enough for the whole catalog in one call.
71
75
  return {
72
- url: 'https://api.anthropic.com/v1/messages',
73
- method: 'POST',
76
+ url: 'https://api.anthropic.com/v1/models?limit=1000',
77
+ method: 'GET',
74
78
  headers: {
75
79
  'x-api-key': apiKey,
76
80
  'anthropic-version': '2023-06-01',
77
- 'content-type': 'application/json',
78
81
  },
79
- body: JSON.stringify({
80
- model: 'claude-haiku-4-5',
81
- max_tokens: 1,
82
- messages: [{ role: 'user', content: 'hi' }],
83
- }),
84
82
  };
85
83
  }
86
84
  case 'openai': {
@@ -138,7 +136,7 @@ function buildVerificationProbe(provider, fields) {
138
136
  if (!apiKey)
139
137
  return null;
140
138
  return {
141
- url: `https://generativelanguage.googleapis.com/v1beta/models?key=${encodeURIComponent(apiKey)}`,
139
+ url: `https://generativelanguage.googleapis.com/v1beta/models?pageSize=1000&key=${encodeURIComponent(apiKey)}`,
142
140
  method: 'GET',
143
141
  headers: {},
144
142
  };
@@ -174,6 +172,68 @@ function buildVerificationProbe(provider, fields) {
174
172
  return null;
175
173
  }
176
174
  }
175
+ /** `body[listKey][].{idKey}` values that are non-empty strings. */
176
+ function pluck(body, listKey, idKey) {
177
+ if (typeof body !== 'object' || body === null)
178
+ return null;
179
+ const list = body[listKey];
180
+ if (!Array.isArray(list))
181
+ return null;
182
+ const ids = [];
183
+ for (const entry of list) {
184
+ const id = typeof entry === 'object' && entry !== null ? entry[idKey] : undefined;
185
+ if (typeof id === 'string' && id.length > 0)
186
+ ids.push(id);
187
+ }
188
+ return ids;
189
+ }
190
+ /**
191
+ * The model ids in a provider's list-models answer (the body a `valid`
192
+ * verification probe got back), deduplicated and sorted; `null` when this
193
+ * provider's probe does not list the models a request can name, or the body
194
+ * is not the expected shape.
195
+ *
196
+ * Azure OpenAI's probe lists base models, while a request names a deployment,
197
+ * so its list would mislead; Bedrock and Vertex AI probe identity, not models.
198
+ */
199
+ function parseProviderModels(provider, body) {
200
+ let ids;
201
+ switch (provider) {
202
+ case 'anthropic':
203
+ case 'openai':
204
+ case 'mistral':
205
+ case 'openrouter':
206
+ case 'deepseek':
207
+ ids = pluck(body, 'data', 'id');
208
+ break;
209
+ case 'gemini':
210
+ // Gemini names a model `models/gemini-2.5-pro`; requests use the bare id.
211
+ ids = pluck(body, 'models', 'name')?.map((n) => (n.startsWith('models/') ? n.slice('models/'.length) : n)) ?? null;
212
+ break;
213
+ case 'cohere':
214
+ case 'ollama':
215
+ ids = pluck(body, 'models', 'name');
216
+ break;
217
+ default:
218
+ return null;
219
+ }
220
+ if (!ids)
221
+ return null;
222
+ return [...new Set(ids.filter((id) => id.length > 0))].sort();
223
+ }
224
+ /**
225
+ * The probe for any provider: a signed cloud probe for Bedrock and Vertex AI
226
+ * (`cloudProbe.ts`), the plain request description otherwise.
227
+ */
228
+ async function buildVerificationProbeAsync(provider, fields, now = new Date()) {
229
+ return (await (0, cloudProbe_js_1.buildCloudVerificationProbe)(provider, fields, now)) ?? buildVerificationProbe(provider, fields);
230
+ }
231
+ /** The verdict for a probe's answer: the probe's own reading when it has one. */
232
+ function classifyProbe(probe, status, headers) {
233
+ return probe.classify
234
+ ? probe.classify(status, headers ?? { get: () => null })
235
+ : classifyProbeResponse(status);
236
+ }
177
237
  /**
178
238
  * Classify a probe's HTTP response. Deliberately narrow about what counts as
179
239
  * "invalid": only 401/403 mean the credential itself is wrong. A 429