@the-ai-company/cbio-node-runtime 0.33.0 → 0.39.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/README.md CHANGED
@@ -23,6 +23,8 @@ Node.js runtime for cbio identity and credential vault. Library only.
23
23
 
24
24
  Import and use `CbioIdentity`, `CbioAgent` from the main export.
25
25
 
26
+ For registration flows that mint a new secret locally, use `startLocalSecretIngress(...)` to let a trusted local process `POST` the newly issued value straight into the vault without printing it to terminal output first.
27
+
26
28
  ## Install
27
29
 
28
30
  Requires Node >= 18.
@@ -41,6 +43,71 @@ const identity = await CbioIdentity.load({ privateKey: keys.privateKey });
41
43
  const agent: CbioAgent = identity.getAgent(); // minimal permissions: vault:fetch, vault:list
42
44
  ```
43
45
 
46
+ ## Secret Boundary Model
47
+
48
+ After root initialization, runtime-supported secret flows are designed around `no plaintext export`.
49
+
50
+ - Acquire and store from a remote issuer: `fetchJsonAndAddSecret(...)`
51
+ - Ingest a newly issued local secret without `stdout`: `startLocalSecretIngress(...)`
52
+ - Use a stored secret remotely: `fetchWithAuth(...)`, `createFetchWithAuth(...)`, `startLocalAuthProxy(...)`
53
+ - Prove or compare a stored secret locally without exporting it: `proveSecret(...)`, `compareSecret(...)`
54
+ - Validate a stored secret through a controlled validator: `validateSecret(...)`
55
+
56
+ The public runtime surface is intended to let applications use, prove, and validate secrets without retrieving them as cleartext.
57
+
58
+ ## Recommended Paths
59
+
60
+ ### Remote Issuer -> Vault
61
+
62
+ ```ts
63
+ const acquired = await identity.fetchJsonAndAddSecret({
64
+ secretName: 'service-token',
65
+ url: 'https://issuer.example.com/token',
66
+ extractKey: (response: { token?: string }) => response.token ?? '',
67
+ });
68
+ ```
69
+
70
+ ### Local Process -> Vault
71
+
72
+ ```ts
73
+ const ingress = await identity.startLocalSecretIngress({
74
+ secretName: 'service-token',
75
+ });
76
+
77
+ await fetch(ingress.url, {
78
+ method: 'POST',
79
+ headers: {
80
+ Authorization: `Bearer ${ingress.authToken}`,
81
+ 'Content-Type': 'text/plain',
82
+ },
83
+ body: 'newly-issued-secret',
84
+ });
85
+ ```
86
+
87
+ ### Vault -> Remote Service
88
+
89
+ ```ts
90
+ const response = await identity.fetchWithAuth('service-token', 'https://api.example.com/me');
91
+ ```
92
+
93
+ ### Vault -> Local Proof / Validation
94
+
95
+ ```ts
96
+ const same = await identity.compareSecret('service-token', 'candidate-value');
97
+ const proof = await identity.proveSecret('service-token', 'challenge-123');
98
+ ```
99
+
100
+ ```ts
101
+ import { genericHttpValidator } from '@the-ai-company/cbio-node-runtime';
102
+
103
+ const result = await identity.validateSecret(
104
+ 'service-token',
105
+ genericHttpValidator({
106
+ url: 'https://api.example.com/me',
107
+ }),
108
+ );
109
+ ```
110
+
44
111
  ## Build
45
112
 
46
113
  ```bash
@@ -2,6 +2,7 @@ import { Signer, KeyPair } from "../protocol/crypto.js";
2
2
  import { CbioVault, type MergeResult, type SecretPolicy } from "../vault/vault.js";
3
3
  import { AuthClient, type FetchWithAuthOptions } from "../http/authClient.js";
4
4
  import { SecretAcquisition, type FetchJsonAndAddSecretOptions, type FetchJsonAndUpdateSecretOptions, type FetchResult } from "../http/secretAcquisition.js";
5
+ import { type LocalSecretIngressHandle, type LocalSecretIngressOptions } from "../http/localSecretIngress.js";
5
6
  import type { ActivityLogEntry, ActivityLogMetadata } from "../audit/ActivityLog.js";
6
7
  import { type IssuedAgentIdentity, type RevocationRecord } from "@the-ai-company/cbio-protocol";
7
8
  import type { IStorageProvider } from "../storage/provider.js";
