@intutic/shared-types 2.3.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 (48) hide show
  1. package/dist/auth.d.ts +106 -0
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +17 -1
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cloudProbe.d.ts +54 -0
  6. package/dist/cloudProbe.d.ts.map +1 -0
  7. package/dist/cloudProbe.js +254 -0
  8. package/dist/cloudProbe.js.map +1 -0
  9. package/dist/enums.d.ts +48 -0
  10. package/dist/enums.d.ts.map +1 -1
  11. package/dist/enums.js +31 -3
  12. package/dist/enums.js.map +1 -1
  13. package/dist/finops.d.ts +38 -0
  14. package/dist/finops.d.ts.map +1 -1
  15. package/dist/guardrailIr.d.ts +6 -6
  16. package/dist/index.d.ts +9 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +35 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/mcpBudgets.d.ts +24 -24
  21. package/dist/notifications.d.ts +17 -2
  22. package/dist/notifications.d.ts.map +1 -1
  23. package/dist/notifications.js +26 -1
  24. package/dist/notifications.js.map +1 -1
  25. package/dist/providerVerification.d.ts +35 -9
  26. package/dist/providerVerification.d.ts.map +1 -1
  27. package/dist/providerVerification.js +79 -19
  28. package/dist/providerVerification.js.map +1 -1
  29. package/dist/providers.d.ts +50 -13
  30. package/dist/providers.d.ts.map +1 -1
  31. package/dist/providers.js +131 -27
  32. package/dist/providers.js.map +1 -1
  33. package/dist/spendBudgets.d.ts +122 -0
  34. package/dist/spendBudgets.d.ts.map +1 -0
  35. package/dist/spendBudgets.js +92 -0
  36. package/dist/spendBudgets.js.map +1 -0
  37. package/dist/upstreamRetry.d.ts +121 -0
  38. package/dist/upstreamRetry.d.ts.map +1 -0
  39. package/dist/upstreamRetry.js +90 -0
  40. package/dist/upstreamRetry.js.map +1 -0
  41. package/dist/wasmRuleDescriptor.d.ts +43 -0
  42. package/dist/wasmRuleDescriptor.d.ts.map +1 -0
  43. package/dist/wasmRuleDescriptor.js +65 -0
  44. package/dist/wasmRuleDescriptor.js.map +1 -0
  45. package/dist/workspaceSettings.d.ts +37 -0
  46. package/dist/workspaceSettings.d.ts.map +1 -1
  47. package/dist/workspaceSettings.js.map +1 -1
  48. package/package.json +2 -2
package/dist/auth.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { z } from 'zod';
9
9
  import type { WorkspaceRole } from './enums.js';
10
+ import { type HardBudgetWire, type KeyRateLimit, type SpendBudget } from './spendBudgets.js';
10
11
  /**
11
12
  * Auth context injected by middleware on every authenticated request.
12
13
  * Available via `c.get('auth')` in Hono handlers.
@@ -45,6 +46,21 @@ export interface AuthContext {
45
46
  * absence there means "required", never "exempt".
46
47
  */
47
48
  byokRequired?: boolean;
49
+ /**
50
+ * The `vk_` key's id (`api_keys.key_id`). The proxy names the key's spend
51
+ * counters and rate-limit counters with it; absent on a session JWT.
52
+ */
53
+ keyId?: string;
54
+ /**
55
+ * Every hard spend budget that covers this key's calls — the workspace's,
56
+ * the key's own and its owner's member budgets — which the proxy checks
57
+ * before a request leaves. Soft budgets are not listed: they only alert.
58
+ * Absent on an entry written before the field existed, where the proxy
59
+ * keeps the workspace daily cap it read before.
60
+ */
61
+ hardBudgets?: HardBudgetWire[];
62
+ /** The key's requests-per-minute and tokens-per-minute limits, when it has either. */
63
+ rateLimit?: KeyRateLimit;
48
64
  }
49
65
  /** JWT access token payload (compact claims). */
