@aws/agentcore 1.0.0-preview.2 → 1.0.0-preview.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +193 -33
- package/dist/agent-inspector/index.css +1 -1
- package/dist/agent-inspector/index.js +99 -84
- package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +3132 -366
- package/dist/assets/__tests__/__snapshots__/dockerfile-render.test.ts.snap +6 -2
- package/dist/assets/__tests__/assets.snapshot.test.ts +10 -24
- package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
- package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
- package/dist/assets/agents/AGENTS.md +87 -11
- package/dist/assets/cdk/bin/cdk.ts +87 -26
- package/dist/assets/cdk/lib/cdk-stack.ts +185 -55
- package/dist/assets/cdk/package.json +1 -1
- package/dist/assets/cdk/test/cdk.test.ts +4 -0
- package/dist/assets/container/python/Dockerfile +7 -1
- package/dist/assets/container/typescript/Dockerfile +25 -0
- package/dist/assets/container/typescript/dockerignore.template +24 -0
- package/dist/assets/datasets/predefined-v1.jsonl +3 -0
- package/dist/assets/datasets/simulated-v1.jsonl +3 -0
- package/dist/assets/python/a2a/googleadk/base/main.py +24 -16
- package/dist/assets/python/a2a/googleadk/base/pyproject.toml +3 -3
- package/dist/assets/python/a2a/langchain_langgraph/base/main.py +24 -16
- package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +3 -2
- package/dist/assets/python/a2a/strands/base/main.py +23 -17
- package/dist/assets/python/a2a/strands/base/pyproject.toml +2 -2
- package/dist/assets/python/a2a/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/agui/googleadk/base/main.py +62 -2
- package/dist/assets/python/agui/googleadk/base/pyproject.toml +3 -3
- package/dist/assets/python/agui/langchain_langgraph/base/main.py +56 -0
- package/dist/assets/python/agui/langchain_langgraph/base/pyproject.toml +2 -1
- package/dist/assets/python/agui/strands/base/main.py +63 -1
- package/dist/assets/python/agui/strands/base/pyproject.toml +1 -1
- package/dist/assets/python/agui/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/http/autogen/base/main.py +60 -29
- package/dist/assets/python/http/autogen/base/pyproject.toml +1 -1
- package/dist/assets/python/http/googleadk/base/main.py +69 -24
- package/dist/assets/python/http/googleadk/base/mcp_client/client.py +7 -7
- package/dist/assets/python/http/googleadk/base/pyproject.toml +2 -1
- package/dist/assets/python/http/langchain_langgraph/base/main.py +115 -24
- package/dist/assets/python/http/langchain_langgraph/base/mcp_client/client.py +10 -8
- package/dist/assets/python/http/langchain_langgraph/base/pyproject.toml +3 -2
- package/dist/assets/python/http/openaiagents/base/main.py +61 -32
- package/dist/assets/python/http/openaiagents/base/mcp_client/client.py +4 -4
- package/dist/assets/python/http/openaiagents/base/pyproject.toml +2 -2
- package/dist/assets/python/http/strands/base/main.py +571 -47
- package/dist/assets/python/http/strands/base/mcp_client/client.py +49 -6
- package/dist/assets/python/http/strands/base/model/load.py +119 -3
- package/dist/assets/python/http/strands/base/model/mantle_compat.py +21 -0
- package/dist/assets/python/http/strands/base/pyproject.toml +9 -3
- package/dist/assets/python/http/strands/base/skills/fetcher.py +279 -0
- package/dist/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
- package/dist/assets/python/http/strands/capabilities/memory/session.py +10 -2
- package/dist/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
- package/dist/assets/python/http/strands/capabilities/payments/payments.py +142 -0
- package/dist/assets/python/mcp/standalone/base/main.py +58 -0
- package/dist/assets/typescript/http/strands/base/README.md +37 -0
- package/dist/assets/typescript/http/strands/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/strands/base/main.ts +144 -0
- package/dist/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
- package/dist/assets/typescript/http/strands/base/model/load.ts +102 -0
- package/dist/assets/typescript/http/strands/base/package.json +38 -0
- package/dist/assets/typescript/http/strands/base/tsconfig.json +19 -0
- package/dist/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
- package/dist/assets/typescript/http/vercelai/base/README.md +37 -0
- package/dist/assets/typescript/http/vercelai/base/gitignore.template +22 -0
- package/dist/assets/typescript/http/vercelai/base/main.ts +64 -0
- package/dist/assets/typescript/http/vercelai/base/model/load.ts +121 -0
- package/dist/assets/typescript/http/vercelai/base/package.json +35 -0
- package/dist/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
- package/dist/cli/index.mjs +1443 -569
- package/dist/lib/constants.d.ts +8 -4
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +13 -7
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/errors/index.d.ts +1 -1
- package/dist/lib/errors/index.d.ts.map +1 -1
- package/dist/lib/errors/index.js +1 -1
- package/dist/lib/errors/index.js.map +1 -1
- package/dist/lib/errors/types.d.ts +259 -0
- package/dist/lib/errors/types.d.ts.map +1 -0
- package/dist/lib/errors/types.js +402 -0
- package/dist/lib/errors/types.js.map +1 -0
- package/dist/lib/errors/zod.d.ts +8 -0
- package/dist/lib/errors/zod.d.ts.map +1 -0
- package/dist/lib/errors/{config.js → zod.js} +8 -81
- package/dist/lib/errors/zod.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/packaging/build-args.d.ts +6 -0
- package/dist/lib/packaging/build-args.d.ts.map +1 -1
- package/dist/lib/packaging/build-args.js +11 -2
- package/dist/lib/packaging/build-args.js.map +1 -1
- package/dist/lib/packaging/build-context-dockerignore.d.ts +23 -0
- package/dist/lib/packaging/build-context-dockerignore.d.ts.map +1 -0
- package/dist/lib/packaging/build-context-dockerignore.js +63 -0
- package/dist/lib/packaging/build-context-dockerignore.js.map +1 -0
- package/dist/lib/packaging/build-context.d.ts +21 -0
- package/dist/lib/packaging/build-context.d.ts.map +1 -0
- package/dist/lib/packaging/build-context.js +21 -0
- package/dist/lib/packaging/build-context.js.map +1 -0
- package/dist/lib/packaging/container.d.ts.map +1 -1
- package/dist/lib/packaging/container.js +20 -9
- package/dist/lib/packaging/container.js.map +1 -1
- package/dist/lib/packaging/helpers.d.ts +16 -0
- package/dist/lib/packaging/helpers.d.ts.map +1 -1
- package/dist/lib/packaging/helpers.js +127 -29
- package/dist/lib/packaging/helpers.js.map +1 -1
- package/dist/lib/packaging/index.d.ts +2 -1
- package/dist/lib/packaging/index.d.ts.map +1 -1
- package/dist/lib/packaging/index.js +9 -20
- package/dist/lib/packaging/index.js.map +1 -1
- package/dist/lib/packaging/node.d.ts +2 -2
- package/dist/lib/packaging/node.d.ts.map +1 -1
- package/dist/lib/packaging/node.js +83 -38
- package/dist/lib/packaging/node.js.map +1 -1
- package/dist/lib/packaging/python.js +12 -12
- package/dist/lib/packaging/python.js.map +1 -1
- package/dist/lib/result.d.ts +50 -0
- package/dist/lib/result.d.ts.map +1 -0
- package/dist/lib/result.js +49 -0
- package/dist/lib/result.js.map +1 -0
- package/dist/lib/schemas/io/config-io.d.ts +8 -0
- package/dist/lib/schemas/io/config-io.d.ts.map +1 -1
- package/dist/lib/schemas/io/config-io.js +21 -3
- package/dist/lib/schemas/io/config-io.js.map +1 -1
- package/dist/lib/schemas/io/global-config.d.ts +40 -0
- package/dist/lib/schemas/io/global-config.d.ts.map +1 -0
- package/dist/lib/schemas/io/global-config.js +118 -0
- package/dist/lib/schemas/io/global-config.js.map +1 -0
- package/dist/lib/schemas/io/index.d.ts +1 -2
- package/dist/lib/schemas/io/index.d.ts.map +1 -1
- package/dist/lib/schemas/io/index.js +1 -4
- package/dist/lib/schemas/io/index.js.map +1 -1
- package/dist/lib/schemas/io/path-resolver.d.ts +0 -6
- package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -1
- package/dist/lib/schemas/io/path-resolver.js +3 -13
- package/dist/lib/schemas/io/path-resolver.js.map +1 -1
- package/dist/lib/secrets/cipher.d.ts +12 -0
- package/dist/lib/secrets/cipher.d.ts.map +1 -0
- package/dist/lib/secrets/cipher.js +54 -0
- package/dist/lib/secrets/cipher.js.map +1 -0
- package/dist/lib/secrets/index.d.ts +4 -0
- package/dist/lib/secrets/index.d.ts.map +1 -0
- package/dist/lib/secrets/index.js +15 -0
- package/dist/lib/secrets/index.js.map +1 -0
- package/dist/lib/secrets/key-provider.d.ts +16 -0
- package/dist/lib/secrets/key-provider.d.ts.map +1 -0
- package/dist/lib/secrets/key-provider.js +191 -0
- package/dist/lib/secrets/key-provider.js.map +1 -0
- package/dist/lib/secrets/sensitive-keys.d.ts +21 -0
- package/dist/lib/secrets/sensitive-keys.d.ts.map +1 -0
- package/dist/lib/secrets/sensitive-keys.js +67 -0
- package/dist/lib/secrets/sensitive-keys.js.map +1 -0
- package/dist/lib/time-constants.d.ts +5 -0
- package/dist/lib/time-constants.d.ts.map +1 -0
- package/dist/lib/time-constants.js +8 -0
- package/dist/lib/time-constants.js.map +1 -0
- package/dist/lib/utils/env.d.ts +8 -2
- package/dist/lib/utils/env.d.ts.map +1 -1
- package/dist/lib/utils/env.js +65 -17
- package/dist/lib/utils/env.js.map +1 -1
- package/dist/lib/utils/index.d.ts +3 -2
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +6 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/polling.d.ts +31 -0
- package/dist/lib/utils/polling.d.ts.map +1 -0
- package/dist/lib/utils/polling.js +61 -0
- package/dist/lib/utils/polling.js.map +1 -0
- package/dist/lib/utils/zod.d.ts +16 -0
- package/dist/lib/utils/zod.d.ts.map +1 -1
- package/dist/lib/utils/zod.js +45 -0
- package/dist/lib/utils/zod.js.map +1 -1
- package/dist/schema/constants.d.ts +56 -2
- package/dist/schema/constants.d.ts.map +1 -1
- package/dist/schema/constants.js +82 -7
- package/dist/schema/constants.js.map +1 -1
- package/dist/schema/schemas/agent-env.d.ts +178 -6
- package/dist/schema/schemas/agent-env.d.ts.map +1 -1
- package/dist/schema/schemas/agent-env.js +302 -27
- package/dist/schema/schemas/agent-env.js.map +1 -1
- package/dist/schema/schemas/agentcore-project.d.ts +450 -11
- package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
- package/dist/schema/schemas/agentcore-project.js +283 -18
- package/dist/schema/schemas/agentcore-project.js.map +1 -1
- package/dist/schema/schemas/auth.d.ts +174 -0
- package/dist/schema/schemas/auth.d.ts.map +1 -1
- package/dist/schema/schemas/auth.js +127 -3
- package/dist/schema/schemas/auth.js.map +1 -1
- package/dist/schema/schemas/aws-targets.d.ts +12 -0
- package/dist/schema/schemas/aws-targets.d.ts.map +1 -1
- package/dist/schema/schemas/aws-targets.js +4 -0
- package/dist/schema/schemas/aws-targets.js.map +1 -1
- package/dist/schema/schemas/connections.d.ts +185 -0
- package/dist/schema/schemas/connections.d.ts.map +1 -0
- package/dist/schema/schemas/connections.js +176 -0
- package/dist/schema/schemas/connections.js.map +1 -0
- package/dist/schema/schemas/deployed-state.d.ts +361 -5
- package/dist/schema/schemas/deployed-state.d.ts.map +1 -1
- package/dist/schema/schemas/deployed-state.js +105 -2
- package/dist/schema/schemas/deployed-state.js.map +1 -1
- package/dist/schema/schemas/index.d.ts +1 -0
- package/dist/schema/schemas/index.d.ts.map +1 -1
- package/dist/schema/schemas/index.js +1 -0
- package/dist/schema/schemas/index.js.map +1 -1
- package/dist/schema/schemas/mcp-defs.d.ts +2 -1
- package/dist/schema/schemas/mcp-defs.d.ts.map +1 -1
- package/dist/schema/schemas/mcp-defs.js +3 -2
- package/dist/schema/schemas/mcp-defs.js.map +1 -1
- package/dist/schema/schemas/mcp.d.ts +199 -0
- package/dist/schema/schemas/mcp.d.ts.map +1 -1
- package/dist/schema/schemas/mcp.js +343 -6
- package/dist/schema/schemas/mcp.js.map +1 -1
- package/dist/schema/schemas/primitives/ab-test.d.ts +135 -0
- package/dist/schema/schemas/primitives/ab-test.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/ab-test.js +95 -0
- package/dist/schema/schemas/primitives/ab-test.js.map +1 -0
- package/dist/schema/schemas/primitives/config-bundle.d.ts +32 -0
- package/dist/schema/schemas/primitives/config-bundle.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/config-bundle.js +41 -0
- package/dist/schema/schemas/primitives/config-bundle.js.map +1 -0
- package/dist/schema/schemas/primitives/dataset.d.ts +48 -0
- package/dist/schema/schemas/primitives/dataset.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/dataset.js +58 -0
- package/dist/schema/schemas/primitives/dataset.js.map +1 -0
- package/dist/schema/schemas/primitives/evaluator.d.ts +8 -0
- package/dist/schema/schemas/primitives/evaluator.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/evaluator.js +17 -1
- package/dist/schema/schemas/primitives/evaluator.js.map +1 -1
- package/dist/schema/schemas/primitives/harness.d.ts +377 -19
- package/dist/schema/schemas/primitives/harness.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/harness.js +379 -24
- package/dist/schema/schemas/primitives/harness.js.map +1 -1
- package/dist/schema/schemas/primitives/index.d.ts +13 -7
- package/dist/schema/schemas/primitives/index.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/index.js +37 -1
- package/dist/schema/schemas/primitives/index.js.map +1 -1
- package/dist/schema/schemas/primitives/knowledge-base.d.ts +104 -0
- package/dist/schema/schemas/primitives/knowledge-base.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/knowledge-base.js +99 -0
- package/dist/schema/schemas/primitives/knowledge-base.js.map +1 -0
- package/dist/schema/schemas/primitives/memory.d.ts +22 -4
- package/dist/schema/schemas/primitives/memory.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/memory.js +57 -16
- package/dist/schema/schemas/primitives/memory.js.map +1 -1
- package/dist/schema/schemas/primitives/online-eval-config.d.ts +21 -2
- package/dist/schema/schemas/primitives/online-eval-config.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/online-eval-config.js +45 -5
- package/dist/schema/schemas/primitives/online-eval-config.js.map +1 -1
- package/dist/schema/schemas/primitives/payment.d.ts +54 -0
- package/dist/schema/schemas/primitives/payment.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/payment.js +79 -0
- package/dist/schema/schemas/primitives/payment.js.map +1 -0
- package/dist/schema/schemas/primitives/policy.d.ts +26 -0
- package/dist/schema/schemas/primitives/policy.d.ts.map +1 -1
- package/dist/schema/schemas/primitives/policy.js +5 -1
- package/dist/schema/schemas/primitives/policy.js.map +1 -1
- package/npm-shrinkwrap.json +17013 -0
- package/package.json +43 -21
- package/scripts/bump-version.ts +4 -4
- package/scripts/bundle.mjs +70 -41
- package/scripts/extract-cli-model.mjs +228 -0
- package/scripts/render_adoc.py +274 -0
- package/scripts/run-e2e-dev.sh +56 -0
- package/scripts/run-e2e-local.sh +145 -0
- package/dist/lib/errors/config.d.ts +0 -49
- package/dist/lib/errors/config.d.ts.map +0 -1
- package/dist/lib/errors/config.js.map +0 -1
- package/dist/lib/packaging/errors.d.ts +0 -16
- package/dist/lib/packaging/errors.d.ts.map +0 -1
- package/dist/lib/packaging/errors.js +0 -36
- package/dist/lib/packaging/errors.js.map +0 -1
- package/dist/lib/schemas/io/cli-config.d.ts +0 -12
- package/dist/lib/schemas/io/cli-config.d.ts.map +0 -1
- package/dist/lib/schemas/io/cli-config.js +0 -35
- package/dist/lib/schemas/io/cli-config.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.poll = poll;
|
|
4
|
+
exports.isThrottlingError = isThrottlingError;
|
|
5
|
+
const types_js_1 = require("../errors/types.js");
|
|
6
|
+
async function poll(options) {
|
|
7
|
+
const { fn, maxAttempts, timeoutMs, delayMs = 5000, backoffFactor = 1, maxDelayMs, maxConsecutiveErrors, onError, } = options;
|
|
8
|
+
if (maxAttempts === undefined && timeoutMs === undefined) {
|
|
9
|
+
throw new Error('poll() requires at least one of maxAttempts or timeoutMs');
|
|
10
|
+
}
|
|
11
|
+
const start = Date.now();
|
|
12
|
+
let attempts = 0;
|
|
13
|
+
let consecutiveErrors = 0;
|
|
14
|
+
let currentDelay = delayMs;
|
|
15
|
+
let lastError = undefined;
|
|
16
|
+
while (true) {
|
|
17
|
+
if (maxAttempts !== undefined && attempts >= maxAttempts) {
|
|
18
|
+
throw new types_js_1.PollExhaustedError(maxAttempts, { cause: lastError });
|
|
19
|
+
}
|
|
20
|
+
if (timeoutMs !== undefined && Date.now() - start >= timeoutMs) {
|
|
21
|
+
throw new types_js_1.PollTimeoutError(timeoutMs, { cause: lastError });
|
|
22
|
+
}
|
|
23
|
+
attempts++;
|
|
24
|
+
try {
|
|
25
|
+
const result = await fn();
|
|
26
|
+
consecutiveErrors = 0;
|
|
27
|
+
if (result.done)
|
|
28
|
+
return result.value;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
const action = onError ? onError(err) : 'retry';
|
|
32
|
+
if (action === 'abort')
|
|
33
|
+
throw err;
|
|
34
|
+
lastError = err;
|
|
35
|
+
consecutiveErrors++;
|
|
36
|
+
if (maxConsecutiveErrors && consecutiveErrors >= maxConsecutiveErrors) {
|
|
37
|
+
throw new types_js_1.PollExhaustedError(attempts, { cause: lastError });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Don't sleep if we're about to exceed timeout
|
|
41
|
+
if (timeoutMs !== undefined && Date.now() - start + currentDelay >= timeoutMs) {
|
|
42
|
+
throw new types_js_1.PollTimeoutError(timeoutMs, { cause: lastError });
|
|
43
|
+
}
|
|
44
|
+
await new Promise(resolve => setTimeout(resolve, currentDelay));
|
|
45
|
+
currentDelay = maxDelayMs ? Math.min(currentDelay * backoffFactor, maxDelayMs) : currentDelay * backoffFactor;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** Check if an error is an AWS throttling/rate-limit error. */
|
|
49
|
+
function isThrottlingError(err) {
|
|
50
|
+
if (err == null || typeof err !== 'object')
|
|
51
|
+
return false;
|
|
52
|
+
const name = err.name ?? '';
|
|
53
|
+
const message = err.message ?? '';
|
|
54
|
+
return (name === 'ThrottlingException' ||
|
|
55
|
+
name === 'Throttling' ||
|
|
56
|
+
name === 'TooManyRequestsException' ||
|
|
57
|
+
name === 'RequestLimitExceeded' ||
|
|
58
|
+
message.includes('Rate exceeded') ||
|
|
59
|
+
message.includes('Throttling'));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=polling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../src/lib/utils/polling.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils/zod.d.ts
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import type { AgentCoreProjectSpec, AgentEnvSpec } from '../../schema';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export interface ResilientParseOptions {
|
|
4
|
+
/** Value to use when a field fails validation. Default: undefined */
|
|
5
|
+
fallback?: string | number | boolean;
|
|
6
|
+
/** Include schema keys not present in data, set to fallback value. Default: false */
|
|
7
|
+
fillMissing?: boolean;
|
|
8
|
+
/** Preserve keys in data not defined in the schema. Default: true */
|
|
9
|
+
keepUnknown?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Recursively parse data against a Zod object schema, field by field.
|
|
13
|
+
* Invalid fields fall back to a default value rather than throwing.
|
|
14
|
+
* Nested ZodObjects are parsed recursively.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export declare function resilientParse<T extends z.ZodObject<z.ZodRawShape>>(schema: T, data: Record<string, unknown>, options?: ResilientParseOptions): Partial<z.infer<T>>;
|
|
2
18
|
/**
|
|
3
19
|
* Pass agent spec through zod validator
|
|
4
20
|
* @param spec Agent spec to validate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EACjE,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA0BrB;AAUD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,CAOzE"}
|
package/dist/lib/utils/zod.js
CHANGED
|
@@ -1,8 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resilientParse = resilientParse;
|
|
3
4
|
exports.validateAgentSchema = validateAgentSchema;
|
|
4
5
|
exports.validateProjectSchema = validateProjectSchema;
|
|
5
6
|
const schema_1 = require("../../schema");
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
/**
|
|
9
|
+
* Recursively parse data against a Zod object schema, field by field.
|
|
10
|
+
* Invalid fields fall back to a default value rather than throwing.
|
|
11
|
+
* Nested ZodObjects are parsed recursively.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
function resilientParse(schema, data, options = {}) {
|
|
15
|
+
if (data == null || typeof data !== 'object' || Array.isArray(data))
|
|
16
|
+
return {};
|
|
17
|
+
const { fallback, fillMissing = false, keepUnknown = true } = options;
|
|
18
|
+
const result = {};
|
|
19
|
+
for (const [key, field] of Object.entries(schema.shape)) {
|
|
20
|
+
if (!(key in data)) {
|
|
21
|
+
if (fillMissing)
|
|
22
|
+
result[key] = fallback;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const value = data[key];
|
|
26
|
+
const inner = unwrapZodType(field);
|
|
27
|
+
if (inner instanceof zod_1.z.ZodObject && value != null && typeof value === 'object' && !Array.isArray(value)) {
|
|
28
|
+
result[key] = resilientParse(inner, value, options);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const parsed = field.safeParse(value);
|
|
32
|
+
result[key] = parsed.success ? parsed.data : fallback;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (keepUnknown) {
|
|
36
|
+
for (const key of Object.keys(data)) {
|
|
37
|
+
if (!(key in schema.shape)) {
|
|
38
|
+
result[key] = data[key];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
/** Unwrap ZodOptional, ZodNullable, and ZodDefault to get the inner type. */
|
|
45
|
+
function unwrapZodType(field) {
|
|
46
|
+
while (field instanceof zod_1.z.ZodOptional || field instanceof zod_1.z.ZodNullable || field instanceof zod_1.z.ZodDefault) {
|
|
47
|
+
field = field.unwrap();
|
|
48
|
+
}
|
|
49
|
+
return field;
|
|
50
|
+
}
|
|
6
51
|
/**
|
|
7
52
|
* Pass agent spec through zod validator
|
|
8
53
|
* @param spec Agent spec to validate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare const SDKFrameworkSchema: z.ZodEnum<{
|
|
|
4
4
|
LangChain_LangGraph: "LangChain_LangGraph";
|
|
5
5
|
GoogleADK: "GoogleADK";
|
|
6
6
|
OpenAIAgents: "OpenAIAgents";
|
|
7
|
+
VercelAI: "VercelAI";
|
|
7
8
|
}>;
|
|
8
9
|
export type SDKFramework = z.infer<typeof SDKFrameworkSchema>;
|
|
9
10
|
export declare const TargetLanguageSchema: z.ZodEnum<{
|
|
@@ -17,10 +18,11 @@ export declare const ModelProviderSchema: z.ZodEnum<{
|
|
|
17
18
|
Gemini: "Gemini";
|
|
18
19
|
OpenAI: "OpenAI";
|
|
19
20
|
Anthropic: "Anthropic";
|
|
21
|
+
LiteLLM: "LiteLLM";
|
|
20
22
|
}>;
|
|
21
23
|
export type ModelProvider = z.infer<typeof ModelProviderSchema>;
|
|
22
|
-
/** Providers that use credentials (Bedrock uses IAM, no credential needed). */
|
|
23
|
-
export declare const CREDENTIAL_PROVIDERS: readonly ["Gemini", "OpenAI", "Anthropic"];
|
|
24
|
+
/** Providers that use credentials (Bedrock uses IAM, no credential needed). LiteLLM's API key is optional. */
|
|
25
|
+
export declare const CREDENTIAL_PROVIDERS: readonly ["Gemini", "OpenAI", "Anthropic", "LiteLLM"];
|
|
24
26
|
/**
|
|
25
27
|
* Case-insensitively match a user-provided value against a Zod enum's options.
|
|
26
28
|
* Returns the canonical (correctly-cased) value, or undefined if no match.
|
|
@@ -78,6 +80,8 @@ export declare const NodeRuntimeSchema: z.ZodEnum<{
|
|
|
78
80
|
NODE_22: "NODE_22";
|
|
79
81
|
}>;
|
|
80
82
|
export type NodeRuntime = z.infer<typeof NodeRuntimeSchema>;
|
|
83
|
+
/** Default Node.js runtime version for new TypeScript agents */
|
|
84
|
+
export declare const DEFAULT_NODE_VERSION: NodeRuntime;
|
|
81
85
|
/** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
|
|
82
86
|
export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
83
87
|
PYTHON_3_10: "PYTHON_3_10";
|
|
@@ -91,11 +95,41 @@ export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
91
95
|
NODE_22: "NODE_22";
|
|
92
96
|
}>]>;
|
|
93
97
|
export type RuntimeVersion = z.infer<typeof RuntimeVersionSchema>;
|
|
98
|
+
/** Default entrypoint filename for each target language (create path). */
|
|
99
|
+
export declare const DEFAULT_ENTRYPOINT_BY_LANGUAGE: Record<'Python' | 'TypeScript', string>;
|
|
100
|
+
/** Default runtime version for each target language (create path). */
|
|
101
|
+
export declare const DEFAULT_RUNTIME_BY_LANGUAGE: Record<'Python' | 'TypeScript', RuntimeVersion>;
|
|
94
102
|
export declare const NetworkModeSchema: z.ZodEnum<{
|
|
95
103
|
PUBLIC: "PUBLIC";
|
|
96
104
|
VPC: "VPC";
|
|
97
105
|
}>;
|
|
98
106
|
export type NetworkMode = z.infer<typeof NetworkModeSchema>;
|
|
107
|
+
/** Matches a VPC ID: vpc- followed by 8 or 17 lowercase hex digits. */
|
|
108
|
+
export declare const VPC_ID_PATTERN: RegExp;
|
|
109
|
+
/** Matches a subnet ID: subnet- followed by 8 or 17 lowercase hex digits. */
|
|
110
|
+
export declare const SUBNET_ID_PATTERN: RegExp;
|
|
111
|
+
/** Matches a security group ID: sg- followed by 8 or 17 lowercase hex digits. */
|
|
112
|
+
export declare const SECURITY_GROUP_ID_PATTERN: RegExp;
|
|
113
|
+
/** CodeBuild caps a project's VPC config at 5 security groups (vs 16 for the runtime). */
|
|
114
|
+
export declare const MAX_CONTAINER_BUILD_SECURITY_GROUPS = 5;
|
|
115
|
+
/**
|
|
116
|
+
* Whether a build runs the container-image pipeline (CodeBuild) and therefore requires an explicit
|
|
117
|
+
* `networkConfig.vpcId` in VPC mode — CodeBuild's CreateProject cannot infer the VPC from subnets
|
|
118
|
+
* alone. This is the single source of truth for "is this a container build?", shared by the schema
|
|
119
|
+
* refinements (agent-env + harness), the CLI validators, and the import/export vpcId-resolution
|
|
120
|
+
* guards so the decision cannot drift between them.
|
|
121
|
+
*
|
|
122
|
+
* A build is a container build when ANY of these hold:
|
|
123
|
+
* - `build === 'Container'` (agent specs, and harnesses whose build type resolved to Container),
|
|
124
|
+
* - it carries a `dockerfile` (from-source container harness), or
|
|
125
|
+
* - it carries a `containerUri` (prebuilt image harness — export still emits a `FROM <uri>`
|
|
126
|
+
* Dockerfile stub that CodeBuild builds, so it needs a vpcId too).
|
|
127
|
+
*/
|
|
128
|
+
export declare function isContainerBuild(spec: {
|
|
129
|
+
build?: string;
|
|
130
|
+
containerUri?: string;
|
|
131
|
+
dockerfile?: string;
|
|
132
|
+
}): boolean;
|
|
99
133
|
export declare const ProtocolModeSchema: z.ZodEnum<{
|
|
100
134
|
HTTP: "HTTP";
|
|
101
135
|
MCP: "MCP";
|
|
@@ -116,4 +150,24 @@ export declare function getSupportedFrameworksForProtocol(protocol: ProtocolMode
|
|
|
116
150
|
* Checks if a framework is supported for a given protocol mode.
|
|
117
151
|
*/
|
|
118
152
|
export declare function isFrameworkSupportedForProtocol(protocol: ProtocolMode, framework: SDKFramework): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Matrix defining which SDK frameworks ship templates for each target language.
|
|
155
|
+
* Vercel AI is TypeScript-only; the remaining frameworks are Python-only today.
|
|
156
|
+
* Used to keep framework pickers and validation in sync with the templates that
|
|
157
|
+
* actually exist under `assets/<language>/...`.
|
|
158
|
+
*/
|
|
159
|
+
export declare const LANGUAGE_FRAMEWORK_MATRIX: {
|
|
160
|
+
readonly Python: readonly ["Strands", "LangChain_LangGraph", "GoogleADK", "OpenAIAgents"];
|
|
161
|
+
readonly TypeScript: readonly ["Strands", "VercelAI"];
|
|
162
|
+
};
|
|
163
|
+
/** Languages that scaffold from templates (excludes 'Other', which is BYO-only). */
|
|
164
|
+
export type TemplateLanguage = keyof typeof LANGUAGE_FRAMEWORK_MATRIX;
|
|
165
|
+
/**
|
|
166
|
+
* Returns the SDK frameworks that have templates for a given target language.
|
|
167
|
+
*/
|
|
168
|
+
export declare function getFrameworksForLanguage(language: TemplateLanguage): readonly SDKFramework[];
|
|
169
|
+
/**
|
|
170
|
+
* Checks if a framework has a template for a given target language.
|
|
171
|
+
*/
|
|
172
|
+
export declare function isFrameworkSupportedForLanguage(language: TemplateLanguage, framework: SDKFramework): boolean;
|
|
119
173
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/constants.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PROTOCOL_FRAMEWORK_MATRIX = exports.ProtocolModeSchema = exports.NetworkModeSchema = exports.RuntimeVersionSchema = exports.NodeRuntimeSchema = exports.DEFAULT_PYTHON_VERSION = exports.PythonRuntimeSchema = exports.RESERVED_PROJECT_NAMES = exports.SDK_MODEL_PROVIDER_MATRIX = exports.DEFAULT_MODEL_IDS = exports.CREDENTIAL_PROVIDERS = exports.ModelProviderSchema = exports.TargetLanguageSchema = exports.SDKFrameworkSchema = void 0;
|
|
3
|
+
exports.LANGUAGE_FRAMEWORK_MATRIX = exports.PROTOCOL_FRAMEWORK_MATRIX = exports.ProtocolModeSchema = exports.MAX_CONTAINER_BUILD_SECURITY_GROUPS = exports.SECURITY_GROUP_ID_PATTERN = exports.SUBNET_ID_PATTERN = exports.VPC_ID_PATTERN = exports.NetworkModeSchema = exports.DEFAULT_RUNTIME_BY_LANGUAGE = exports.DEFAULT_ENTRYPOINT_BY_LANGUAGE = exports.RuntimeVersionSchema = exports.DEFAULT_NODE_VERSION = exports.NodeRuntimeSchema = exports.DEFAULT_PYTHON_VERSION = exports.PythonRuntimeSchema = exports.RESERVED_PROJECT_NAMES = exports.SDK_MODEL_PROVIDER_MATRIX = exports.DEFAULT_MODEL_IDS = exports.CREDENTIAL_PROVIDERS = exports.ModelProviderSchema = exports.TargetLanguageSchema = exports.SDKFrameworkSchema = void 0;
|
|
4
4
|
exports.matchEnumValue = matchEnumValue;
|
|
5
5
|
exports.getSupportedModelProviders = getSupportedModelProviders;
|
|
6
6
|
exports.isModelProviderSupported = isModelProviderSupported;
|
|
7
7
|
exports.isReservedProjectName = isReservedProjectName;
|
|
8
|
+
exports.isContainerBuild = isContainerBuild;
|
|
8
9
|
exports.getSupportedFrameworksForProtocol = getSupportedFrameworksForProtocol;
|
|
9
10
|
exports.isFrameworkSupportedForProtocol = isFrameworkSupportedForProtocol;
|
|
11
|
+
exports.getFrameworksForLanguage = getFrameworksForLanguage;
|
|
12
|
+
exports.isFrameworkSupportedForLanguage = isFrameworkSupportedForLanguage;
|
|
10
13
|
const zod_1 = require("zod");
|
|
11
14
|
// ============================================================================
|
|
12
15
|
// Feature Constants (shared across all schemas)
|
|
13
16
|
// ============================================================================
|
|
14
|
-
exports.SDKFrameworkSchema = zod_1.z.enum(['Strands', 'LangChain_LangGraph', 'GoogleADK', 'OpenAIAgents']);
|
|
17
|
+
exports.SDKFrameworkSchema = zod_1.z.enum(['Strands', 'LangChain_LangGraph', 'GoogleADK', 'OpenAIAgents', 'VercelAI']);
|
|
15
18
|
exports.TargetLanguageSchema = zod_1.z.enum(['Python', 'TypeScript', 'Other']);
|
|
16
|
-
exports.ModelProviderSchema = zod_1.z.enum(['Bedrock', 'Gemini', 'OpenAI', 'Anthropic']);
|
|
17
|
-
/** Providers that use credentials (Bedrock uses IAM, no credential needed). */
|
|
18
|
-
exports.CREDENTIAL_PROVIDERS = ['Gemini', 'OpenAI', 'Anthropic'];
|
|
19
|
+
exports.ModelProviderSchema = zod_1.z.enum(['Bedrock', 'Gemini', 'OpenAI', 'Anthropic', 'LiteLLM']);
|
|
20
|
+
/** Providers that use credentials (Bedrock uses IAM, no credential needed). LiteLLM's API key is optional. */
|
|
21
|
+
exports.CREDENTIAL_PROVIDERS = ['Gemini', 'OpenAI', 'Anthropic', 'LiteLLM'];
|
|
19
22
|
/**
|
|
20
23
|
* Case-insensitively match a user-provided value against a Zod enum's options.
|
|
21
24
|
* Returns the canonical (correctly-cased) value, or undefined if no match.
|
|
@@ -33,6 +36,8 @@ exports.DEFAULT_MODEL_IDS = {
|
|
|
33
36
|
Anthropic: 'claude-sonnet-4-5-20250514',
|
|
34
37
|
OpenAI: 'gpt-4.1',
|
|
35
38
|
Gemini: 'gemini-2.5-flash',
|
|
39
|
+
// LiteLLM model ids are provider-prefixed (e.g. "bedrock/...", "openai/gpt-4o"); no single default.
|
|
40
|
+
LiteLLM: 'bedrock/us.anthropic.claude-sonnet-4-5-20250514-v1:0',
|
|
36
41
|
};
|
|
37
42
|
/**
|
|
38
43
|
* Matrix defining which model providers are supported for each SDK framework.
|
|
@@ -41,10 +46,12 @@ exports.DEFAULT_MODEL_IDS = {
|
|
|
41
46
|
* - OpenAIAgents only supports OpenAI (uses OpenAI's native API)
|
|
42
47
|
*/
|
|
43
48
|
exports.SDK_MODEL_PROVIDER_MATRIX = {
|
|
44
|
-
Strands
|
|
49
|
+
// LiteLLM is supported for Strands (used by harness export) — it proxies to any provider.
|
|
50
|
+
Strands: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini', 'LiteLLM'],
|
|
45
51
|
LangChain_LangGraph: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini'],
|
|
46
52
|
GoogleADK: ['Gemini'],
|
|
47
53
|
OpenAIAgents: ['OpenAI'],
|
|
54
|
+
VercelAI: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini'],
|
|
48
55
|
};
|
|
49
56
|
/**
|
|
50
57
|
* Returns the supported model providers for a given SDK framework.
|
|
@@ -99,6 +106,8 @@ exports.RESERVED_PROJECT_NAMES = [
|
|
|
99
106
|
'aguilanggraph',
|
|
100
107
|
'aguiadk',
|
|
101
108
|
'aguiprotocol',
|
|
109
|
+
'vercelai',
|
|
110
|
+
'aisdk',
|
|
102
111
|
// Common utilities
|
|
103
112
|
'httpx',
|
|
104
113
|
'pytest',
|
|
@@ -138,10 +147,54 @@ exports.PythonRuntimeSchema = zod_1.z.enum(['PYTHON_3_10', 'PYTHON_3_11', 'PYTHO
|
|
|
138
147
|
/** Default Python runtime version for new agents and MCP tools */
|
|
139
148
|
exports.DEFAULT_PYTHON_VERSION = 'PYTHON_3_14';
|
|
140
149
|
exports.NodeRuntimeSchema = zod_1.z.enum(['NODE_18', 'NODE_20', 'NODE_22']);
|
|
150
|
+
/** Default Node.js runtime version for new TypeScript agents */
|
|
151
|
+
exports.DEFAULT_NODE_VERSION = 'NODE_22';
|
|
141
152
|
/** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
|
|
142
153
|
exports.RuntimeVersionSchema = zod_1.z.union([exports.PythonRuntimeSchema, exports.NodeRuntimeSchema]);
|
|
154
|
+
/** Default entrypoint filename for each target language (create path). */
|
|
155
|
+
exports.DEFAULT_ENTRYPOINT_BY_LANGUAGE = {
|
|
156
|
+
Python: 'main.py',
|
|
157
|
+
TypeScript: 'main.js',
|
|
158
|
+
};
|
|
159
|
+
/** Default runtime version for each target language (create path). */
|
|
160
|
+
exports.DEFAULT_RUNTIME_BY_LANGUAGE = {
|
|
161
|
+
Python: exports.DEFAULT_PYTHON_VERSION,
|
|
162
|
+
TypeScript: exports.DEFAULT_NODE_VERSION,
|
|
163
|
+
};
|
|
143
164
|
exports.NetworkModeSchema = zod_1.z.enum(['PUBLIC', 'VPC']);
|
|
144
165
|
// ============================================================================
|
|
166
|
+
// AWS Network Resource ID Patterns (single source of truth)
|
|
167
|
+
//
|
|
168
|
+
// Canonical AWS resource ID format: lowercase hex, exactly 8 chars (legacy) or
|
|
169
|
+
// 17 chars (current). These are shared by NetworkConfigSchema (agent VPC config)
|
|
170
|
+
// and the auth/PrivateLink schema (ManagedVpcResource). All consumers must import
|
|
171
|
+
// from here rather than defining their own copies.
|
|
172
|
+
// ============================================================================
|
|
173
|
+
/** Matches a VPC ID: vpc- followed by 8 or 17 lowercase hex digits. */
|
|
174
|
+
exports.VPC_ID_PATTERN = /^vpc-(?:[0-9a-f]{8}|[0-9a-f]{17})$/;
|
|
175
|
+
/** Matches a subnet ID: subnet- followed by 8 or 17 lowercase hex digits. */
|
|
176
|
+
exports.SUBNET_ID_PATTERN = /^subnet-(?:[0-9a-f]{8}|[0-9a-f]{17})$/;
|
|
177
|
+
/** Matches a security group ID: sg- followed by 8 or 17 lowercase hex digits. */
|
|
178
|
+
exports.SECURITY_GROUP_ID_PATTERN = /^sg-(?:[0-9a-f]{8}|[0-9a-f]{17})$/;
|
|
179
|
+
/** CodeBuild caps a project's VPC config at 5 security groups (vs 16 for the runtime). */
|
|
180
|
+
exports.MAX_CONTAINER_BUILD_SECURITY_GROUPS = 5;
|
|
181
|
+
/**
|
|
182
|
+
* Whether a build runs the container-image pipeline (CodeBuild) and therefore requires an explicit
|
|
183
|
+
* `networkConfig.vpcId` in VPC mode — CodeBuild's CreateProject cannot infer the VPC from subnets
|
|
184
|
+
* alone. This is the single source of truth for "is this a container build?", shared by the schema
|
|
185
|
+
* refinements (agent-env + harness), the CLI validators, and the import/export vpcId-resolution
|
|
186
|
+
* guards so the decision cannot drift between them.
|
|
187
|
+
*
|
|
188
|
+
* A build is a container build when ANY of these hold:
|
|
189
|
+
* - `build === 'Container'` (agent specs, and harnesses whose build type resolved to Container),
|
|
190
|
+
* - it carries a `dockerfile` (from-source container harness), or
|
|
191
|
+
* - it carries a `containerUri` (prebuilt image harness — export still emits a `FROM <uri>`
|
|
192
|
+
* Dockerfile stub that CodeBuild builds, so it needs a vpcId too).
|
|
193
|
+
*/
|
|
194
|
+
function isContainerBuild(spec) {
|
|
195
|
+
return spec.build === 'Container' || !!spec.containerUri || !!spec.dockerfile;
|
|
196
|
+
}
|
|
197
|
+
// ============================================================================
|
|
145
198
|
// Protocol Mode
|
|
146
199
|
// ============================================================================
|
|
147
200
|
exports.ProtocolModeSchema = zod_1.z.enum(['HTTP', 'MCP', 'A2A', 'AGUI']);
|
|
@@ -150,7 +203,7 @@ exports.ProtocolModeSchema = zod_1.z.enum(['HTTP', 'MCP', 'A2A', 'AGUI']);
|
|
|
150
203
|
* MCP is a standalone tool server with no framework.
|
|
151
204
|
*/
|
|
152
205
|
exports.PROTOCOL_FRAMEWORK_MATRIX = {
|
|
153
|
-
HTTP: ['Strands', 'LangChain_LangGraph', 'GoogleADK', 'OpenAIAgents'],
|
|
206
|
+
HTTP: ['Strands', 'LangChain_LangGraph', 'GoogleADK', 'OpenAIAgents', 'VercelAI'],
|
|
154
207
|
MCP: [],
|
|
155
208
|
A2A: ['Strands', 'GoogleADK', 'LangChain_LangGraph'],
|
|
156
209
|
AGUI: ['Strands', 'LangChain_LangGraph', 'GoogleADK'],
|
|
@@ -167,4 +220,26 @@ function getSupportedFrameworksForProtocol(protocol) {
|
|
|
167
220
|
function isFrameworkSupportedForProtocol(protocol, framework) {
|
|
168
221
|
return exports.PROTOCOL_FRAMEWORK_MATRIX[protocol].includes(framework);
|
|
169
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Matrix defining which SDK frameworks ship templates for each target language.
|
|
225
|
+
* Vercel AI is TypeScript-only; the remaining frameworks are Python-only today.
|
|
226
|
+
* Used to keep framework pickers and validation in sync with the templates that
|
|
227
|
+
* actually exist under `assets/<language>/...`.
|
|
228
|
+
*/
|
|
229
|
+
exports.LANGUAGE_FRAMEWORK_MATRIX = {
|
|
230
|
+
Python: ['Strands', 'LangChain_LangGraph', 'GoogleADK', 'OpenAIAgents'],
|
|
231
|
+
TypeScript: ['Strands', 'VercelAI'],
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Returns the SDK frameworks that have templates for a given target language.
|
|
235
|
+
*/
|
|
236
|
+
function getFrameworksForLanguage(language) {
|
|
237
|
+
return exports.LANGUAGE_FRAMEWORK_MATRIX[language];
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Checks if a framework has a template for a given target language.
|
|
241
|
+
*/
|
|
242
|
+
function isFrameworkSupportedForLanguage(language, framework) {
|
|
243
|
+
return getFrameworksForLanguage(language).includes(framework);
|
|
244
|
+
}
|
|
170
245
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":";;;AAsBA,wCAGC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"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"}
|