@aws/agentcore 1.0.0-preview.18 → 1.0.0-preview.19
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 +17 -17
- package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +260 -83
- package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
- package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
- package/dist/assets/python/a2a/strands/capabilities/memory/session.py +1 -1
- package/dist/assets/python/agui/strands/capabilities/memory/session.py +1 -1
- package/dist/assets/python/http/autogen/base/main.py +33 -10
- package/dist/assets/python/http/googleadk/base/main.py +45 -8
- package/dist/assets/python/http/langchain_langgraph/base/main.py +46 -7
- package/dist/assets/python/http/openaiagents/base/main.py +19 -8
- package/dist/assets/python/http/strands/base/main.py +23 -26
- package/dist/assets/python/http/strands/capabilities/memory/session.py +1 -1
- package/dist/assets/typescript/http/strands/base/main.ts +48 -18
- package/dist/assets/typescript/http/vercelai/base/main.ts +42 -2
- package/dist/cli/index.mjs +516 -516
- package/dist/lib/errors/types.d.ts +25 -0
- package/dist/lib/errors/types.d.ts.map +1 -1
- package/dist/lib/errors/types.js +40 -1
- package/dist/lib/errors/types.js.map +1 -1
- package/dist/lib/secrets/cipher.d.ts +12 -0
- package/dist/lib/secrets/cipher.d.ts.map +1 -0
- package/dist/lib/secrets/cipher.js +54 -0
- package/dist/lib/secrets/cipher.js.map +1 -0
- package/dist/lib/secrets/index.d.ts +4 -0
- package/dist/lib/secrets/index.d.ts.map +1 -0
- package/dist/lib/secrets/index.js +15 -0
- package/dist/lib/secrets/index.js.map +1 -0
- package/dist/lib/secrets/key-provider.d.ts +16 -0
- package/dist/lib/secrets/key-provider.d.ts.map +1 -0
- package/dist/lib/secrets/key-provider.js +191 -0
- package/dist/lib/secrets/key-provider.js.map +1 -0
- package/dist/lib/secrets/sensitive-keys.d.ts +21 -0
- package/dist/lib/secrets/sensitive-keys.d.ts.map +1 -0
- package/dist/lib/secrets/sensitive-keys.js +67 -0
- package/dist/lib/secrets/sensitive-keys.js.map +1 -0
- package/dist/lib/utils/env.d.ts +4 -2
- package/dist/lib/utils/env.d.ts.map +1 -1
- package/dist/lib/utils/env.js +57 -27
- package/dist/lib/utils/env.js.map +1 -1
- package/dist/schema/constants.d.ts +26 -0
- package/dist/schema/constants.d.ts.map +1 -1
- package/dist/schema/constants.js +34 -1
- package/dist/schema/constants.js.map +1 -1
- package/dist/schema/schemas/agent-env.d.ts +4 -2
- package/dist/schema/schemas/agent-env.d.ts.map +1 -1
- package/dist/schema/schemas/agent-env.js +23 -5
- package/dist/schema/schemas/agent-env.js.map +1 -1
- package/dist/schema/schemas/agentcore-project.d.ts +3 -1
- package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
- package/dist/schema/schemas/auth.d.ts +2 -3
- package/dist/schema/schemas/auth.d.ts.map +1 -1
- package/dist/schema/schemas/auth.js +8 -7
- package/dist/schema/schemas/auth.js.map +1 -1
- package/dist/schema/schemas/primitives/config-bundle.d.ts +1 -0
- package/dist/schema/schemas/primitives/config-bundle.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/config-bundle.js +3 -0
- package/dist/schema/schemas/primitives/config-bundle.js.map +1 -1
- package/dist/schema/schemas/primitives/harness.d.ts +1 -0
- package/dist/schema/schemas/primitives/harness.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/harness.js +16 -0
- package/dist/schema/schemas/primitives/harness.js.map +1 -1
- package/npm-shrinkwrap.json +223 -0
- package/package.json +4 -1
|
@@ -33,6 +33,20 @@ export declare class AgentAlreadyExistsError extends BaseError {
|
|
|
33
33
|
export declare class AccessDeniedError extends BaseError {
|
|
34
34
|
constructor(message: string, options?: BaseErrorOptions);
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Error thrown when a secret value cannot be encrypted before writing to disk
|
|
38
|
+
* (e.g. the machine encryption key could not be created/read).
|
|
39
|
+
*/
|
|
40
|
+
export declare class SecretEncryptionError extends BaseError {
|
|
41
|
+
constructor(message: string, options?: BaseErrorOptions);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Error thrown when a stored secret value cannot be decrypted (missing/changed
|
|
45
|
+
* machine key, or corrupted ciphertext).
|
|
46
|
+
*/
|
|
47
|
+
export declare class SecretDecryptionError extends BaseError {
|
|
48
|
+
constructor(message: string, options?: BaseErrorOptions);
|
|
49
|
+
}
|
|
36
50
|
/**
|
|
37
51
|
* Error indicating missing system dependencies required for an operation.
|
|
38
52
|
*/
|
|
@@ -57,6 +71,17 @@ export declare class JobNotFoundError extends BaseError {
|
|
|
57
71
|
export declare class ValidationError extends BaseError {
|
|
58
72
|
constructor(message: string, options?: BaseErrorOptions);
|
|
59
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Error thrown when CDK synth fails because the project's installed `@aws/agentcore-cdk`
|
|
76
|
+
* construct is older than the running CLI and rejects a config key the CLI legitimately writes.
|
|
77
|
+
*
|
|
78
|
+
* The CLI strict-validates agentcore.json against its own schema during preflight, *before*
|
|
79
|
+
* synth. So an "unknown keys (remove)" failure reaching synth proves the key is valid to the
|
|
80
|
+
* CLI but unknown to the older bundled construct — i.e. version skew, not a bad config.
|
|
81
|
+
*/
|
|
82
|
+
export declare class StaleCdkConstructError extends BaseError {
|
|
83
|
+
constructor(rejectedKeys: string[], installedVersion: string | undefined, options?: BaseErrorOptions);
|
|
84
|
+
}
|
|
60
85
|
/**
|
|
61
86
|
* Error thrown when AWS credentials are not configured or invalid.
|
|
62
87
|
* Supports both a short message (for interactive mode) and detailed message (for CLI mode).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/errors/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/errors/types.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExportHarnessError = exports.UserCancellationError = exports.ShellKickedError = exports.IngestionError = exports.PollExhaustedError = exports.PollTimeoutError = exports.ServiceQuotaError = exports.ThrottlingError = exports.ServiceError = exports.DevServerConnectionError = exports.DevServerError = exports.TimeoutError = exports.ConflictError = exports.GitInitError = exports.ConfigParseError = exports.ConfigValidationError = exports.ConfigWriteError = exports.ConfigReadError = exports.ConfigNotFoundError = exports.UnsupportedLanguageError = exports.MissingProjectFileError = exports.MissingDependencyError = exports.ArtifactSizeError = exports.PackagingError = exports.MissingCredentialsError = exports.AwsCredentialsError = exports.ValidationError = exports.JobNotFoundError = exports.ResourceNotFoundError = exports.DependencyCheckError = exports.AccessDeniedError = exports.AgentAlreadyExistsError = exports.NoProjectError = exports.BaseError = void 0;
|
|
3
|
+
exports.ExportHarnessError = exports.UserCancellationError = exports.ShellKickedError = exports.IngestionError = exports.PollExhaustedError = exports.PollTimeoutError = exports.ServiceQuotaError = exports.ThrottlingError = exports.ServiceError = exports.DevServerConnectionError = exports.DevServerError = exports.TimeoutError = exports.ConflictError = exports.GitInitError = exports.ConfigParseError = exports.ConfigValidationError = exports.ConfigWriteError = exports.ConfigReadError = exports.ConfigNotFoundError = exports.UnsupportedLanguageError = exports.MissingProjectFileError = exports.MissingDependencyError = exports.ArtifactSizeError = exports.PackagingError = exports.MissingCredentialsError = exports.AwsCredentialsError = exports.StaleCdkConstructError = exports.ValidationError = exports.JobNotFoundError = exports.ResourceNotFoundError = exports.DependencyCheckError = exports.SecretDecryptionError = exports.SecretEncryptionError = exports.AccessDeniedError = exports.AgentAlreadyExistsError = exports.NoProjectError = exports.BaseError = void 0;
|
|
4
4
|
exports.toError = toError;
|
|
5
5
|
const zod_js_1 = require("./zod.js");
|
|
6
6
|
class BaseError extends Error {
|
|
@@ -50,6 +50,26 @@ class AccessDeniedError extends BaseError {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
exports.AccessDeniedError = AccessDeniedError;
|
|
53
|
+
/**
|
|
54
|
+
* Error thrown when a secret value cannot be encrypted before writing to disk
|
|
55
|
+
* (e.g. the machine encryption key could not be created/read).
|
|
56
|
+
*/
|
|
57
|
+
class SecretEncryptionError extends BaseError {
|
|
58
|
+
constructor(message, options) {
|
|
59
|
+
super(message, { defaultSource: 'client', ...options });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.SecretEncryptionError = SecretEncryptionError;
|
|
63
|
+
/**
|
|
64
|
+
* Error thrown when a stored secret value cannot be decrypted (missing/changed
|
|
65
|
+
* machine key, or corrupted ciphertext).
|
|
66
|
+
*/
|
|
67
|
+
class SecretDecryptionError extends BaseError {
|
|
68
|
+
constructor(message, options) {
|
|
69
|
+
super(message, { defaultSource: 'user', ...options });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.SecretDecryptionError = SecretDecryptionError;
|
|
53
73
|
/**
|
|
54
74
|
* Error indicating missing system dependencies required for an operation.
|
|
55
75
|
*/
|
|
@@ -86,6 +106,25 @@ class ValidationError extends BaseError {
|
|
|
86
106
|
}
|
|
87
107
|
}
|
|
88
108
|
exports.ValidationError = ValidationError;
|
|
109
|
+
/**
|
|
110
|
+
* Error thrown when CDK synth fails because the project's installed `@aws/agentcore-cdk`
|
|
111
|
+
* construct is older than the running CLI and rejects a config key the CLI legitimately writes.
|
|
112
|
+
*
|
|
113
|
+
* The CLI strict-validates agentcore.json against its own schema during preflight, *before*
|
|
114
|
+
* synth. So an "unknown keys (remove)" failure reaching synth proves the key is valid to the
|
|
115
|
+
* CLI but unknown to the older bundled construct — i.e. version skew, not a bad config.
|
|
116
|
+
*/
|
|
117
|
+
class StaleCdkConstructError extends BaseError {
|
|
118
|
+
constructor(rejectedKeys, installedVersion, options) {
|
|
119
|
+
const keyList = rejectedKeys.map(k => `"${k}"`).join(', ');
|
|
120
|
+
const versionPart = installedVersion ? ` (currently ${installedVersion})` : '';
|
|
121
|
+
super(`CDK synth rejected ${keyList}, which this CLI writes but the project's installed ` +
|
|
122
|
+
`@aws/agentcore-cdk${versionPart} does not recognize. If you did not hand-edit ` +
|
|
123
|
+
`agentcore.json, the bundled CDK constructs are likely behind the CLI. Run ` +
|
|
124
|
+
`\`npm update @aws/agentcore-cdk\` in agentcore/cdk/, then re-run \`agentcore deploy\`.`, { defaultSource: 'user', ...options });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.StaleCdkConstructError = StaleCdkConstructError;
|
|
89
128
|
/**
|
|
90
129
|
* Error thrown when AWS credentials are not configured or invalid.
|
|
91
130
|
* Supports both a short message (for interactive mode) and detailed message (for CLI mode).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/errors/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/errors/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const ENC_PREFIX = "enc:v1:";
|
|
2
|
+
/** Encrypt a plaintext secret to an `enc:v1:` envelope: base64(IV || tag || ciphertext). */
|
|
3
|
+
export declare function encryptSecret(plaintext: string, key: Buffer): string;
|
|
4
|
+
/**
|
|
5
|
+
* Decrypt an `enc:v1:` envelope, trying each candidate key in turn. A value may
|
|
6
|
+
* have been sealed by the OS keychain or the keyfile; trying all available keys
|
|
7
|
+
* means a value still decrypts even if the active key source differs from the
|
|
8
|
+
* one that wrote it (e.g. AGENTCORE_DISABLE_KEYCHAIN toggled between add and a
|
|
9
|
+
* later read). Throws SecretDecryptionError only if no key works.
|
|
10
|
+
*/
|
|
11
|
+
export declare function decryptSecret(token: string, keys: Buffer | Buffer[]): string;
|
|
12
|
+
//# sourceMappingURL=cipher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cipher.d.ts","sourceRoot":"","sources":["../../../src/lib/secrets/cipher.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,YAAY,CAAC;AAMpC,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpE;AAiBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAY5E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ENC_PREFIX = void 0;
|
|
4
|
+
exports.encryptSecret = encryptSecret;
|
|
5
|
+
exports.decryptSecret = decryptSecret;
|
|
6
|
+
const types_1 = require("../errors/types");
|
|
7
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
|
+
exports.ENC_PREFIX = 'enc:v1:';
|
|
9
|
+
const ALGORITHM = 'aes-256-gcm';
|
|
10
|
+
const IV_BYTES = 12;
|
|
11
|
+
const TAG_BYTES = 16;
|
|
12
|
+
/** Encrypt a plaintext secret to an `enc:v1:` envelope: base64(IV || tag || ciphertext). */
|
|
13
|
+
function encryptSecret(plaintext, key) {
|
|
14
|
+
const iv = (0, node_crypto_1.randomBytes)(IV_BYTES);
|
|
15
|
+
const cipher = (0, node_crypto_1.createCipheriv)(ALGORITHM, key, iv);
|
|
16
|
+
const ciphertext = Buffer.concat([cipher.update(plaintext, 'utf-8'), cipher.final()]);
|
|
17
|
+
const tag = cipher.getAuthTag();
|
|
18
|
+
return exports.ENC_PREFIX + Buffer.concat([iv, tag, ciphertext]).toString('base64');
|
|
19
|
+
}
|
|
20
|
+
/** Attempt to decrypt with a single key. Returns the plaintext or null on any failure (does NOT throw). */
|
|
21
|
+
function tryDecrypt(token, key) {
|
|
22
|
+
try {
|
|
23
|
+
const raw = Buffer.from(token.slice(exports.ENC_PREFIX.length), 'base64');
|
|
24
|
+
const iv = raw.subarray(0, IV_BYTES);
|
|
25
|
+
const tag = raw.subarray(IV_BYTES, IV_BYTES + TAG_BYTES);
|
|
26
|
+
const ciphertext = raw.subarray(IV_BYTES + TAG_BYTES);
|
|
27
|
+
const decipher = (0, node_crypto_1.createDecipheriv)(ALGORITHM, key, iv);
|
|
28
|
+
decipher.setAuthTag(tag);
|
|
29
|
+
return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString('utf-8');
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Decrypt an `enc:v1:` envelope, trying each candidate key in turn. A value may
|
|
37
|
+
* have been sealed by the OS keychain or the keyfile; trying all available keys
|
|
38
|
+
* means a value still decrypts even if the active key source differs from the
|
|
39
|
+
* one that wrote it (e.g. AGENTCORE_DISABLE_KEYCHAIN toggled between add and a
|
|
40
|
+
* later read). Throws SecretDecryptionError only if no key works.
|
|
41
|
+
*/
|
|
42
|
+
function decryptSecret(token, keys) {
|
|
43
|
+
if (!token.startsWith(exports.ENC_PREFIX)) {
|
|
44
|
+
throw new types_1.SecretDecryptionError('Value is not an encrypted secret envelope.');
|
|
45
|
+
}
|
|
46
|
+
const candidates = Array.isArray(keys) ? keys : [keys];
|
|
47
|
+
for (const key of candidates) {
|
|
48
|
+
const plaintext = tryDecrypt(token, key);
|
|
49
|
+
if (plaintext !== null)
|
|
50
|
+
return plaintext;
|
|
51
|
+
}
|
|
52
|
+
throw new types_1.SecretDecryptionError('Could not decrypt a stored secret in agentcore/.env.local — the encryption key may be missing or changed. Re-add the credential');
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=cipher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cipher.js","sourceRoot":"","sources":["../../../src/lib/secrets/cipher.ts"],"names":[],"mappings":";;;AAUA,sCAMC;AAwBD,sCAYC;AApDD,2CAAwD;AACxD,6CAA4E;AAE/D,QAAA,UAAU,GAAG,SAAS,CAAC;AAEpC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,4FAA4F;AAC5F,SAAgB,aAAa,CAAC,SAAiB,EAAE,GAAW;IAC1D,MAAM,EAAE,GAAG,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAChC,OAAO,kBAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,2GAA2G;AAC3G,SAAS,UAAU,CAAC,KAAa,EAAE,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAA,8BAAgB,EAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,KAAa,EAAE,IAAuB;IAClE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAU,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,6BAAqB,CAAC,4CAA4C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,6BAAqB,CAC7B,iIAAiI,CAClI,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { isSensitiveKey, SENSITIVE_KEY_PATTERNS, validateCredentialNameEncryptable } from './sensitive-keys';
|
|
2
|
+
export { ENC_PREFIX, encryptSecret, decryptSecret } from './cipher';
|
|
3
|
+
export { resolveEncryptionKey, resolveCandidateKeys } from './key-provider';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/secrets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveCandidateKeys = exports.resolveEncryptionKey = exports.decryptSecret = exports.encryptSecret = exports.ENC_PREFIX = exports.validateCredentialNameEncryptable = exports.SENSITIVE_KEY_PATTERNS = exports.isSensitiveKey = void 0;
|
|
4
|
+
var sensitive_keys_1 = require("./sensitive-keys");
|
|
5
|
+
Object.defineProperty(exports, "isSensitiveKey", { enumerable: true, get: function () { return sensitive_keys_1.isSensitiveKey; } });
|
|
6
|
+
Object.defineProperty(exports, "SENSITIVE_KEY_PATTERNS", { enumerable: true, get: function () { return sensitive_keys_1.SENSITIVE_KEY_PATTERNS; } });
|
|
7
|
+
Object.defineProperty(exports, "validateCredentialNameEncryptable", { enumerable: true, get: function () { return sensitive_keys_1.validateCredentialNameEncryptable; } });
|
|
8
|
+
var cipher_1 = require("./cipher");
|
|
9
|
+
Object.defineProperty(exports, "ENC_PREFIX", { enumerable: true, get: function () { return cipher_1.ENC_PREFIX; } });
|
|
10
|
+
Object.defineProperty(exports, "encryptSecret", { enumerable: true, get: function () { return cipher_1.encryptSecret; } });
|
|
11
|
+
Object.defineProperty(exports, "decryptSecret", { enumerable: true, get: function () { return cipher_1.decryptSecret; } });
|
|
12
|
+
var key_provider_1 = require("./key-provider");
|
|
13
|
+
Object.defineProperty(exports, "resolveEncryptionKey", { enumerable: true, get: function () { return key_provider_1.resolveEncryptionKey; } });
|
|
14
|
+
Object.defineProperty(exports, "resolveCandidateKeys", { enumerable: true, get: function () { return key_provider_1.resolveCandidateKeys; } });
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/secrets/index.ts"],"names":[],"mappings":";;;AAAA,mDAA6G;AAApG,gHAAA,cAAc,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAAE,mIAAA,iCAAiC,OAAA;AAClF,mCAAoE;AAA3D,oGAAA,UAAU,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,uGAAA,aAAa,OAAA;AACjD,+CAA4E;AAAnE,oHAAA,oBAAoB,OAAA;AAAE,oHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the single key used to ENCRYPT new values: keychain first, keyfile
|
|
3
|
+
* fallback. Creates a key if none exists yet.
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolveEncryptionKey(): Promise<Buffer>;
|
|
6
|
+
/**
|
|
7
|
+
* Resolve ALL candidate keys for DECRYPTION, newest-intent first. A stored
|
|
8
|
+
* value may have been sealed by the keychain on one run and the keyfile on
|
|
9
|
+
* another (e.g. AGENTCORE_DISABLE_KEYCHAIN toggled); trying every available key
|
|
10
|
+
* lets a value decrypt regardless of which source is currently active. Read-only
|
|
11
|
+
* — never creates a key. May be empty if no key material exists at all.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveCandidateKeys(): Promise<Buffer[]>;
|
|
14
|
+
/** Reset the per-process key cache. Only for use in tests. */
|
|
15
|
+
export declare function __resetKeyCacheForTests(): void;
|
|
16
|
+
//# sourceMappingURL=key-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/secrets/key-provider.ts"],"names":[],"mappings":"AA+HA;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK5D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAO9D;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resolveEncryptionKey = resolveEncryptionKey;
|
|
37
|
+
exports.resolveCandidateKeys = resolveCandidateKeys;
|
|
38
|
+
exports.__resetKeyCacheForTests = __resetKeyCacheForTests;
|
|
39
|
+
const types_1 = require("../errors/types");
|
|
40
|
+
const node_crypto_1 = require("node:crypto");
|
|
41
|
+
const node_fs_1 = require("node:fs");
|
|
42
|
+
const node_os_1 = require("node:os");
|
|
43
|
+
const node_path_1 = require("node:path");
|
|
44
|
+
const KEY_BYTES = 32;
|
|
45
|
+
const KEYCHAIN_SERVICE = 'aws-agentcore';
|
|
46
|
+
const KEYCHAIN_ACCOUNT = 'env-local-secret-key';
|
|
47
|
+
let cachedKey = null;
|
|
48
|
+
/** Keychain is opt-out (headless/CI) and best-effort; any failure falls through to the keyfile. */
|
|
49
|
+
async function tryKeychainKey() {
|
|
50
|
+
if (process.env.AGENTCORE_DISABLE_KEYCHAIN === '1')
|
|
51
|
+
return null;
|
|
52
|
+
try {
|
|
53
|
+
// Optional native dependency — dynamic import so a missing/unbuildable
|
|
54
|
+
// module degrades to the keyfile instead of failing the CLI.
|
|
55
|
+
const { Entry } = (await Promise.resolve().then(() => __importStar(require('@napi-rs/keyring'))));
|
|
56
|
+
const entry = new Entry(KEYCHAIN_SERVICE, KEYCHAIN_ACCOUNT);
|
|
57
|
+
try {
|
|
58
|
+
const existing = entry.getPassword();
|
|
59
|
+
if (existing)
|
|
60
|
+
return Buffer.from(existing, 'base64');
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// no stored password yet
|
|
64
|
+
}
|
|
65
|
+
const key = (0, node_crypto_1.randomBytes)(KEY_BYTES);
|
|
66
|
+
entry.setPassword(key.toString('base64'));
|
|
67
|
+
// Re-read after writing: if a concurrent process stored a different key
|
|
68
|
+
// between our getPassword() and setPassword(), the keychain now holds
|
|
69
|
+
// theirs — trust the persisted value, not our local one, so both processes
|
|
70
|
+
// converge on the same key.
|
|
71
|
+
try {
|
|
72
|
+
const persisted = entry.getPassword();
|
|
73
|
+
if (persisted)
|
|
74
|
+
return Buffer.from(persisted, 'base64');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// fall through to the freshly-generated key
|
|
78
|
+
}
|
|
79
|
+
return key;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function resolveConfigDir() {
|
|
86
|
+
return process.env.AGENTCORE_CONFIG_DIR ?? (0, node_path_1.join)((0, node_os_1.homedir)(), '.agentcore');
|
|
87
|
+
}
|
|
88
|
+
function keyfilePath() {
|
|
89
|
+
return (0, node_path_1.join)(resolveConfigDir(), 'secrets.key');
|
|
90
|
+
}
|
|
91
|
+
/** A keyfile that exists but isn't KEY_BYTES long is corrupt — never overwrite it. */
|
|
92
|
+
function assertKeyfileSize(key, path) {
|
|
93
|
+
if (key.length === KEY_BYTES)
|
|
94
|
+
return key;
|
|
95
|
+
throw new types_1.SecretEncryptionError(`Encryption key file at ${path} is corrupt (expected ${KEY_BYTES} bytes, found ${key.length}). ` +
|
|
96
|
+
`Move it aside and re-add your credentials, or restore the original key file`);
|
|
97
|
+
}
|
|
98
|
+
function keyfileKey() {
|
|
99
|
+
const path = keyfilePath();
|
|
100
|
+
try {
|
|
101
|
+
if ((0, node_fs_1.existsSync)(path)) {
|
|
102
|
+
// A wrong-sized existing file is corruption, NOT a cue to mint a new key:
|
|
103
|
+
// overwriting it would permanently orphan every secret sealed with the
|
|
104
|
+
// real key. Fail loud instead.
|
|
105
|
+
return assertKeyfileSize((0, node_fs_1.readFileSync)(path), path);
|
|
106
|
+
}
|
|
107
|
+
(0, node_fs_1.mkdirSync)(resolveConfigDir(), { recursive: true });
|
|
108
|
+
const key = (0, node_crypto_1.randomBytes)(KEY_BYTES);
|
|
109
|
+
try {
|
|
110
|
+
// `wx` fails if the file already exists, making first-time creation
|
|
111
|
+
// last-writer-safe: if a concurrent process created it between the
|
|
112
|
+
// existsSync check and here, re-read theirs instead of clobbering it.
|
|
113
|
+
(0, node_fs_1.writeFileSync)(path, key, { mode: 0o600, flag: 'wx' });
|
|
114
|
+
return key;
|
|
115
|
+
}
|
|
116
|
+
catch (writeErr) {
|
|
117
|
+
if (writeErr.code === 'EEXIST') {
|
|
118
|
+
return assertKeyfileSize((0, node_fs_1.readFileSync)(path), path);
|
|
119
|
+
}
|
|
120
|
+
throw writeErr;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
if (err instanceof types_1.SecretEncryptionError)
|
|
125
|
+
throw err;
|
|
126
|
+
throw new types_1.SecretEncryptionError(`Could not create or read the machine encryption key at ${path}.`, {
|
|
127
|
+
cause: err instanceof Error ? err : undefined,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/** Read the keyfile key WITHOUT creating one if absent (read-only; returns null when missing). */
|
|
132
|
+
function readKeyfileKeyIfPresent() {
|
|
133
|
+
try {
|
|
134
|
+
const path = keyfilePath();
|
|
135
|
+
if ((0, node_fs_1.existsSync)(path)) {
|
|
136
|
+
const key = (0, node_fs_1.readFileSync)(path);
|
|
137
|
+
if (key.length === KEY_BYTES)
|
|
138
|
+
return key;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// unreadable keyfile — treat as absent
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
/** Read the keychain key WITHOUT creating one if absent (returns null when unavailable/missing). */
|
|
147
|
+
async function readKeychainKeyIfPresent() {
|
|
148
|
+
if (process.env.AGENTCORE_DISABLE_KEYCHAIN === '1')
|
|
149
|
+
return null;
|
|
150
|
+
try {
|
|
151
|
+
const { Entry } = (await Promise.resolve().then(() => __importStar(require('@napi-rs/keyring'))));
|
|
152
|
+
const existing = new Entry(KEYCHAIN_SERVICE, KEYCHAIN_ACCOUNT).getPassword();
|
|
153
|
+
return existing ? Buffer.from(existing, 'base64') : null;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Resolve the single key used to ENCRYPT new values: keychain first, keyfile
|
|
161
|
+
* fallback. Creates a key if none exists yet.
|
|
162
|
+
*/
|
|
163
|
+
async function resolveEncryptionKey() {
|
|
164
|
+
if (cachedKey)
|
|
165
|
+
return cachedKey;
|
|
166
|
+
const fromKeychain = await tryKeychainKey();
|
|
167
|
+
cachedKey = fromKeychain ?? keyfileKey();
|
|
168
|
+
return cachedKey;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Resolve ALL candidate keys for DECRYPTION, newest-intent first. A stored
|
|
172
|
+
* value may have been sealed by the keychain on one run and the keyfile on
|
|
173
|
+
* another (e.g. AGENTCORE_DISABLE_KEYCHAIN toggled); trying every available key
|
|
174
|
+
* lets a value decrypt regardless of which source is currently active. Read-only
|
|
175
|
+
* — never creates a key. May be empty if no key material exists at all.
|
|
176
|
+
*/
|
|
177
|
+
async function resolveCandidateKeys() {
|
|
178
|
+
const keys = [];
|
|
179
|
+
const fromKeychain = await readKeychainKeyIfPresent();
|
|
180
|
+
if (fromKeychain)
|
|
181
|
+
keys.push(fromKeychain);
|
|
182
|
+
const fromKeyfile = readKeyfileKeyIfPresent();
|
|
183
|
+
if (fromKeyfile && !keys.some(k => k.equals(fromKeyfile)))
|
|
184
|
+
keys.push(fromKeyfile);
|
|
185
|
+
return keys;
|
|
186
|
+
}
|
|
187
|
+
/** Reset the per-process key cache. Only for use in tests. */
|
|
188
|
+
function __resetKeyCacheForTests() {
|
|
189
|
+
cachedKey = null;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=key-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-provider.js","sourceRoot":"","sources":["../../../src/lib/secrets/key-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for "is this env value a secret that must be encrypted
|
|
3
|
+
* at rest." Used by env.ts on write/read; extend with one entry when a new
|
|
4
|
+
* secret-bearing credential field is introduced anywhere in the CLI.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SENSITIVE_KEY_PATTERNS: RegExp[];
|
|
7
|
+
export declare function isSensitiveKey(key: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Validate that an API-key credential NAME won't collide with a reserved
|
|
10
|
+
* reference suffix. A bare API-key credential is stored as
|
|
11
|
+
* `AGENTCORE_CREDENTIAL_<NAME>` carrying the secret value directly; if <NAME>
|
|
12
|
+
* normalizes to end in a reference suffix (e.g. `my-client-id` → `..._CLIENT_ID`)
|
|
13
|
+
* the value is indistinguishable from a non-secret reference and would be left
|
|
14
|
+
* UNENCRYPTED at rest. Reject such names at creation (fail closed).
|
|
15
|
+
*
|
|
16
|
+
* Returns `true` if the name is safe, or an error message string if not — the
|
|
17
|
+
* `(value) => true | string` contract used by both the CLI and the TUI's
|
|
18
|
+
* SecretInput/TextInput `customValidation`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateCredentialNameEncryptable(name: string): true | string;
|
|
21
|
+
//# sourceMappingURL=sensitive-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sensitive-keys.d.ts","sourceRoot":"","sources":["../../../src/lib/secrets/sensitive-keys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAAkD,CAAC;AAY9F,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAInD;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO7E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for "is this env value a secret that must be encrypted
|
|
4
|
+
* at rest." Used by env.ts on write/read; extend with one entry when a new
|
|
5
|
+
* secret-bearing credential field is introduced anywhere in the CLI.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SENSITIVE_KEY_PATTERNS = void 0;
|
|
9
|
+
exports.isSensitiveKey = isSensitiveKey;
|
|
10
|
+
exports.validateCredentialNameEncryptable = validateCredentialNameEncryptable;
|
|
11
|
+
/** Suffixes whose values are secrets. */
|
|
12
|
+
const SECRET_SUFFIXES = [
|
|
13
|
+
'_API_KEY_SECRET',
|
|
14
|
+
'_WALLET_SECRET',
|
|
15
|
+
'_AUTHORIZATION_PRIVATE_KEY',
|
|
16
|
+
'_APP_SECRET',
|
|
17
|
+
'_CLIENT_SECRET',
|
|
18
|
+
'_API_KEY',
|
|
19
|
+
];
|
|
20
|
+
/** Reference/identifier suffixes that are NOT secrets (stay readable). */
|
|
21
|
+
const REFERENCE_SUFFIXES = ['_API_KEY_ID', '_APP_ID', '_CLIENT_ID', '_AUTHORIZATION_ID'];
|
|
22
|
+
exports.SENSITIVE_KEY_PATTERNS = SECRET_SUFFIXES.map(s => new RegExp(`${s}$`));
|
|
23
|
+
/**
|
|
24
|
+
* Model-provider API keys are stored as the bare `AGENTCORE_CREDENTIAL_<NAME>`
|
|
25
|
+
* (no secret suffix). Treat such a credential var as a secret UNLESS it ends in
|
|
26
|
+
* a known reference suffix.
|
|
27
|
+
*/
|
|
28
|
+
function isBareModelCredential(key) {
|
|
29
|
+
if (!key.startsWith('AGENTCORE_CREDENTIAL_'))
|
|
30
|
+
return false;
|
|
31
|
+
return !REFERENCE_SUFFIXES.some(suffix => key.endsWith(suffix));
|
|
32
|
+
}
|
|
33
|
+
function isSensitiveKey(key) {
|
|
34
|
+
if (REFERENCE_SUFFIXES.some(suffix => key.endsWith(suffix)))
|
|
35
|
+
return false;
|
|
36
|
+
if (exports.SENSITIVE_KEY_PATTERNS.some(re => re.test(key)))
|
|
37
|
+
return true;
|
|
38
|
+
return isBareModelCredential(key);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Normalize a credential name into its env-var-suffix form (matches
|
|
42
|
+
* computeDefaultCredentialEnvVarName: hyphens → underscores, uppercased).
|
|
43
|
+
*/
|
|
44
|
+
function normalizeCredentialNameToKey(name) {
|
|
45
|
+
return name.replace(/-/g, '_').toUpperCase();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Validate that an API-key credential NAME won't collide with a reserved
|
|
49
|
+
* reference suffix. A bare API-key credential is stored as
|
|
50
|
+
* `AGENTCORE_CREDENTIAL_<NAME>` carrying the secret value directly; if <NAME>
|
|
51
|
+
* normalizes to end in a reference suffix (e.g. `my-client-id` → `..._CLIENT_ID`)
|
|
52
|
+
* the value is indistinguishable from a non-secret reference and would be left
|
|
53
|
+
* UNENCRYPTED at rest. Reject such names at creation (fail closed).
|
|
54
|
+
*
|
|
55
|
+
* Returns `true` if the name is safe, or an error message string if not — the
|
|
56
|
+
* `(value) => true | string` contract used by both the CLI and the TUI's
|
|
57
|
+
* SecretInput/TextInput `customValidation`.
|
|
58
|
+
*/
|
|
59
|
+
function validateCredentialNameEncryptable(name) {
|
|
60
|
+
const normalized = normalizeCredentialNameToKey(name);
|
|
61
|
+
const collision = REFERENCE_SUFFIXES.find(suffix => normalized.endsWith(suffix));
|
|
62
|
+
if (collision) {
|
|
63
|
+
return `Credential name "${name}" ends in a reserved reference suffix (${collision}) and its secret would not be encrypted at rest. Choose a name that does not end in id/client-id/app-id/authorization-id.`;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=sensitive-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sensitive-keys.js","sourceRoot":"","sources":["../../../src/lib/secrets/sensitive-keys.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA2BH,wCAIC;AAsBD,8EAOC;AA1DD,yCAAyC;AACzC,MAAM,eAAe,GAAG;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,4BAA4B;IAC5B,aAAa;IACb,gBAAgB;IAChB,UAAU;CACX,CAAC;AAEF,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAE5E,QAAA,sBAAsB,GAAa,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9F;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,GAAW;IACxC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,8BAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CAAC,IAAY;IAChD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iCAAiC,CAAC,IAAY;IAC5D,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,oBAAoB,IAAI,0CAA0C,SAAS,2HAA2H,CAAC;IAChN,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/lib/utils/env.d.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare function getEnvPath(configRoot?: string): string;
|
|
6
6
|
/**
|
|
7
|
-
* Read agentcore/.env.local.
|
|
7
|
+
* Read agentcore/.env.local. Sensitive values stored as `enc:v1:` envelopes are
|
|
8
|
+
* decrypted transparently; legacy plaintext values are returned as-is.
|
|
8
9
|
*/
|
|
9
10
|
export declare function readEnvFile(configRoot?: string): Promise<Record<string, string>>;
|
|
10
11
|
/**
|
|
@@ -12,7 +13,8 @@ export declare function readEnvFile(configRoot?: string): Promise<Record<string,
|
|
|
12
13
|
*/
|
|
13
14
|
export declare function getEnvVar(key: string, configRoot?: string): Promise<string | undefined>;
|
|
14
15
|
/**
|
|
15
|
-
* Write to agentcore/.env.local. Merges with existing values by default
|
|
16
|
+
* Write to agentcore/.env.local. Merges with existing values by default and
|
|
17
|
+
* encrypts sensitive values at rest.
|
|
16
18
|
*/
|
|
17
19
|
export declare function writeEnvFile(updates: Record<string, string>, configRoot?: string, merge?: boolean): Promise<void>;
|
|
18
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/env.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD;AAeD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CActF;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7F;AAmBD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpH;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF"}
|