@aws/agentcore 1.0.0-preview.2 → 1.0.0-preview.21
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 +193 -33
- package/dist/agent-inspector/index.css +1 -1
- package/dist/agent-inspector/index.js +99 -84
- package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +3132 -366
- package/dist/assets/__tests__/__snapshots__/dockerfile-render.test.ts.snap +6 -2
- package/dist/assets/__tests__/assets.snapshot.test.ts +10 -24
- package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
- package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
- package/dist/assets/agents/AGENTS.md +87 -11
- package/dist/assets/cdk/bin/cdk.ts +87 -26
- package/dist/assets/cdk/lib/cdk-stack.ts +185 -55
- package/dist/assets/cdk/package.json +1 -1
- package/dist/assets/cdk/test/cdk.test.ts +4 -0
- package/dist/assets/container/python/Dockerfile +7 -1
- package/dist/assets/container/typescript/Dockerfile +25 -0
- package/dist/assets/container/typescript/dockerignore.template +24 -0
- package/dist/assets/datasets/predefined-v1.jsonl +3 -0
- package/dist/assets/datasets/simulated-v1.jsonl +3 -0
- package/dist/assets/python/a2a/googleadk/base/main.py +24 -16
- package/dist/assets/python/a2a/googleadk/base/pyproject.toml +3 -3
- package/dist/assets/python/a2a/langchain_langgraph/base/main.py +24 -16
- package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +3 -2
- package/dist/assets/python/a2a/strands/base/main.py +23 -17
- package/dist/assets/python/a2a/strands/base/pyproject.toml +2 -2
- package/dist/assets/python/a2a/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/agui/googleadk/base/main.py +62 -2
- package/dist/assets/python/agui/googleadk/base/pyproject.toml +3 -3
- package/dist/assets/python/agui/langchain_langgraph/base/main.py +56 -0
- package/dist/assets/python/agui/langchain_langgraph/base/pyproject.toml +2 -1
- package/dist/assets/python/agui/strands/base/main.py +63 -1
- package/dist/assets/python/agui/strands/base/pyproject.toml +1 -1
- package/dist/assets/python/agui/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/http/autogen/base/main.py +60 -29
- package/dist/assets/python/http/autogen/base/pyproject.toml +1 -1
- package/dist/assets/python/http/googleadk/base/main.py +69 -24
- package/dist/assets/python/http/googleadk/base/mcp_client/client.py +7 -7
- package/dist/assets/python/http/googleadk/base/pyproject.toml +2 -1
- package/dist/assets/python/http/langchain_langgraph/base/main.py +115 -24
- package/dist/assets/python/http/langchain_langgraph/base/mcp_client/client.py +10 -8
- package/dist/assets/python/http/langchain_langgraph/base/pyproject.toml +3 -2
- package/dist/assets/python/http/openaiagents/base/main.py +61 -32
- package/dist/assets/python/http/openaiagents/base/mcp_client/client.py +4 -4
- package/dist/assets/python/http/openaiagents/base/pyproject.toml +2 -2
- package/dist/assets/python/http/strands/base/main.py +571 -47
- package/dist/assets/python/http/strands/base/mcp_client/client.py +49 -6
- package/dist/assets/python/http/strands/base/model/load.py +119 -3
- package/dist/assets/python/http/strands/base/model/mantle_compat.py +21 -0
- package/dist/assets/python/http/strands/base/pyproject.toml +9 -3
- package/dist/assets/python/http/strands/base/skills/fetcher.py +279 -0
- package/dist/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
- package/dist/assets/python/http/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
- package/dist/assets/python/http/strands/capabilities/payments/payments.py +142 -0
- package/dist/assets/python/mcp/standalone/base/main.py +58 -0
- package/dist/assets/typescript/http/strands/base/README.md +37 -0
- package/dist/assets/typescript/http/strands/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/strands/base/main.ts +144 -0
- package/dist/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
- package/dist/assets/typescript/http/strands/base/model/load.ts +102 -0
- package/dist/assets/typescript/http/strands/base/package.json +38 -0
- package/dist/assets/typescript/http/strands/base/tsconfig.json +19 -0
- package/dist/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
- package/dist/assets/typescript/http/vercelai/base/README.md +37 -0
- package/dist/assets/typescript/http/vercelai/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/vercelai/base/main.ts +64 -0
- package/dist/assets/typescript/http/vercelai/base/model/load.ts +121 -0
- package/dist/assets/typescript/http/vercelai/base/package.json +35 -0
- package/dist/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
- package/dist/cli/index.mjs +1443 -569
- package/dist/lib/constants.d.ts +8 -4
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +13 -7
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/errors/index.d.ts +1 -1
- package/dist/lib/errors/index.d.ts.map +1 -1
- package/dist/lib/errors/index.js +1 -1
- package/dist/lib/errors/index.js.map +1 -1
- package/dist/lib/errors/types.d.ts +259 -0
- package/dist/lib/errors/types.d.ts.map +1 -0
- package/dist/lib/errors/types.js +402 -0
- package/dist/lib/errors/types.js.map +1 -0
- package/dist/lib/errors/zod.d.ts +8 -0
- package/dist/lib/errors/zod.d.ts.map +1 -0
- package/dist/lib/errors/{config.js → zod.js} +8 -81
- package/dist/lib/errors/zod.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/packaging/build-args.d.ts +6 -0
- package/dist/lib/packaging/build-args.d.ts.map +1 -1
- package/dist/lib/packaging/build-args.js +11 -2
- package/dist/lib/packaging/build-args.js.map +1 -1
- package/dist/lib/packaging/build-context-dockerignore.d.ts +23 -0
- package/dist/lib/packaging/build-context-dockerignore.d.ts.map +1 -0
- package/dist/lib/packaging/build-context-dockerignore.js +63 -0
- package/dist/lib/packaging/build-context-dockerignore.js.map +1 -0
- package/dist/lib/packaging/build-context.d.ts +21 -0
- package/dist/lib/packaging/build-context.d.ts.map +1 -0
- package/dist/lib/packaging/build-context.js +21 -0
- package/dist/lib/packaging/build-context.js.map +1 -0
- package/dist/lib/packaging/container.d.ts.map +1 -1
- package/dist/lib/packaging/container.js +20 -9
- package/dist/lib/packaging/container.js.map +1 -1
- package/dist/lib/packaging/helpers.d.ts +16 -0
- package/dist/lib/packaging/helpers.d.ts.map +1 -1
- package/dist/lib/packaging/helpers.js +127 -29
- package/dist/lib/packaging/helpers.js.map +1 -1
- package/dist/lib/packaging/index.d.ts +2 -1
- package/dist/lib/packaging/index.d.ts.map +1 -1
- package/dist/lib/packaging/index.js +9 -20
- package/dist/lib/packaging/index.js.map +1 -1
- package/dist/lib/packaging/node.d.ts +2 -2
- package/dist/lib/packaging/node.d.ts.map +1 -1
- package/dist/lib/packaging/node.js +83 -38
- package/dist/lib/packaging/node.js.map +1 -1
- package/dist/lib/packaging/python.js +12 -12
- package/dist/lib/packaging/python.js.map +1 -1
- package/dist/lib/result.d.ts +50 -0
- package/dist/lib/result.d.ts.map +1 -0
- package/dist/lib/result.js +49 -0
- package/dist/lib/result.js.map +1 -0
- package/dist/lib/schemas/io/config-io.d.ts +8 -0
- package/dist/lib/schemas/io/config-io.d.ts.map +1 -1
- package/dist/lib/schemas/io/config-io.js +21 -3
- package/dist/lib/schemas/io/config-io.js.map +1 -1
- package/dist/lib/schemas/io/global-config.d.ts +40 -0
- package/dist/lib/schemas/io/global-config.d.ts.map +1 -0
- package/dist/lib/schemas/io/global-config.js +118 -0
- package/dist/lib/schemas/io/global-config.js.map +1 -0
- package/dist/lib/schemas/io/index.d.ts +1 -2
- package/dist/lib/schemas/io/index.d.ts.map +1 -1
- package/dist/lib/schemas/io/index.js +1 -4
- package/dist/lib/schemas/io/index.js.map +1 -1
- package/dist/lib/schemas/io/path-resolver.d.ts +0 -6
- package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -1
- package/dist/lib/schemas/io/path-resolver.js +3 -13
- package/dist/lib/schemas/io/path-resolver.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/time-constants.d.ts +5 -0
- package/dist/lib/time-constants.d.ts.map +1 -0
- package/dist/lib/time-constants.js +8 -0
- package/dist/lib/time-constants.js.map +1 -0
- package/dist/lib/utils/env.d.ts +8 -2
- package/dist/lib/utils/env.d.ts.map +1 -1
- package/dist/lib/utils/env.js +65 -17
- package/dist/lib/utils/env.js.map +1 -1
- package/dist/lib/utils/index.d.ts +3 -2
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +6 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/polling.d.ts +31 -0
- package/dist/lib/utils/polling.d.ts.map +1 -0
- package/dist/lib/utils/polling.js +61 -0
- package/dist/lib/utils/polling.js.map +1 -0
- package/dist/lib/utils/zod.d.ts +16 -0
- package/dist/lib/utils/zod.d.ts.map +1 -1
- package/dist/lib/utils/zod.js +45 -0
- package/dist/lib/utils/zod.js.map +1 -1
- package/dist/schema/constants.d.ts +56 -2
- package/dist/schema/constants.d.ts.map +1 -1
- package/dist/schema/constants.js +82 -7
- package/dist/schema/constants.js.map +1 -1
- package/dist/schema/schemas/agent-env.d.ts +178 -6
- package/dist/schema/schemas/agent-env.d.ts.map +1 -1
- package/dist/schema/schemas/agent-env.js +302 -27
- package/dist/schema/schemas/agent-env.js.map +1 -1
- package/dist/schema/schemas/agentcore-project.d.ts +450 -11
- package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
- package/dist/schema/schemas/agentcore-project.js +283 -18
- package/dist/schema/schemas/agentcore-project.js.map +1 -1
- package/dist/schema/schemas/auth.d.ts +174 -0
- package/dist/schema/schemas/auth.d.ts.map +1 -1
- package/dist/schema/schemas/auth.js +127 -3
- package/dist/schema/schemas/auth.js.map +1 -1
- package/dist/schema/schemas/aws-targets.d.ts +12 -0
- package/dist/schema/schemas/aws-targets.d.ts.map +1 -1
- package/dist/schema/schemas/aws-targets.js +4 -0
- package/dist/schema/schemas/aws-targets.js.map +1 -1
- package/dist/schema/schemas/connections.d.ts +185 -0
- package/dist/schema/schemas/connections.d.ts.map +1 -0
- package/dist/schema/schemas/connections.js +176 -0
- package/dist/schema/schemas/connections.js.map +1 -0
- package/dist/schema/schemas/deployed-state.d.ts +361 -5
- package/dist/schema/schemas/deployed-state.d.ts.map +1 -1
- package/dist/schema/schemas/deployed-state.js +105 -2
- package/dist/schema/schemas/deployed-state.js.map +1 -1
- package/dist/schema/schemas/index.d.ts +1 -0
- package/dist/schema/schemas/index.d.ts.map +1 -1
- package/dist/schema/schemas/index.js +1 -0
- package/dist/schema/schemas/index.js.map +1 -1
- package/dist/schema/schemas/mcp-defs.d.ts +2 -1
- package/dist/schema/schemas/mcp-defs.d.ts.map +1 -1
- package/dist/schema/schemas/mcp-defs.js +3 -2
- package/dist/schema/schemas/mcp-defs.js.map +1 -1
- package/dist/schema/schemas/mcp.d.ts +199 -0
- package/dist/schema/schemas/mcp.d.ts.map +1 -1
- package/dist/schema/schemas/mcp.js +343 -6
- package/dist/schema/schemas/mcp.js.map +1 -1
- package/dist/schema/schemas/primitives/ab-test.d.ts +135 -0
- package/dist/schema/schemas/primitives/ab-test.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/ab-test.js +95 -0
- package/dist/schema/schemas/primitives/ab-test.js.map +1 -0
- package/dist/schema/schemas/primitives/config-bundle.d.ts +32 -0
- package/dist/schema/schemas/primitives/config-bundle.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/config-bundle.js +41 -0
- package/dist/schema/schemas/primitives/config-bundle.js.map +1 -0
- package/dist/schema/schemas/primitives/dataset.d.ts +48 -0
- package/dist/schema/schemas/primitives/dataset.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/dataset.js +58 -0
- package/dist/schema/schemas/primitives/dataset.js.map +1 -0
- package/dist/schema/schemas/primitives/evaluator.d.ts +8 -0
- package/dist/schema/schemas/primitives/evaluator.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/evaluator.js +17 -1
- package/dist/schema/schemas/primitives/evaluator.js.map +1 -1
- package/dist/schema/schemas/primitives/harness.d.ts +377 -19
- package/dist/schema/schemas/primitives/harness.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/harness.js +379 -24
- package/dist/schema/schemas/primitives/harness.js.map +1 -1
- package/dist/schema/schemas/primitives/index.d.ts +13 -7
- package/dist/schema/schemas/primitives/index.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/index.js +37 -1
- package/dist/schema/schemas/primitives/index.js.map +1 -1
- package/dist/schema/schemas/primitives/knowledge-base.d.ts +104 -0
- package/dist/schema/schemas/primitives/knowledge-base.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/knowledge-base.js +99 -0
- package/dist/schema/schemas/primitives/knowledge-base.js.map +1 -0
- package/dist/schema/schemas/primitives/memory.d.ts +22 -4
- package/dist/schema/schemas/primitives/memory.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/memory.js +57 -16
- package/dist/schema/schemas/primitives/memory.js.map +1 -1
- package/dist/schema/schemas/primitives/online-eval-config.d.ts +21 -2
- package/dist/schema/schemas/primitives/online-eval-config.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/online-eval-config.js +45 -5
- package/dist/schema/schemas/primitives/online-eval-config.js.map +1 -1
- package/dist/schema/schemas/primitives/payment.d.ts +54 -0
- package/dist/schema/schemas/primitives/payment.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/payment.js +79 -0
- package/dist/schema/schemas/primitives/payment.js.map +1 -0
- package/dist/schema/schemas/primitives/policy.d.ts +26 -0
- package/dist/schema/schemas/primitives/policy.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/policy.js +5 -1
- package/dist/schema/schemas/primitives/policy.js.map +1 -1
- package/npm-shrinkwrap.json +17013 -0
- package/package.json +43 -21
- package/scripts/bump-version.ts +4 -4
- package/scripts/bundle.mjs +70 -41
- package/scripts/extract-cli-model.mjs +228 -0
- package/scripts/render_adoc.py +274 -0
- package/scripts/run-e2e-dev.sh +56 -0
- package/scripts/run-e2e-local.sh +145 -0
- package/dist/lib/errors/config.d.ts +0 -49
- package/dist/lib/errors/config.d.ts.map +0 -1
- package/dist/lib/errors/config.js.map +0 -1
- package/dist/lib/packaging/errors.d.ts +0 -16
- package/dist/lib/packaging/errors.d.ts.map +0 -1
- package/dist/lib/packaging/errors.js +0 -36
- package/dist/lib/packaging/errors.js.map +0 -1
- package/dist/lib/schemas/io/cli-config.d.ts +0 -12
- package/dist/lib/schemas/io/cli-config.d.ts.map +0 -1
- package/dist/lib/schemas/io/cli-config.js +0 -35
- package/dist/lib/schemas/io/cli-config.js.map +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentEnvSpecSchema = exports.LifecycleConfigurationSchema = exports.LIFECYCLE_TIMEOUT_MAX = exports.LIFECYCLE_TIMEOUT_MIN = exports.FilesystemConfigurationSchema = exports.SessionStorageSchema = exports.RequestHeaderAllowlistSchema = exports.MAX_HEADER_ALLOWLIST_SIZE = exports.HEADER_ALLOWLIST_PREFIX = exports.NetworkConfigSchema = exports.InstrumentationSchema = exports.EnvVarSchema = exports.EntrypointSchema = exports.BuildTypeSchema = exports.AgentTypeSchema = exports.AccessSchema = exports.GatewayNameSchema = exports.EnvVarNameSchema = exports.AgentNameSchema = void 0;
|
|
3
|
+
exports.AgentEnvSpecSchema = exports.RuntimeEndpointSchema = exports.RuntimeEndpointNameSchema = exports.LifecycleConfigurationSchema = exports.LIFECYCLE_TIMEOUT_MAX = exports.LIFECYCLE_TIMEOUT_MIN = exports.FilesystemConfigurationSchema = exports.MAX_S3_MOUNTS = exports.MAX_EFS_MOUNTS = exports.S3FilesAccessPointConfigSchema = exports.EfsAccessPointConfigSchema = exports.S3_FILES_ACCESS_POINT_ARN_PATTERN = exports.EFS_ACCESS_POINT_ARN_PATTERN = exports.SessionStorageSchema = exports.RequestHeaderAllowlistSchema = exports.MAX_HEADER_ALLOWLIST_SIZE = exports.HEADER_NAME_PATTERN = exports.HEADER_ALLOWLIST_PREFIX = exports.NetworkConfigSchema = exports.InstrumentationSchema = exports.EnvVarSchema = exports.RESERVED_BUILD_ARG_KEYS = exports.EntrypointSchema = exports.BuildTypeSchema = exports.AgentTypeSchema = exports.AccessSchema = exports.GatewayNameSchema = exports.EnvVarNameSchema = exports.AgentNameSchema = void 0;
|
|
4
|
+
exports.isValidDockerfilePath = isValidDockerfilePath;
|
|
5
|
+
exports.isReservedBuildArgKey = isReservedBuildArgKey;
|
|
6
|
+
exports.checkAllowlistHeader = checkAllowlistHeader;
|
|
4
7
|
/**
|
|
5
8
|
* Agent Schema v2 - Clean, simplified model
|
|
6
9
|
*
|
|
@@ -8,6 +11,7 @@ exports.AgentEnvSpecSchema = exports.LifecycleConfigurationSchema = exports.LIFE
|
|
|
8
11
|
*/
|
|
9
12
|
const constants_1 = require("../constants");
|
|
10
13
|
const auth_1 = require("./auth");
|
|
14
|
+
const connections_1 = require("./connections");
|
|
11
15
|
const tags_1 = require("./primitives/tags");
|
|
12
16
|
const zod_1 = require("zod");
|
|
13
17
|
// ============================================================================
|
|
@@ -56,6 +60,78 @@ exports.EntrypointSchema = zod_1.z
|
|
|
56
60
|
// eslint-disable-next-line security/detect-unsafe-regex -- character class quantifiers don't cause backtracking
|
|
57
61
|
/^[a-zA-Z0-9_][a-zA-Z0-9_/.-]*\.(py|ts|js)(:[a-zA-Z_][a-zA-Z0-9_]*)?$/, 'Must be a Python (.py) or TypeScript (.ts/.js) file path with optional handler (e.g., "main.py:handler" or "index.ts")');
|
|
58
62
|
const DirectoryPathSchema = zod_1.z.string().min(1);
|
|
63
|
+
// Char-safe set only (no backslash, spaces, or shell metacharacters): on deploy the buildspec
|
|
64
|
+
// interpolates this unquoted as `docker build -f $DOCKERFILE_PATH`. A leading '.' is allowed so
|
|
65
|
+
// conventional paths like '.docker/Dockerfile' pass.
|
|
66
|
+
const DOCKERFILE_PATH_ALLOWED_CHARS = /^[A-Za-z0-9._/-]+$/;
|
|
67
|
+
/**
|
|
68
|
+
* True when `p` is a safe relative Dockerfile path within the build context: allowed chars only, no
|
|
69
|
+
* leading slash (absolute), and no empty ('' from a leading/trailing/double slash) or '..' segments.
|
|
70
|
+
*
|
|
71
|
+
* The single source of truth shared by `DockerfilePathSchema` (config-validation time) and the runtime
|
|
72
|
+
* `getDockerfilePath` guard, so the two can never diverge — e.g. one accepting '.docker/Dockerfile'
|
|
73
|
+
* while the other rejects it, or one accepting a trailing-slash directory value like 'docker/'.
|
|
74
|
+
*/
|
|
75
|
+
function isValidDockerfilePath(p) {
|
|
76
|
+
if (!DOCKERFILE_PATH_ALLOWED_CHARS.test(p))
|
|
77
|
+
return false;
|
|
78
|
+
if (p.startsWith('/'))
|
|
79
|
+
return false;
|
|
80
|
+
return !p.split('/').some(segment => segment === '' || segment === '..');
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Dockerfile location for Container builds, resolved relative to the Docker build context
|
|
84
|
+
* (`buildContextPath` when set, otherwise `codeLocation`). Accepts a filename ('Dockerfile',
|
|
85
|
+
* 'Dockerfile.gpu') or a forward-slash relative subpath ('docker/Dockerfile'). Absolute paths,
|
|
86
|
+
* trailing/double slashes, and '..' traversal are rejected so the Dockerfile can never escape or
|
|
87
|
+
* name the build context directory itself.
|
|
88
|
+
*/
|
|
89
|
+
const DockerfilePathSchema = zod_1.z
|
|
90
|
+
.string()
|
|
91
|
+
.min(1)
|
|
92
|
+
.max(255)
|
|
93
|
+
.refine(isValidDockerfilePath, 'Must be a relative path within the build context: a filename or forward-slash subpath using only letters, digits, dot, dash, underscore, and slash; no leading slash, no ".." traversal, and no empty segments (no trailing or double slash)');
|
|
94
|
+
/**
|
|
95
|
+
* Build-arg names reserved by the CodeBuild build environment. On deploy each build arg becomes a
|
|
96
|
+
* CodeBuild environment-variable override alongside the buildspec's own control vars, so a colliding
|
|
97
|
+
* name would break the deploy build — a wrong image tag / ECR region, a rejected StartBuild, or a
|
|
98
|
+
* clobbered build-container shell. We reject the buildspec control vars, the process-critical shell
|
|
99
|
+
* vars, and CodeBuild's own `AWS_*` / `CODEBUILD_*` namespaces. This is a best-effort denylist (the
|
|
100
|
+
* shell has other sensitive vars), but it covers the realistic footguns and keeps a config that
|
|
101
|
+
* builds locally from failing only on deploy.
|
|
102
|
+
*/
|
|
103
|
+
exports.RESERVED_BUILD_ARG_KEYS = [
|
|
104
|
+
// Buildspec control vars (mirrored in @aws/agentcore-cdk's ContainerBuildProject / build handler).
|
|
105
|
+
'ECR_REGISTRY',
|
|
106
|
+
'IMAGE_URI',
|
|
107
|
+
'DOCKERFILE_PATH',
|
|
108
|
+
'BUILD_ARG_FLAGS',
|
|
109
|
+
// Overriding these in the build shell would break the buildspec's own commands (command lookup,
|
|
110
|
+
// word-splitting, dynamic linking) or redirect the docker client off the build daemon. Kept
|
|
111
|
+
// deliberately narrow to the genuinely-dangerous names so common ARGs (e.g. USER, LANG) stay usable.
|
|
112
|
+
'PATH',
|
|
113
|
+
'HOME',
|
|
114
|
+
'IFS',
|
|
115
|
+
'LD_PRELOAD',
|
|
116
|
+
'LD_LIBRARY_PATH',
|
|
117
|
+
'DOCKER_HOST',
|
|
118
|
+
'DOCKER_CONFIG',
|
|
119
|
+
'DOCKER_TLS_VERIFY',
|
|
120
|
+
'DOCKER_CERT_PATH',
|
|
121
|
+
];
|
|
122
|
+
function isReservedBuildArgKey(key) {
|
|
123
|
+
return exports.RESERVED_BUILD_ARG_KEYS.includes(key) || key.startsWith('CODEBUILD_') || key.startsWith('AWS_');
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Build-arg value. Bounded and control-char-free because on deploy each value becomes a CodeBuild
|
|
127
|
+
* `environmentVariablesOverride` PLAINTEXT entry; newlines/control chars or an over-long value can be
|
|
128
|
+
* rejected by StartBuild, so we reject them at schema time rather than let a local-only-valid config
|
|
129
|
+
* fail on deploy.
|
|
130
|
+
*/
|
|
131
|
+
const BuildArgValueSchema = zod_1.z
|
|
132
|
+
.string()
|
|
133
|
+
.max(4096, 'Build arg values must be at most 4096 characters')
|
|
134
|
+
.refine(v => ![...v].some(ch => ch.charCodeAt(0) < 0x20 || ch.charCodeAt(0) === 0x7f), 'Build arg values must not contain control characters (including newlines)');
|
|
59
135
|
exports.EnvVarSchema = zod_1.z.object({
|
|
60
136
|
name: exports.EnvVarNameSchema,
|
|
61
137
|
value: zod_1.z.string(),
|
|
@@ -76,26 +152,54 @@ exports.InstrumentationSchema = zod_1.z.object({
|
|
|
76
152
|
* Required when networkMode is 'VPC'.
|
|
77
153
|
*/
|
|
78
154
|
exports.NetworkConfigSchema = zod_1.z.object({
|
|
79
|
-
subnets: zod_1.z
|
|
80
|
-
.array(zod_1.z.string().regex(/^subnet-[0-9a-zA-Z]{8,17}$/))
|
|
81
|
-
.min(1)
|
|
82
|
-
.max(16),
|
|
155
|
+
subnets: zod_1.z.array(zod_1.z.string().regex(constants_1.SUBNET_ID_PATTERN, 'Must be a subnet id (subnet-...)')).min(1).max(16),
|
|
83
156
|
securityGroups: zod_1.z
|
|
84
|
-
.array(zod_1.z.string().regex(
|
|
157
|
+
.array(zod_1.z.string().regex(constants_1.SECURITY_GROUP_ID_PATTERN, 'Must be a security group id (sg-...)'))
|
|
85
158
|
.min(1)
|
|
86
159
|
.max(16),
|
|
160
|
+
/**
|
|
161
|
+
* VPC ID. Required for Container builds in VPC mode because CodeBuild needs an explicit VPC ID;
|
|
162
|
+
* it cannot infer the VPC from subnets alone. Runtime/Lambda builds can omit this.
|
|
163
|
+
*/
|
|
164
|
+
vpcId: zod_1.z.string().regex(constants_1.VPC_ID_PATTERN, 'Must be a VPC id (vpc-...)').optional(),
|
|
87
165
|
});
|
|
88
166
|
/**
|
|
89
167
|
* Allowed request headers for the runtime.
|
|
90
|
-
*
|
|
168
|
+
* Per https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-header-allowlist.html
|
|
169
|
+
* any valid HTTP header name (alphanumeric, hyphens, underscores) may be allow-listed,
|
|
170
|
+
* provided it is not structurally reserved (x-amz-*, x-amzn-* except Runtime-Custom-*).
|
|
91
171
|
* Maximum 20 headers.
|
|
92
172
|
*/
|
|
93
173
|
exports.HEADER_ALLOWLIST_PREFIX = 'X-Amzn-Bedrock-AgentCore-Runtime-Custom-';
|
|
174
|
+
exports.HEADER_NAME_PATTERN = /^[A-Za-z0-9\-_]+$/;
|
|
94
175
|
exports.MAX_HEADER_ALLOWLIST_SIZE = 20;
|
|
176
|
+
/**
|
|
177
|
+
* Validate a single allowlist header name. Returns null if valid, or a specific
|
|
178
|
+
* error message describing which rule the input violated.
|
|
179
|
+
*
|
|
180
|
+
* Note: 'x-amz-' and 'x-amzn-' are disjoint prefixes (position 5 differs: '-' vs 'n'),
|
|
181
|
+
* so the two checks below are independent.
|
|
182
|
+
*/
|
|
183
|
+
function checkAllowlistHeader(val) {
|
|
184
|
+
if (!exports.HEADER_NAME_PATTERN.test(val)) {
|
|
185
|
+
return `Header name "${val}" must contain only alphanumeric characters, hyphens, and underscores.`;
|
|
186
|
+
}
|
|
187
|
+
const lower = val.toLowerCase();
|
|
188
|
+
if (lower.startsWith('x-amz-')) {
|
|
189
|
+
return `Header "${val}" is not allowed. Headers starting with "x-amz-" are reserved for AWS request signing.`;
|
|
190
|
+
}
|
|
191
|
+
if (lower.startsWith('x-amzn-') && !lower.startsWith('x-amzn-bedrock-agentcore-runtime-custom-')) {
|
|
192
|
+
return `Header "${val}" is not allowed. Headers starting with "x-amzn-" are reserved, except for "X-Amzn-Bedrock-AgentCore-Runtime-Custom-*".`;
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
95
196
|
exports.RequestHeaderAllowlistSchema = zod_1.z
|
|
96
|
-
.array(zod_1.z
|
|
97
|
-
|
|
98
|
-
|
|
197
|
+
.array(zod_1.z.string().superRefine((val, ctx) => {
|
|
198
|
+
const error = checkAllowlistHeader(val);
|
|
199
|
+
if (error) {
|
|
200
|
+
ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, message: error });
|
|
201
|
+
}
|
|
202
|
+
}))
|
|
99
203
|
.max(exports.MAX_HEADER_ALLOWLIST_SIZE, `Maximum ${exports.MAX_HEADER_ALLOWLIST_SIZE} headers allowed`);
|
|
100
204
|
/**
|
|
101
205
|
* Session storage configuration for filesystem persistence.
|
|
@@ -105,11 +209,55 @@ exports.SessionStorageSchema = zod_1.z.object({
|
|
|
105
209
|
/** Absolute mount path under /mnt with exactly one subdirectory level (e.g. /mnt/data). */
|
|
106
210
|
mountPath: zod_1.z
|
|
107
211
|
.string()
|
|
108
|
-
.
|
|
212
|
+
.min(6)
|
|
213
|
+
.max(200)
|
|
214
|
+
.regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/data)'),
|
|
215
|
+
});
|
|
216
|
+
exports.EFS_ACCESS_POINT_ARN_PATTERN = /^arn:aws[-a-z]*:elasticfilesystem:[a-z][a-z0-9-]*:[0-9]{12}:access-point\/fsap-[0-9a-f]{8,40}$/;
|
|
217
|
+
exports.S3_FILES_ACCESS_POINT_ARN_PATTERN = /^arn:aws[-a-z]*:s3files:[a-z][a-z0-9-]*:[0-9]{12}:file-system\/fs-[0-9a-f]{17,40}\/access-point\/fsap-[0-9a-f]{17,40}$/;
|
|
218
|
+
/** EFS access point mount configuration. Requires VPC network mode. */
|
|
219
|
+
exports.EfsAccessPointConfigSchema = zod_1.z.object({
|
|
220
|
+
/** ARN of an EFS access point. */
|
|
221
|
+
accessPointArn: zod_1.z
|
|
222
|
+
.string()
|
|
223
|
+
.regex(exports.EFS_ACCESS_POINT_ARN_PATTERN, 'Must be an EFS access point ARN (arn:aws[-a-z]*:elasticfilesystem:{region}:{account}:access-point/fsap-{id})'),
|
|
224
|
+
/** Absolute mount path under /mnt (e.g. /mnt/tools). */
|
|
225
|
+
mountPath: zod_1.z
|
|
226
|
+
.string()
|
|
227
|
+
.min(6)
|
|
228
|
+
.max(200)
|
|
229
|
+
.regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/tools)'),
|
|
109
230
|
});
|
|
110
|
-
|
|
111
|
-
|
|
231
|
+
/** S3 Files access point mount configuration. Requires VPC network mode. */
|
|
232
|
+
exports.S3FilesAccessPointConfigSchema = zod_1.z.object({
|
|
233
|
+
/** ARN of an S3 Files access point. */
|
|
234
|
+
accessPointArn: zod_1.z
|
|
235
|
+
.string()
|
|
236
|
+
.regex(exports.S3_FILES_ACCESS_POINT_ARN_PATTERN, 'Must be an S3 Files access point ARN (arn:aws[-a-z]*:s3files:{region}:{account}:file-system/fs-{id}/access-point/fsap-{id})'),
|
|
237
|
+
/** Absolute mount path under /mnt (e.g. /mnt/datasets). */
|
|
238
|
+
mountPath: zod_1.z
|
|
239
|
+
.string()
|
|
240
|
+
.min(6)
|
|
241
|
+
.max(200)
|
|
242
|
+
.regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/datasets)'),
|
|
112
243
|
});
|
|
244
|
+
/** Maximum number of EFS access point mounts per runtime. */
|
|
245
|
+
exports.MAX_EFS_MOUNTS = 2;
|
|
246
|
+
/** Maximum number of S3 Files access point mounts per runtime. */
|
|
247
|
+
exports.MAX_S3_MOUNTS = 2;
|
|
248
|
+
/**
|
|
249
|
+
* Filesystem configuration — union of three mount types.
|
|
250
|
+
* Exactly one key must be present per entry.
|
|
251
|
+
*
|
|
252
|
+
* Service limits per runtime: max 5 total, max 1 sessionStorage,
|
|
253
|
+
* max MAX_EFS_MOUNTS efsAccessPoint, max MAX_S3_MOUNTS s3FilesAccessPoint.
|
|
254
|
+
* efsAccessPoint and s3FilesAccessPoint require networkMode: VPC.
|
|
255
|
+
*/
|
|
256
|
+
exports.FilesystemConfigurationSchema = zod_1.z.union([
|
|
257
|
+
zod_1.z.strictObject({ sessionStorage: exports.SessionStorageSchema }),
|
|
258
|
+
zod_1.z.strictObject({ efsAccessPoint: exports.EfsAccessPointConfigSchema }),
|
|
259
|
+
zod_1.z.strictObject({ s3FilesAccessPoint: exports.S3FilesAccessPointConfigSchema }),
|
|
260
|
+
]);
|
|
113
261
|
/** Minimum allowed value for lifecycle timeout fields (seconds). */
|
|
114
262
|
exports.LIFECYCLE_TIMEOUT_MIN = 60;
|
|
115
263
|
/** Maximum allowed value for lifecycle timeout fields (seconds). */
|
|
@@ -136,6 +284,23 @@ exports.LifecycleConfigurationSchema = zod_1.z
|
|
|
136
284
|
}
|
|
137
285
|
}
|
|
138
286
|
});
|
|
287
|
+
// ============================================================================
|
|
288
|
+
// Runtime Endpoint Schema
|
|
289
|
+
// ============================================================================
|
|
290
|
+
/**
|
|
291
|
+
* Endpoint name follows the AgentCore API regex for endpoint aliases.
|
|
292
|
+
*/
|
|
293
|
+
exports.RuntimeEndpointNameSchema = zod_1.z
|
|
294
|
+
.string()
|
|
295
|
+
.min(1, 'Endpoint name is required')
|
|
296
|
+
.max(48)
|
|
297
|
+
.regex(/^[a-zA-Z][a-zA-Z0-9_]{0,47}$/, 'Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)');
|
|
298
|
+
exports.RuntimeEndpointSchema = zod_1.z.object({
|
|
299
|
+
/** Version number this endpoint points to. Must be >= 1. */
|
|
300
|
+
version: zod_1.z.number().int().min(1),
|
|
301
|
+
/** Optional human-readable description of this endpoint. */
|
|
302
|
+
description: zod_1.z.string().max(200).optional(),
|
|
303
|
+
});
|
|
139
304
|
/**
|
|
140
305
|
* AgentEnvSpec - represents an AgentCore Runtime.
|
|
141
306
|
* This is a top-level resource in the schema.
|
|
@@ -148,13 +313,29 @@ exports.AgentEnvSpecSchema = zod_1.z
|
|
|
148
313
|
build: exports.BuildTypeSchema,
|
|
149
314
|
entrypoint: exports.EntrypointSchema,
|
|
150
315
|
codeLocation: DirectoryPathSchema,
|
|
151
|
-
/**
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
316
|
+
/**
|
|
317
|
+
* Dockerfile for Container builds, resolved relative to the build context (`buildContextPath`
|
|
318
|
+
* when set, otherwise `codeLocation`). A filename or a relative subpath; no traversal. Default: 'Dockerfile'.
|
|
319
|
+
*/
|
|
320
|
+
dockerfile: DockerfilePathSchema.optional(),
|
|
321
|
+
/**
|
|
322
|
+
* Docker build context directory for Container builds. When set, this directory (instead of
|
|
323
|
+
* `codeLocation`) is used as the `docker build` context and as the root the Dockerfile path is
|
|
324
|
+
* resolved against, so a single Dockerfile can be shared across multiple agents in a monorepo
|
|
325
|
+
* (e.g. so it can COPY files that live outside `codeLocation`). Container builds only.
|
|
326
|
+
*
|
|
327
|
+
* Like `codeLocation`, this is intentionally not containment-checked: the config author may point
|
|
328
|
+
* it at any directory (including a parent via `..` for a monorepo root). The unconditional
|
|
329
|
+
* secret-exclusion baseline on the deploy upload still applies to whatever directory is chosen.
|
|
330
|
+
*/
|
|
331
|
+
buildContextPath: DirectoryPathSchema.optional(),
|
|
332
|
+
/**
|
|
333
|
+
* Custom build arguments passed to `docker build` as `--build-arg` flags. Keys must be valid
|
|
334
|
+
* environment-variable names (each arg is forwarded to the build as an env var), reusing
|
|
335
|
+
* `EnvVarNameSchema`. Useful for parameterising a shared Dockerfile per agent
|
|
336
|
+
* (e.g. `{ "AGENT_NAME": "myagent" }`). Container builds only.
|
|
337
|
+
*/
|
|
338
|
+
customDockerBuildArgs: zod_1.z.record(exports.EnvVarNameSchema, BuildArgValueSchema).optional(),
|
|
158
339
|
runtimeVersion: constants_1.RuntimeVersionSchema.optional(),
|
|
159
340
|
/** Environment variables to set on the runtime */
|
|
160
341
|
envVars: zod_1.z.array(exports.EnvVarSchema).optional(),
|
|
@@ -170,6 +351,13 @@ exports.AgentEnvSpecSchema = zod_1.z
|
|
|
170
351
|
requestHeaderAllowlist: exports.RequestHeaderAllowlistSchema.optional(),
|
|
171
352
|
/** ARN of an existing IAM execution role to use instead of creating a new one. */
|
|
172
353
|
executionRoleArn: zod_1.z.string().optional(),
|
|
354
|
+
/**
|
|
355
|
+
* Additional IAM policies attached to the runtime execution role. Each entry is either a
|
|
356
|
+
* managed-policy ARN (attached directly) or a `.json` policy-document file path relative to
|
|
357
|
+
* `codeLocation` (attached as an inline policy). For opaque AWS access (e.g. S3) the CLI does
|
|
358
|
+
* not model as a typed connection.
|
|
359
|
+
*/
|
|
360
|
+
additionalPolicies: zod_1.z.array(zod_1.z.string().min(1)).optional(),
|
|
173
361
|
/** Authorizer type for inbound requests. Defaults to AWS_IAM. */
|
|
174
362
|
authorizerType: auth_1.RuntimeAuthorizerTypeSchema.optional(),
|
|
175
363
|
/** Authorizer configuration. Required when authorizerType is CUSTOM_JWT. */
|
|
@@ -179,6 +367,11 @@ exports.AgentEnvSpecSchema = zod_1.z
|
|
|
179
367
|
lifecycleConfiguration: exports.LifecycleConfigurationSchema.optional(),
|
|
180
368
|
/** Filesystem configurations for session-scoped persistent storage. */
|
|
181
369
|
filesystemConfigurations: zod_1.z.array(exports.FilesystemConfigurationSchema).optional(),
|
|
370
|
+
/** Named endpoints (version aliases) for this runtime. Keys are endpoint names. */
|
|
371
|
+
endpoints: zod_1.z.record(exports.RuntimeEndpointNameSchema, exports.RuntimeEndpointSchema).optional(),
|
|
372
|
+
/** Connections to external AgentCore resources (memory/gateway/runtime). The construct
|
|
373
|
+
* generates IAM + discovery env vars onto this runtime's execution role. */
|
|
374
|
+
connections: zod_1.z.array(connections_1.ConnectionSchema).optional(),
|
|
182
375
|
})
|
|
183
376
|
.superRefine((data, ctx) => {
|
|
184
377
|
if (data.networkMode === 'VPC' && !data.networkConfig) {
|
|
@@ -195,6 +388,22 @@ exports.AgentEnvSpecSchema = zod_1.z
|
|
|
195
388
|
path: ['networkConfig'],
|
|
196
389
|
});
|
|
197
390
|
}
|
|
391
|
+
// NOTE: vpcId is NOT required here at the schema (read/write) level. A Container+VPC agent needs
|
|
392
|
+
// a vpcId to build (CodeBuild can't infer it), but enforcing that on read would hard-fail
|
|
393
|
+
// pre-existing agentcore.json files written before vpcId existed. Instead: the CLI input
|
|
394
|
+
// validators require --vpc-id for fresh Container+VPC creates, deploy backfills a missing vpcId
|
|
395
|
+
// from the subnets (ec2:DescribeSubnets) and persists it, and the CDK construct fails fast if it
|
|
396
|
+
// is still missing at synth. This keeps `status`/`remove`/`validate` working on old configs.
|
|
397
|
+
if (data.networkMode === 'VPC' &&
|
|
398
|
+
(0, constants_1.isContainerBuild)(data) &&
|
|
399
|
+
data.networkConfig &&
|
|
400
|
+
data.networkConfig.securityGroups.length > constants_1.MAX_CONTAINER_BUILD_SECURITY_GROUPS) {
|
|
401
|
+
ctx.addIssue({
|
|
402
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
403
|
+
message: `Container builds in VPC mode allow at most ${constants_1.MAX_CONTAINER_BUILD_SECURITY_GROUPS} security groups (CodeBuild limit)`,
|
|
404
|
+
path: ['networkConfig', 'securityGroups'],
|
|
405
|
+
});
|
|
406
|
+
}
|
|
198
407
|
if (data.authorizerType === 'CUSTOM_JWT' && !data.authorizerConfiguration?.customJwtAuthorizer) {
|
|
199
408
|
ctx.addIssue({
|
|
200
409
|
code: zod_1.z.ZodIssueCode.custom,
|
|
@@ -209,13 +418,79 @@ exports.AgentEnvSpecSchema = zod_1.z
|
|
|
209
418
|
path: ['authorizerConfiguration'],
|
|
210
419
|
});
|
|
211
420
|
}
|
|
212
|
-
// If adding more
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
421
|
+
// Container-only fields. If adding more, extend this list (and consider consolidating into a
|
|
422
|
+
// containerConfig object — see the networkConfig pattern).
|
|
423
|
+
for (const field of ['dockerfile', 'buildContextPath', 'customDockerBuildArgs']) {
|
|
424
|
+
if (data.build !== 'Container' && data[field]) {
|
|
425
|
+
ctx.addIssue({
|
|
426
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
427
|
+
message: `${field} is only allowed for Container builds`,
|
|
428
|
+
path: [field],
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
for (const key of Object.keys(data.customDockerBuildArgs ?? {})) {
|
|
433
|
+
if (isReservedBuildArgKey(key)) {
|
|
434
|
+
ctx.addIssue({
|
|
435
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
436
|
+
message: `customDockerBuildArgs key "${key}" is reserved by the build environment (must not be ${exports.RESERVED_BUILD_ARG_KEYS.join(', ')}, or start with CODEBUILD_ or AWS_)`,
|
|
437
|
+
path: ['customDockerBuildArgs', key],
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
const fcs = data.filesystemConfigurations ?? [];
|
|
442
|
+
if (fcs.length > 0) {
|
|
443
|
+
const efsCount = fcs.filter(fc => 'efsAccessPoint' in fc).length;
|
|
444
|
+
const s3Count = fcs.filter(fc => 's3FilesAccessPoint' in fc).length;
|
|
445
|
+
const ssCount = fcs.filter(fc => 'sessionStorage' in fc).length;
|
|
446
|
+
if (fcs.length > 5) {
|
|
447
|
+
ctx.addIssue({
|
|
448
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
449
|
+
message: 'Maximum 5 filesystem configurations allowed',
|
|
450
|
+
path: ['filesystemConfigurations'],
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
if (efsCount > exports.MAX_EFS_MOUNTS) {
|
|
454
|
+
ctx.addIssue({
|
|
455
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
456
|
+
message: `Maximum ${exports.MAX_EFS_MOUNTS} efsAccessPoint configurations allowed`,
|
|
457
|
+
path: ['filesystemConfigurations'],
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
if (s3Count > exports.MAX_S3_MOUNTS) {
|
|
461
|
+
ctx.addIssue({
|
|
462
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
463
|
+
message: `Maximum ${exports.MAX_S3_MOUNTS} s3FilesAccessPoint configurations allowed`,
|
|
464
|
+
path: ['filesystemConfigurations'],
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
if (ssCount > 1) {
|
|
468
|
+
ctx.addIssue({
|
|
469
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
470
|
+
message: 'Maximum 1 sessionStorage configuration allowed',
|
|
471
|
+
path: ['filesystemConfigurations'],
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
const hasByo = efsCount > 0 || s3Count > 0;
|
|
475
|
+
if (hasByo && data.networkMode !== 'VPC') {
|
|
476
|
+
ctx.addIssue({
|
|
477
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
478
|
+
message: 'efsAccessPoint and s3FilesAccessPoint filesystem mounts require networkMode: VPC',
|
|
479
|
+
path: ['filesystemConfigurations'],
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
const mountPaths = fcs.map(fc => ('sessionStorage' in fc
|
|
483
|
+
? fc.sessionStorage.mountPath
|
|
484
|
+
: 'efsAccessPoint' in fc
|
|
485
|
+
? fc.efsAccessPoint.mountPath
|
|
486
|
+
: fc.s3FilesAccessPoint.mountPath).replace(/\/$/, ''));
|
|
487
|
+
if (new Set(mountPaths).size !== mountPaths.length) {
|
|
488
|
+
ctx.addIssue({
|
|
489
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
490
|
+
message: 'Filesystem mount paths must be unique',
|
|
491
|
+
path: ['filesystemConfigurations'],
|
|
492
|
+
});
|
|
493
|
+
}
|
|
219
494
|
}
|
|
220
495
|
});
|
|
221
496
|
//# sourceMappingURL=agent-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"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"}
|