@aws/agentcore 1.0.0-preview.3 → 1.0.0-preview.31
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,185 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* OAuth grant type for an external gateway, matching the runtime/Smithy model.
|
|
4
|
+
* The harness runtime maps these to AgentCore Identity auth flows:
|
|
5
|
+
* CLIENT_CREDENTIALS -> M2M, AUTHORIZATION_CODE -> USER_FEDERATION, TOKEN_EXCHANGE -> TOKEN_EXCHANGE.
|
|
6
|
+
*/
|
|
7
|
+
export declare const GatewayGrantTypeSchema: z.ZodEnum<{
|
|
8
|
+
CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
|
|
9
|
+
AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
|
|
10
|
+
TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
|
|
11
|
+
}>;
|
|
12
|
+
export type GatewayGrantType = z.infer<typeof GatewayGrantTypeSchema>;
|
|
13
|
+
/**
|
|
14
|
+
* Outbound auth a caller uses to reach an external gateway. This is the union the
|
|
15
|
+
* gateway/harness runtime actually consumes — NOT the gateway's inbound authorizerType
|
|
16
|
+
* (which lives on the gateway resource and is invisible to an external caller).
|
|
17
|
+
* - awsIam: SigV4-sign with the execution role (grants InvokeGateway)
|
|
18
|
+
* - none: no auth
|
|
19
|
+
* - oauth: fetch an OAuth token via AgentCore Identity (grants token-fetch perms on
|
|
20
|
+
* the provider). All four oauth fields are consumed at runtime.
|
|
21
|
+
*/
|
|
22
|
+
export declare const GatewayOutboundAuthSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
23
|
+
awsIam: z.ZodObject<{}, z.core.$strict>;
|
|
24
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
25
|
+
none: z.ZodObject<{}, z.core.$strict>;
|
|
26
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
27
|
+
oauth: z.ZodObject<{
|
|
28
|
+
providerArn: z.ZodString;
|
|
29
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
30
|
+
grantType: z.ZodOptional<z.ZodEnum<{
|
|
31
|
+
CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
|
|
32
|
+
AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
|
|
33
|
+
TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
|
|
34
|
+
}>>;
|
|
35
|
+
customParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
36
|
+
}, z.core.$strict>;
|
|
37
|
+
}, z.core.$strict>]>;
|
|
38
|
+
export type GatewayOutboundAuth = z.infer<typeof GatewayOutboundAuthSchema>;
|
|
39
|
+
export declare const BROWSER_ARN_PATTERN: RegExp;
|
|
40
|
+
export declare const CODE_INTERPRETER_ARN_PATTERN: RegExp;
|
|
41
|
+
export declare const ConnectionTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
42
|
+
type: z.ZodLiteral<"memory">;
|
|
43
|
+
arn: z.ZodString;
|
|
44
|
+
namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
45
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
46
|
+
type: z.ZodLiteral<"gateway">;
|
|
47
|
+
arn: z.ZodString;
|
|
48
|
+
outboundAuth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
49
|
+
awsIam: z.ZodObject<{}, z.core.$strict>;
|
|
50
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
51
|
+
none: z.ZodObject<{}, z.core.$strict>;
|
|
52
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
53
|
+
oauth: z.ZodObject<{
|
|
54
|
+
providerArn: z.ZodString;
|
|
55
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
56
|
+
grantType: z.ZodOptional<z.ZodEnum<{
|
|
57
|
+
CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
|
|
58
|
+
AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
|
|
59
|
+
TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
|
|
60
|
+
}>>;
|
|
61
|
+
customParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
62
|
+
}, z.core.$strict>;
|
|
63
|
+
}, z.core.$strict>]>>;
|
|
64
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
65
|
+
type: z.ZodLiteral<"runtime">;
|
|
66
|
+
arn: z.ZodString;
|
|
67
|
+
exec: z.ZodOptional<z.ZodBoolean>;
|
|
68
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
69
|
+
type: z.ZodLiteral<"browser">;
|
|
70
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
72
|
+
type: z.ZodLiteral<"codeInterpreter">;
|
|
73
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
74
|
+
}, z.core.$strict>], "type">;
|
|
75
|
+
export type ConnectionTarget = z.infer<typeof ConnectionTargetSchema>;
|
|
76
|
+
/**
|
|
77
|
+
* A single connection from the enclosing principal to an external resource.
|
|
78
|
+
* `access` is meaningful only for memory (read | readwrite); ignored for invoke-only
|
|
79
|
+
* targets. Defaults to `read` (least-privilege).
|
|
80
|
+
*/
|
|
81
|
+
export declare const ConnectionSchema: z.ZodObject<{
|
|
82
|
+
id: z.ZodOptional<z.ZodString>;
|
|
83
|
+
to: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
84
|
+
type: z.ZodLiteral<"memory">;
|
|
85
|
+
arn: z.ZodString;
|
|
86
|
+
namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
87
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
88
|
+
type: z.ZodLiteral<"gateway">;
|
|
89
|
+
arn: z.ZodString;
|
|
90
|
+
outboundAuth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
91
|
+
awsIam: z.ZodObject<{}, z.core.$strict>;
|
|
92
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
93
|
+
none: z.ZodObject<{}, z.core.$strict>;
|
|
94
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
95
|
+
oauth: z.ZodObject<{
|
|
96
|
+
providerArn: z.ZodString;
|
|
97
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
98
|
+
grantType: z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
|
|
100
|
+
AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
|
|
101
|
+
TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
|
|
102
|
+
}>>;
|
|
103
|
+
customParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
104
|
+
}, z.core.$strict>;
|
|
105
|
+
}, z.core.$strict>]>>;
|
|
106
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
107
|
+
type: z.ZodLiteral<"runtime">;
|
|
108
|
+
arn: z.ZodString;
|
|
109
|
+
exec: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
111
|
+
type: z.ZodLiteral<"browser">;
|
|
112
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
114
|
+
type: z.ZodLiteral<"codeInterpreter">;
|
|
115
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
116
|
+
}, z.core.$strict>], "type">;
|
|
117
|
+
access: z.ZodOptional<z.ZodEnum<{
|
|
118
|
+
read: "read";
|
|
119
|
+
readwrite: "readwrite";
|
|
120
|
+
}>>;
|
|
121
|
+
description: z.ZodOptional<z.ZodString>;
|
|
122
|
+
}, z.core.$strict>;
|
|
123
|
+
export type Connection = z.infer<typeof ConnectionSchema>;
|
|
124
|
+
export declare const ConnectionsSchema: z.ZodArray<z.ZodObject<{
|
|
125
|
+
id: z.ZodOptional<z.ZodString>;
|
|
126
|
+
to: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
127
|
+
type: z.ZodLiteral<"memory">;
|
|
128
|
+
arn: z.ZodString;
|
|
129
|
+
namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
130
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
131
|
+
type: z.ZodLiteral<"gateway">;
|
|
132
|
+
arn: z.ZodString;
|
|
133
|
+
outboundAuth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
134
|
+
awsIam: z.ZodObject<{}, z.core.$strict>;
|
|
135
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
136
|
+
none: z.ZodObject<{}, z.core.$strict>;
|
|
137
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
138
|
+
oauth: z.ZodObject<{
|
|
139
|
+
providerArn: z.ZodString;
|
|
140
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
141
|
+
grantType: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
|
|
143
|
+
AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
|
|
144
|
+
TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
|
|
145
|
+
}>>;
|
|
146
|
+
customParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
147
|
+
}, z.core.$strict>;
|
|
148
|
+
}, z.core.$strict>]>>;
|
|
149
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
150
|
+
type: z.ZodLiteral<"runtime">;
|
|
151
|
+
arn: z.ZodString;
|
|
152
|
+
exec: z.ZodOptional<z.ZodBoolean>;
|
|
153
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
154
|
+
type: z.ZodLiteral<"browser">;
|
|
155
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
156
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
157
|
+
type: z.ZodLiteral<"codeInterpreter">;
|
|
158
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
159
|
+
}, z.core.$strict>], "type">;
|
|
160
|
+
access: z.ZodOptional<z.ZodEnum<{
|
|
161
|
+
read: "read";
|
|
162
|
+
readwrite: "readwrite";
|
|
163
|
+
}>>;
|
|
164
|
+
description: z.ZodOptional<z.ZodString>;
|
|
165
|
+
}, z.core.$strict>>;
|
|
166
|
+
/** Maximum length of a connection id (matches the ConnectionSchema id regex bound). */
|
|
167
|
+
export declare const CONNECTION_ID_MAX_LENGTH = 64;
|
|
168
|
+
/** Last segment of an ARN (the resource id): `memory/mem-123` -> `mem-123`. */
|
|
169
|
+
export declare function resourceIdFromArn(arn: string): string;
|
|
170
|
+
/**
|
|
171
|
+
* Stable connection id for an external target: `<kind>-<resourceId>`, sanitized to the schema id
|
|
172
|
+
* charset and length. Used as the connection's `id` AND as the basis for its discovery env-var
|
|
173
|
+
* token, so the name baked into generated code matches what deploy injects.
|
|
174
|
+
*/
|
|
175
|
+
export declare function connectionIdForTarget(target: ConnectionTarget): string;
|
|
176
|
+
/** Uppercase, underscore-safe token for env-var naming, derived from a connection id. */
|
|
177
|
+
export declare function connectionEnvToken(id: string): string;
|
|
178
|
+
/**
|
|
179
|
+
* Resolve the env-var token for a connection. Prefers the explicit `id`; otherwise derives the same
|
|
180
|
+
* `<kind>-<resourceId>` id the CLI would have assigned — so an id-less connection (schema permits it,
|
|
181
|
+
* e.g. a hand-authored config or a direct @aws/agentcore-cdk consumer) yields the SAME token on both
|
|
182
|
+
* sides instead of diverging.
|
|
183
|
+
*/
|
|
184
|
+
export declare function connectionTokenFor(connection: Connection): string;
|
|
185
|
+
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../src/schema/schemas/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;EAAyE,CAAC;AAC7G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;oBAepC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAW5E,eAAO,MAAM,mBAAmB,QAAgF,CAAC;AACjH,eAAO,MAAM,4BAA4B,QAC+C,CAAC;AAiDzF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUlB,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAA4B,CAAC;AAc3D,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAKtE;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAEjE"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONNECTION_ID_MAX_LENGTH = exports.ConnectionsSchema = exports.ConnectionSchema = exports.ConnectionTargetSchema = exports.CODE_INTERPRETER_ARN_PATTERN = exports.BROWSER_ARN_PATTERN = exports.GatewayOutboundAuthSchema = exports.GatewayGrantTypeSchema = void 0;
|
|
4
|
+
exports.resourceIdFromArn = resourceIdFromArn;
|
|
5
|
+
exports.connectionIdForTarget = connectionIdForTarget;
|
|
6
|
+
exports.connectionEnvToken = connectionEnvToken;
|
|
7
|
+
exports.connectionTokenFor = connectionTokenFor;
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Resource Connections
|
|
11
|
+
//
|
|
12
|
+
// A connection declares that a principal (an agent runtime or a harness) accesses
|
|
13
|
+
// an EXTERNAL AgentCore resource (a memory/gateway/runtime that is NOT part of this
|
|
14
|
+
// project). The construct generates the correct least-privilege IAM onto the
|
|
15
|
+
// principal's execution role AND injects the discovery env vars from each connection.
|
|
16
|
+
//
|
|
17
|
+
// Connections are embedded on the source resource (AgentEnvSpec.connections /
|
|
18
|
+
// HarnessSpec.connections); the enclosing resource IS the source, so there is no
|
|
19
|
+
// `from` field. In-project access remains implicit (all-to-all wiring) and is
|
|
20
|
+
// untouched — connections only ADD grants for external targets.
|
|
21
|
+
//
|
|
22
|
+
// FUTURE (additive, not in this milestone): targets gain an optional `name` to
|
|
23
|
+
// reference an in-project resource (managed reference + access gating); new target
|
|
24
|
+
// kinds (s3, secret) are added as union members.
|
|
25
|
+
// ============================================================================
|
|
26
|
+
/**
|
|
27
|
+
* OAuth grant type for an external gateway, matching the runtime/Smithy model.
|
|
28
|
+
* The harness runtime maps these to AgentCore Identity auth flows:
|
|
29
|
+
* CLIENT_CREDENTIALS -> M2M, AUTHORIZATION_CODE -> USER_FEDERATION, TOKEN_EXCHANGE -> TOKEN_EXCHANGE.
|
|
30
|
+
*/
|
|
31
|
+
exports.GatewayGrantTypeSchema = zod_1.z.enum(['CLIENT_CREDENTIALS', 'AUTHORIZATION_CODE', 'TOKEN_EXCHANGE']);
|
|
32
|
+
/**
|
|
33
|
+
* Outbound auth a caller uses to reach an external gateway. This is the union the
|
|
34
|
+
* gateway/harness runtime actually consumes — NOT the gateway's inbound authorizerType
|
|
35
|
+
* (which lives on the gateway resource and is invisible to an external caller).
|
|
36
|
+
* - awsIam: SigV4-sign with the execution role (grants InvokeGateway)
|
|
37
|
+
* - none: no auth
|
|
38
|
+
* - oauth: fetch an OAuth token via AgentCore Identity (grants token-fetch perms on
|
|
39
|
+
* the provider). All four oauth fields are consumed at runtime.
|
|
40
|
+
*/
|
|
41
|
+
exports.GatewayOutboundAuthSchema = zod_1.z.union([
|
|
42
|
+
zod_1.z.object({ awsIam: zod_1.z.object({}).strict() }).strict(),
|
|
43
|
+
zod_1.z.object({ none: zod_1.z.object({}).strict() }).strict(),
|
|
44
|
+
zod_1.z
|
|
45
|
+
.object({
|
|
46
|
+
oauth: zod_1.z
|
|
47
|
+
.object({
|
|
48
|
+
providerArn: zod_1.z.string().min(1),
|
|
49
|
+
scopes: zod_1.z.array(zod_1.z.string().min(1)),
|
|
50
|
+
grantType: exports.GatewayGrantTypeSchema.optional(),
|
|
51
|
+
customParameters: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
52
|
+
})
|
|
53
|
+
.strict(),
|
|
54
|
+
})
|
|
55
|
+
.strict(),
|
|
56
|
+
]);
|
|
57
|
+
// ---- Connection targets (external AgentCore resources, ARN-addressed) ----
|
|
58
|
+
// Partition-agnostic ARN prefix (arn:[^:]+:) per multi-partition rules.
|
|
59
|
+
const MEMORY_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\d{12}:memory\/.+$/;
|
|
60
|
+
const GATEWAY_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\d{12}:gateway\/.+$/;
|
|
61
|
+
const RUNTIME_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\d{12}:runtime\/.+$/;
|
|
62
|
+
// Browser / code-interpreter ARNs come in two legitimate resource-segment forms:
|
|
63
|
+
// - customer-owned (CreateBrowser/CreateCodeInterpreter): `<kind>-custom/<id>` with a 12-digit account
|
|
64
|
+
// - AWS-managed default (SYSTEM): `<kind>/<id>` with the `aws` account
|
|
65
|
+
exports.BROWSER_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:(\d{12}|aws):browser(-custom)?\/.+$/;
|
|
66
|
+
exports.CODE_INTERPRETER_ARN_PATTERN = /^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:(\d{12}|aws):code-interpreter(-custom)?\/.+$/;
|
|
67
|
+
const MemoryTargetSchema = zod_1.z
|
|
68
|
+
.object({
|
|
69
|
+
type: zod_1.z.literal('memory'),
|
|
70
|
+
arn: zod_1.z.string().regex(MEMORY_ARN_PATTERN, 'Must be a valid bedrock-agentcore memory ARN'),
|
|
71
|
+
/** Optional namespace templates to scope List/RetrieveMemoryRecords via the
|
|
72
|
+
* bedrock-agentcore:namespace / namespacePath condition keys. */
|
|
73
|
+
namespaces: zod_1.z.array(zod_1.z.string().min(1)).optional(),
|
|
74
|
+
})
|
|
75
|
+
.strict();
|
|
76
|
+
const GatewayTargetSchema = zod_1.z
|
|
77
|
+
.object({
|
|
78
|
+
type: zod_1.z.literal('gateway'),
|
|
79
|
+
arn: zod_1.z.string().regex(GATEWAY_ARN_PATTERN, 'Must be a valid bedrock-agentcore gateway ARN'),
|
|
80
|
+
/** How the caller authenticates outbound to the gateway. Defaults to awsIam (SigV4). */
|
|
81
|
+
outboundAuth: exports.GatewayOutboundAuthSchema.optional(),
|
|
82
|
+
})
|
|
83
|
+
.strict();
|
|
84
|
+
const RuntimeTargetSchema = zod_1.z
|
|
85
|
+
.object({
|
|
86
|
+
type: zod_1.z.literal('runtime'),
|
|
87
|
+
arn: zod_1.z.string().regex(RUNTIME_ARN_PATTERN, 'Must be a valid bedrock-agentcore runtime ARN'),
|
|
88
|
+
/** Also grant InvokeAgentRuntimeCommand (container exec) in addition to invoke. */
|
|
89
|
+
exec: zod_1.z.boolean().optional(),
|
|
90
|
+
})
|
|
91
|
+
.strict();
|
|
92
|
+
const BrowserTargetSchema = zod_1.z
|
|
93
|
+
.object({
|
|
94
|
+
type: zod_1.z.literal('browser'),
|
|
95
|
+
/** Customer-owned browser ARN. Omit to use the AWS-managed default browser. */
|
|
96
|
+
arn: zod_1.z.string().regex(exports.BROWSER_ARN_PATTERN, 'Must be a valid bedrock-agentcore browser ARN').optional(),
|
|
97
|
+
})
|
|
98
|
+
.strict();
|
|
99
|
+
const CodeInterpreterTargetSchema = zod_1.z
|
|
100
|
+
.object({
|
|
101
|
+
type: zod_1.z.literal('codeInterpreter'),
|
|
102
|
+
/** Customer-owned code-interpreter ARN. Omit to use the AWS-managed default. */
|
|
103
|
+
arn: zod_1.z
|
|
104
|
+
.string()
|
|
105
|
+
.regex(exports.CODE_INTERPRETER_ARN_PATTERN, 'Must be a valid bedrock-agentcore code-interpreter ARN')
|
|
106
|
+
.optional(),
|
|
107
|
+
})
|
|
108
|
+
.strict();
|
|
109
|
+
exports.ConnectionTargetSchema = zod_1.z.discriminatedUnion('type', [
|
|
110
|
+
MemoryTargetSchema,
|
|
111
|
+
GatewayTargetSchema,
|
|
112
|
+
RuntimeTargetSchema,
|
|
113
|
+
BrowserTargetSchema,
|
|
114
|
+
CodeInterpreterTargetSchema,
|
|
115
|
+
]);
|
|
116
|
+
/**
|
|
117
|
+
* A single connection from the enclosing principal to an external resource.
|
|
118
|
+
* `access` is meaningful only for memory (read | readwrite); ignored for invoke-only
|
|
119
|
+
* targets. Defaults to `read` (least-privilege).
|
|
120
|
+
*/
|
|
121
|
+
exports.ConnectionSchema = zod_1.z
|
|
122
|
+
.object({
|
|
123
|
+
id: zod_1.z
|
|
124
|
+
.string()
|
|
125
|
+
.regex(/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/, 'Connection id must match [a-zA-Z][a-zA-Z0-9_-]{0,63}')
|
|
126
|
+
.optional(),
|
|
127
|
+
to: exports.ConnectionTargetSchema,
|
|
128
|
+
access: zod_1.z.enum(['read', 'readwrite']).optional(),
|
|
129
|
+
description: zod_1.z.string().max(200).optional(),
|
|
130
|
+
})
|
|
131
|
+
.strict();
|
|
132
|
+
exports.ConnectionsSchema = zod_1.z.array(exports.ConnectionSchema);
|
|
133
|
+
// ============================================================================
|
|
134
|
+
// Connection discovery env-var naming — SINGLE SOURCE OF TRUTH.
|
|
135
|
+
//
|
|
136
|
+
// The discovery env var (e.g. MEMORY_<TOKEN>_ID, GATEWAY_<TOKEN>_URL) is the handshake between the
|
|
137
|
+
// CLI export (which bakes the NAME into the generated agent code) and the CDK deploy (which injects
|
|
138
|
+
// the VALUE onto the runtime). Both sides MUST compute the identical <TOKEN>, so the token derivation
|
|
139
|
+
// lives here — the one file already kept in lockstep across the CLI and @aws/agentcore-cdk repos.
|
|
140
|
+
// `connectionEnvToken` is used by `harness-mapper` (CLI) and `connectionTokenFor` by
|
|
141
|
+
// `wire-connections` (CDK); do not re-implement the token derivation. Each side then assembles the
|
|
142
|
+
// final `<PREFIX>_<TOKEN>_<SUFFIX>` name inline (the prefixes/suffixes differ per resource kind).
|
|
143
|
+
// ============================================================================
|
|
144
|
+
/** Maximum length of a connection id (matches the ConnectionSchema id regex bound). */
|
|
145
|
+
exports.CONNECTION_ID_MAX_LENGTH = 64;
|
|
146
|
+
/** Last segment of an ARN (the resource id): `memory/mem-123` -> `mem-123`. */
|
|
147
|
+
function resourceIdFromArn(arn) {
|
|
148
|
+
const afterColon = arn.split(':').pop() ?? arn;
|
|
149
|
+
const slash = afterColon.lastIndexOf('/');
|
|
150
|
+
return slash >= 0 ? afterColon.slice(slash + 1) : afterColon;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Stable connection id for an external target: `<kind>-<resourceId>`, sanitized to the schema id
|
|
154
|
+
* charset and length. Used as the connection's `id` AND as the basis for its discovery env-var
|
|
155
|
+
* token, so the name baked into generated code matches what deploy injects.
|
|
156
|
+
*/
|
|
157
|
+
function connectionIdForTarget(target) {
|
|
158
|
+
const suffix = 'arn' in target && target.arn ? resourceIdFromArn(target.arn) : target.type;
|
|
159
|
+
const id = `${target.type}-${suffix}`;
|
|
160
|
+
// Conform to ConnectionSchema id regex: start with a letter, then [a-zA-Z0-9_-], max length.
|
|
161
|
+
return id.replace(/[^a-zA-Z0-9_-]/g, '-').slice(0, exports.CONNECTION_ID_MAX_LENGTH);
|
|
162
|
+
}
|
|
163
|
+
/** Uppercase, underscore-safe token for env-var naming, derived from a connection id. */
|
|
164
|
+
function connectionEnvToken(id) {
|
|
165
|
+
return id.toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resolve the env-var token for a connection. Prefers the explicit `id`; otherwise derives the same
|
|
169
|
+
* `<kind>-<resourceId>` id the CLI would have assigned — so an id-less connection (schema permits it,
|
|
170
|
+
* e.g. a hand-authored config or a direct @aws/agentcore-cdk consumer) yields the SAME token on both
|
|
171
|
+
* sides instead of diverging.
|
|
172
|
+
*/
|
|
173
|
+
function connectionTokenFor(connection) {
|
|
174
|
+
return connectionEnvToken(connection.id ?? connectionIdForTarget(connection.to));
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=connections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/schema/schemas/connections.ts"],"names":[],"mappings":"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"}
|