@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.
- package/dist/auth.d.ts +106 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +17 -1
- package/dist/auth.js.map +1 -1
- package/dist/cloudProbe.d.ts +54 -0
- package/dist/cloudProbe.d.ts.map +1 -0
- package/dist/cloudProbe.js +254 -0
- package/dist/cloudProbe.js.map +1 -0
- package/dist/enums.d.ts +48 -0
- package/dist/enums.d.ts.map +1 -1
- package/dist/enums.js +31 -3
- package/dist/enums.js.map +1 -1
- package/dist/finops.d.ts +38 -0
- package/dist/finops.d.ts.map +1 -1
- package/dist/guardrailIr.d.ts +6 -6
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -6
- package/dist/index.js.map +1 -1
- package/dist/mcpBudgets.d.ts +24 -24
- package/dist/notifications.d.ts +17 -2
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +26 -1
- package/dist/notifications.js.map +1 -1
- package/dist/providerVerification.d.ts +35 -9
- package/dist/providerVerification.d.ts.map +1 -1
- package/dist/providerVerification.js +79 -19
- package/dist/providerVerification.js.map +1 -1
- package/dist/providers.d.ts +50 -13
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +131 -27
- package/dist/providers.js.map +1 -1
- package/dist/spendBudgets.d.ts +122 -0
- package/dist/spendBudgets.d.ts.map +1 -0
- package/dist/spendBudgets.js +92 -0
- package/dist/spendBudgets.js.map +1 -0
- package/dist/upstreamRetry.d.ts +121 -0
- package/dist/upstreamRetry.d.ts.map +1 -0
- package/dist/upstreamRetry.js +90 -0
- package/dist/upstreamRetry.js.map +1 -0
- package/dist/wasmRuleDescriptor.d.ts +43 -0
- package/dist/wasmRuleDescriptor.d.ts.map +1 -0
- package/dist/wasmRuleDescriptor.js +65 -0
- package/dist/wasmRuleDescriptor.js.map +1 -0
- package/dist/workspaceSettings.d.ts +37 -0
- package/dist/workspaceSettings.d.ts.map +1 -1
- package/dist/workspaceSettings.js.map +1 -1
- 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.
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
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;
|
|
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":"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"}
|
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";
|
package/dist/enums.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
|