50
66
  export interface JwtPayload {
@@ -375,7 +391,93 @@ export interface CreateApiKeyResult {
375
391
  allowedModels: string[] | null;
376
392
  expiresAt: string | null;
377
393
  createdAt: string;
394
+ /** The key's own spend budgets; empty when it has none. */
395
+ budgets: SpendBudget[];
396
+ /** The key's per-minute limits; both `null` when it has none. */
397
+ rateLimit: KeyRateLimit;
378
398
  }
399
+ /**
400
+ * `PATCH /api/v1/keys/:id` — replace a key's spend budgets and/or rate limit.
401
+ * The only way to set them: any member creates their own keys, and only an
402
+ * OWNER or ADMIN may say what a key can spend, so a key is created unlimited
403
+ * and limited afterwards.
404
+ * A field left out is unchanged; `budgets: []` removes every budget, and a
405
+ * `rateLimit` field set to `null` removes that limit.
406
+ */
407
+ export declare const UpdateApiKeyInputSchema: z.ZodEffects<z.ZodObject<{
408
+ budgets: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodObject<{
409
+ period: z.ZodEnum<["day", "month"]>;
410
+ limitUsd: z.ZodNumber;
411
+ enforcement: z.ZodDefault<z.ZodEnum<["hard", "soft"]>>;
412
+ }, "strict", z.ZodTypeAny, {
413
+ period: "day" | "month";
414
+ limitUsd: number;
415
+ enforcement: "hard" | "soft";
416
+ }, {
417
+ period: "day" | "month";
418
+ limitUsd: number;
419
+ enforcement?: "hard" | "soft" | undefined;
420
+ }>, "many">, {
421
+ period: "day" | "month";
422
+ limitUsd: number;
423
+ enforcement: "hard" | "soft";
424
+ }[], {
425
+ period: "day" | "month";
426
+ limitUsd: number;
427
+ enforcement?: "hard" | "soft" | undefined;
428
+ }[]>>;
429
+ rateLimit: z.ZodOptional<z.ZodObject<{
430
+ rpm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
431
+ tpm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
432
+ }, "strict", z.ZodTypeAny, {
433
+ rpm?: number | null | undefined;
434
+ tpm?: number | null | undefined;
435
+ }, {
436
+ rpm?: number | null | undefined;
437
+ tpm?: number | null | undefined;
438
+ }>>;
439
+ }, "strict", z.ZodTypeAny, {
440
+ budgets?: {
441
+ period: "day" | "month";
442
+ limitUsd: number;
443
+ enforcement: "hard" | "soft";
444
+ }[] | undefined;
445
+ rateLimit?: {
446
+ rpm?: number | null | undefined;
447
+ tpm?: number | null | undefined;
448
+ } | undefined;
449
+ }, {
450
+ budgets?: {
451
+ period: "day" | "month";
452
+ limitUsd: number;
453
+ enforcement?: "hard" | "soft" | undefined;
454
+ }[] | undefined;
455
+ rateLimit?: {
456
+ rpm?: number | null | undefined;
457
+ tpm?: number | null | undefined;
458
+ } | undefined;
459
+ }>, {
460
+ budgets?: {
461
+ period: "day" | "month";
462
+ limitUsd: number;
463
+ enforcement: "hard" | "soft";
464
+ }[] | undefined;
465
+ rateLimit?: {
466
+ rpm?: number | null | undefined;
467
+ tpm?: number | null | undefined;
468
+ } | undefined;
469
+ }, {
470
+ budgets?: {
471
+ period: "day" | "month";
472
+ limitUsd: number;
473
+ enforcement?: "hard" | "soft" | undefined;
474
+ }[] | undefined;
475
+ rateLimit?: {
476
+ rpm?: number | null | undefined;
477
+ tpm?: number | null | undefined;
478
+ } | undefined;
479
+ }>;
480
+ export type UpdateApiKeyInput = z.infer<typeof UpdateApiKeyInputSchema>;
379
481
  /** Safe projection of an API key (no key_hash, no plaintext). */
380
482
  export interface ApiKeyInfo {
381
483
  keyId: string;
@@ -390,6 +492,10 @@ export interface ApiKeyInfo {
390
492
  createdAt: string;
391
493
  /** An automation key, exempt from the SSO-recency window (see `CreateApiKeyInputSchema`). */
392
494
  isServiceAccount: boolean;
495
+ /** The key's own spend budgets; empty when it has none. */
496
+ budgets: SpendBudget[];
497
+ /** The key's per-minute limits; both `null` when it has none. */
498
+ rateLimit: KeyRateLimit;
393
499
  }
394
500
  /**
395
501
  * Workspace dashboard summary — aggregated metrics for EM Dashboard.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/auth.js CHANGED
@@ -7,8 +7,9 @@
7
7
  * @module
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.CreateApiKeyInputSchema = exports.MagicLinkLoginInputSchema = exports.MagicLinkRequestInputSchema = exports.ResendVerificationInputSchema = exports.VerifyEmailInputSchema = exports.OrgSignupInputSchema = exports.SignupInputSchema = exports.UpdateRoleInputSchema = exports.InviteMemberInputSchema = exports.ChangePasswordInputSchema = exports.RefreshInputSchema = exports.RegisterInputSchema = exports.LoginInputSchema = void 0;
10
+ exports.UpdateApiKeyInputSchema = exports.CreateApiKeyInputSchema = exports.MagicLinkLoginInputSchema = exports.MagicLinkRequestInputSchema = exports.ResendVerificationInputSchema = exports.VerifyEmailInputSchema = exports.OrgSignupInputSchema = exports.SignupInputSchema = exports.UpdateRoleInputSchema = exports.InviteMemberInputSchema = exports.ChangePasswordInputSchema = exports.RefreshInputSchema = exports.RegisterInputSchema = exports.LoginInputSchema = void 0;
11
11
  const zod_1 = require("zod");
12
+ const spendBudgets_js_1 = require("./spendBudgets.js");
12
13
  // ─── Login ───────────────────────────────────────────────────────────
13
14
  /** Login request schema (Zod validated). */
14
15
  exports.LoginInputSchema = zod_1.z.object({
@@ -121,4 +122,19 @@ exports.CreateApiKeyInputSchema = zod_1.z.object({
121
122
  */
122
123
  isServiceAccount: zod_1.z.boolean().default(false),
123
124
  });
125
+ /**
126
+ * `PATCH /api/v1/keys/:id` — replace a key's spend budgets and/or rate limit.
127
+ * The only way to set them: any member creates their own keys, and only an
128
+ * OWNER or ADMIN may say what a key can spend, so a key is created unlimited
129
+ * and limited afterwards.
130
+ * A field left out is unchanged; `budgets: []` removes every budget, and a
131
+ * `rateLimit` field set to `null` removes that limit.
132
+ */
133
+ exports.UpdateApiKeyInputSchema = zod_1.z
134
+ .object({
135
+ budgets: spendBudgets_js_1.SpendBudgetListSchema.optional(),
136
+ rateLimit: spendBudgets_js_1.KeyRateLimitSchema.optional(),
137
+ })
138
+ .strict()
139
+ .refine((v) => v.budgets !== undefined || v.rateLimit !== undefined, 'nothing to change: send budgets or rateLimit');
124
140
  //# sourceMappingURL=auth.js.map
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6BAAuB;AA6DvB,wEAAwE;AAExE,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACrC,CAAC,CAAA;AAaF,wEAAwE;AAExE,mDAAmD;AACtC,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACzC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAC9D,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,oBAAoB,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAA;AAcF,wEAAwE;AAExE,oCAAoC;AACvB,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAA;AASF,wEAAwE;AAExE,sCAAsC;AACzB,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACxC,CAAC,CAAA;AAyBF,wEAAwE;AAExE,oCAAoC;AACvB,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACzC,CAAC,CAAA;AAKF,wEAAwE;AAExE,kCAAkC;AACrB,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;CAC9D,CAAC,CAAA;AAEF,gEAAgE;AAEhE,+BAA+B;AAClB,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,oBAAoB,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAA;AAyBF,yEAAyE;AAEzE;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACnC;;;;;OAKG;IACH,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,oEAAoE,EAAE,qCAAqC,CAAC;SAClH,QAAQ,EAAE;IACb,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,oBAAoB,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAA;AA+BF,iCAAiC;AACpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;CAC7B,CAAC,CAAA;AAEF,8CAA8C;AACjC,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;CAC1B,CAAC,CAAA;AAEF,iDAAiD;AACpC,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;CACnC,CAAC,CAAA;AAKF,+CAA+C;AAClC,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAA;AAOF,wEAAwE;AAExE,uCAAuC;AAC1B,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC1D;;;;OAIG;IACH,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5E;;;;OAIG;IACH,gBAAgB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC7C,CAAC,CAAA"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Verification probes for cloud provider credentials: AWS Bedrock and Google
3
+ * Vertex AI, whose cheapest authenticated call has to be signed per request.
4
+ *
5
+ * Still no network here: this builds the request (SigV4-signed, or carrying a
6
+ * freshly signed service-account assertion) with WebCrypto, which Node and
7
+ * browsers both provide, and the executors in the CLI and the control plane
8
+ * send it exactly as they send every other provider's probe.
9
+ *
10
+ * - **Bedrock, access key pair**: STS `GetCallerIdentity`, which any valid
11
+ * key may call — it proves the key, not its Bedrock permissions, which the
12
+ * first model call checks.
13
+ * <https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html>
14
+ * - **Bedrock, API key**: `ListFoundationModels` with the key as a bearer
15
+ * token (Bedrock API keys work with Bedrock control-plane actions).
16
+ * <https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html>
17
+ * - **Vertex AI**: the service account's OAuth token exchange — the key is
18
+ * valid when Google mints a token for it; project access is checked on the
19
+ * first model call. An `authorized_user` file is checked by its refresh
20
+ * grant.
21
+ *
22
+ * @module
23
+ */
24
+ import type { ProviderProbeRequest } from './providerVerification.js';
25
+ export interface SigV4Input {
26
+ method: string;
27
+ host: string;
28
+ path: string;
29
+ query?: Array<[string, string]>;
30
+ /** Headers to sign besides `host` and `x-amz-date`. */
31
+ headers?: Record<string, string>;
32
+ body: string;
33
+ accessKeyId: string;
34
+ secretAccessKey: string;
35
+ sessionToken?: string;
36
+ region: string;
37
+ service: string;
38
+ now: Date;
39
+ }
40
+ /**
41
+ * AWS Signature Version 4: the headers to add (`x-amz-date`,
42
+ * `x-amz-security-token` for temporary credentials, `authorization`).
43
+ * Held to AWS's published test-suite vectors in this package's tests.
44
+ */
45
+ export declare function sigv4Headers(i: SigV4Input): Promise<Record<string, string>>;
46
+ /** An RS256 JWT bearer assertion for Google's token endpoint. */
47
+ export declare function serviceAccountAssertion(clientEmail: string, privateKeyPem: string, privateKeyId: string | undefined, now: Date): Promise<string>;
48
+ export declare const GOOGLE_TOKEN_URI = "https://oauth2.googleapis.com/token";
49
+ /**
50
+ * The verification request for a Bedrock or Vertex AI credential, or `null`
51
+ * when `fields` are not a complete credential for one.
52
+ */
53
+ export declare function buildCloudVerificationProbe(provider: string, fields: Record<string, string>, now?: Date): Promise<ProviderProbeRequest | null>;
54
+ //# sourceMappingURL=cloudProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudProbe.d.ts","sourceRoot":"","sources":["../src/cloudProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAgB,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAiCnF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,IAAI,CAAA;CACV;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmCjF;AASD,iEAAiE;AACjE,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,eAAO,MAAM,gBAAgB,wCAAwC,CAAA;AA+BrE;;;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,CA2FtC"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ /**
3
+ * Verification probes for cloud provider credentials: AWS Bedrock and Google
4
+ * Vertex AI, whose cheapest authenticated call has to be signed per request.
5
+ *
6
+ * Still no network here: this builds the request (SigV4-signed, or carrying a
7
+ * freshly signed service-account assertion) with WebCrypto, which Node and
8
+ * browsers both provide, and the executors in the CLI and the control plane
9
+ * send it exactly as they send every other provider's probe.
10
+ *
11
+ * - **Bedrock, access key pair**: STS `GetCallerIdentity`, which any valid
12
+ * key may call — it proves the key, not its Bedrock permissions, which the
13
+ * first model call checks.
14
+ * <https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html>
15
+ * - **Bedrock, API key**: `ListFoundationModels` with the key as a bearer
16
+ * token (Bedrock API keys work with Bedrock control-plane actions).
17
+ * <https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html>
18
+ * - **Vertex AI**: the service account's OAuth token exchange — the key is
19
+ * valid when Google mints a token for it; project access is checked on the
20
+ * first model call. An `authorized_user` file is checked by its refresh
21
+ * grant.
22
+ *
23
+ * @module
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.GOOGLE_TOKEN_URI = void 0;
27
+ exports.sigv4Headers = sigv4Headers;
28
+ exports.serviceAccountAssertion = serviceAccountAssertion;
29
+ exports.buildCloudVerificationProbe = buildCloudVerificationProbe;
30
+ const enc = new TextEncoder();
31
+ function subtle() {
32
+ const s = globalThis.crypto?.subtle;
33
+ if (!s)
34
+ throw new Error('WebCrypto is not available in this runtime');
35
+ return s;
36
+ }
37
+ function hex(buf) {
38
+ return [...new Uint8Array(buf)].map((b) => b.toString(16).padStart(2, '0')).join('');
39
+ }
40
+ async function sha256Hex(data) {
41
+ return hex(await subtle().digest('SHA-256', enc.encode(data)));
42
+ }
43
+ async function hmac(key, data) {
44
+ const k = await subtle().importKey('raw', key, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
45
+ return subtle().sign('HMAC', k, enc.encode(data));
46
+ }
47
+ /** RFC 3986 encoding as SigV4 requires it (unreserved characters kept). */
48
+ function uriEncode(s) {
49
+ return [...enc.encode(s)]
50
+ .map((b) => {
51
+ const c = String.fromCharCode(b);
52
+ return /[A-Za-z0-9\-_.~]/.test(c) ? c : `%${b.toString(16).toUpperCase().padStart(2, '0')}`;
53
+ })
54
+ .join('');
55
+ }
56
+ /**
57
+ * AWS Signature Version 4: the headers to add (`x-amz-date`,
58
+ * `x-amz-security-token` for temporary credentials, `authorization`).
59
+ * Held to AWS's published test-suite vectors in this package's tests.
60
+ */
61
+ async function sigv4Headers(i) {
62
+ const amzDate = i.now.toISOString().replace(/[-:]/g, '').replace(/\.\d{3}/, '');
63
+ const date = amzDate.slice(0, 8);
64
+ const signed = Object.entries(i.headers ?? {}).map(([k, v]) => [
65
+ k.toLowerCase(),
66
+ v.trim().replace(/\s+/g, ' '),
67
+ ]);
68
+ signed.push(['host', i.host.toLowerCase()], ['x-amz-date', amzDate]);
69
+ if (i.sessionToken)
70
+ signed.push(['x-amz-security-token', i.sessionToken]);
71
+ signed.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
72
+ const query = (i.query ?? [])
73
+ .map(([k, v]) => [uriEncode(k), uriEncode(v)])
74
+ .sort(([a, x], [b, y]) => (a < b ? -1 : a > b ? 1 : x < y ? -1 : x > y ? 1 : 0))
75
+ .map(([k, v]) => `${k}=${v}`)
76
+ .join('&');
77
+ const signedNames = signed.map(([k]) => k).join(';');
78
+ const canonical = [
79
+ i.method,
80
+ i.path,
81
+ query,
82
+ signed.map(([k, v]) => `${k}:${v}\n`).join(''),
83
+ signedNames,
84
+ await sha256Hex(i.body),
85
+ ].join('\n');
86
+ const scope = `${date}/${i.region}/${i.service}/aws4_request`;
87
+ const stringToSign = `AWS4-HMAC-SHA256\n${amzDate}\n${scope}\n${await sha256Hex(canonical)}`;
88
+ let key = await hmac(enc.encode(`AWS4${i.secretAccessKey}`), date);
89
+ key = await hmac(key, i.region);
90
+ key = await hmac(key, i.service);
91
+ key = await hmac(key, 'aws4_request');
92
+ const signature = hex(await hmac(key, stringToSign));
93
+ const out = { 'x-amz-date': amzDate };
94
+ if (i.sessionToken)
95
+ out['x-amz-security-token'] = i.sessionToken;
96
+ out.authorization = `AWS4-HMAC-SHA256 Credential=${i.accessKeyId}/${scope}, SignedHeaders=${signedNames}, Signature=${signature}`;
97
+ return out;
98
+ }
99
+ function b64url(data) {
100
+ const bytes = typeof data === 'string' ? enc.encode(data) : new Uint8Array(data);
101
+ let bin = '';
102
+ for (const b of bytes)
103
+ bin += String.fromCharCode(b);
104
+ return btoa(bin).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
105
+ }
106
+ /** An RS256 JWT bearer assertion for Google's token endpoint. */
107
+ async function serviceAccountAssertion(clientEmail, privateKeyPem, privateKeyId, now) {
108
+ const der = Uint8Array.from(atob(privateKeyPem.replace(/-----[^-]+-----/g, '').replace(/\s+/g, '')), (c) => c.charCodeAt(0));
109
+ const key = await subtle().importKey('pkcs8', der, { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, [
110
+ 'sign',
111
+ ]);
112
+ const iat = Math.floor(now.getTime() / 1000);
113
+ const header = { alg: 'RS256', typ: 'JWT', ...(privateKeyId ? { kid: privateKeyId } : {}) };
114
+ const claims = {
115
+ iss: clientEmail,
116
+ scope: 'https://www.googleapis.com/auth/cloud-platform',
117
+ aud: exports.GOOGLE_TOKEN_URI,
118
+ iat,
119
+ exp: iat + 3600,
120
+ };
121
+ const input = `${b64url(JSON.stringify(header))}.${b64url(JSON.stringify(claims))}`;
122
+ const sig = await subtle().sign('RSASSA-PKCS1-v1_5', key, enc.encode(input));
123
+ return `${input}.${b64url(sig)}`;
124
+ }
125
+ exports.GOOGLE_TOKEN_URI = 'https://oauth2.googleapis.com/token';
126
+ const AWS_INVALID = new Set([
127
+ 'UnrecognizedClientException',
128
+ 'InvalidClientTokenId',
129
+ 'SignatureDoesNotMatch',
130
+ 'InvalidSignatureException',
131
+ 'ExpiredToken',
132
+ 'ExpiredTokenException',
133
+ 'IncompleteSignature',
134
+ ]);
135
+ /** AWS: a credential error is invalid; `AccessDenied` means the key authenticated but lacks the permission. */
136
+ function classifyAws(status, headers) {
137
+ if (status >= 200 && status < 300)
138
+ return 'valid';
139
+ const type = (headers.get('x-amzn-errortype') ?? '').split(':')[0];
140
+ if (AWS_INVALID.has(type))
141
+ return 'invalid';
142
+ if (status === 401)
143
+ return 'invalid';
144
+ if (status === 403 && !type.startsWith('AccessDenied'))
145
+ return 'invalid';
146
+ return 'unknown';
147
+ }
148
+ /** Google's token endpoint answers a bad key with 400 `invalid_grant` or 401 `invalid_client`. */
149
+ function classifyGoogleToken(status) {
150
+ if (status >= 200 && status < 300)
151
+ return 'valid';
152
+ if (status === 400 || status === 401 || status === 403)
153
+ return 'invalid';
154
+ return 'unknown';
155
+ }
156
+ const REGION = /^[a-z0-9-]{1,32}$/;
157
+ /**
158
+ * The verification request for a Bedrock or Vertex AI credential, or `null`
159
+ * when `fields` are not a complete credential for one.
160
+ */
161
+ async function buildCloudVerificationProbe(provider, fields, now = new Date()) {
162
+ if (provider === 'bedrock') {
163
+ const region = fields.awsRegion?.trim();
164
+ if (!region || !REGION.test(region))
165
+ return null;
166
+ if (fields.awsAccessKeyId && fields.awsSecretAccessKey) {
167
+ const host = `sts.${region}.amazonaws.com`;
168
+ const body = 'Action=GetCallerIdentity&Version=2011-06-15';
169
+ const contentType = 'application/x-www-form-urlencoded; charset=utf-8';
170
+ const signed = await sigv4Headers({
171
+ method: 'POST',
172
+ host,
173
+ path: '/',
174
+ headers: { 'content-type': contentType },
175
+ body,
176
+ accessKeyId: fields.awsAccessKeyId.trim(),
177
+ secretAccessKey: fields.awsSecretAccessKey.trim(),
178
+ region,
179
+ service: 'sts',
180
+ now,
181
+ });
182
+ return {
183
+ url: `https://${host}/`,
184
+ method: 'POST',
185
+ headers: { 'content-type': contentType, ...signed },
186
+ body,
187
+ classify: classifyAws,
188
+ validDetail: 'the access key is valid; Bedrock model access is checked on the first request',
189
+ };
190
+ }
191
+ if (fields.apiKey) {
192
+ return {
193
+ url: `https://bedrock.${region}.amazonaws.com/foundation-models?byProvider=anthropic`,
194
+ method: 'GET',
195
+ headers: { Authorization: `Bearer ${fields.apiKey.trim()}` },
196
+ classify: classifyAws,
197
+ };
198
+ }
199
+ return null;
200
+ }
201
+ if (provider === 'vertex_ai') {
202
+ let doc;
203
+ try {
204
+ doc = JSON.parse(fields.serviceAccountJson ?? '');
205
+ }
206
+ catch {
207
+ return null;
208
+ }
209
+ if (doc.type === 'service_account' && doc.client_email && doc.private_key) {
210
+ let assertion;
211
+ try {
212
+ assertion = await serviceAccountAssertion(doc.client_email, doc.private_key, doc.private_key_id, now);
213
+ }
214
+ catch {
215
+ // A key that will not import is as invalid as one Google rejects.
216
+ return {
217
+ url: exports.GOOGLE_TOKEN_URI,
218
+ method: 'POST',
219
+ headers: {},
220
+ localVerdict: 'invalid',
221
+ validDetail: 'the service-account private_key is not a usable RSA key',
222
+ };
223
+ }
224
+ return {
225
+ url: exports.GOOGLE_TOKEN_URI,
226
+ method: 'POST',
227
+ headers: { 'content-type': 'application/x-www-form-urlencoded' },
228
+ body: new URLSearchParams({
229
+ grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
230
+ assertion,
231
+ }).toString(),
232
+ classify: classifyGoogleToken,
233
+ validDetail: 'the service-account key is valid; project access is checked on the first request',
234
+ };
235
+ }
236
+ if (doc.type === 'authorized_user' && doc.client_id && doc.refresh_token) {
237
+ return {
238
+ url: exports.GOOGLE_TOKEN_URI,
239
+ method: 'POST',
240
+ headers: { 'content-type': 'application/x-www-form-urlencoded' },
241
+ body: new URLSearchParams({
242
+ grant_type: 'refresh_token',
243
+ client_id: doc.client_id,
244
+ client_secret: doc.client_secret ?? '',
245
+ refresh_token: doc.refresh_token,
246
+ }).toString(),
247
+ classify: classifyGoogleToken,
248
+ };
249
+ }
250
+ return null;
251
+ }
252
+ return null;
253
+ }
254
+ //# sourceMappingURL=cloudProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudProbe.js","sourceRoot":"","sources":["../src/cloudProbe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAwDH,oCAmCC;AAUD,0DAyBC;AAqCD,kEA+FC;AA9PD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAE7B,SAAS,MAAM;IACb,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAA;IACnC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IACrE,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,GAAG,CAAC,GAAgB;IAC3B,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtF,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,OAAO,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,GAA6B,EAAE,IAAY;IAC7D,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAClH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IAC7F,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAkBD;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,CAAa;IAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChC,MAAM,MAAM,GAA4B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACtF,CAAC,CAAC,WAAW,EAAE;QACf,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KAC9B,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IACpE,IAAI,CAAC,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAU,CAAC;SACtD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG;QAChB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI;QACN,KAAK;QACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,WAAW;QACX,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;KACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,eAAe,CAAA;IAC7D,MAAM,YAAY,GAAG,qBAAqB,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,CAAA;IAC5F,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAClE,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/B,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IAChC,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;IACpD,MAAM,GAAG,GAA2B,EAAE,YAAY,EAAE,OAAO,EAAE,CAAA;IAC7D,IAAI,CAAC,CAAC,YAAY;QAAE,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,YAAY,CAAA;IAChE,GAAG,CAAC,aAAa,GAAG,+BAA+B,CAAC,CAAC,WAAW,IAAI,KAAK,mBAAmB,WAAW,eAAe,SAAS,EAAE,CAAA;IACjI,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,MAAM,CAAC,IAAuC;IACrD,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAChF,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,iEAAiE;AAC1D,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,aAAqB,EACrB,YAAgC,EAChC,GAAS;IAET,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE;QACxG,MAAM;KACP,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAC3F,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,gDAAgD;QACvD,GAAG,EAAE,wBAAgB;QACrB,GAAG;QACH,GAAG,EAAE,GAAG,GAAG,IAAI;KAChB,CAAA;IACD,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IACnF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;AAClC,CAAC;AAEY,QAAA,gBAAgB,GAAG,qCAAqC,CAAA;AAErE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,6BAA6B;IAC7B,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;IACd,uBAAuB;IACvB,qBAAqB;CACtB,CAAC,CAAA;AAEF,+GAA+G;AAC/G,SAAS,WAAW,CAAC,MAAc,EAAE,OAA6C;IAChF,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,OAAO,CAAA;IACjD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAA;IACpC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAA;IACxE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,kGAAkG;AAClG,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,OAAO,CAAA;IACjD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAA;IACxE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,mBAAmB,CAAA;AAElC;;;GAGG;AACI,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,MAA8B,EAC9B,MAAY,IAAI,IAAI,EAAE;IAEtB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QAChD,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,OAAO,MAAM,gBAAgB,CAAA;YAC1C,MAAM,IAAI,GAAG,6CAA6C,CAAA;YAC1D,MAAM,WAAW,GAAG,kDAAkD,CAAA;YACtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,MAAM,EAAE,MAAM;gBACd,IAAI;gBACJ,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;gBACxC,IAAI;gBACJ,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;gBACzC,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE;gBACjD,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,GAAG;aACJ,CAAC,CAAA;YACF,OAAO;gBACL,GAAG,EAAE,WAAW,IAAI,GAAG;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE;gBACnD,IAAI;gBACJ,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,+EAA+E;aAC7F,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO;gBACL,GAAG,EAAE,mBAAmB,MAAM,uDAAuD;gBACrF,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE;gBAC5D,QAAQ,EAAE,WAAW;aACtB,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,GAA2B,CAAA;QAC/B,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAA2B,CAAA;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAC1E,IAAI,SAAiB,CAAA;YACrB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;YACvG,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;gBAClE,OAAO;oBACL,GAAG,EAAE,wBAAgB;oBACrB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,SAAS;oBACvB,WAAW,EAAE,yDAAyD;iBACvE,CAAA;YACH,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,wBAAgB;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBAChE,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,6CAA6C;oBACzD,SAAS;iBACV,CAAC,CAAC,QAAQ,EAAE;gBACb,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,kFAAkF;aAChG,CAAA;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACzE,OAAO;gBACL,GAAG,EAAE,wBAAgB;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBAChE,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;oBACtC,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,CAAC,CAAC,QAAQ,EAAE;gBACb,QAAQ,EAAE,mBAAmB;aAC9B,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
package/dist/enums.d.ts CHANGED
@@ -432,6 +432,54 @@ export declare const IncidentStatus: {
432
432
  };
433
433
  /** Union of all incident status values. */
434
434
  export type IncidentStatus = typeof IncidentStatus[keyof typeof IncidentStatus];
435
+ /**
436
+ * Incidents that are not an agent misbehaving, so they are not anomaly
437
+ * categories: nothing on the hot path detects them, no corrective card
438
+ * answers them, and enforcement cannot be promoted on them. They share the
439
+ * `anomaly_type` column (Postgres enum, migrations 218 and 219) with the
440
+ * taxonomy.
441
+ */
442
+ export declare const SystemIncidentType: {
443
+ /** A proxy refused to load a custom WASM or Rego rule version (`ruleLoadFailures.ts`). */
444
+ readonly WASM_RULE_REFUSED: "WASM_RULE_REFUSED";
445
+ /**
446
+ * Anything else a proxy reports on `intutic:system_anomalies`: a
447
+ * dependency it could not reach, such as the LLM provider or the semantic
448
+ * cache's embedding service or vector store.
449
+ */
450
+ readonly SYSTEM_ANOMALY: "SYSTEM_ANOMALY";
451
+ };
452
+ /** Union of the system incident types. */
453
+ export type SystemIncidentType = typeof SystemIncidentType[keyof typeof SystemIncidentType];
454
+ /** What a governance incident is filed under: an anomaly category or a system incident type. */
455
+ export declare const IncidentType: {
456
+ /** A proxy refused to load a custom WASM or Rego rule version (`ruleLoadFailures.ts`). */
457
+ readonly WASM_RULE_REFUSED: "WASM_RULE_REFUSED";
458
+ /**
459
+ * Anything else a proxy reports on `intutic:system_anomalies`: a
460
+ * dependency it could not reach, such as the LLM provider or the semantic
461
+ * cache's embedding service or vector store.
462
+ */
463
+ readonly SYSTEM_ANOMALY: "SYSTEM_ANOMALY";
464
+ readonly TOOL_ABUSE: "TOOL_ABUSE";
465
+ readonly TOKEN_WASTE: "TOKEN_WASTE";
466
+ readonly LOOP_DETECTED: "LOOP_DETECTED";
467
+ readonly UNAUTHORIZED_TOOL: "UNAUTHORIZED_TOOL";
468
+ readonly DATA_EXFILTRATION: "DATA_EXFILTRATION";
469
+ readonly PROMPT_INJECTION: "PROMPT_INJECTION";
470
+ readonly HALLUCINATION: "HALLUCINATION";
471
+ readonly SCOPE_VIOLATION: "SCOPE_VIOLATION";
472
+ readonly BUDGET_BREACH: "BUDGET_BREACH";
473
+ readonly SPAWN_BUDGET_BREACH: "SPAWN_BUDGET_BREACH";
474
+ readonly WORKFLOW_BUDGET_BREACH: "WORKFLOW_BUDGET_BREACH";
475
+ readonly WORKFLOW_GOAL_DRIFT: "WORKFLOW_GOAL_DRIFT";
476
+ };
477
+ /** Union of every incident type, as `governance_incidents.anomaly_type` holds it. */
478
+ export type IncidentType = typeof IncidentType[keyof typeof IncidentType];
479
+ /** Every incident type, for validating a filter or listing the choices. */
480
+ export declare const INCIDENT_TYPES: [IncidentType, ...IncidentType[]];
481
+ /** Whether an arbitrary string is an incident type. */
482
+ export declare function isIncidentType(value: unknown): value is IncidentType;
435
483
  /** Lifecycle state for stored execution plans. */
436
484
  export declare const PlanLifecycleState: {
437
485
  readonly PENDING_APPROVAL: "PENDING_APPROVAL";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}