@aws/agentcore 1.0.0-preview.3 → 1.0.0-preview.30
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/README.md +6 -2
- package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +3344 -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-observability.test.ts +23 -0
- package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
- package/dist/assets/__tests__/input-validation.test.ts +44 -0
- package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
- package/dist/assets/agents/AGENTS.md +91 -14
- package/dist/assets/cdk/bin/cdk.ts +109 -24
- package/dist/assets/cdk/lib/cdk-stack.ts +227 -19
- package/dist/assets/cdk/package.json +9 -9
- 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/evaluators/autoevals-lambda/execution-role-policy.json +15 -0
- package/dist/assets/evaluators/autoevals-lambda/lambda_function.py +37 -0
- package/dist/assets/evaluators/autoevals-lambda/pyproject.toml +22 -0
- package/dist/assets/evaluators/deepeval-lambda/execution-role-policy.json +15 -0
- package/dist/assets/evaluators/deepeval-lambda/lambda_function.py +29 -0
- package/dist/assets/evaluators/deepeval-lambda/pyproject.toml +19 -0
- package/dist/assets/mcp/python/pyproject.toml +1 -1
- package/dist/assets/python/a2a/googleadk/base/main.py +32 -18
- package/dist/assets/python/a2a/googleadk/base/pyproject.toml +6 -4
- package/dist/assets/python/a2a/langchain_langgraph/base/main.py +35 -21
- package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +4 -3
- package/dist/assets/python/a2a/strands/base/main.py +23 -17
- package/dist/assets/python/a2a/strands/base/pyproject.toml +3 -3
- package/dist/assets/python/a2a/strands/capabilities/memory/session.py +4 -1
- package/dist/assets/python/agui/googleadk/base/main.py +62 -2
- package/dist/assets/python/agui/googleadk/base/pyproject.toml +6 -5
- package/dist/assets/python/agui/langchain_langgraph/base/main.py +56 -0
- package/dist/assets/python/agui/langchain_langgraph/base/pyproject.toml +3 -2
- package/dist/assets/python/agui/strands/base/main.py +63 -1
- package/dist/assets/python/agui/strands/base/pyproject.toml +2 -2
- package/dist/assets/python/agui/strands/capabilities/memory/session.py +4 -1
- package/dist/assets/python/http/autogen/base/README.md +7 -1
- package/dist/assets/python/http/autogen/base/main.py +62 -29
- package/dist/assets/python/http/autogen/base/pyproject.toml +1 -1
- package/dist/assets/python/http/googleadk/base/README.md +7 -1
- package/dist/assets/python/http/googleadk/base/main.py +71 -24
- package/dist/assets/python/http/googleadk/base/mcp_client/client.py +7 -7
- package/dist/assets/python/http/googleadk/base/pyproject.toml +5 -3
- package/dist/assets/python/http/langchain_langgraph/base/README.md +7 -1
- package/dist/assets/python/http/langchain_langgraph/base/main.py +119 -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 +5 -4
- package/dist/assets/python/http/openaiagents/base/README.md +7 -1
- package/dist/assets/python/http/openaiagents/base/main.py +63 -32
- package/dist/assets/python/http/openaiagents/base/mcp_client/client.py +4 -4
- package/dist/assets/python/http/openaiagents/base/pyproject.toml +3 -3
- package/dist/assets/python/http/strands/base/README.md +8 -1
- package/dist/assets/python/http/strands/base/main.py +607 -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 +11 -5
- 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 +4 -1
- 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/python/mcp/standalone/base/pyproject.toml +1 -1
- package/dist/assets/typescript/http/strands/base/README.md +42 -0
- package/dist/assets/typescript/http/strands/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/strands/base/main.ts +149 -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 +42 -0
- package/dist/assets/typescript/http/vercelai/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/vercelai/base/main.ts +70 -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 +1743 -627
- 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/dependency-management/index.d.ts +5 -0
- package/dist/lib/dependency-management/index.d.ts.map +1 -0
- package/dist/lib/dependency-management/index.js +8 -0
- package/dist/lib/dependency-management/index.js.map +1 -0
- package/dist/lib/dependency-management/messages.d.ts +30 -0
- package/dist/lib/dependency-management/messages.d.ts.map +1 -0
- package/dist/lib/dependency-management/messages.js +86 -0
- package/dist/lib/dependency-management/messages.js.map +1 -0
- package/dist/lib/dependency-management/plan.d.ts +25 -0
- package/dist/lib/dependency-management/plan.d.ts.map +1 -0
- package/dist/lib/dependency-management/plan.js +67 -0
- package/dist/lib/dependency-management/plan.js.map +1 -0
- package/dist/lib/dependency-management/semver.d.ts +21 -0
- package/dist/lib/dependency-management/semver.d.ts.map +1 -0
- package/dist/lib/dependency-management/semver.js +51 -0
- package/dist/lib/dependency-management/semver.js.map +1 -0
- package/dist/lib/dependency-management/sync.d.ts +26 -0
- package/dist/lib/dependency-management/sync.d.ts.map +1 -0
- package/dist/lib/dependency-management/sync.js +141 -0
- package/dist/lib/dependency-management/sync.js.map +1 -0
- package/dist/lib/dependency-management/types.d.ts +85 -0
- package/dist/lib/dependency-management/types.d.ts.map +1 -0
- package/dist/lib/dependency-management/types.js +3 -0
- package/dist/lib/dependency-management/types.js.map +1 -0
- 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 +274 -0
- package/dist/lib/errors/types.d.ts.map +1 -0
- package/dist/lib/errors/types.js +423 -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 +57 -0
- package/dist/lib/result.d.ts.map +1 -0
- package/dist/lib/result.js +62 -0
- package/dist/lib/result.js.map +1 -0
- package/dist/lib/schemas/io/config-io.d.ts +14 -0
- package/dist/lib/schemas/io/config-io.d.ts.map +1 -1
- package/dist/lib/schemas/io/config-io.js +89 -5
- package/dist/lib/schemas/io/config-io.js.map +1 -1
- package/dist/lib/schemas/io/global-config.d.ts +41 -0
- package/dist/lib/schemas/io/global-config.d.ts.map +1 -0
- package/dist/lib/schemas/io/global-config.js +119 -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/subprocess.d.ts +4 -1
- package/dist/lib/utils/subprocess.d.ts.map +1 -1
- package/dist/lib/utils/subprocess.js +11 -57
- package/dist/lib/utils/subprocess.js.map +1 -1
- 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 +187 -7
- package/dist/schema/schemas/agent-env.d.ts.map +1 -1
- package/dist/schema/schemas/agent-env.js +323 -27
- package/dist/schema/schemas/agent-env.js.map +1 -1
- package/dist/schema/schemas/agentcore-project.d.ts +519 -12
- package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
- package/dist/schema/schemas/agentcore-project.js +342 -13
- 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 +18 -0
- package/dist/schema/schemas/aws-targets.d.ts.map +1 -1
- package/dist/schema/schemas/aws-targets.js +6 -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 +392 -5
- package/dist/schema/schemas/deployed-state.d.ts.map +1 -1
- package/dist/schema/schemas/deployed-state.js +112 -2
- package/dist/schema/schemas/deployed-state.js.map +1 -1
- package/dist/schema/schemas/index.d.ts +3 -0
- package/dist/schema/schemas/index.d.ts.map +1 -1
- package/dist/schema/schemas/index.js +5 -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 +197 -0
- package/dist/schema/schemas/mcp.d.ts.map +1 -1
- package/dist/schema/schemas/mcp.js +334 -5
- 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/capacity-provider.d.ts +237 -0
- package/dist/schema/schemas/primitives/capacity-provider.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/capacity-provider.js +220 -0
- package/dist/schema/schemas/primitives/capacity-provider.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 +22 -0
- package/dist/schema/schemas/primitives/evaluator.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/evaluator.js +28 -3
- 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 +17 -9
- package/dist/schema/schemas/primitives/index.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/index.js +62 -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 +86 -0
- package/dist/schema/schemas/primitives/payment.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/payment.js +88 -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 +16874 -0
- package/package.json +49 -21
- package/scripts/bump-version.ts +4 -4
- package/scripts/bundle.mjs +70 -41
- package/scripts/extract-cli-model.mjs +269 -0
- package/scripts/extract-cli-model.test.mjs +43 -0
- package/scripts/render_adoc.py +350 -0
- package/scripts/run-e2e-dev.sh +56 -0
- package/scripts/run-e2e-local.sh +145 -0
- package/scripts/safe-junit-reporter.ts +7 -0
- package/scripts/sanitize-test-artifacts.ts +65 -0
- package/scripts/sync-vended-cdk.ts +49 -0
- package/scripts/test_render_adoc.py +38 -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
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ABTestSchema = exports.TrafficAllocationConfigSchema = exports.TrafficRouteOnHeaderSchema = exports.GatewayFilterSchema = exports.ABTestEvaluationConfigSchema = exports.PerVariantOnlineEvaluationConfigSchema = exports.ABTestVariantSchema = exports.VariantConfigurationSchema = exports.TargetRefSchema = exports.ConfigurationBundleRefSchema = exports.VariantWeightSchema = exports.VariantNameSchema = exports.ABTestModeSchema = exports.ABTestDescriptionSchema = exports.ABTestNameSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// AB Test Types
|
|
7
|
+
// ============================================================================
|
|
8
|
+
exports.ABTestNameSchema = zod_1.z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Name is required')
|
|
11
|
+
.max(48)
|
|
12
|
+
.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)');
|
|
13
|
+
exports.ABTestDescriptionSchema = zod_1.z.string().min(1).max(200).optional();
|
|
14
|
+
exports.ABTestModeSchema = zod_1.z.enum(['config-bundle', 'target-based']).optional().default('config-bundle');
|
|
15
|
+
exports.VariantNameSchema = zod_1.z.enum(['C', 'T1']);
|
|
16
|
+
exports.VariantWeightSchema = zod_1.z.number().int().min(1).max(100);
|
|
17
|
+
// ── Config Bundle variant configuration ────────────────────────────────────
|
|
18
|
+
exports.ConfigurationBundleRefSchema = zod_1.z.object({
|
|
19
|
+
bundleArn: zod_1.z.string().min(1),
|
|
20
|
+
bundleVersion: zod_1.z.string().min(1),
|
|
21
|
+
});
|
|
22
|
+
// ── Target-based variant configuration ─────────────────────────────────────
|
|
23
|
+
exports.TargetRefSchema = zod_1.z.object({
|
|
24
|
+
targetName: zod_1.z.string().min(1).max(100),
|
|
25
|
+
});
|
|
26
|
+
// ── Variant configuration union ────────────────────────────────────────────
|
|
27
|
+
// Exactly one of configurationBundle or target must be set (XOR).
|
|
28
|
+
const ConfigBundleVariantConfigSchema = zod_1.z.object({
|
|
29
|
+
configurationBundle: exports.ConfigurationBundleRefSchema,
|
|
30
|
+
target: zod_1.z.never().optional(),
|
|
31
|
+
});
|
|
32
|
+
const TargetVariantConfigSchema = zod_1.z.object({
|
|
33
|
+
configurationBundle: zod_1.z.never().optional(),
|
|
34
|
+
target: exports.TargetRefSchema,
|
|
35
|
+
});
|
|
36
|
+
exports.VariantConfigurationSchema = zod_1.z.union([ConfigBundleVariantConfigSchema, TargetVariantConfigSchema]);
|
|
37
|
+
exports.ABTestVariantSchema = zod_1.z.object({
|
|
38
|
+
name: exports.VariantNameSchema,
|
|
39
|
+
weight: exports.VariantWeightSchema,
|
|
40
|
+
variantConfiguration: exports.VariantConfigurationSchema,
|
|
41
|
+
});
|
|
42
|
+
// ── Evaluation config union ────────────────────────────────────────────────
|
|
43
|
+
exports.PerVariantOnlineEvaluationConfigSchema = zod_1.z.object({
|
|
44
|
+
treatmentName: exports.VariantNameSchema,
|
|
45
|
+
onlineEvaluationConfigArn: zod_1.z.string().min(1),
|
|
46
|
+
});
|
|
47
|
+
exports.ABTestEvaluationConfigSchema = zod_1.z.union([
|
|
48
|
+
zod_1.z.object({ onlineEvaluationConfigArn: zod_1.z.string().min(1) }),
|
|
49
|
+
zod_1.z.object({
|
|
50
|
+
perVariantOnlineEvaluationConfig: zod_1.z.array(exports.PerVariantOnlineEvaluationConfigSchema).length(2),
|
|
51
|
+
}),
|
|
52
|
+
]);
|
|
53
|
+
// ── Gateway filter ─────────────────────────────────────────────────────────
|
|
54
|
+
exports.GatewayFilterSchema = zod_1.z.object({
|
|
55
|
+
targetPaths: zod_1.z.array(zod_1.z.string().min(1).max(500)).max(1),
|
|
56
|
+
});
|
|
57
|
+
// ── Traffic allocation ─────────────────────────────────────────────────────
|
|
58
|
+
exports.TrafficRouteOnHeaderSchema = zod_1.z.object({
|
|
59
|
+
headerName: zod_1.z.string().min(1),
|
|
60
|
+
});
|
|
61
|
+
exports.TrafficAllocationConfigSchema = zod_1.z.object({
|
|
62
|
+
routeOnHeader: exports.TrafficRouteOnHeaderSchema,
|
|
63
|
+
});
|
|
64
|
+
// ── AB Test schema ─────────────────────────────────────────────────────────
|
|
65
|
+
exports.ABTestSchema = zod_1.z
|
|
66
|
+
.object({
|
|
67
|
+
name: exports.ABTestNameSchema,
|
|
68
|
+
description: exports.ABTestDescriptionSchema,
|
|
69
|
+
mode: exports.ABTestModeSchema,
|
|
70
|
+
gatewayRef: zod_1.z.string().min(1),
|
|
71
|
+
roleArn: zod_1.z.string().min(1).optional(),
|
|
72
|
+
variants: zod_1.z.array(exports.ABTestVariantSchema).length(2),
|
|
73
|
+
evaluationConfig: exports.ABTestEvaluationConfigSchema,
|
|
74
|
+
gatewayFilter: exports.GatewayFilterSchema.optional(),
|
|
75
|
+
enableOnCreate: zod_1.z.boolean().optional(),
|
|
76
|
+
promoted: zod_1.z.boolean().optional(),
|
|
77
|
+
})
|
|
78
|
+
.refine(data => {
|
|
79
|
+
const names = data.variants.map(v => v.name);
|
|
80
|
+
return names.includes('C') && names.includes('T1');
|
|
81
|
+
}, { message: 'Variants must include exactly one control (C) and one treatment (T1)', path: ['variants'] })
|
|
82
|
+
.refine(data => data.variants.reduce((sum, v) => sum + v.weight, 0) === 100, {
|
|
83
|
+
message: 'Variant weights must sum to 100',
|
|
84
|
+
path: ['variants'],
|
|
85
|
+
})
|
|
86
|
+
.refine(data => {
|
|
87
|
+
if (data.mode === 'target-based') {
|
|
88
|
+
return data.variants.every(v => v.variantConfiguration.target != null);
|
|
89
|
+
}
|
|
90
|
+
return data.variants.every(v => v.variantConfiguration.configurationBundle != null);
|
|
91
|
+
}, {
|
|
92
|
+
message: 'Target-based mode requires target on each variant; config-bundle mode requires configurationBundle',
|
|
93
|
+
path: ['variants'],
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=ab-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ab-test.js","sourceRoot":"","sources":["../../../../src/schema/schemas/primitives/ab-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Capacity provider name validation.
|
|
4
|
+
* Pattern: ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ (matches the CFN Name property).
|
|
5
|
+
*/
|
|
6
|
+
export declare const CapacityProviderNameSchema: z.ZodString;
|
|
7
|
+
/**
|
|
8
|
+
* Pattern for the capacity provider operator role ARN, matching the CFN
|
|
9
|
+
* resource contract exactly. The account segment is OPTIONAL — the service
|
|
10
|
+
* accepts role ARNs without an account id, so we must not force 12 digits.
|
|
11
|
+
*/
|
|
12
|
+
export declare const CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN: RegExp;
|
|
13
|
+
export declare const OperatorRoleArnSchema: z.ZodString;
|
|
14
|
+
export declare function isValidOperatorRoleArn(value: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Partition-agnostic capacity-provider ARN (arn:[^:]+: per multi-partition rules). The resource
|
|
17
|
+
* segment is the service capacityProviderId — `{name}-{10 alnum}` — not a free-form string, so a
|
|
18
|
+
* malformed external ARN is rejected at `add`/validate time instead of only failing at deploy.
|
|
19
|
+
* Keep the id shape in sync with CAPACITY_PROVIDER_ID_PATTERN (cli/commands/capacity-provider/constants).
|
|
20
|
+
*/
|
|
21
|
+
export declare const CAPACITY_PROVIDER_ARN_PATTERN: RegExp;
|
|
22
|
+
export declare const CapacityProviderArnSchema: z.ZodString;
|
|
23
|
+
/**
|
|
24
|
+
* Route a `--capacity-provider <name-or-arn>` value: an `arn:` prefix means an
|
|
25
|
+
* external CP referenced by ARN, otherwise it is an in-project sibling name.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isCapacityProviderArn(value: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Logical name of a capacity-provider volume, referenced by a runtime's
|
|
30
|
+
* `capacityProviderVolume` filesystem mount. Must match the name of a volume
|
|
31
|
+
* defined on the capacity provider (EbsVolumeConfiguration.name).
|
|
32
|
+
*/
|
|
33
|
+
export declare const CapacityProviderVolumeNameSchema: z.ZodString;
|
|
34
|
+
/**
|
|
35
|
+
* Runtime -> capacity-provider reference. Exactly one of `capacityProviderArn`
|
|
36
|
+
* (external CP) or `capacityProviderName` (in-project sibling) must be set.
|
|
37
|
+
*/
|
|
38
|
+
export declare const CapacityProviderConfigurationSchema: z.ZodObject<{
|
|
39
|
+
capacityProviderArn: z.ZodOptional<z.ZodString>;
|
|
40
|
+
capacityProviderName: z.ZodOptional<z.ZodString>;
|
|
41
|
+
}, z.core.$strict>;
|
|
42
|
+
export type CapacityProviderConfiguration = z.infer<typeof CapacityProviderConfigurationSchema>;
|
|
43
|
+
export declare const OperatingSystemSchema: z.ZodEnum<{
|
|
44
|
+
LINUX_X86_64: "LINUX_X86_64";
|
|
45
|
+
LINUX_ARM64: "LINUX_ARM64";
|
|
46
|
+
}>;
|
|
47
|
+
export type OperatingSystem = z.infer<typeof OperatingSystemSchema>;
|
|
48
|
+
export declare const VpcConfigurationSchema: z.ZodObject<{
|
|
49
|
+
subnets: z.ZodArray<z.ZodString>;
|
|
50
|
+
securityGroups: z.ZodArray<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export type VpcConfiguration = z.infer<typeof VpcConfigurationSchema>;
|
|
53
|
+
export declare const InstanceRequirementsSchema: z.ZodObject<{
|
|
54
|
+
allowedInstanceTypes: z.ZodArray<z.ZodString>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export type InstanceRequirements = z.infer<typeof InstanceRequirementsSchema>;
|
|
57
|
+
export declare const LaunchParametersSchema: z.ZodObject<{
|
|
58
|
+
operatingSystem: z.ZodEnum<{
|
|
59
|
+
LINUX_X86_64: "LINUX_X86_64";
|
|
60
|
+
LINUX_ARM64: "LINUX_ARM64";
|
|
61
|
+
}>;
|
|
62
|
+
instanceRequirements: z.ZodObject<{
|
|
63
|
+
allowedInstanceTypes: z.ZodArray<z.ZodString>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
instanceProfileArn: z.ZodOptional<z.ZodString>;
|
|
66
|
+
}, z.core.$loose>;
|
|
67
|
+
export type LaunchParameters = z.infer<typeof LaunchParametersSchema>;
|
|
68
|
+
export declare const EbsVolumeConfigurationSchema: z.ZodObject<{
|
|
69
|
+
name: z.ZodString;
|
|
70
|
+
sizeGiB: z.ZodNumber;
|
|
71
|
+
volumeType: z.ZodOptional<z.ZodEnum<{
|
|
72
|
+
standard: "standard";
|
|
73
|
+
io1: "io1";
|
|
74
|
+
io2: "io2";
|
|
75
|
+
gp2: "gp2";
|
|
76
|
+
sc1: "sc1";
|
|
77
|
+
st1: "st1";
|
|
78
|
+
gp3: "gp3";
|
|
79
|
+
}>>;
|
|
80
|
+
encrypted: z.ZodOptional<z.ZodBoolean>;
|
|
81
|
+
kmsKeyId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
}, z.core.$loose>;
|
|
83
|
+
export type EbsVolumeConfiguration = z.infer<typeof EbsVolumeConfigurationSchema>;
|
|
84
|
+
export declare const VolumeConfigurationSchema: z.ZodObject<{
|
|
85
|
+
ebsConfiguration: z.ZodObject<{
|
|
86
|
+
name: z.ZodString;
|
|
87
|
+
sizeGiB: z.ZodNumber;
|
|
88
|
+
volumeType: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
standard: "standard";
|
|
90
|
+
io1: "io1";
|
|
91
|
+
io2: "io2";
|
|
92
|
+
gp2: "gp2";
|
|
93
|
+
sc1: "sc1";
|
|
94
|
+
st1: "st1";
|
|
95
|
+
gp3: "gp3";
|
|
96
|
+
}>>;
|
|
97
|
+
encrypted: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
+
kmsKeyId: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, z.core.$loose>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export type VolumeConfiguration = z.infer<typeof VolumeConfigurationSchema>;
|
|
102
|
+
export declare const InstanceLifecycleConfigurationSchema: z.ZodObject<{
|
|
103
|
+
idleInstanceTimeout: z.ZodOptional<z.ZodNumber>;
|
|
104
|
+
maxLifetime: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export type InstanceLifecycleConfiguration = z.infer<typeof InstanceLifecycleConfigurationSchema>;
|
|
107
|
+
export declare const Ec2ConfigurationSchema: z.ZodObject<{
|
|
108
|
+
launchTemplateSource: z.ZodObject<{
|
|
109
|
+
launchParameters: z.ZodObject<{
|
|
110
|
+
operatingSystem: z.ZodEnum<{
|
|
111
|
+
LINUX_X86_64: "LINUX_X86_64";
|
|
112
|
+
LINUX_ARM64: "LINUX_ARM64";
|
|
113
|
+
}>;
|
|
114
|
+
instanceRequirements: z.ZodObject<{
|
|
115
|
+
allowedInstanceTypes: z.ZodArray<z.ZodString>;
|
|
116
|
+
}, z.core.$strip>;
|
|
117
|
+
instanceProfileArn: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, z.core.$loose>;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
vpcConfiguration: z.ZodObject<{
|
|
121
|
+
subnets: z.ZodArray<z.ZodString>;
|
|
122
|
+
securityGroups: z.ZodArray<z.ZodString>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
125
|
+
ebsConfiguration: z.ZodObject<{
|
|
126
|
+
name: z.ZodString;
|
|
127
|
+
sizeGiB: z.ZodNumber;
|
|
128
|
+
volumeType: z.ZodOptional<z.ZodEnum<{
|
|
129
|
+
standard: "standard";
|
|
130
|
+
io1: "io1";
|
|
131
|
+
io2: "io2";
|
|
132
|
+
gp2: "gp2";
|
|
133
|
+
sc1: "sc1";
|
|
134
|
+
st1: "st1";
|
|
135
|
+
gp3: "gp3";
|
|
136
|
+
}>>;
|
|
137
|
+
encrypted: z.ZodOptional<z.ZodBoolean>;
|
|
138
|
+
kmsKeyId: z.ZodOptional<z.ZodString>;
|
|
139
|
+
}, z.core.$loose>;
|
|
140
|
+
}, z.core.$strip>>>;
|
|
141
|
+
lifecycleConfiguration: z.ZodOptional<z.ZodObject<{
|
|
142
|
+
idleInstanceTimeout: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
maxLifetime: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
}, z.core.$strip>>;
|
|
145
|
+
}, z.core.$loose>;
|
|
146
|
+
export type Ec2Configuration = z.infer<typeof Ec2ConfigurationSchema>;
|
|
147
|
+
export declare const ComputeConfigurationSchema: z.ZodObject<{
|
|
148
|
+
ec2Configuration: z.ZodObject<{
|
|
149
|
+
launchTemplateSource: z.ZodObject<{
|
|
150
|
+
launchParameters: z.ZodObject<{
|
|
151
|
+
operatingSystem: z.ZodEnum<{
|
|
152
|
+
LINUX_X86_64: "LINUX_X86_64";
|
|
153
|
+
LINUX_ARM64: "LINUX_ARM64";
|
|
154
|
+
}>;
|
|
155
|
+
instanceRequirements: z.ZodObject<{
|
|
156
|
+
allowedInstanceTypes: z.ZodArray<z.ZodString>;
|
|
157
|
+
}, z.core.$strip>;
|
|
158
|
+
instanceProfileArn: z.ZodOptional<z.ZodString>;
|
|
159
|
+
}, z.core.$loose>;
|
|
160
|
+
}, z.core.$strip>;
|
|
161
|
+
vpcConfiguration: z.ZodObject<{
|
|
162
|
+
subnets: z.ZodArray<z.ZodString>;
|
|
163
|
+
securityGroups: z.ZodArray<z.ZodString>;
|
|
164
|
+
}, z.core.$strip>;
|
|
165
|
+
volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
166
|
+
ebsConfiguration: z.ZodObject<{
|
|
167
|
+
name: z.ZodString;
|
|
168
|
+
sizeGiB: z.ZodNumber;
|
|
169
|
+
volumeType: z.ZodOptional<z.ZodEnum<{
|
|
170
|
+
standard: "standard";
|
|
171
|
+
io1: "io1";
|
|
172
|
+
io2: "io2";
|
|
173
|
+
gp2: "gp2";
|
|
174
|
+
sc1: "sc1";
|
|
175
|
+
st1: "st1";
|
|
176
|
+
gp3: "gp3";
|
|
177
|
+
}>>;
|
|
178
|
+
encrypted: z.ZodOptional<z.ZodBoolean>;
|
|
179
|
+
kmsKeyId: z.ZodOptional<z.ZodString>;
|
|
180
|
+
}, z.core.$loose>;
|
|
181
|
+
}, z.core.$strip>>>;
|
|
182
|
+
lifecycleConfiguration: z.ZodOptional<z.ZodObject<{
|
|
183
|
+
idleInstanceTimeout: z.ZodOptional<z.ZodNumber>;
|
|
184
|
+
maxLifetime: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
}, z.core.$strip>>;
|
|
186
|
+
}, z.core.$loose>;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
export type ComputeConfiguration = z.infer<typeof ComputeConfigurationSchema>;
|
|
189
|
+
export declare const CapacityProviderSchema: z.ZodObject<{
|
|
190
|
+
name: z.ZodString;
|
|
191
|
+
description: z.ZodOptional<z.ZodString>;
|
|
192
|
+
operatorRoleArn: z.ZodOptional<z.ZodString>;
|
|
193
|
+
computeConfiguration: z.ZodObject<{
|
|
194
|
+
ec2Configuration: z.ZodObject<{
|
|
195
|
+
launchTemplateSource: z.ZodObject<{
|
|
196
|
+
launchParameters: z.ZodObject<{
|
|
197
|
+
operatingSystem: z.ZodEnum<{
|
|
198
|
+
LINUX_X86_64: "LINUX_X86_64";
|
|
199
|
+
LINUX_ARM64: "LINUX_ARM64";
|
|
200
|
+
}>;
|
|
201
|
+
instanceRequirements: z.ZodObject<{
|
|
202
|
+
allowedInstanceTypes: z.ZodArray<z.ZodString>;
|
|
203
|
+
}, z.core.$strip>;
|
|
204
|
+
instanceProfileArn: z.ZodOptional<z.ZodString>;
|
|
205
|
+
}, z.core.$loose>;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
vpcConfiguration: z.ZodObject<{
|
|
208
|
+
subnets: z.ZodArray<z.ZodString>;
|
|
209
|
+
securityGroups: z.ZodArray<z.ZodString>;
|
|
210
|
+
}, z.core.$strip>;
|
|
211
|
+
volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
212
|
+
ebsConfiguration: z.ZodObject<{
|
|
213
|
+
name: z.ZodString;
|
|
214
|
+
sizeGiB: z.ZodNumber;
|
|
215
|
+
volumeType: z.ZodOptional<z.ZodEnum<{
|
|
216
|
+
standard: "standard";
|
|
217
|
+
io1: "io1";
|
|
218
|
+
io2: "io2";
|
|
219
|
+
gp2: "gp2";
|
|
220
|
+
sc1: "sc1";
|
|
221
|
+
st1: "st1";
|
|
222
|
+
gp3: "gp3";
|
|
223
|
+
}>>;
|
|
224
|
+
encrypted: z.ZodOptional<z.ZodBoolean>;
|
|
225
|
+
kmsKeyId: z.ZodOptional<z.ZodString>;
|
|
226
|
+
}, z.core.$loose>;
|
|
227
|
+
}, z.core.$strip>>>;
|
|
228
|
+
lifecycleConfiguration: z.ZodOptional<z.ZodObject<{
|
|
229
|
+
idleInstanceTimeout: z.ZodOptional<z.ZodNumber>;
|
|
230
|
+
maxLifetime: z.ZodOptional<z.ZodNumber>;
|
|
231
|
+
}, z.core.$strip>>;
|
|
232
|
+
}, z.core.$loose>;
|
|
233
|
+
}, z.core.$strip>;
|
|
234
|
+
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
235
|
+
}, z.core.$strip>;
|
|
236
|
+
export type CapacityProvider = z.infer<typeof CapacityProviderSchema>;
|
|
237
|
+
//# sourceMappingURL=capacity-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacity-provider.d.ts","sourceRoot":"","sources":["../../../../src/schema/schemas/primitives/capacity-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB;;;GAGG;AACH,eAAO,MAAM,0BAA0B,aAOpC,CAAC;AAMJ;;;;GAIG;AAEH,eAAO,MAAM,2CAA2C,QAA2C,CAAC;AAEpG,eAAO,MAAM,qBAAqB,aAO/B,CAAC;AAEJ,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AAcD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QACuE,CAAC;AAElH,eAAO,MAAM,yBAAyB,aAKnC,CAAC;AAEJ;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,aAO1C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,mCAAmC;;;kBAc5C,CAAC;AACL,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAWhG,eAAO,MAAM,qBAAqB;;;EAA0C,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,sBAAsB;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAU9E,eAAO,MAAM,sBAAsB;;;;;;;;;iBASnB,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAStE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBAqBzB,CAAC;AAEjB,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAEpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAS5E,eAAO,MAAM,oCAAoC;;;iBAG/C,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AASlG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASnB,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAejC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CapacityProviderSchema = exports.ComputeConfigurationSchema = exports.Ec2ConfigurationSchema = exports.InstanceLifecycleConfigurationSchema = exports.VolumeConfigurationSchema = exports.EbsVolumeConfigurationSchema = exports.LaunchParametersSchema = exports.InstanceRequirementsSchema = exports.VpcConfigurationSchema = exports.OperatingSystemSchema = exports.CapacityProviderConfigurationSchema = exports.CapacityProviderVolumeNameSchema = exports.CapacityProviderArnSchema = exports.CAPACITY_PROVIDER_ARN_PATTERN = exports.OperatorRoleArnSchema = exports.CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN = exports.CapacityProviderNameSchema = void 0;
|
|
4
|
+
exports.isValidOperatorRoleArn = isValidOperatorRoleArn;
|
|
5
|
+
exports.isCapacityProviderArn = isCapacityProviderArn;
|
|
6
|
+
const tags_1 = require("./tags");
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Capacity Provider Types
|
|
10
|
+
//
|
|
11
|
+
// Models the AWS::BedrockAgentCore::CapacityProvider CFN resource. Known fields
|
|
12
|
+
// are typed and validated here so bad input is rejected at `add` time instead
|
|
13
|
+
// of failing late at deploy/CFN time; the long tail of launch parameters is
|
|
14
|
+
// accepted via `.passthrough()` and validated by CFN on deploy.
|
|
15
|
+
//
|
|
16
|
+
// NOTE: This schema is duplicated in @aws/agentcore-cdk
|
|
17
|
+
// (src/schema/schemas/primitives/capacity-provider.ts). Keep the two in sync.
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Capacity provider name validation.
|
|
21
|
+
* Pattern: ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ (matches the CFN Name property).
|
|
22
|
+
*/
|
|
23
|
+
exports.CapacityProviderNameSchema = zod_1.z
|
|
24
|
+
.string()
|
|
25
|
+
.min(1, 'Capacity provider name is required')
|
|
26
|
+
.max(48)
|
|
27
|
+
.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)');
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// Operator Role ARN Validation
|
|
30
|
+
// ============================================================================
|
|
31
|
+
/**
|
|
32
|
+
* Pattern for the capacity provider operator role ARN, matching the CFN
|
|
33
|
+
* resource contract exactly. The account segment is OPTIONAL — the service
|
|
34
|
+
* accepts role ARNs without an account id, so we must not force 12 digits.
|
|
35
|
+
*/
|
|
36
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- anchored ARN pattern, no backtracking risk
|
|
37
|
+
exports.CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN = /^arn:[^:]+:iam::([0-9]{12})?:role\/.+$/;
|
|
38
|
+
exports.OperatorRoleArnSchema = zod_1.z
|
|
39
|
+
.string()
|
|
40
|
+
.min(1, 'Operator role ARN is required')
|
|
41
|
+
.max(2048)
|
|
42
|
+
.regex(exports.CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN, 'Must be a valid IAM role ARN (e.g. arn:<partition>:iam::123456789012:role/MyOperatorRole)');
|
|
43
|
+
function isValidOperatorRoleArn(value) {
|
|
44
|
+
return exports.CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN.test(value);
|
|
45
|
+
}
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// Capacity Provider Attach (runtime -> capacity provider reference)
|
|
48
|
+
//
|
|
49
|
+
// A runtime attaches to a capacity provider via `capacityProviderConfiguration`.
|
|
50
|
+
// The reference is EITHER an in-project sibling (by name) OR an external CP (by
|
|
51
|
+
// ARN) — exactly one. At synth the CDK app resolves a sibling name to the created
|
|
52
|
+
// CP's ARN, or passes the ARN through, then injects
|
|
53
|
+
// CapacityProviderConfiguration.CapacityProviderArn onto the CfnRuntime.
|
|
54
|
+
//
|
|
55
|
+
// NOTE: This block is duplicated in @aws/agentcore-cdk. Keep the two in sync.
|
|
56
|
+
// ============================================================================
|
|
57
|
+
/**
|
|
58
|
+
* Partition-agnostic capacity-provider ARN (arn:[^:]+: per multi-partition rules). The resource
|
|
59
|
+
* segment is the service capacityProviderId — `{name}-{10 alnum}` — not a free-form string, so a
|
|
60
|
+
* malformed external ARN is rejected at `add`/validate time instead of only failing at deploy.
|
|
61
|
+
* Keep the id shape in sync with CAPACITY_PROVIDER_ID_PATTERN (cli/commands/capacity-provider/constants).
|
|
62
|
+
*/
|
|
63
|
+
exports.CAPACITY_PROVIDER_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\d{12}:capacity-provider\/[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10}$/;
|
|
64
|
+
exports.CapacityProviderArnSchema = zod_1.z
|
|
65
|
+
.string()
|
|
66
|
+
.regex(exports.CAPACITY_PROVIDER_ARN_PATTERN, 'Must be a valid bedrock-agentcore capacity provider ARN (…:capacity-provider/{name}-{10 alphanumerics})');
|
|
67
|
+
/**
|
|
68
|
+
* Route a `--capacity-provider <name-or-arn>` value: an `arn:` prefix means an
|
|
69
|
+
* external CP referenced by ARN, otherwise it is an in-project sibling name.
|
|
70
|
+
*/
|
|
71
|
+
function isCapacityProviderArn(value) {
|
|
72
|
+
return value.startsWith('arn:');
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Logical name of a capacity-provider volume, referenced by a runtime's
|
|
76
|
+
* `capacityProviderVolume` filesystem mount. Must match the name of a volume
|
|
77
|
+
* defined on the capacity provider (EbsVolumeConfiguration.name).
|
|
78
|
+
*/
|
|
79
|
+
exports.CapacityProviderVolumeNameSchema = zod_1.z
|
|
80
|
+
.string()
|
|
81
|
+
.min(1, 'Capacity provider volume name is required')
|
|
82
|
+
.max(48)
|
|
83
|
+
.regex(/^[a-zA-Z][a-zA-Z0-9_-]{0,47}$/, 'Volume name must begin with a letter and contain only alphanumerics, underscores, and hyphens (max 48 chars)');
|
|
84
|
+
/**
|
|
85
|
+
* Runtime -> capacity-provider reference. Exactly one of `capacityProviderArn`
|
|
86
|
+
* (external CP) or `capacityProviderName` (in-project sibling) must be set.
|
|
87
|
+
*/
|
|
88
|
+
exports.CapacityProviderConfigurationSchema = zod_1.z
|
|
89
|
+
.strictObject({
|
|
90
|
+
/** ARN of an external capacity provider (not defined in this project). */
|
|
91
|
+
capacityProviderArn: exports.CapacityProviderArnSchema.optional(),
|
|
92
|
+
/** Name of an in-project capacity provider (a `capacityProviders[]` sibling). */
|
|
93
|
+
capacityProviderName: exports.CapacityProviderNameSchema.optional(),
|
|
94
|
+
})
|
|
95
|
+
.superRefine((data, ctx) => {
|
|
96
|
+
if ((data.capacityProviderArn !== undefined) === (data.capacityProviderName !== undefined)) {
|
|
97
|
+
ctx.addIssue({
|
|
98
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
99
|
+
message: 'capacityProviderConfiguration must set exactly one of capacityProviderArn or capacityProviderName',
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
// ============================================================================
|
|
104
|
+
// Operating System
|
|
105
|
+
//
|
|
106
|
+
// The CFN resource enum lists four values (LINUX_X86_64, LINUX_ARM64,
|
|
107
|
+
// MAC_ARM64, WINDOWS_X86_64), but the service API contract only supports the
|
|
108
|
+
// two Linux values today; the extra two leaked into the CFN autogen ahead of
|
|
109
|
+
// real support. The CLI follows the API and exposes only the Linux values.
|
|
110
|
+
// ============================================================================
|
|
111
|
+
exports.OperatingSystemSchema = zod_1.z.enum(['LINUX_X86_64', 'LINUX_ARM64']);
|
|
112
|
+
// ============================================================================
|
|
113
|
+
// VPC Configuration
|
|
114
|
+
// ============================================================================
|
|
115
|
+
exports.VpcConfigurationSchema = zod_1.z.object({
|
|
116
|
+
subnets: zod_1.z
|
|
117
|
+
.array(zod_1.z.string().regex(/^subnet-[0-9a-zA-Z]{8,17}$/, 'Must be a valid subnet ID'))
|
|
118
|
+
.min(1, 'At least one subnet is required')
|
|
119
|
+
.max(16),
|
|
120
|
+
securityGroups: zod_1.z
|
|
121
|
+
.array(zod_1.z.string().regex(/^sg-[0-9a-zA-Z]{8,17}$/, 'Must be a valid security group ID'))
|
|
122
|
+
.min(1, 'At least one security group is required')
|
|
123
|
+
.max(16),
|
|
124
|
+
});
|
|
125
|
+
// ============================================================================
|
|
126
|
+
// Instance Requirements
|
|
127
|
+
// ============================================================================
|
|
128
|
+
exports.InstanceRequirementsSchema = zod_1.z.object({
|
|
129
|
+
allowedInstanceTypes: zod_1.z.array(zod_1.z.string().min(1).max(255)).min(1, 'At least one instance type is required').max(30),
|
|
130
|
+
});
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// Launch Parameters
|
|
133
|
+
//
|
|
134
|
+
// Known fields are typed; the long tail (sshKeyName, monitoring,
|
|
135
|
+
// licenseSpecifications, capacityReservationSpecification, ephemeralVolumes,
|
|
136
|
+
// propagatedTags) is accepted via `.passthrough()` and validated by CFN.
|
|
137
|
+
// ============================================================================
|
|
138
|
+
exports.LaunchParametersSchema = zod_1.z
|
|
139
|
+
.object({
|
|
140
|
+
operatingSystem: exports.OperatingSystemSchema,
|
|
141
|
+
instanceRequirements: exports.InstanceRequirementsSchema,
|
|
142
|
+
instanceProfileArn: zod_1.z
|
|
143
|
+
.string()
|
|
144
|
+
.regex(/^arn:[^:]+:iam::[0-9]{12}:instance-profile\/.+$/, 'Must be a valid IAM instance profile ARN')
|
|
145
|
+
.optional(),
|
|
146
|
+
})
|
|
147
|
+
.passthrough();
|
|
148
|
+
// ============================================================================
|
|
149
|
+
// EBS Volume Configuration
|
|
150
|
+
//
|
|
151
|
+
// Known fields typed; EBS long-tail tuning (iops, throughput, snapshotId) is
|
|
152
|
+
// accepted via `.passthrough()`.
|
|
153
|
+
// ============================================================================
|
|
154
|
+
exports.EbsVolumeConfigurationSchema = zod_1.z
|
|
155
|
+
.object({
|
|
156
|
+
name: zod_1.z
|
|
157
|
+
.string()
|
|
158
|
+
.min(1)
|
|
159
|
+
.max(48)
|
|
160
|
+
.regex(/^[a-zA-Z][a-zA-Z0-9_-]{0,47}$/, 'Volume name must begin with a letter and contain only alphanumerics, underscores, and hyphens (max 48 chars)'),
|
|
161
|
+
sizeGiB: zod_1.z.number().int().min(1).max(65536),
|
|
162
|
+
volumeType: zod_1.z.enum(['standard', 'io1', 'io2', 'gp2', 'sc1', 'st1', 'gp3']).optional(),
|
|
163
|
+
encrypted: zod_1.z.boolean().optional(),
|
|
164
|
+
kmsKeyId: zod_1.z
|
|
165
|
+
.string()
|
|
166
|
+
.regex(/^arn:[^:]+:kms:[a-z0-9-]+:[0-9]{12}:key\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/, 'Must be a valid KMS key ARN')
|
|
167
|
+
.optional(),
|
|
168
|
+
})
|
|
169
|
+
.passthrough();
|
|
170
|
+
exports.VolumeConfigurationSchema = zod_1.z.object({
|
|
171
|
+
ebsConfiguration: exports.EbsVolumeConfigurationSchema,
|
|
172
|
+
});
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// Instance Lifecycle Configuration
|
|
175
|
+
// ============================================================================
|
|
176
|
+
const LIFECYCLE_SECONDS_MIN = 60;
|
|
177
|
+
const LIFECYCLE_SECONDS_MAX = 1209600;
|
|
178
|
+
exports.InstanceLifecycleConfigurationSchema = zod_1.z.object({
|
|
179
|
+
idleInstanceTimeout: zod_1.z.number().int().min(LIFECYCLE_SECONDS_MIN).max(LIFECYCLE_SECONDS_MAX).optional(),
|
|
180
|
+
maxLifetime: zod_1.z.number().int().min(LIFECYCLE_SECONDS_MIN).max(LIFECYCLE_SECONDS_MAX).optional(),
|
|
181
|
+
});
|
|
182
|
+
// ============================================================================
|
|
183
|
+
// Compute Configuration
|
|
184
|
+
//
|
|
185
|
+
// `rootVolume` is accepted via `.passthrough()` on ec2Configuration (long-tail,
|
|
186
|
+
// service-managed).
|
|
187
|
+
// ============================================================================
|
|
188
|
+
exports.Ec2ConfigurationSchema = zod_1.z
|
|
189
|
+
.object({
|
|
190
|
+
launchTemplateSource: zod_1.z.object({
|
|
191
|
+
launchParameters: exports.LaunchParametersSchema,
|
|
192
|
+
}),
|
|
193
|
+
vpcConfiguration: exports.VpcConfigurationSchema,
|
|
194
|
+
volumes: zod_1.z.array(exports.VolumeConfigurationSchema).max(5).optional(),
|
|
195
|
+
lifecycleConfiguration: exports.InstanceLifecycleConfigurationSchema.optional(),
|
|
196
|
+
})
|
|
197
|
+
.passthrough();
|
|
198
|
+
exports.ComputeConfigurationSchema = zod_1.z.object({
|
|
199
|
+
ec2Configuration: exports.Ec2ConfigurationSchema,
|
|
200
|
+
});
|
|
201
|
+
// ============================================================================
|
|
202
|
+
// Capacity Provider Schema
|
|
203
|
+
// ============================================================================
|
|
204
|
+
exports.CapacityProviderSchema = zod_1.z.object({
|
|
205
|
+
/** Capacity provider name (immutable after creation). */
|
|
206
|
+
name: exports.CapacityProviderNameSchema,
|
|
207
|
+
/** Optional description (max 4096 chars). The only mutable field besides tags. */
|
|
208
|
+
description: zod_1.z.string().min(1).max(4096).optional(),
|
|
209
|
+
/**
|
|
210
|
+
* ARN of the IAM role AgentCore assumes to manage the capacity provider (immutable). Optional:
|
|
211
|
+
* when omitted, an operator role with the required trust policy and managed permissions is
|
|
212
|
+
* created automatically at deploy time.
|
|
213
|
+
*/
|
|
214
|
+
operatorRoleArn: exports.OperatorRoleArnSchema.optional(),
|
|
215
|
+
/** Compute resources for the capacity provider (immutable after creation). */
|
|
216
|
+
computeConfiguration: exports.ComputeConfigurationSchema,
|
|
217
|
+
/** Optional resource tags. */
|
|
218
|
+
tags: tags_1.TagsSchema.optional(),
|
|
219
|
+
});
|
|
220
|
+
//# sourceMappingURL=capacity-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacity-provider.js","sourceRoot":"","sources":["../../../../src/schema/schemas/primitives/capacity-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ConfigBundleNameSchema: z.ZodString;
|
|
3
|
+
export declare const ConfigBundleDescriptionSchema: z.ZodOptional<z.ZodString>;
|
|
4
|
+
/** Freeform configuration for a single component within a bundle. */
|
|
5
|
+
export declare const ComponentConfigurationSchema: z.ZodObject<{
|
|
6
|
+
configuration: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type ComponentConfiguration = z.infer<typeof ComponentConfigurationSchema>;
|
|
9
|
+
/**
|
|
10
|
+
* Map of component identifier (ARN or placeholder) to its configuration.
|
|
11
|
+
*
|
|
12
|
+
* Keys are typically resource ARNs (runtime ARN, gateway ARN) but may use
|
|
13
|
+
* placeholder tokens like `{{runtime:<runtimeName>}}` when the bundle is created
|
|
14
|
+
* before deploy and ARNs are not yet available.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ComponentConfigurationMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
17
|
+
configuration: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
export type ComponentConfigurationMap = z.infer<typeof ComponentConfigurationMapSchema>;
|
|
20
|
+
export declare const ConfigBundleSchema: z.ZodObject<{
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
type: z.ZodDefault<z.ZodLiteral<"ConfigurationBundle">>;
|
|
23
|
+
description: z.ZodOptional<z.ZodString>;
|
|
24
|
+
components: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
25
|
+
configuration: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
branchName: z.ZodOptional<z.ZodString>;
|
|
28
|
+
commitMessage: z.ZodOptional<z.ZodString>;
|
|
29
|
+
kmsKeyArn: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export type ConfigBundle = z.infer<typeof ConfigBundleSchema>;
|
|
32
|
+
//# sourceMappingURL=config-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-bundle.d.ts","sourceRoot":"","sources":["../../../../src/schema/schemas/primitives/config-bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB,aAOhC,CAAC;AAEJ,eAAO,MAAM,6BAA6B,4BAAwC,CAAC;AAEnF,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;kBAAqD,CAAC;AAElG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|