@griffin-app/griffin-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.
Files changed (153) hide show
  1. package/README.md +152 -0
  2. package/dist/adapters/axios.d.ts +5 -0
  3. package/dist/adapters/axios.d.ts.map +1 -0
  4. package/dist/adapters/axios.js +36 -0
  5. package/dist/adapters/axios.js.map +1 -0
  6. package/dist/adapters/index.d.ts +3 -0
  7. package/dist/adapters/index.d.ts.map +1 -0
  8. package/dist/adapters/index.js +3 -0
  9. package/dist/adapters/index.js.map +1 -0
  10. package/dist/adapters/stub.d.ts +22 -0
  11. package/dist/adapters/stub.d.ts.map +1 -0
  12. package/dist/adapters/stub.js +36 -0
  13. package/dist/adapters/stub.js.map +1 -0
  14. package/dist/events/adapters/in-memory.d.ts +52 -0
  15. package/dist/events/adapters/in-memory.d.ts.map +1 -0
  16. package/dist/events/adapters/in-memory.js +70 -0
  17. package/dist/events/adapters/in-memory.js.map +1 -0
  18. package/dist/events/adapters/in-memory.test.d.ts +2 -0
  19. package/dist/events/adapters/in-memory.test.d.ts.map +1 -0
  20. package/dist/events/adapters/in-memory.test.js +109 -0
  21. package/dist/events/adapters/in-memory.test.js.map +1 -0
  22. package/dist/events/adapters/index.d.ts +9 -0
  23. package/dist/events/adapters/index.d.ts.map +1 -0
  24. package/dist/events/adapters/index.js +9 -0
  25. package/dist/events/adapters/index.js.map +1 -0
  26. package/dist/events/adapters/kinesis.d.ts +91 -0
  27. package/dist/events/adapters/kinesis.d.ts.map +1 -0
  28. package/dist/events/adapters/kinesis.js +136 -0
  29. package/dist/events/adapters/kinesis.js.map +1 -0
  30. package/dist/events/adapters/kinesis.test.d.ts +2 -0
  31. package/dist/events/adapters/kinesis.test.d.ts.map +1 -0
  32. package/dist/events/adapters/kinesis.test.js +249 -0
  33. package/dist/events/adapters/kinesis.test.js.map +1 -0
  34. package/dist/events/emitter.d.ts +68 -0
  35. package/dist/events/emitter.d.ts.map +1 -0
  36. package/dist/events/emitter.js +83 -0
  37. package/dist/events/emitter.js.map +1 -0
  38. package/dist/events/emitter.test.d.ts +2 -0
  39. package/dist/events/emitter.test.d.ts.map +1 -0
  40. package/dist/events/emitter.test.js +262 -0
  41. package/dist/events/emitter.test.js.map +1 -0
  42. package/dist/events/index.d.ts +4 -0
  43. package/dist/events/index.d.ts.map +1 -0
  44. package/dist/events/index.js +4 -0
  45. package/dist/events/index.js.map +1 -0
  46. package/dist/events/types.d.ts +112 -0
  47. package/dist/events/types.d.ts.map +1 -0
  48. package/dist/events/types.js +9 -0
  49. package/dist/events/types.js.map +1 -0
  50. package/dist/executor.d.ts +4 -0
  51. package/dist/executor.d.ts.map +1 -0
  52. package/dist/executor.js +799 -0
  53. package/dist/executor.js.map +1 -0
  54. package/dist/executor.test.d.ts +2 -0
  55. package/dist/executor.test.d.ts.map +1 -0
  56. package/dist/executor.test.js +1584 -0
  57. package/dist/executor.test.js.map +1 -0
  58. package/dist/index.d.ts +9 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +15 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/secrets/factory.d.ts +121 -0
  63. package/dist/secrets/factory.d.ts.map +1 -0
  64. package/dist/secrets/factory.js +137 -0
  65. package/dist/secrets/factory.js.map +1 -0
  66. package/dist/secrets/index.d.ts +14 -0
  67. package/dist/secrets/index.d.ts.map +1 -0
  68. package/dist/secrets/index.js +18 -0
  69. package/dist/secrets/index.js.map +1 -0
  70. package/dist/secrets/providers/aws.d.ts +63 -0
  71. package/dist/secrets/providers/aws.d.ts.map +1 -0
  72. package/dist/secrets/providers/aws.js +110 -0
  73. package/dist/secrets/providers/aws.js.map +1 -0
  74. package/dist/secrets/providers/env.d.ts +36 -0
  75. package/dist/secrets/providers/env.d.ts.map +1 -0
  76. package/dist/secrets/providers/env.js +37 -0
  77. package/dist/secrets/providers/env.js.map +1 -0
  78. package/dist/secrets/providers/index.d.ts +7 -0
  79. package/dist/secrets/providers/index.d.ts.map +1 -0
  80. package/dist/secrets/providers/index.js +7 -0
  81. package/dist/secrets/providers/index.js.map +1 -0
  82. package/dist/secrets/providers/vault.d.ts +75 -0
  83. package/dist/secrets/providers/vault.d.ts.map +1 -0
  84. package/dist/secrets/providers/vault.js +143 -0
  85. package/dist/secrets/providers/vault.js.map +1 -0
  86. package/dist/secrets/registry.d.ts +39 -0
  87. package/dist/secrets/registry.d.ts.map +1 -0
  88. package/dist/secrets/registry.js +134 -0
  89. package/dist/secrets/registry.js.map +1 -0
  90. package/dist/secrets/resolver.d.ts +45 -0
  91. package/dist/secrets/resolver.d.ts.map +1 -0
  92. package/dist/secrets/resolver.js +188 -0
  93. package/dist/secrets/resolver.js.map +1 -0
  94. package/dist/secrets/secrets.test.d.ts +2 -0
  95. package/dist/secrets/secrets.test.d.ts.map +1 -0
  96. package/dist/secrets/secrets.test.js +317 -0
  97. package/dist/secrets/secrets.test.js.map +1 -0
  98. package/dist/secrets/types.d.ts +70 -0
  99. package/dist/secrets/types.d.ts.map +1 -0
  100. package/dist/secrets/types.js +42 -0
  101. package/dist/secrets/types.js.map +1 -0
  102. package/dist/shared.d.ts +8 -0
  103. package/dist/shared.d.ts.map +1 -0
  104. package/dist/shared.js +30 -0
  105. package/dist/shared.js.map +1 -0
  106. package/dist/test-monitor-types.d.ts +43 -0
  107. package/dist/test-monitor-types.d.ts.map +1 -0
  108. package/dist/test-monitor-types.js +2 -0
  109. package/dist/test-monitor-types.js.map +1 -0
  110. package/dist/test-plan-types.d.ts +43 -0
  111. package/dist/test-plan-types.d.ts.map +1 -0
  112. package/dist/test-plan-types.js +2 -0
  113. package/dist/test-plan-types.js.map +1 -0
  114. package/dist/types.d.ts +93 -0
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +3 -0
  117. package/dist/types.js.map +1 -0
  118. package/dist/utils/dates.d.ts +11 -0
  119. package/dist/utils/dates.d.ts.map +1 -0
  120. package/dist/utils/dates.js +13 -0
  121. package/dist/utils/dates.js.map +1 -0
  122. package/package.json +39 -0
  123. package/src/adapters/axios.ts +39 -0
  124. package/src/adapters/index.ts +2 -0
  125. package/src/adapters/stub.ts +47 -0
  126. package/src/events/adapters/README.md +144 -0
  127. package/src/events/adapters/in-memory.test.ts +146 -0
  128. package/src/events/adapters/in-memory.ts +93 -0
  129. package/src/events/adapters/index.ts +9 -0
  130. package/src/events/adapters/kinesis.test.ts +323 -0
  131. package/src/events/adapters/kinesis.ts +211 -0
  132. package/src/events/emitter.test.ts +327 -0
  133. package/src/events/emitter.ts +133 -0
  134. package/src/events/index.ts +3 -0
  135. package/src/events/types.ts +136 -0
  136. package/src/executor.test.ts +1732 -0
  137. package/src/executor.ts +1075 -0
  138. package/src/index.ts +81 -0
  139. package/src/secrets/factory.ts +248 -0
  140. package/src/secrets/index.ts +48 -0
  141. package/src/secrets/providers/aws.ts +178 -0
  142. package/src/secrets/providers/env.ts +66 -0
  143. package/src/secrets/providers/index.ts +15 -0
  144. package/src/secrets/providers/vault.ts +257 -0
  145. package/src/secrets/resolver.ts +269 -0
  146. package/src/secrets/secrets.test.ts +402 -0
  147. package/src/secrets/types.ts +106 -0
  148. package/src/shared.ts +46 -0
  149. package/src/test-monitor-types.ts +49 -0
  150. package/src/types.ts +114 -0
  151. package/src/utils/dates.ts +13 -0
  152. package/tsconfig.json +20 -0
  153. 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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"}
