@griffin-app/griffin-plan-executor 0.1.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 +152 -0
- package/dist/adapters/axios.d.ts +5 -0
- package/dist/adapters/axios.d.ts.map +1 -0
- package/dist/adapters/axios.js +36 -0
- package/dist/adapters/axios.js.map +1 -0
- package/dist/adapters/index.d.ts +3 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +3 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/stub.d.ts +22 -0
- package/dist/adapters/stub.d.ts.map +1 -0
- package/dist/adapters/stub.js +36 -0
- package/dist/adapters/stub.js.map +1 -0
- package/dist/events/emitter.d.ts +68 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +83 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/emitter.test.d.ts +2 -0
- package/dist/events/emitter.test.d.ts.map +1 -0
- package/dist/events/emitter.test.js +251 -0
- package/dist/events/emitter.test.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +109 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +9 -0
- package/dist/events/types.js.map +1 -0
- package/dist/executor.d.ts +4 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +732 -0
- package/dist/executor.js.map +1 -0
- package/dist/executor.test.d.ts +2 -0
- package/dist/executor.test.d.ts.map +1 -0
- package/dist/executor.test.js +1524 -0
- package/dist/executor.test.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/secrets/index.d.ts +14 -0
- package/dist/secrets/index.d.ts.map +1 -0
- package/dist/secrets/index.js +18 -0
- package/dist/secrets/index.js.map +1 -0
- package/dist/secrets/providers/aws.d.ts +63 -0
- package/dist/secrets/providers/aws.d.ts.map +1 -0
- package/dist/secrets/providers/aws.js +111 -0
- package/dist/secrets/providers/aws.js.map +1 -0
- package/dist/secrets/providers/env.d.ts +36 -0
- package/dist/secrets/providers/env.d.ts.map +1 -0
- package/dist/secrets/providers/env.js +37 -0
- package/dist/secrets/providers/env.js.map +1 -0
- package/dist/secrets/providers/index.d.ts +7 -0
- package/dist/secrets/providers/index.d.ts.map +1 -0
- package/dist/secrets/providers/index.js +7 -0
- package/dist/secrets/providers/index.js.map +1 -0
- package/dist/secrets/providers/vault.d.ts +75 -0
- package/dist/secrets/providers/vault.d.ts.map +1 -0
- package/dist/secrets/providers/vault.js +143 -0
- package/dist/secrets/providers/vault.js.map +1 -0
- package/dist/secrets/registry.d.ts +61 -0
- package/dist/secrets/registry.d.ts.map +1 -0
- package/dist/secrets/registry.js +182 -0
- package/dist/secrets/registry.js.map +1 -0
- package/dist/secrets/resolver.d.ts +40 -0
- package/dist/secrets/resolver.d.ts.map +1 -0
- package/dist/secrets/resolver.js +178 -0
- package/dist/secrets/resolver.js.map +1 -0
- package/dist/secrets/secrets.test.d.ts +2 -0
- package/dist/secrets/secrets.test.d.ts.map +1 -0
- package/dist/secrets/secrets.test.js +243 -0
- package/dist/secrets/secrets.test.js.map +1 -0
- package/dist/secrets/types.d.ts +71 -0
- package/dist/secrets/types.d.ts.map +1 -0
- package/dist/secrets/types.js +38 -0
- package/dist/secrets/types.js.map +1 -0
- package/dist/shared.d.ts +8 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +30 -0
- package/dist/shared.js.map +1 -0
- package/dist/test-plan-types.d.ts +43 -0
- package/dist/test-plan-types.d.ts.map +1 -0
- package/dist/test-plan-types.js +2 -0
- package/dist/test-plan-types.js.map +1 -0
- package/dist/types.d.ts +77 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +35 -0
- package/src/adapters/axios.ts +41 -0
- package/src/adapters/index.ts +2 -0
- package/src/adapters/stub.ts +47 -0
- package/src/events/emitter.test.ts +316 -0
- package/src/events/emitter.ts +133 -0
- package/src/events/index.ts +2 -0
- package/src/events/types.ts +132 -0
- package/src/executor.test.ts +1674 -0
- package/src/executor.ts +986 -0
- package/src/index.ts +69 -0
- package/src/secrets/index.ts +41 -0
- package/src/secrets/providers/aws.ts +179 -0
- package/src/secrets/providers/env.ts +66 -0
- package/src/secrets/providers/index.ts +15 -0
- package/src/secrets/providers/vault.ts +257 -0
- package/src/secrets/registry.ts +234 -0
- package/src/secrets/resolver.ts +249 -0
- package/src/secrets/secrets.test.ts +318 -0
- package/src/secrets/types.ts +105 -0
- package/src/shared.ts +46 -0
- package/src/test-plan-types.ts +49 -0
- package/src/types.ts +95 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../src/executor.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { executePlanV1 } from "./executor.js";
|
|
2
|
+
export type { ExecutionOptions, ExecutionResult, NodeResult, HttpClientAdapter, HttpRequest, HttpResponse, } from "./types.js";
|
|
3
|
+
export type { TestPlan, Endpoint, WaitNode, AssertionNode, Edge, } from "./test-plan-types.js";
|
|
4
|
+
export { AxiosAdapter, StubAdapter, type StubResponse, } from "./adapters/index.js";
|
|
5
|
+
export { LocalEventEmitter, DurableEventEmitter, type ExecutionEventEmitter, type DurableEventBusAdapter, } from "./events/emitter.js";
|
|
6
|
+
export type { ExecutionEvent, BaseEvent, PlanStartEvent, PlanEndEvent, NodeStartEvent, NodeEndEvent, HttpRequestEvent, HttpResponseEvent, HttpRetryEvent, AssertionResultEvent, WaitStartEvent, NodeStreamEvent, ErrorEvent, } from "./events/types.js";
|
|
7
|
+
export { type SecretProvider, type SecretRef, type SecretRefData, type SecretResolveOptions, SecretResolutionError, isSecretRef, SecretProviderRegistry, resolveSecretsInPlan, collectSecretsFromPlan, planHasSecrets, EnvSecretProvider, type EnvSecretProviderOptions, AwsSecretsManagerProvider, type AwsSecretsManagerProviderOptions, type AwsSecretsManagerClient, VaultProvider, type VaultProviderOptions, type VaultHttpClient, } from "./secrets/index.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,WAAW,EAEX,sBAAsB,EAEtB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EAEd,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAC5B,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { executePlanV1 } from "./executor.js";
|
|
2
|
+
export { AxiosAdapter, StubAdapter, } from "./adapters/index.js";
|
|
3
|
+
export { LocalEventEmitter, DurableEventEmitter, } from "./events/emitter.js";
|
|
4
|
+
// Export secrets system
|
|
5
|
+
export { SecretResolutionError, isSecretRef,
|
|
6
|
+
// Registry
|
|
7
|
+
SecretProviderRegistry,
|
|
8
|
+
// Resolution utilities
|
|
9
|
+
resolveSecretsInPlan, collectSecretsFromPlan, planHasSecrets,
|
|
10
|
+
// Providers
|
|
11
|
+
EnvSecretProvider, AwsSecretsManagerProvider, VaultProvider, } from "./secrets/index.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgB9C,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC;AAiB7B,wBAAwB;AACxB,OAAO,EAML,qBAAqB,EACrB,WAAW;AACX,WAAW;AACX,sBAAsB;AACtB,uBAAuB;AACvB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc;AACd,YAAY;AACZ,iBAAiB,EAEjB,yBAAyB,EAGzB,aAAa,GAGd,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret management for griffin plan executor.
|
|
3
|
+
*
|
|
4
|
+
* This module provides:
|
|
5
|
+
* - SecretProvider interface for implementing custom providers
|
|
6
|
+
* - SecretProviderRegistry for managing multiple providers
|
|
7
|
+
* - Secret resolution utilities for test plans
|
|
8
|
+
* - Built-in providers: env, aws, vault
|
|
9
|
+
*/
|
|
10
|
+
export { type SecretProvider, type SecretRef, type SecretRefData, type SecretResolveOptions, SecretResolutionError, isSecretRef, } from "./types.js";
|
|
11
|
+
export { SecretProviderRegistry } from "./registry.js";
|
|
12
|
+
export { resolveSecretsInPlan, collectSecretsFromPlan, planHasSecrets, } from "./resolver.js";
|
|
13
|
+
export { EnvSecretProvider, type EnvSecretProviderOptions, AwsSecretsManagerProvider, type AwsSecretsManagerProviderOptions, type AwsSecretsManagerClient, VaultProvider, type VaultProviderOptions, type VaultHttpClient, } from "./providers/index.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAC5B,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret management for griffin plan executor.
|
|
3
|
+
*
|
|
4
|
+
* This module provides:
|
|
5
|
+
* - SecretProvider interface for implementing custom providers
|
|
6
|
+
* - SecretProviderRegistry for managing multiple providers
|
|
7
|
+
* - Secret resolution utilities for test plans
|
|
8
|
+
* - Built-in providers: env, aws, vault
|
|
9
|
+
*/
|
|
10
|
+
// Core types
|
|
11
|
+
export { SecretResolutionError, isSecretRef, } from "./types.js";
|
|
12
|
+
// Registry
|
|
13
|
+
export { SecretProviderRegistry } from "./registry.js";
|
|
14
|
+
// Resolution utilities
|
|
15
|
+
export { resolveSecretsInPlan, collectSecretsFromPlan, planHasSecrets, } from "./resolver.js";
|
|
16
|
+
// Providers
|
|
17
|
+
export { EnvSecretProvider, AwsSecretsManagerProvider, VaultProvider, } from "./providers/index.js";
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,aAAa;AACb,OAAO,EAKL,qBAAqB,EACrB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,uBAAuB;AACvB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY;AACZ,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAGzB,aAAa,GAGd,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Secrets Manager secret provider.
|
|
3
|
+
*
|
|
4
|
+
* Reads secrets from AWS Secrets Manager. Supports JSON secrets
|
|
5
|
+
* with field extraction and version staging.
|
|
6
|
+
*
|
|
7
|
+
* Usage in DSL:
|
|
8
|
+
* secret("aws:my-secret")
|
|
9
|
+
* secret("aws:prod/api-keys", { field: "stripe" })
|
|
10
|
+
* secret("aws:my-secret", { version: "AWSPREVIOUS" })
|
|
11
|
+
*/
|
|
12
|
+
import type { SecretProvider, SecretResolveOptions } from "../types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Interface for AWS Secrets Manager client.
|
|
15
|
+
* This allows dependency injection of the actual AWS SDK client.
|
|
16
|
+
*/
|
|
17
|
+
export interface AwsSecretsManagerClient {
|
|
18
|
+
getSecretValue(params: {
|
|
19
|
+
SecretId: string;
|
|
20
|
+
VersionStage?: string;
|
|
21
|
+
}): Promise<{
|
|
22
|
+
SecretString?: string;
|
|
23
|
+
SecretBinary?: Uint8Array;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
export interface AwsSecretsManagerProviderOptions {
|
|
27
|
+
/**
|
|
28
|
+
* AWS Secrets Manager client instance.
|
|
29
|
+
* Should be pre-configured with region and credentials.
|
|
30
|
+
*/
|
|
31
|
+
client: AwsSecretsManagerClient;
|
|
32
|
+
/**
|
|
33
|
+
* Optional prefix for secret names.
|
|
34
|
+
* For example, if prefix is "myapp/", then secret("aws:api-key")
|
|
35
|
+
* will look for "myapp/api-key" in Secrets Manager.
|
|
36
|
+
*/
|
|
37
|
+
prefix?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Default version stage to use if not specified.
|
|
40
|
+
* Defaults to "AWSCURRENT".
|
|
41
|
+
*/
|
|
42
|
+
defaultVersionStage?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare class AwsSecretsManagerProvider implements SecretProvider {
|
|
45
|
+
readonly name = "aws";
|
|
46
|
+
private readonly client;
|
|
47
|
+
private readonly prefix;
|
|
48
|
+
private readonly defaultVersionStage;
|
|
49
|
+
private cache;
|
|
50
|
+
private readonly cacheTtlMs;
|
|
51
|
+
constructor(options: AwsSecretsManagerProviderOptions);
|
|
52
|
+
resolve(ref: string, options?: SecretResolveOptions): Promise<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Extract a field from a JSON secret string.
|
|
55
|
+
*/
|
|
56
|
+
private extractField;
|
|
57
|
+
validate(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Clear the cache. Useful for testing or forced refresh.
|
|
60
|
+
*/
|
|
61
|
+
clearCache(): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=aws.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/secrets/providers/aws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,UAAU,CAAC;KAC3B,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,yBAA0B,YAAW,cAAc;IAC9D,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,KAAK,CAAyD;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,OAAO,EAAE,gCAAgC;IAM/C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwD3E;;OAEG;IACH,OAAO,CAAC,YAAY;IA4Cd,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Secrets Manager secret provider.
|
|
3
|
+
*
|
|
4
|
+
* Reads secrets from AWS Secrets Manager. Supports JSON secrets
|
|
5
|
+
* with field extraction and version staging.
|
|
6
|
+
*
|
|
7
|
+
* Usage in DSL:
|
|
8
|
+
* secret("aws:my-secret")
|
|
9
|
+
* secret("aws:prod/api-keys", { field: "stripe" })
|
|
10
|
+
* secret("aws:my-secret", { version: "AWSPREVIOUS" })
|
|
11
|
+
*/
|
|
12
|
+
import { SecretResolutionError } from "../types.js";
|
|
13
|
+
export class AwsSecretsManagerProvider {
|
|
14
|
+
name = "aws";
|
|
15
|
+
client;
|
|
16
|
+
prefix;
|
|
17
|
+
defaultVersionStage;
|
|
18
|
+
// Simple in-memory cache with TTL
|
|
19
|
+
cache = new Map();
|
|
20
|
+
cacheTtlMs = 5 * 60 * 1000; // 5 minutes
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.client = options.client;
|
|
23
|
+
this.prefix = options.prefix ?? "";
|
|
24
|
+
this.defaultVersionStage = options.defaultVersionStage ?? "AWSCURRENT";
|
|
25
|
+
}
|
|
26
|
+
async resolve(ref, options) {
|
|
27
|
+
const secretId = this.prefix + ref;
|
|
28
|
+
const versionStage = options?.version ?? this.defaultVersionStage;
|
|
29
|
+
const cacheKey = `${secretId}:${versionStage}`;
|
|
30
|
+
// Check cache
|
|
31
|
+
const cached = this.cache.get(cacheKey);
|
|
32
|
+
if (cached && cached.expires > Date.now()) {
|
|
33
|
+
return this.extractField(cached.value, options?.field, ref);
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const response = await this.client.getSecretValue({
|
|
37
|
+
SecretId: secretId,
|
|
38
|
+
VersionStage: versionStage,
|
|
39
|
+
});
|
|
40
|
+
if (!response.SecretString) {
|
|
41
|
+
throw new SecretResolutionError(`Secret "${secretId}" does not contain a string value (binary secrets are not supported)`, { provider: this.name, ref });
|
|
42
|
+
}
|
|
43
|
+
// Cache the raw value
|
|
44
|
+
this.cache.set(cacheKey, {
|
|
45
|
+
value: response.SecretString,
|
|
46
|
+
expires: Date.now() + this.cacheTtlMs,
|
|
47
|
+
});
|
|
48
|
+
return this.extractField(response.SecretString, options?.field, ref);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof SecretResolutionError) {
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
// Handle common AWS errors
|
|
55
|
+
const awsError = error;
|
|
56
|
+
let message = `Failed to retrieve secret "${secretId}"`;
|
|
57
|
+
if (awsError.name === "ResourceNotFoundException") {
|
|
58
|
+
message = `Secret "${secretId}" not found in AWS Secrets Manager`;
|
|
59
|
+
}
|
|
60
|
+
else if (awsError.name === "AccessDeniedException") {
|
|
61
|
+
message = `Access denied to secret "${secretId}". Check IAM permissions.`;
|
|
62
|
+
}
|
|
63
|
+
else if (awsError.message) {
|
|
64
|
+
message = `${message}: ${awsError.message}`;
|
|
65
|
+
}
|
|
66
|
+
throw new SecretResolutionError(message, {
|
|
67
|
+
provider: this.name,
|
|
68
|
+
ref,
|
|
69
|
+
cause: error,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract a field from a JSON secret string.
|
|
75
|
+
*/
|
|
76
|
+
extractField(secretValue, field, ref) {
|
|
77
|
+
if (!field) {
|
|
78
|
+
return secretValue;
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const parsed = JSON.parse(secretValue);
|
|
82
|
+
if (typeof parsed !== "object" || parsed === null) {
|
|
83
|
+
throw new SecretResolutionError(`Secret "${ref}" is not a JSON object, cannot extract field "${field}"`, { provider: this.name, ref });
|
|
84
|
+
}
|
|
85
|
+
const value = parsed[field];
|
|
86
|
+
if (value === undefined) {
|
|
87
|
+
throw new SecretResolutionError(`Field "${field}" not found in secret "${ref}"`, { provider: this.name, ref });
|
|
88
|
+
}
|
|
89
|
+
// Convert to string if not already
|
|
90
|
+
return typeof value === "string" ? value : JSON.stringify(value);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
if (error instanceof SecretResolutionError) {
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
throw new SecretResolutionError(`Failed to parse secret "${ref}" as JSON for field extraction: ${error instanceof Error ? error.message : String(error)}`, { provider: this.name, ref, cause: error });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async validate() {
|
|
100
|
+
// Try a simple operation to verify credentials
|
|
101
|
+
// This is a no-op if the client is properly configured
|
|
102
|
+
// The actual validation happens on first secret access
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Clear the cache. Useful for testing or forced refresh.
|
|
106
|
+
*/
|
|
107
|
+
clearCache() {
|
|
108
|
+
this.cache.clear();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/secrets/providers/aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment variable secret provider.
|
|
3
|
+
*
|
|
4
|
+
* Reads secrets from process.env. Useful for local development
|
|
5
|
+
* and simple deployments where secrets are injected as environment variables.
|
|
6
|
+
*
|
|
7
|
+
* Usage in DSL:
|
|
8
|
+
* secret("env:MY_API_KEY")
|
|
9
|
+
* secret("env:DATABASE_URL")
|
|
10
|
+
*/
|
|
11
|
+
import type { SecretProvider, SecretResolveOptions } from "../types.js";
|
|
12
|
+
export interface EnvSecretProviderOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Custom environment object to read from.
|
|
15
|
+
* Defaults to process.env.
|
|
16
|
+
*/
|
|
17
|
+
env?: Record<string, string | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* Prefix to strip from secret refs.
|
|
20
|
+
* For example, if prefix is "APP_", then secret("env:API_KEY")
|
|
21
|
+
* will look for "APP_API_KEY" in the environment.
|
|
22
|
+
*/
|
|
23
|
+
prefix?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare class EnvSecretProvider implements SecretProvider {
|
|
26
|
+
readonly name = "env";
|
|
27
|
+
private readonly env;
|
|
28
|
+
private readonly prefix;
|
|
29
|
+
constructor(options?: EnvSecretProviderOptions);
|
|
30
|
+
resolve(ref: string, _options?: SecretResolveOptions): Promise<string>;
|
|
31
|
+
resolveMany(refs: Array<{
|
|
32
|
+
ref: string;
|
|
33
|
+
options?: SecretResolveOptions;
|
|
34
|
+
}>): Promise<Map<string, string>>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/secrets/providers/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,GAAE,wBAA6B;IAK5C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IActE,WAAW,CACf,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC,GAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAUhC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment variable secret provider.
|
|
3
|
+
*
|
|
4
|
+
* Reads secrets from process.env. Useful for local development
|
|
5
|
+
* and simple deployments where secrets are injected as environment variables.
|
|
6
|
+
*
|
|
7
|
+
* Usage in DSL:
|
|
8
|
+
* secret("env:MY_API_KEY")
|
|
9
|
+
* secret("env:DATABASE_URL")
|
|
10
|
+
*/
|
|
11
|
+
import { SecretResolutionError } from "../types.js";
|
|
12
|
+
export class EnvSecretProvider {
|
|
13
|
+
name = "env";
|
|
14
|
+
env;
|
|
15
|
+
prefix;
|
|
16
|
+
constructor(options = {}) {
|
|
17
|
+
this.env = options.env ?? process.env;
|
|
18
|
+
this.prefix = options.prefix ?? "";
|
|
19
|
+
}
|
|
20
|
+
async resolve(ref, _options) {
|
|
21
|
+
const envKey = this.prefix + ref;
|
|
22
|
+
const value = this.env[envKey];
|
|
23
|
+
if (value === undefined) {
|
|
24
|
+
throw new SecretResolutionError(`Environment variable "${envKey}" is not set`, { provider: this.name, ref });
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
async resolveMany(refs) {
|
|
29
|
+
const results = new Map();
|
|
30
|
+
for (const { ref } of refs) {
|
|
31
|
+
const value = await this.resolve(ref);
|
|
32
|
+
results.set(ref, value);
|
|
33
|
+
}
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/secrets/providers/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAiBpD,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,KAAK,CAAC;IACL,GAAG,CAAqC;IACxC,MAAM,CAAS;IAEhC,YAAY,UAAoC,EAAE;QAChD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,QAA+B;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAqB,CAC7B,yBAAyB,MAAM,cAAc,EAC7C,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAA4D;QAE5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE1C,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret provider implementations.
|
|
3
|
+
*/
|
|
4
|
+
export { EnvSecretProvider, type EnvSecretProviderOptions } from "./env.js";
|
|
5
|
+
export { AwsSecretsManagerProvider, type AwsSecretsManagerProviderOptions, type AwsSecretsManagerClient, } from "./aws.js";
|
|
6
|
+
export { VaultProvider, type VaultProviderOptions, type VaultHttpClient, } from "./vault.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/secrets/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,GAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/secrets/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAiC,MAAM,UAAU,CAAC;AAC5E,OAAO,EACL,yBAAyB,GAG1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,GAGd,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HashiCorp Vault secret provider.
|
|
3
|
+
*
|
|
4
|
+
* Reads secrets from HashiCorp Vault KV secrets engine (v1 and v2).
|
|
5
|
+
* Supports field extraction from JSON secrets.
|
|
6
|
+
*
|
|
7
|
+
* Usage in DSL:
|
|
8
|
+
* secret("vault:secret/data/myapp/config")
|
|
9
|
+
* secret("vault:secret/data/myapp/config", { field: "api_key" })
|
|
10
|
+
* secret("vault:secret/data/myapp/config", { version: "2" })
|
|
11
|
+
*/
|
|
12
|
+
import type { SecretProvider, SecretResolveOptions } from "../types.js";
|
|
13
|
+
/**
|
|
14
|
+
* HTTP client interface for Vault API calls.
|
|
15
|
+
* This allows dependency injection without requiring a specific HTTP library.
|
|
16
|
+
*/
|
|
17
|
+
export interface VaultHttpClient {
|
|
18
|
+
get(url: string, options: {
|
|
19
|
+
headers: Record<string, string>;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
status: number;
|
|
22
|
+
data: unknown;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export interface VaultProviderOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Vault server address (e.g., "https://vault.example.com:8200").
|
|
28
|
+
*/
|
|
29
|
+
address: string;
|
|
30
|
+
/**
|
|
31
|
+
* Authentication token.
|
|
32
|
+
*/
|
|
33
|
+
token: string;
|
|
34
|
+
/**
|
|
35
|
+
* HTTP client for making requests to Vault.
|
|
36
|
+
*/
|
|
37
|
+
httpClient: VaultHttpClient;
|
|
38
|
+
/**
|
|
39
|
+
* Optional namespace for Vault Enterprise.
|
|
40
|
+
*/
|
|
41
|
+
namespace?: string;
|
|
42
|
+
/**
|
|
43
|
+
* KV secrets engine version (1 or 2).
|
|
44
|
+
* Defaults to 2.
|
|
45
|
+
*/
|
|
46
|
+
kvVersion?: 1 | 2;
|
|
47
|
+
/**
|
|
48
|
+
* Optional prefix for secret paths.
|
|
49
|
+
*/
|
|
50
|
+
prefix?: string;
|
|
51
|
+
}
|
|
52
|
+
export declare class VaultProvider implements SecretProvider {
|
|
53
|
+
readonly name = "vault";
|
|
54
|
+
private readonly address;
|
|
55
|
+
private readonly token;
|
|
56
|
+
private readonly httpClient;
|
|
57
|
+
private readonly namespace?;
|
|
58
|
+
private readonly kvVersion;
|
|
59
|
+
private readonly prefix;
|
|
60
|
+
private cache;
|
|
61
|
+
private readonly cacheTtlMs;
|
|
62
|
+
constructor(options: VaultProviderOptions);
|
|
63
|
+
resolve(ref: string, options?: SecretResolveOptions): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Extract a field from the secret data.
|
|
66
|
+
* If no field is specified, returns the entire data as JSON string.
|
|
67
|
+
*/
|
|
68
|
+
private extractField;
|
|
69
|
+
validate(): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Clear the cache. Useful for testing or forced refresh.
|
|
72
|
+
*/
|
|
73
|
+
clearCache(): void;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/secrets/providers/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC3C,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,OAAO,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,eAAe,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAGhC,OAAO,CAAC,KAAK,CAGT;IACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,OAAO,EAAE,oBAAoB;IASnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoG3E;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBd,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
|