@@ -27,6 +28,28 @@ export interface ActivityLogConfig {
27
28
  enabled?: boolean;
28
29
  key?: string;
29
30
  }
31
+ export type StartLocalSecretIngressOptions = Omit<LocalSecretIngressOptions, "vault">;
32
+ export type SecretProofAlgorithm = "sha256" | "sha512";
33
+ export type SecretValidationStatus = "valid" | "invalid" | "indeterminate";
34
+ export interface SecretValidationResult {
35
+ valid: boolean;
36
+ status: SecretValidationStatus;
37
+ reason?: string;
38
+ providerSubject?: string;
39
+ expiresAt?: string;
40
+ scopes?: readonly string[];
41
+ metadata?: Record<string, unknown>;
42
+ }
43
+ export interface SecretValidatorHandle {
44
+ fetchWithAuth(url: string, options?: FetchWithAuthOptions): Promise<Response>;
45
+ compare(candidate: string): Promise<boolean>;
46
+ prove(challenge: string, options?: {
47
+ algorithm?: SecretProofAlgorithm;
48
+ }): Promise<string>;
49
+ }
50
+ export interface SecretValidator {
51
+ validate(handle: SecretValidatorHandle): Promise<SecretValidationResult>;
52
+ }
30
53
  /**
31
54
  * Protocol-level capability strings embedded into signed identities.
32
55
  */