@@ -0,0 +1,9 @@
1
+ export { executeMonitorV1 } from "./executor.js";
2
+ export type { ExecutionOptions, ExecutionResult, NodeResult, HttpClientAdapter, HttpRequest, HttpResponse, RunStatusUpdate, StatusCallbacks, } from "./types.js";
3
+ export type { TestMonitor, HttpRequest as HttpRequestNode, WaitNode, AssertionNode, Edge, } from "./test-monitor-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, MonitorStartEvent, MonitorEndEvent, NodeStartEvent, NodeEndEvent, HttpRequestEvent, HttpResponseEvent, HttpRetryEvent, AssertionResultEvent, WaitStartEvent, NodeStreamEvent, ErrorEvent, } from "./events/types.js";
7
+ export { KinesisAdapter, type KinesisAdapterOptions, InMemoryAdapter, } from "./events/adapters/index.js";
8
+ export { type SecretProvider, type SecretRef, type SecretRefData, type SecretResolveOptions, SecretResolutionError, isSecretRef, resolveSecretsInMonitor, collectSecretsFromMonitor, planHasSecrets, EnvSecretProvider, type EnvSecretProviderOptions, AwsSecretsManagerProvider, type AwsSecretsManagerProviderOptions, type AwsSecretsManagerClient, VaultProvider, type VaultProviderOptions, type VaultHttpClient, createSecretProvider, type SecretProviderConfig, type EnvProviderConfig, type AwsProviderConfig, type VaultProviderConfig, } from "./secrets/index.js";
9
+ //# 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,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,aAAa,EACb,IAAI,GACL,MAAM,yBAAyB,CAAC;AACjC,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,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,cAAc,EACd,KAAK,qBAAqB,EAC1B,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,WAAW,EAEX,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EAEd,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAC5B,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ export { executeMonitorV1 } from "./executor.js";
2
+ export { AxiosAdapter, StubAdapter, } from "./adapters/index.js";
3
+ export { LocalEventEmitter, DurableEventEmitter, } from "./events/emitter.js";
4
+ export {
5
+ // Event bus adapters
6
+ KinesisAdapter, InMemoryAdapter, } from "./events/adapters/index.js";
7
+ // Export secrets system
8
+ export { SecretResolutionError, isSecretRef,
9
+ // Resolution utilities
10
+ resolveSecretsInMonitor, collectSecretsFromMonitor, planHasSecrets,
11
+ // Providers
12
+ EnvSecretProvider, AwsSecretsManagerProvider, VaultProvider,
13
+ // Factory functions
14
+ createSecretProvider, } from "./secrets/index.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAkBjD,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO;AACL,qBAAqB;AACrB,cAAc,EAEd,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,wBAAwB;AACxB,OAAO,EAML,qBAAqB,EACrB,WAAW;AACX,uBAAuB;AACvB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc;AACd,YAAY;AACZ,iBAAiB,EAEjB,yBAAyB,EAGzB,aAAa;AAGb,oBAAoB;AACpB,oBAAoB,GAKrB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Factory for creating SecretProvider instances from configuration.
3
+ *
4
+ * This module provides pure factory functions that construct providers
5
+ * from config objects. Callers (hub, CLI, agents) are responsible for
6
+ * sourcing the configuration from their environment.
7
+ */
8
+ import type { SecretProvider } from "./types.js";
9
+ /**
10
+ * Configuration for environment variable provider.
11
+ */
12
+ export interface EnvProviderConfig {
13
+ provider: "env";
14
+ /**
15
+ * Optional prefix to prepend to secret refs.
16
+ * For example, prefix="APP_" means secret("env:API_KEY") looks for "APP_API_KEY".
17
+ */
18
+ prefix?: string;
19
+ /**
20
+ * Custom environment object to read from.
21
+ * If not provided, caller should pass process.env.
22
+ */
23
+ env?: Record<string, string | undefined>;
24
+ }
25
+ /**
26
+ * Configuration for AWS Secrets Manager provider.
27
+ */
28
+ export interface AwsProviderConfig {
29
+ provider: "aws";
30
+ /**
31
+ * AWS region for Secrets Manager.
32
+ */
33
+ region: string;
34
+ /**
35
+ * Optional prefix for secret names.
36
+ * For example, prefix="myapp/" means secret("aws:api-key") looks for "myapp/api-key".
37
+ */
38
+ prefix?: string;
39
+ /**
40
+ * Optional IAM role to assume.
41
+ */
42
+ roleArn?: string;
43
+ /**
44
+ * Optional external ID for role assumption.
45
+ */
46
+ externalId?: string;
47
+ /**
48
+ * AWS credentials. If not provided, uses ambient credentials (IAM role, environment, etc).
49
+ */
50
+ credentials?: {
51
+ accessKeyId: string;
52
+ secretAccessKey: string;
53
+ };
54
+ }
55
+ /**
56
+ * Configuration for HashiCorp Vault provider.
57
+ */
58
+ export interface VaultProviderConfig {
59
+ provider: "vault";
60
+ /**
61
+ * Vault server address (e.g., "https://vault.example.com").
62
+ */
63
+ address: string;
64
+ /**
65
+ * Vault authentication token.
66
+ */
67
+ token: string;
68
+ /**
69
+ * Optional Vault namespace.
70
+ */
71
+ namespace?: string;
72
+ /**
73
+ * KV secrets engine version (1 or 2). Defaults to 2.
74
+ */
75
+ kvVersion?: 1 | 2;
76
+ /**
77
+ * Optional prefix for secret paths.
78
+ */
79
+ prefix?: string;
80
+ }
81
+ /**
82
+ * Union type for all provider configurations.
83
+ */
84
+ export type SecretProviderConfig = EnvProviderConfig | AwsProviderConfig | VaultProviderConfig;
85
+ /**
86
+ * Create a SecretProvider from configuration.
87
+ *
88
+ * This is a pure factory function - it does not access environment variables
89
+ * or external state. All configuration must be provided by the caller.
90
+ *
91
+ * @example
92
+ * // Environment provider
93
+ * const envProvider = await createSecretProvider({
94
+ * provider: "env",
95
+ * prefix: "APP_",
96
+ * env: process.env,
97
+ * });
98
+ *
99
+ * @example
100
+ * // AWS provider with credentials
101
+ * const awsProvider = await createSecretProvider({
102
+ * provider: "aws",
103
+ * region: "us-east-1",
104
+ * prefix: "myapp/",
105
+ * credentials: {
106
+ * accessKeyId: "...",
107
+ * secretAccessKey: "...",
108
+ * },
109
+ * });
110
+ *
111
+ * @example
112
+ * // Vault provider
113
+ * const vaultProvider = await createSecretProvider({
114
+ * provider: "vault",
115
+ * address: "https://vault.example.com",
116
+ * token: "...",
117
+ * kvVersion: 2,
118
+ * });
119
+ */
120
+ export declare function createSecretProvider(config: SecretProviderConfig): Promise<SecretProvider>;
121
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/secrets/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Factory for creating SecretProvider instances from configuration.
3
+ *
4
+ * This module provides pure factory functions that construct providers
5
+ * from config objects. Callers (hub, CLI, agents) are responsible for
6
+ * sourcing the configuration from their environment.
7
+ */
8
+ import { EnvSecretProvider } from "./providers/env.js";
9
+ import { AwsSecretsManagerProvider } from "./providers/aws.js";
10
+ import { VaultProvider } from "./providers/vault.js";
11
+ import { SecretsManagerClient, GetSecretValueCommand } from "@aws-sdk/client-secrets-manager";
12
+ import { STSClient, AssumeRoleCommand } from "@aws-sdk/client-sts";
13
+ /**
14
+ * Create a SecretProvider from configuration.
15
+ *
16
+ * This is a pure factory function - it does not access environment variables
17
+ * or external state. All configuration must be provided by the caller.
18
+ *
19
+ * @example
20
+ * // Environment provider
21
+ * const envProvider = await createSecretProvider({
22
+ * provider: "env",
23
+ * prefix: "APP_",
24
+ * env: process.env,
25
+ * });
26
+ *
27
+ * @example
28
+ * // AWS provider with credentials
29
+ * const awsProvider = await createSecretProvider({
30
+ * provider: "aws",
31
+ * region: "us-east-1",
32
+ * prefix: "myapp/",
33
+ * credentials: {
34
+ * accessKeyId: "...",
35
+ * secretAccessKey: "...",
36
+ * },
37
+ * });
38
+ *
39
+ * @example
40
+ * // Vault provider
41
+ * const vaultProvider = await createSecretProvider({
42
+ * provider: "vault",
43
+ * address: "https://vault.example.com",
44
+ * token: "...",
45
+ * kvVersion: 2,
46
+ * });
47
+ */
48
+ export async function createSecretProvider(config) {
49
+ switch (config.provider) {
50
+ case "env":
51
+ return new EnvSecretProvider({
52
+ prefix: config.prefix,
53
+ env: config.env,
54
+ });
55
+ case "aws":
56
+ return createAwsProvider(config);
57
+ case "vault":
58
+ return createVaultProvider(config);
59
+ default:
60
+ const exhaustive = config;
61
+ throw new Error(`Unknown provider type: ${exhaustive.provider}`);
62
+ }
63
+ }
64
+ /**
65
+ * Create AWS Secrets Manager provider with SDK client.
66
+ */
67
+ async function createAwsProvider(config) {
68
+ const clientConfig = { region: config.region };
69
+ // Handle role assumption if roleArn is provided
70
+ if (config.roleArn) {
71
+ const stsClient = new STSClient({ region: config.region });
72
+ const assumeRoleResponse = await stsClient.send(new AssumeRoleCommand({
73
+ RoleArn: config.roleArn,
74
+ RoleSessionName: "griffin-executor",
75
+ ExternalId: config.externalId,
76
+ }));
77
+ if (assumeRoleResponse.Credentials) {
78
+ clientConfig.credentials = {
79
+ accessKeyId: assumeRoleResponse.Credentials.AccessKeyId ?? "",
80
+ secretAccessKey: assumeRoleResponse.Credentials.SecretAccessKey ?? "",
81
+ sessionToken: assumeRoleResponse.Credentials.SessionToken,
82
+ };
83
+ }
84
+ }
85
+ else if (config.credentials) {
86
+ clientConfig.credentials = config.credentials;
87
+ }
88
+ // Otherwise uses ambient AWS credentials (IAM role, environment variables, etc)
89
+ const smClient = new SecretsManagerClient(clientConfig);
90
+ // Wrap SDK client with the interface expected by AwsSecretsManagerProvider
91
+ const client = {
92
+ async getSecretValue(params) {
93
+ const command = new GetSecretValueCommand({
94
+ SecretId: params.SecretId,
95
+ VersionStage: params.VersionStage,
96
+ });
97
+ const response = await smClient.send(command);
98
+ return {
99
+ SecretString: response.SecretString,
100
+ SecretBinary: response.SecretBinary,
101
+ };
102
+ },
103
+ };
104
+ return new AwsSecretsManagerProvider({
105
+ client,
106
+ prefix: config.prefix,
107
+ });
108
+ }
109
+ /**
110
+ * Create Vault provider with HTTP client.
111
+ */
112
+ function createVaultProvider(config) {
113
+ // Create HTTP client for Vault API calls
114
+ const httpClient = {
115
+ async get(url, options) {
116
+ // Import axios dynamically to avoid bundling it when not needed
117
+ const axios = await import("axios");
118
+ const response = await axios.default.get(url, {
119
+ headers: options.headers,
120
+ validateStatus: () => true, // Don't throw on non-2xx
121
+ });
122
+ return {
123
+ status: response.status,
124
+ data: response.data,
125
+ };
126
+ },
127
+ };
128
+ return new VaultProvider({
129
+ address: config.address,
130
+ token: config.token,
131
+ httpClient,
132
+ namespace: config.namespace,
133
+ kvVersion: config.kvVersion ?? 2,
134
+ prefix: config.prefix,
135
+ });
136
+ }
137
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/secrets/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Secret management for griffin monitor executor.
3
+ *
4
+ * This module provides:
5
+ * - SecretProvider interface for implementing custom providers
6
+ * - Secret resolution utilities for test monitors
7
+ * - Built-in providers: env, aws, vault
8
+ * - Factory functions for creating providers from configuration
9
+ */
10
+ export { type SecretProvider, type SecretRef, type SecretRefData, type SecretResolveOptions, SecretResolutionError, isSecretRef, isStringLiteral, } from "./types.js";
11
+ export { resolveSecretsInMonitor, collectSecretsFromMonitor, planHasSecrets, } from "./resolver.js";
12
+ export { EnvSecretProvider, type EnvSecretProviderOptions, AwsSecretsManagerProvider, type AwsSecretsManagerProviderOptions, type AwsSecretsManagerClient, VaultProvider, type VaultProviderOptions, type VaultHttpClient, } from "./providers/index.js";
13
+ export { createSecretProvider, type SecretProviderConfig, type EnvProviderConfig, type AwsProviderConfig, type VaultProviderConfig, } from "./factory.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,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,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;AAG9B,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Secret management for griffin monitor executor.
3
+ *
4
+ * This module provides:
5
+ * - SecretProvider interface for implementing custom providers
6
+ * - Secret resolution utilities for test monitors
7
+ * - Built-in providers: env, aws, vault
8
+ * - Factory functions for creating providers from configuration
9
+ */
10
+ // Core types
11
+ export { SecretResolutionError, isSecretRef, isStringLiteral, } from "./types.js";
12
+ // Resolution utilities
13
+ export { resolveSecretsInMonitor, collectSecretsFromMonitor, planHasSecrets, } from "./resolver.js";
14
+ // Providers
15
+ export { EnvSecretProvider, AwsSecretsManagerProvider, VaultProvider, } from "./providers/index.js";
16
+ // Factory functions
17
+ export { createSecretProvider, } from "./factory.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,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,uBAAuB;AACvB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY;AACZ,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EAGzB,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAE9B,oBAAoB;AACpB,OAAO,EACL,oBAAoB,GAKrB,MAAM,cAAc,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;IAuD3E;;OAEG;IACH,OAAO,CAAC,YAAY;IA4Cd,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,110 @@
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)`, { 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
+ ref,
68
+ cause: error,
69
+ });
70
+ }
71
+ }
72
+ /**
73
+ * Extract a field from a JSON secret string.
74
+ */
75
+ extractField(secretValue, field, ref) {
76
+ if (!field) {
77
+ return secretValue;
78
+ }
79
+ try {
80
+ const parsed = JSON.parse(secretValue);
81
+ if (typeof parsed !== "object" || parsed === null) {
82
+ throw new SecretResolutionError(`Secret "${ref}" is not a JSON object, cannot extract field "${field}"`, { ref });
83
+ }
84
+ const value = parsed[field];
85
+ if (value === undefined) {
86
+ throw new SecretResolutionError(`Field "${field}" not found in secret "${ref}"`, { ref });
87
+ }
88
+ // Convert to string if not already
89
+ return typeof value === "string" ? value : JSON.stringify(value);
90
+ }
91
+ catch (error) {
92
+ if (error instanceof SecretResolutionError) {
93
+ throw error;
94
+ }
95
+ throw new SecretResolutionError(`Failed to parse secret "${ref}" as JSON for field extraction: ${error instanceof Error ? error.message : String(error)}`, { ref, cause: error });
96
+ }
97
+ }
98
+ async validate() {
99
+ // Try a simple operation to verify credentials
100
+ // This is a no-op if the client is properly configured
101
+ // The actual validation happens on first secret access
102
+ }
103
+ /**
104
+ * Clear the cache. Useful for testing or forced refresh.
105
+ */
106
+ clearCache() {
107
+ this.cache.clear();
108
+ }
109
+ }
110
+ //# 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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"}