@@ -78,6 +101,12 @@ export declare class CbioIdentity {
78
101
  getAgentId(): Promise<string>;
79
102
  fetchJsonAndAddSecret<TResponse = unknown, TBody = unknown>(options: FetchJsonAndAddSecretOptions<TResponse, TBody>): Promise<FetchResult<TResponse>>;
80
103
  fetchJsonAndUpdateSecret<TResponse = unknown, TBody = unknown>(options: FetchJsonAndUpdateSecretOptions<TResponse, TBody>): Promise<FetchResult<TResponse>>;
104
+ startLocalSecretIngress(options: StartLocalSecretIngressOptions): Promise<LocalSecretIngressHandle>;
105
+ compareSecret(secretName: string, candidate: string): Promise<boolean>;
106
+ proveSecret(secretName: string, challenge: string, options?: {
107
+ algorithm?: SecretProofAlgorithm;
108
+ }): Promise<string>;
109
+ validateSecret(secretName: string, validator: SecretValidator): Promise<SecretValidationResult>;
81
110
  hasSecret(secretName: string): boolean;
82
111
  listSecretNames(): string[];
83
112
  /**
@@ -108,7 +137,7 @@ export declare class CbioAgent {
108
137
  #private;
109
138
  readonly agentId: string;
110
139
  readonly publicKey: string;
111
- constructor(authClient: AuthClient, secretAcquisition: SecretAcquisition, agentId: string, publicKey: string, permissions?: RuntimePermissions);
140
+ constructor(authClient: AuthClient, secretAcquisition: SecretAcquisition, vault: CbioVault, agentId: string, publicKey: string, permissions?: RuntimePermissions);
112
141
  /**
113
142
  * View the runtime permissions granted to this handle.
114
143
  */
@@ -120,6 +149,12 @@ export declare class CbioAgent {
120
149
  getAgentId(): Promise<string>;
121
150
  fetchJsonAndAddSecret<TResponse = unknown, TBody = unknown>(options: FetchJsonAndAddSecretOptions<TResponse, TBody>): Promise<FetchResult<TResponse>>;
122
151
  fetchJsonAndUpdateSecret<TResponse = unknown, TBody = unknown>(options: FetchJsonAndUpdateSecretOptions<TResponse, TBody>): Promise<FetchResult<TResponse>>;
152
+ startLocalSecretIngress(options: StartLocalSecretIngressOptions): Promise<LocalSecretIngressHandle>;
153
+ compareSecret(secretName: string, candidate: string): Promise<boolean>;
154
+ proveSecret(secretName: string, challenge: string, options?: {
155
+ algorithm?: SecretProofAlgorithm;
156
+ }): Promise<string>;
157
+ validateSecret(secretName: string, validator: SecretValidator): Promise<SecretValidationResult>;
123
158
  hasSecret(secretName: string): boolean;
124
159
  listSecretNames(): string[];
125
160
  /**
@@ -188,8 +223,6 @@ export declare class CbioVaultAdmin {
188
223
  private readonly _identity;
189
224
  private readonly _vault;
190
225
  constructor(_identity: CbioIdentity, _vault: CbioVault);
191
- addSecret(secretName: string, secretValue: string, options?: SecretPolicy): Promise<void>;
192
- getSecret(secretName: string): string | undefined;
193
226
  hasSecret(secretName: string): boolean;
194
227
  deleteSecret(secretName: string): Promise<void>;
195
228
  setSecretAllowedOrigins(secretName: string, allowedOrigins: readonly string[]): Promise<void>;
@@ -1,7 +1,9 @@
1
+ import { createHmac, timingSafeEqual } from "node:crypto";
1
2
  import { derivePublicKey, LocalSigner, generateIdentityKeys } from "../protocol/crypto.js";
2
3
  import { CbioVault } from "../vault/vault.js";
3
4
  import { AuthClient } from "../http/authClient.js";
4
5
  import { SecretAcquisition, } from "../http/secretAcquisition.js";
6
+ import { startLocalSecretIngress, } from "../http/localSecretIngress.js";
5
7
  import { getChildIdentitySecretName, deriveRootAgentId, getVaultPath } from "../protocol/identity.js";
6
8
  import { createIdentityRef, signIssuedAgentIdentity, signRevocationRecord, verifyIssuedAgentIdentity, verifyRevocationRecord, } from "@the-ai-company/cbio-protocol";
7
9
  import { IdentityError, IdentityErrorCode } from "../errors.js";
@@ -23,6 +25,52 @@ function getIssuedCapabilitiesFromRecord(record) {
23
25
  }
24
26
  return capabilities;
25
27
  }
28
+ function compareSecretValue(secretValue, candidate) {
29
+ const left = Buffer.from(secretValue, "utf8");
30
+ const right = Buffer.from(candidate, "utf8");
31
+ if (left.length !== right.length)
32
+ return false;
33
+ return timingSafeEqual(left, right);
34
+ }
35
+ function createSecretProof(secretValue, challenge, algorithm) {
36
+ return createHmac(algorithm, secretValue).update(challenge, "utf8").digest("base64url");
37
+ }
38
+ function assertSecretValue(vault, secretName) {
39
+ const secretValue = vault.getSecret(secretName);
40
+ if (!secretValue) {
41
+ throw new IdentityError(IdentityErrorCode.SECRET_NOT_FOUND, `Secret name '${secretName}' not found in vault.`);
42
+ }
43
+ return secretValue;
44
+ }
45
+ function createSecretValidatorHandle(vault, authClient, secretName) {
46
+ return {
47
+ fetchWithAuth(url, options) {
48
+ return authClient.fetchWithAuth(secretName, url, options ?? {});
49
+ },
50
+ async compare(candidate) {
51
+ return compareSecretValue(assertSecretValue(vault, secretName), candidate);
52
+ },
53
+ async prove(challenge, options) {
54
+ return createSecretProof(assertSecretValue(vault, secretName), challenge, options?.algorithm ?? "sha256");
55
+ },
56
+ };
57
+ }
58
+ async function appendSecretOperationLog(vault, action, secretName, success, error) {
59
+ try {
60
+ await vault.appendActivityLogEntry({
61
+ ts: Date.now(),
62
+ action,
63
+ secretName,
64
+ url: `local://vault/${action}`,
65
+ method: "POST",
66
+ success,
67
+ ...(error ? { error } : {}),
68
+ });
69
+ }
70
+ catch {
71
+ // Do not alter the primary operation outcome because local audit persistence failed.
72
+ }
73
+ }
26
74
  const VALID_ISSUED_CAPABILITY_NAMES = new Set([
27
75
  "vault:list",
28
76
  "vault:fetch",
@@ -111,6 +159,49 @@ export class CbioIdentity {
111
159
  async fetchJsonAndUpdateSecret(options) {
112
160
  return this._secretAcquisition.fetchJsonAndUpdateSecret(options);
113
161
  }
162
+ async startLocalSecretIngress(options) {
163
+ return startLocalSecretIngress({
164
+ ...options,
165
+ vault: this._vault,
166
+ });
167
+ }
168
+ async compareSecret(secretName, candidate) {
169
+ try {
170
+ this._vault.assertSecretOperationAllowed(secretName, "compareSecret");
171
+ const result = compareSecretValue(assertSecretValue(this._vault, secretName), candidate);
172
+ await appendSecretOperationLog(this._vault, "compareSecret", secretName, true);
173
+ return result;
174
+ }
175
+ catch (error) {
176
+ await appendSecretOperationLog(this._vault, "compareSecret", secretName, false, error instanceof Error ? error.message : String(error));
177
+ throw error;
178
+ }
179
+ }
180
+ async proveSecret(secretName, challenge, options) {
181
+ try {
182
+ this._vault.assertSecretOperationAllowed(secretName, "proveSecret");
183
+ const result = createSecretProof(assertSecretValue(this._vault, secretName), challenge, options?.algorithm ?? "sha256");
184
+ await appendSecretOperationLog(this._vault, "proveSecret", secretName, true);
185
+ return result;
186
+ }
187
+ catch (error) {
188
+ await appendSecretOperationLog(this._vault, "proveSecret", secretName, false, error instanceof Error ? error.message : String(error));
189
+ throw error;
190
+ }
191
+ }
192
+ async validateSecret(secretName, validator) {
193
+ try {
194
+ this._vault.assertSecretOperationAllowed(secretName, "validateSecret");
195
+ assertSecretValue(this._vault, secretName);
196
+ const result = await validator.validate(createSecretValidatorHandle(this._vault, this._authClient, secretName));
197
+ await appendSecretOperationLog(this._vault, "validateSecret", secretName, true);
198
+ return result;
199
+ }
200
+ catch (error) {
201
+ await appendSecretOperationLog(this._vault, "validateSecret", secretName, false, error instanceof Error ? error.message : String(error));
202
+ throw error;
203
+ }
204
+ }
114
205
  hasSecret(secretName) {
115
206
  return this._vault.hasSecret(secretName);
116
207
  }
@@ -147,7 +238,7 @@ export class CbioIdentity {
147
238
  finalPerms["vault:fetch"] = true;
148
239
  finalPerms["vault:list"] = true;
149
240
  }
150
- return new CbioAgent(this._authClient, this._secretAcquisition, this.agentId, this.publicKey, finalPerms);
241
+ return new CbioAgent(this._authClient, this._secretAcquisition, this._vault, this.agentId, this.publicKey, finalPerms);
151
242
  }
152
243
  }
153
244
  /**
@@ -163,11 +254,13 @@ export class CbioAgent {
163
254
  #authClient;
164
255
  #secretAcquisition;
165
256
  #permissions;
166
- constructor(authClient, secretAcquisition, agentId, publicKey, permissions) {
257
+ #vault;
258
+ constructor(authClient, secretAcquisition, vault, agentId, publicKey, permissions) {
167
259
  this.agentId = agentId;
168
260
  this.publicKey = publicKey;
169
261
  this.#authClient = authClient;
170
262
  this.#secretAcquisition = secretAcquisition;
263
+ this.#vault = vault;
171
264
  // Default to a restricted worker (vault:fetch, vault:list) if no permissions specified
172
265
  this.#permissions = permissions || { "vault:fetch": true, "vault:list": true };
173
266
  }
@@ -205,6 +298,53 @@ export class CbioAgent {
205
298
  this._checkPermission("vault:acquire");
206
299
  return this.#secretAcquisition.fetchJsonAndUpdateSecret(options);
207
300
  }
301
+ async startLocalSecretIngress(options) {
302
+ this._checkPermission("vault:acquire");
303
+ return startLocalSecretIngress({
304
+ ...options,
305
+ vault: this.#vault,
306
+ });
307
+ }
308
+ async compareSecret(secretName, candidate) {
309
+ this._checkPermission("vault:acquire");
310
+ try {
311
+ this.#vault.assertSecretOperationAllowed(secretName, "compareSecret");
312
+ const result = compareSecretValue(assertSecretValue(this.#vault, secretName), candidate);
313
+ await appendSecretOperationLog(this.#vault, "compareSecret", secretName, true);
314
+ return result;
315
+ }
316
+ catch (error) {
317
+ await appendSecretOperationLog(this.#vault, "compareSecret", secretName, false, error instanceof Error ? error.message : String(error));
318
+ throw error;
319
+ }
320
+ }
321
+ async proveSecret(secretName, challenge, options) {
322
+ this._checkPermission("vault:acquire");
323
+ try {
324
+ this.#vault.assertSecretOperationAllowed(secretName, "proveSecret");
325
+ const result = createSecretProof(assertSecretValue(this.#vault, secretName), challenge, options?.algorithm ?? "sha256");
326
+ await appendSecretOperationLog(this.#vault, "proveSecret", secretName, true);
327
+ return result;
328
+ }
329
+ catch (error) {
330
+ await appendSecretOperationLog(this.#vault, "proveSecret", secretName, false, error instanceof Error ? error.message : String(error));
331
+ throw error;
332
+ }
333
+ }
334
+ async validateSecret(secretName, validator) {
335
+ this._checkPermission("vault:acquire");
336
+ try {
337
+ this.#vault.assertSecretOperationAllowed(secretName, "validateSecret");
338
+ assertSecretValue(this.#vault, secretName);
339
+ const result = await validator.validate(createSecretValidatorHandle(this.#vault, this.#authClient, secretName));
340
+ await appendSecretOperationLog(this.#vault, "validateSecret", secretName, true);
341
+ return result;
342
+ }
343
+ catch (error) {
344
+ await appendSecretOperationLog(this.#vault, "validateSecret", secretName, false, error instanceof Error ? error.message : String(error));
345
+ throw error;
346
+ }
347
+ }
208
348
  hasSecret(secretName) {
209
349
  this._checkPermission("vault:list");
210
350
  return this.#secretAcquisition.hasSecret(secretName);
@@ -233,7 +373,7 @@ class ManagedAgentSupport {
233
373
  this._vault = _vault;
234
374
  }
235
375
  getSecret(secretName) {
236
- return this._vault.getSecret(secretName);
376
+ return this._vault.internalGetSecret(secretName);
237
377
  }
238
378
  async addSecret(secretName, secretValue, options) {
239
379
  await this._vault.addSecret(secretName, secretValue, options);
@@ -294,12 +434,6 @@ export class CbioVaultAdmin {
294
434
  this._identity = _identity;
295
435
  this._vault = _vault;
296
436
  }
297
- async addSecret(secretName, secretValue, options) {
298
- await this._vault.addSecret(secretName, secretValue, options);
299
- }
300
- getSecret(secretName) {
301
- return this._vault.getSecret(secretName);
302
- }
303
437
  hasSecret(secretName) {
304
438
  return this._vault.hasSecret(secretName);
305
439
  }
@@ -359,7 +493,7 @@ export class CbioManagedAgentAdmin extends ManagedAgentSupport {
359
493
  }
360
494
  async revokeManagedAgent(publicKey, reason) {
361
495
  const secretName = getChildIdentitySecretName(publicKey);
362
- if (!this._vault.hasSecret(secretName)) {
496
+ if (!this._vault.internalHasSecret(secretName)) {
363
497
  throw new IdentityError(IdentityErrorCode.SECRET_NOT_FOUND, `Managed agent with public key '${publicKey}' not found in this vault.`);
364
498
  }
365
499
  if (!(this._identity.signer instanceof LocalSigner)) {
@@ -385,7 +519,7 @@ export class CbioManagedAgentAdmin extends ManagedAgentSupport {
385
519
  const signedRevocation = signRevocationRecord(this._identity.signer.exportPrivateKey(), unsignedRevocation);
386
520
  // Store the revocation record
387
521
  const revocationKey = `cbio:revocation:${publicKey}`;
388
- await this._vault.addSecret(revocationKey, JSON.stringify(signedRevocation));
522
+ await this._vault.internalSetSecret(revocationKey, JSON.stringify(signedRevocation));
389
523
  }
390
524
  async issueManagedAgent(options) {
391
525
  const opts = options ?? {};
@@ -421,12 +555,7 @@ export class CbioManagedAgentAdmin extends ManagedAgentSupport {
421
555
  storageKey,
422
556
  };
423
557
  const stored = JSON.stringify(record);
424
- if (this._vault.hasSecret(secretName)) {
425
- await this._vault.updateSecret(secretName, stored);
426
- }
427
- else {
428
- await this._vault.addSecret(secretName, stored);
429
- }
558
+ await this._vault.internalSetSecret(secretName, stored);
430
559
  const childIdentity = await CbioIdentity.load({ privateKey: keys.privateKey, publicKey }, {
431
560
  storage: storage.storage,
432
561
  storageKey,
@@ -543,12 +672,7 @@ export class CbioChildIdentityAdmin {
543
672
  issuedIdentity,
544
673
  };
545
674
  const stored = JSON.stringify(record);
546
- if (this._vault.hasSecret(secretName)) {
547
- await this._vault.updateSecret(secretName, stored);
548
- }
549
- else {
550
- await this._vault.addSecret(secretName, stored);
551
- }
675
+ await this._vault.internalSetSecret(secretName, stored);
552
676
  return { publicKey: pub };
553
677
  }
554
678
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface ActivityLogMetadata {
13
13
  }
14
14
  export interface ActivityLogEntry {
15
15
  ts: number;
16
- action: 'fetchWithAuth' | 'fetchJsonAndAddSecret' | 'fetchJsonAndUpdateSecret';
16
+ action: 'fetchWithAuth' | 'fetchJsonAndAddSecret' | 'fetchJsonAndUpdateSecret' | 'compareSecret' | 'proveSecret' | 'validateSecret';
17
17
  secretName: string;
18
18
  url: string;
19
19
  method: string;
@@ -30,7 +30,12 @@ export async function readActivityLog(storage, key) {
30
30
  const secretName = raw.secretName ?? raw.alias;
31
31
  if (typeof raw.ts !== 'number')
32
32
  return null;
33
- if (raw.action !== 'fetchWithAuth' && raw.action !== 'fetchJsonAndAddSecret' && raw.action !== 'fetchJsonAndUpdateSecret')
33
+ if (raw.action !== 'fetchWithAuth' &&
34
+ raw.action !== 'fetchJsonAndAddSecret' &&
35
+ raw.action !== 'fetchJsonAndUpdateSecret' &&
36
+ raw.action !== 'compareSecret' &&
37
+ raw.action !== 'proveSecret' &&
38
+ raw.action !== 'validateSecret')
34
39
  return null;
35
40
  if (typeof secretName !== 'string')
36
41
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityLog.js","sourceRoot":"","sources":["../../src/audit/ActivityLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActivityLog.js","sourceRoot":"","sources":["../../src/audit/ActivityLog.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -19,7 +19,8 @@ export declare enum IdentityErrorCode {
19
19
  SECRET_POLICY_REQUIRED = "SECRET_POLICY_REQUIRED",
20
20
  SECRET_SOURCE_ORIGIN_MISMATCH = "SECRET_SOURCE_ORIGIN_MISMATCH",
21
21
  UNSUPPORTED_SIGNED_BODY = "UNSUPPORTED_SIGNED_BODY",
22
- PERMISSION_DENIED = "PERMISSION_DENIED"
22
+ PERMISSION_DENIED = "PERMISSION_DENIED",
23
+ SECRET_OPERATION_RATE_LIMITED = "SECRET_OPERATION_RATE_LIMITED"
23
24
  }
24
25
  export declare class IdentityError extends Error {
25
26
  readonly code: IdentityErrorCode;
package/dist/errors.js CHANGED
@@ -21,6 +21,7 @@ export var IdentityErrorCode;
21
21
  IdentityErrorCode["SECRET_SOURCE_ORIGIN_MISMATCH"] = "SECRET_SOURCE_ORIGIN_MISMATCH";
22
22
  IdentityErrorCode["UNSUPPORTED_SIGNED_BODY"] = "UNSUPPORTED_SIGNED_BODY";
23
23
  IdentityErrorCode["PERMISSION_DENIED"] = "PERMISSION_DENIED";
24
+ IdentityErrorCode["SECRET_OPERATION_RATE_LIMITED"] = "SECRET_OPERATION_RATE_LIMITED";
24
25
  })(IdentityErrorCode || (IdentityErrorCode = {}));
25
26
  export class IdentityError extends Error {
26
27
  code;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,iBAmBX;AAnBD,WAAY,iBAAiB;IACzB,0EAAqD,CAAA;IACrD,0DAAqC,CAAA;IACrC,wEAAmD,CAAA;IACnD,kFAA6D,CAAA;IAC7D,gDAA2B,CAAA;IAC3B,wDAAmC,CAAA;IACnC,kEAA6C,CAAA;IAC7C,wEAAmD,CAAA;IACnD,8EAAyD,CAAA;IACzD,gFAA2D,CAAA;IAC3D,kFAA6D,CAAA;IAC7D,gGAA2E,CAAA;IAC3E,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,oFAA+D,CAAA;IAC/D,wEAAmD,CAAA;IACnD,4DAAuC,CAAA;AAC3C,CAAC,EAnBW,iBAAiB,KAAjB,iBAAiB,QAmB5B;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC3B,IAAI,CAAoB;IAEjC,YAAY,IAAuB,EAAE,OAAe,EAAE,OAAsB;QACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,CAAU;QAC7B,OAAO,CAAC,YAAY,aAAa,CAAC;IACtC,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,iBAoBX;AApBD,WAAY,iBAAiB;IACzB,0EAAqD,CAAA;IACrD,0DAAqC,CAAA;IACrC,wEAAmD,CAAA;IACnD,kFAA6D,CAAA;IAC7D,gDAA2B,CAAA;IAC3B,wDAAmC,CAAA;IACnC,kEAA6C,CAAA;IAC7C,wEAAmD,CAAA;IACnD,8EAAyD,CAAA;IACzD,gFAA2D,CAAA;IAC3D,kFAA6D,CAAA;IAC7D,gGAA2E,CAAA;IAC3E,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,oFAA+D,CAAA;IAC/D,wEAAmD,CAAA;IACnD,4DAAuC,CAAA;IACvC,oFAA+D,CAAA;AACnE,CAAC,EApBW,iBAAiB,KAAjB,iBAAiB,QAoB5B;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC3B,IAAI,CAAoB;IAEjC,YAAY,IAAuB,EAAE,OAAe,EAAE,OAAsB;QACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,CAAU;QAC7B,OAAO,CAAC,YAAY,aAAa,CAAC;IACtC,CAAC;CACJ"}
@@ -0,0 +1,11 @@
1
+ import type { SecretValidationResult, SecretValidator } from "../agent/agent.js";
2
+ export interface GenericHttpSecretValidatorConfig<TData = unknown> {
3
+ url: string;
4
+ method?: string;
5
+ headers?: Record<string, string>;
6
+ body?: unknown;
7
+ isValid?: (response: Response, data: TData | undefined) => boolean;
8
+ classifyStatus?: (response: Response, data: TData | undefined) => SecretValidationResult;
9
+ extractResult?: (response: Response, data: TData | undefined) => Partial<SecretValidationResult>;
10
+ }
11
+ export declare function genericHttpValidator<TData = unknown>(config: GenericHttpSecretValidatorConfig<TData>): SecretValidator;
@@ -0,0 +1,42 @@
1
+ function defaultStatusResult(response) {
2
+ if (response.ok) {
3
+ return { valid: true, status: "valid" };
4
+ }
5
+ if (response.status === 401 || response.status === 403) {
6
+ return { valid: false, status: "invalid", reason: `http_${response.status}` };
7
+ }
8
+ return { valid: false, status: "indeterminate", reason: `http_${response.status}` };
9
+ }
10
+ async function readJsonIfPresent(response) {
11
+ const contentType = response.headers.get("content-type") ?? "";
12
+ if (!contentType.toLowerCase().includes("application/json")) {
13
+ return undefined;
14
+ }
15
+ return response.json();
16
+ }
17
+ export function genericHttpValidator(config) {
18
+ return {
19
+ async validate(handle) {
20
+ const options = {
21
+ method: config.method ?? "GET",
22
+ headers: config.headers,
23
+ body: config.body === undefined ? undefined : JSON.stringify(config.body),
24
+ };
25
+ const response = await handle.fetchWithAuth(config.url, options);
26
+ const data = await readJsonIfPresent(response);
27
+ if (config.classifyStatus) {
28
+ return config.classifyStatus(response, data);
29
+ }
30
+ const base = defaultStatusResult(response);
31
+ const valid = config.isValid ? config.isValid(response, data) : base.valid;
32
+ const extracted = config.extractResult?.(response, data) ?? {};
33
+ return {
34
+ ...base,
35
+ ...extracted,
36
+ valid,
37
+ status: valid ? "valid" : (base.status === "valid" ? "invalid" : base.status),
38
+ };
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=genericSecretValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericSecretValidator.js","sourceRoot":"","sources":["../../src/http/genericSecretValidator.ts"],"names":[],"mappings":"AAaA,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAChF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAQ,QAAkB;IACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAoB,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA+C;IAE/C,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,MAAM;YACnB,MAAM,OAAO,GAAyB;gBACpC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;gBAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;aAC1E,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAQ,QAAQ,CAAC,CAAC;YAEtD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,SAAS;gBACZ,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;aAC9E,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}