@aws/agentcore 0.3.0-preview.1.0
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/LICENSE +175 -0
- package/README.md +147 -0
- package/dist/assets/README.md +79 -0
- package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +2862 -0
- package/dist/assets/__tests__/assets.snapshot.test.ts +139 -0
- package/dist/assets/agents/AGENTS.md +102 -0
- package/dist/assets/cdk/.prettierrc +8 -0
- package/dist/assets/cdk/README.md +14 -0
- package/dist/assets/cdk/bin/cdk.ts +50 -0
- package/dist/assets/cdk/cdk.json +88 -0
- package/dist/assets/cdk/gitignore.template +9 -0
- package/dist/assets/cdk/jest.config.js +9 -0
- package/dist/assets/cdk/lib/cdk-stack.ts +38 -0
- package/dist/assets/cdk/npmignore.template +6 -0
- package/dist/assets/cdk/package.json +30 -0
- package/dist/assets/cdk/test/cdk.test.ts +16 -0
- package/dist/assets/cdk/tsconfig.json +28 -0
- package/dist/assets/mcp/python/README.md +27 -0
- package/dist/assets/mcp/python/pyproject.toml +22 -0
- package/dist/assets/mcp/python/server.py +117 -0
- package/dist/assets/mcp/python-lambda/README.md +22 -0
- package/dist/assets/mcp/python-lambda/handler.py +144 -0
- package/dist/assets/mcp/python-lambda/pyproject.toml +15 -0
- package/dist/assets/python/autogen/base/README.md +41 -0
- package/dist/assets/python/autogen/base/gitignore.template +40 -0
- package/dist/assets/python/autogen/base/main.py +52 -0
- package/dist/assets/python/autogen/base/mcp_client/client.py +18 -0
- package/dist/assets/python/autogen/base/model/load.py +136 -0
- package/dist/assets/python/autogen/base/pyproject.toml +35 -0
- package/dist/assets/python/crewai/base/README.md +41 -0
- package/dist/assets/python/crewai/base/gitignore.template +40 -0
- package/dist/assets/python/crewai/base/main.py +55 -0
- package/dist/assets/python/crewai/base/model/load.py +133 -0
- package/dist/assets/python/crewai/base/pyproject.toml +32 -0
- package/dist/assets/python/googleadk/base/README.md +39 -0
- package/dist/assets/python/googleadk/base/gitignore.template +40 -0
- package/dist/assets/python/googleadk/base/main.py +84 -0
- package/dist/assets/python/googleadk/base/mcp_client/client.py +15 -0
- package/dist/assets/python/googleadk/base/model/load.py +41 -0
- package/dist/assets/python/googleadk/base/pyproject.toml +21 -0
- package/dist/assets/python/langchain_langgraph/base/README.md +41 -0
- package/dist/assets/python/langchain_langgraph/base/gitignore.template +40 -0
- package/dist/assets/python/langchain_langgraph/base/main.py +51 -0
- package/dist/assets/python/langchain_langgraph/base/mcp_client/client.py +19 -0
- package/dist/assets/python/langchain_langgraph/base/model/load.py +123 -0
- package/dist/assets/python/langchain_langgraph/base/pyproject.toml +37 -0
- package/dist/assets/python/openaiagents/base/README.md +39 -0
- package/dist/assets/python/openaiagents/base/gitignore.template +40 -0
- package/dist/assets/python/openaiagents/base/main.py +56 -0
- package/dist/assets/python/openaiagents/base/mcp_client/client.py +14 -0
- package/dist/assets/python/openaiagents/base/model/load.py +37 -0
- package/dist/assets/python/openaiagents/base/pyproject.toml +20 -0
- package/dist/assets/python/strands/base/README.md +41 -0
- package/dist/assets/python/strands/base/gitignore.template +41 -0
- package/dist/assets/python/strands/base/main.py +76 -0
- package/dist/assets/python/strands/base/mcp_client/client.py +12 -0
- package/dist/assets/python/strands/base/model/load.py +123 -0
- package/dist/assets/python/strands/base/pyproject.toml +23 -0
- package/dist/assets/python/strands/capabilities/memory/session.py +39 -0
- package/dist/assets/typescript/.gitkeep +0 -0
- package/dist/cli/index.mjs +985 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/constants.d.ts +25 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +49 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/errors/config.d.ts +49 -0
- package/dist/lib/errors/config.d.ts.map +1 -0
- package/dist/lib/errors/config.js +167 -0
- package/dist/lib/errors/config.js.map +1 -0
- package/dist/lib/errors/index.d.ts +2 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/errors/index.js +18 -0
- package/dist/lib/errors/index.js.map +1 -0
- package/dist/lib/index.d.ts +7 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +39 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/packaging/errors.d.ts +16 -0
- package/dist/lib/packaging/errors.d.ts.map +1 -0
- package/dist/lib/packaging/errors.js +36 -0
- package/dist/lib/packaging/errors.js.map +1 -0
- package/dist/lib/packaging/helpers.d.ts +54 -0
- package/dist/lib/packaging/helpers.d.ts.map +1 -0
- package/dist/lib/packaging/helpers.js +461 -0
- package/dist/lib/packaging/helpers.js.map +1 -0
- package/dist/lib/packaging/index.d.ts +36 -0
- package/dist/lib/packaging/index.d.ts.map +1 -0
- package/dist/lib/packaging/index.js +89 -0
- package/dist/lib/packaging/index.js.map +1 -0
- package/dist/lib/packaging/node.d.ts +17 -0
- package/dist/lib/packaging/node.d.ts.map +1 -0
- package/dist/lib/packaging/node.js +108 -0
- package/dist/lib/packaging/node.js.map +1 -0
- package/dist/lib/packaging/python.d.ts +17 -0
- package/dist/lib/packaging/python.d.ts.map +1 -0
- package/dist/lib/packaging/python.js +162 -0
- package/dist/lib/packaging/python.js.map +1 -0
- package/dist/lib/packaging/types/index.d.ts +2 -0
- package/dist/lib/packaging/types/index.d.ts.map +1 -0
- package/dist/lib/packaging/types/index.js +3 -0
- package/dist/lib/packaging/types/index.js.map +1 -0
- package/dist/lib/packaging/types/packaging.d.ts +57 -0
- package/dist/lib/packaging/types/packaging.d.ts.map +1 -0
- package/dist/lib/packaging/types/packaging.js +3 -0
- package/dist/lib/packaging/types/packaging.js.map +1 -0
- package/dist/lib/packaging/uv.d.ts +7 -0
- package/dist/lib/packaging/uv.d.ts.map +1 -0
- package/dist/lib/packaging/uv.js +40 -0
- package/dist/lib/packaging/uv.js.map +1 -0
- package/dist/lib/schemas/io/config-io.d.ts +106 -0
- package/dist/lib/schemas/io/config-io.d.ts.map +1 -0
- package/dist/lib/schemas/io/config-io.js +293 -0
- package/dist/lib/schemas/io/config-io.js.map +1 -0
- package/dist/lib/schemas/io/index.d.ts +3 -0
- package/dist/lib/schemas/io/index.d.ts.map +1 -0
- package/dist/lib/schemas/io/index.js +17 -0
- package/dist/lib/schemas/io/index.js.map +1 -0
- package/dist/lib/schemas/io/path-resolver.d.ts +112 -0
- package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -0
- package/dist/lib/schemas/io/path-resolver.js +195 -0
- package/dist/lib/schemas/io/path-resolver.js.map +1 -0
- package/dist/lib/utils/aws-account.d.ts +7 -0
- package/dist/lib/utils/aws-account.d.ts.map +1 -0
- package/dist/lib/utils/aws-account.js +24 -0
- package/dist/lib/utils/aws-account.js.map +1 -0
- package/dist/lib/utils/credentials.d.ts +86 -0
- package/dist/lib/utils/credentials.d.ts.map +1 -0
- package/dist/lib/utils/credentials.js +153 -0
- package/dist/lib/utils/credentials.js.map +1 -0
- package/dist/lib/utils/env.d.ts +22 -0
- package/dist/lib/utils/env.d.ts.map +1 -0
- package/dist/lib/utils/env.js +65 -0
- package/dist/lib/utils/env.js.map +1 -0
- package/dist/lib/utils/index.d.ts +7 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +23 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/platform.d.ts +63 -0
- package/dist/lib/utils/platform.d.ts.map +1 -0
- package/dist/lib/utils/platform.js +88 -0
- package/dist/lib/utils/platform.js.map +1 -0
- package/dist/lib/utils/subprocess.d.ts +29 -0
- package/dist/lib/utils/subprocess.d.ts.map +1 -0
- package/dist/lib/utils/subprocess.js +94 -0
- package/dist/lib/utils/subprocess.js.map +1 -0
- package/dist/lib/utils/zod.d.ts +14 -0
- package/dist/lib/utils/zod.d.ts.map +1 -0
- package/dist/lib/utils/zod.js +32 -0
- package/dist/lib/utils/zod.js.map +1 -0
- package/dist/schema/constants.d.ts +82 -0
- package/dist/schema/constants.d.ts.map +1 -0
- package/dist/schema/constants.js +117 -0
- package/dist/schema/constants.js.map +1 -0
- package/dist/schema/index.d.ts +4 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +21 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schemas/agent-env.d.ts +75 -0
- package/dist/schema/schemas/agent-env.d.ts.map +1 -0
- package/dist/schema/schemas/agent-env.js +84 -0
- package/dist/schema/schemas/agent-env.js.map +1 -0
- package/dist/schema/schemas/agentcore-project.d.ts +88 -0
- package/dist/schema/schemas/agentcore-project.d.ts.map +1 -0
- package/dist/schema/schemas/agentcore-project.js +83 -0
- package/dist/schema/schemas/agentcore-project.js.map +1 -0
- package/dist/schema/schemas/aws-targets.d.ts +50 -0
- package/dist/schema/schemas/aws-targets.d.ts.map +1 -0
- package/dist/schema/schemas/aws-targets.js +49 -0
- package/dist/schema/schemas/aws-targets.js.map +1 -0
- package/dist/schema/schemas/deployed-state.d.ts +260 -0
- package/dist/schema/schemas/deployed-state.d.ts.map +1 -0
- package/dist/schema/schemas/deployed-state.js +100 -0
- package/dist/schema/schemas/deployed-state.js.map +1 -0
- package/dist/schema/schemas/index.d.ts +8 -0
- package/dist/schema/schemas/index.d.ts.map +1 -0
- package/dist/schema/schemas/index.js +25 -0
- package/dist/schema/schemas/index.js.map +1 -0
- package/dist/schema/schemas/mcp-defs.d.ts +52 -0
- package/dist/schema/schemas/mcp-defs.d.ts.map +1 -0
- package/dist/schema/schemas/mcp-defs.js +50 -0
- package/dist/schema/schemas/mcp-defs.js.map +1 -0
- package/dist/schema/schemas/mcp.d.ts +659 -0
- package/dist/schema/schemas/mcp.d.ts.map +1 -0
- package/dist/schema/schemas/mcp.js +283 -0
- package/dist/schema/schemas/mcp.js.map +1 -0
- package/dist/schema/schemas/primitives/index.d.ts +3 -0
- package/dist/schema/schemas/primitives/index.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/index.js +9 -0
- package/dist/schema/schemas/primitives/index.js.map +1 -0
- package/dist/schema/schemas/primitives/memory.d.ts +42 -0
- package/dist/schema/schemas/primitives/memory.d.ts.map +1 -0
- package/dist/schema/schemas/primitives/memory.js +50 -0
- package/dist/schema/schemas/primitives/memory.js.map +1 -0
- package/dist/schema/schemas/zod-util.d.ts +10 -0
- package/dist/schema/schemas/zod-util.d.ts.map +1 -0
- package/dist/schema/schemas/zod-util.js +23 -0
- package/dist/schema/schemas/zod-util.js.map +1 -0
- package/dist/schema/types/index.d.ts +2 -0
- package/dist/schema/types/index.d.ts.map +1 -0
- package/dist/schema/types/index.js +18 -0
- package/dist/schema/types/index.js.map +1 -0
- package/dist/schema/types/path.d.ts +27 -0
- package/dist/schema/types/path.d.ts.map +1 -0
- package/dist/schema/types/path.js +13 -0
- package/dist/schema/types/path.js.map +1 -0
- package/package.json +111 -0
- package/scripts/bump-version.ts +442 -0
- package/scripts/check-old-cli.mjs +26 -0
- package/scripts/copy-assets.mjs +50 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSubprocess = runSubprocess;
|
|
4
|
+
exports.checkSubprocess = checkSubprocess;
|
|
5
|
+
exports.runSubprocessCapture = runSubprocessCapture;
|
|
6
|
+
exports.runSubprocessCaptureSync = runSubprocessCaptureSync;
|
|
7
|
+
exports.checkSubprocessSync = checkSubprocessSync;
|
|
8
|
+
const platform_1 = require("./platform");
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
async function runSubprocess(command, args, options = {}) {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
const child = (0, child_process_1.spawn)(command, args, {
|
|
13
|
+
cwd: options.cwd,
|
|
14
|
+
env: options.env,
|
|
15
|
+
stdio: options.stdio ?? 'inherit',
|
|
16
|
+
shell: options.shell ?? platform_1.isWindows,
|
|
17
|
+
});
|
|
18
|
+
child.on('error', reject);
|
|
19
|
+
child.on('close', (code, signal) => {
|
|
20
|
+
if (code === 0) {
|
|
21
|
+
resolve();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const reason = code !== null ? `code ${code}` : `signal ${String(signal)}`;
|
|
25
|
+
reject(new Error(`${command} exited with ${reason}`));
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function checkSubprocess(command, args, options = {}) {
|
|
30
|
+
return new Promise(resolve => {
|
|
31
|
+
const child = (0, child_process_1.spawn)(command, args, {
|
|
32
|
+
cwd: options.cwd,
|
|
33
|
+
env: options.env,
|
|
34
|
+
stdio: options.stdio ?? 'ignore',
|
|
35
|
+
shell: options.shell ?? platform_1.isWindows,
|
|
36
|
+
});
|
|
37
|
+
child.on('error', () => resolve(false));
|
|
38
|
+
child.on('close', code => resolve(code === 0));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async function runSubprocessCapture(command, args, options = {}) {
|
|
42
|
+
return new Promise(resolve => {
|
|
43
|
+
const child = (0, child_process_1.spawn)(command, args, {
|
|
44
|
+
cwd: options.cwd,
|
|
45
|
+
env: options.env,
|
|
46
|
+
stdio: 'pipe',
|
|
47
|
+
shell: options.shell ?? platform_1.isWindows,
|
|
48
|
+
});
|
|
49
|
+
let stdout = '';
|
|
50
|
+
let stderr = '';
|
|
51
|
+
child.stdout?.on('data', (chunk) => {
|
|
52
|
+
stdout += typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString();
|
|
53
|
+
});
|
|
54
|
+
child.stderr?.on('data', (chunk) => {
|
|
55
|
+
stderr += typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString();
|
|
56
|
+
});
|
|
57
|
+
child.on('close', (code, signal) => {
|
|
58
|
+
resolve({ stdout, stderr, code, signal });
|
|
59
|
+
});
|
|
60
|
+
child.on('error', () => {
|
|
61
|
+
resolve({ stdout, stderr, code: -1, signal: null });
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function runSubprocessCaptureSync(command, args, options = {}) {
|
|
66
|
+
const result = (0, child_process_1.spawnSync)(command, args, {
|
|
67
|
+
cwd: options.cwd,
|
|
68
|
+
env: options.env,
|
|
69
|
+
stdio: 'pipe',
|
|
70
|
+
shell: options.shell ?? platform_1.isWindows,
|
|
71
|
+
encoding: 'utf-8',
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
stdout: result.stdout ?? '',
|
|
75
|
+
stderr: result.stderr ?? '',
|
|
76
|
+
code: result.status,
|
|
77
|
+
signal: result.signal,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function checkSubprocessSync(command, args, options = {}) {
|
|
81
|
+
try {
|
|
82
|
+
const result = (0, child_process_1.spawnSync)(command, args, {
|
|
83
|
+
cwd: options.cwd,
|
|
84
|
+
env: options.env,
|
|
85
|
+
stdio: options.stdio ?? 'ignore',
|
|
86
|
+
shell: options.shell ?? platform_1.isWindows,
|
|
87
|
+
});
|
|
88
|
+
return result.status === 0;
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=subprocess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../../src/lib/utils/subprocess.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentCoreProjectSpec, AgentEnvSpec } from '../../schema';
|
|
2
|
+
/**
|
|
3
|
+
* Pass agent spec through zod validator
|
|
4
|
+
* @param spec Agent spec to validate
|
|
5
|
+
* @returns Validated AgentEnvSpec
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateAgentSchema(spec: unknown): AgentEnvSpec;
|
|
8
|
+
/**
|
|
9
|
+
* Pass project spec through zod validator
|
|
10
|
+
* @param spec Project spec to validate
|
|
11
|
+
* @returns Validated AgentCoreProjectSpec
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateProjectSchema(spec: unknown): AgentCoreProjectSpec;
|
|
14
|
+
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -0,0 +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;AAGvE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,CAOzE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAgentSchema = validateAgentSchema;
|
|
4
|
+
exports.validateProjectSchema = validateProjectSchema;
|
|
5
|
+
const schema_1 = require("../../schema");
|
|
6
|
+
/**
|
|
7
|
+
* Pass agent spec through zod validator
|
|
8
|
+
* @param spec Agent spec to validate
|
|
9
|
+
* @returns Validated AgentEnvSpec
|
|
10
|
+
*/
|
|
11
|
+
function validateAgentSchema(spec) {
|
|
12
|
+
const validationResult = schema_1.AgentEnvSpecSchema.safeParse(spec);
|
|
13
|
+
if (!validationResult.success) {
|
|
14
|
+
const errors = validationResult.error.issues.map(e => `${String(e.path.join('.'))}: ${e.message}`).join('; ');
|
|
15
|
+
throw new Error(`Invalid AgentEnvSpec: ${errors}`);
|
|
16
|
+
}
|
|
17
|
+
return validationResult.data;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pass project spec through zod validator
|
|
21
|
+
* @param spec Project spec to validate
|
|
22
|
+
* @returns Validated AgentCoreProjectSpec
|
|
23
|
+
*/
|
|
24
|
+
function validateProjectSchema(spec) {
|
|
25
|
+
const validationResult = schema_1.AgentCoreProjectSpecSchema.safeParse(spec);
|
|
26
|
+
if (!validationResult.success) {
|
|
27
|
+
const errors = validationResult.error.issues.map(e => `${String(e.path.join('.'))}: ${e.message}`).join('; ');
|
|
28
|
+
throw new Error(`Invalid AgentCoreProjectSpec: ${errors}`);
|
|
29
|
+
}
|
|
30
|
+
return validationResult.data;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=zod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":";;AAQA,kDAOC;AAOD,sDAOC;AA5BD,yCAA8E;AAE9E;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,MAAM,gBAAgB,GAAG,2BAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9G,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,IAAa;IACjD,MAAM,gBAAgB,GAAG,mCAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9G,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const SDKFrameworkSchema: z.ZodEnum<{
|
|
3
|
+
Strands: "Strands";
|
|
4
|
+
LangChain_LangGraph: "LangChain_LangGraph";
|
|
5
|
+
CrewAI: "CrewAI";
|
|
6
|
+
GoogleADK: "GoogleADK";
|
|
7
|
+
OpenAIAgents: "OpenAIAgents";
|
|
8
|
+
}>;
|
|
9
|
+
export type SDKFramework = z.infer<typeof SDKFrameworkSchema>;
|
|
10
|
+
export declare const TargetLanguageSchema: z.ZodEnum<{
|
|
11
|
+
Python: "Python";
|
|
12
|
+
TypeScript: "TypeScript";
|
|
13
|
+
Other: "Other";
|
|
14
|
+
}>;
|
|
15
|
+
export type TargetLanguage = z.infer<typeof TargetLanguageSchema>;
|
|
16
|
+
export declare const ModelProviderSchema: z.ZodEnum<{
|
|
17
|
+
Bedrock: "Bedrock";
|
|
18
|
+
Gemini: "Gemini";
|
|
19
|
+
OpenAI: "OpenAI";
|
|
20
|
+
Anthropic: "Anthropic";
|
|
21
|
+
}>;
|
|
22
|
+
export type ModelProvider = z.infer<typeof ModelProviderSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Matrix defining which model providers are supported for each SDK framework.
|
|
25
|
+
* - Most SDKs support all 4 providers (Bedrock, Anthropic, OpenAI, Gemini)
|
|
26
|
+
* - GoogleADK only supports Gemini (uses Google's native API)
|
|
27
|
+
* - OpenAIAgents only supports OpenAI (uses OpenAI's native API)
|
|
28
|
+
*/
|
|
29
|
+
export declare const SDK_MODEL_PROVIDER_MATRIX: Record<SDKFramework, readonly ModelProvider[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the supported model providers for a given SDK framework.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getSupportedModelProviders(sdk: SDKFramework): readonly ModelProvider[];
|
|
34
|
+
/**
|
|
35
|
+
* Checks if a model provider is supported for a given SDK framework.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isModelProviderSupported(sdk: SDKFramework, provider: ModelProvider): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Project/agent names that would conflict with Python package names when
|
|
40
|
+
* creating a virtual environment. If the project directory name matches
|
|
41
|
+
* a dependency name, uv/pip will fail to resolve dependencies correctly.
|
|
42
|
+
*
|
|
43
|
+
* This list includes all dependencies used across SDK templates, normalized
|
|
44
|
+
* to valid project name format (lowercase, underscores replaced with nothing
|
|
45
|
+
* since project names are alphanumeric only).
|
|
46
|
+
*/
|
|
47
|
+
export declare const RESERVED_PROJECT_NAMES: readonly string[];
|
|
48
|
+
/**
|
|
49
|
+
* Check if a project name is reserved (case-insensitive).
|
|
50
|
+
*/
|
|
51
|
+
export declare function isReservedProjectName(name: string): boolean;
|
|
52
|
+
export declare const PythonRuntimeSchema: z.ZodEnum<{
|
|
53
|
+
PYTHON_3_10: "PYTHON_3_10";
|
|
54
|
+
PYTHON_3_11: "PYTHON_3_11";
|
|
55
|
+
PYTHON_3_12: "PYTHON_3_12";
|
|
56
|
+
PYTHON_3_13: "PYTHON_3_13";
|
|
57
|
+
}>;
|
|
58
|
+
export type PythonRuntime = z.infer<typeof PythonRuntimeSchema>;
|
|
59
|
+
export declare const NodeRuntimeSchema: z.ZodEnum<{
|
|
60
|
+
NODE_18: "NODE_18";
|
|
61
|
+
NODE_20: "NODE_20";
|
|
62
|
+
NODE_22: "NODE_22";
|
|
63
|
+
}>;
|
|
64
|
+
export type NodeRuntime = z.infer<typeof NodeRuntimeSchema>;
|
|
65
|
+
/** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
|
|
66
|
+
export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
67
|
+
PYTHON_3_10: "PYTHON_3_10";
|
|
68
|
+
PYTHON_3_11: "PYTHON_3_11";
|
|
69
|
+
PYTHON_3_12: "PYTHON_3_12";
|
|
70
|
+
PYTHON_3_13: "PYTHON_3_13";
|
|
71
|
+
}>, z.ZodEnum<{
|
|
72
|
+
NODE_18: "NODE_18";
|
|
73
|
+
NODE_20: "NODE_20";
|
|
74
|
+
NODE_22: "NODE_22";
|
|
75
|
+
}>]>;
|
|
76
|
+
export type RuntimeVersion = z.infer<typeof RuntimeVersionSchema>;
|
|
77
|
+
export declare const NetworkModeSchema: z.ZodEnum<{
|
|
78
|
+
PUBLIC: "PUBLIC";
|
|
79
|
+
PRIVATE: "PRIVATE";
|
|
80
|
+
}>;
|
|
81
|
+
export type NetworkMode = z.infer<typeof NetworkModeSchema>;
|
|
82
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +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;;;;;;EAAoF,CAAC;AACpH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;EAA4C,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;EAAuD,CAAC;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,CAMpF,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,aAAa,EAAE,CAEtF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE5F;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAmD1C,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAMD,eAAO,MAAM,mBAAmB;;;;;EAAuE,CAAC;AACxG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;EAA4C,CAAC;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB;;;;;;;;;IAAoD,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;EAAgC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NetworkModeSchema = exports.RuntimeVersionSchema = exports.NodeRuntimeSchema = exports.PythonRuntimeSchema = exports.RESERVED_PROJECT_NAMES = exports.SDK_MODEL_PROVIDER_MATRIX = exports.ModelProviderSchema = exports.TargetLanguageSchema = exports.SDKFrameworkSchema = void 0;
|
|
4
|
+
exports.getSupportedModelProviders = getSupportedModelProviders;
|
|
5
|
+
exports.isModelProviderSupported = isModelProviderSupported;
|
|
6
|
+
exports.isReservedProjectName = isReservedProjectName;
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Feature Constants (shared across all schemas)
|
|
10
|
+
// ============================================================================
|
|
11
|
+
exports.SDKFrameworkSchema = zod_1.z.enum(['Strands', 'LangChain_LangGraph', 'CrewAI', 'GoogleADK', 'OpenAIAgents']);
|
|
12
|
+
exports.TargetLanguageSchema = zod_1.z.enum(['Python', 'TypeScript', 'Other']);
|
|
13
|
+
exports.ModelProviderSchema = zod_1.z.enum(['Bedrock', 'Gemini', 'OpenAI', 'Anthropic']);
|
|
14
|
+
/**
|
|
15
|
+
* Matrix defining which model providers are supported for each SDK framework.
|
|
16
|
+
* - Most SDKs support all 4 providers (Bedrock, Anthropic, OpenAI, Gemini)
|
|
17
|
+
* - GoogleADK only supports Gemini (uses Google's native API)
|
|
18
|
+
* - OpenAIAgents only supports OpenAI (uses OpenAI's native API)
|
|
19
|
+
*/
|
|
20
|
+
exports.SDK_MODEL_PROVIDER_MATRIX = {
|
|
21
|
+
Strands: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini'],
|
|
22
|
+
LangChain_LangGraph: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini'],
|
|
23
|
+
CrewAI: ['Bedrock', 'Anthropic', 'OpenAI', 'Gemini'],
|
|
24
|
+
GoogleADK: ['Gemini'],
|
|
25
|
+
OpenAIAgents: ['OpenAI'],
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Returns the supported model providers for a given SDK framework.
|
|
29
|
+
*/
|
|
30
|
+
function getSupportedModelProviders(sdk) {
|
|
31
|
+
return exports.SDK_MODEL_PROVIDER_MATRIX[sdk];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Checks if a model provider is supported for a given SDK framework.
|
|
35
|
+
*/
|
|
36
|
+
function isModelProviderSupported(sdk, provider) {
|
|
37
|
+
return exports.SDK_MODEL_PROVIDER_MATRIX[sdk].includes(provider);
|
|
38
|
+
}
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Reserved Project Names (Python package conflicts)
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Project/agent names that would conflict with Python package names when
|
|
44
|
+
* creating a virtual environment. If the project directory name matches
|
|
45
|
+
* a dependency name, uv/pip will fail to resolve dependencies correctly.
|
|
46
|
+
*
|
|
47
|
+
* This list includes all dependencies used across SDK templates, normalized
|
|
48
|
+
* to valid project name format (lowercase, underscores replaced with nothing
|
|
49
|
+
* since project names are alphanumeric only).
|
|
50
|
+
*/
|
|
51
|
+
exports.RESERVED_PROJECT_NAMES = [
|
|
52
|
+
// Core SDK packages
|
|
53
|
+
'anthropic',
|
|
54
|
+
'autogen',
|
|
55
|
+
'autogenagentchat',
|
|
56
|
+
'autogenext',
|
|
57
|
+
'bedrock',
|
|
58
|
+
'bedrockagentcore',
|
|
59
|
+
'crewai',
|
|
60
|
+
'crewaitools',
|
|
61
|
+
'googleadk',
|
|
62
|
+
'googlegenerativeai',
|
|
63
|
+
'langchain',
|
|
64
|
+
'langchainanthropic',
|
|
65
|
+
'langchainaws',
|
|
66
|
+
'langchaingooglegenai',
|
|
67
|
+
'langchainmcpadapters',
|
|
68
|
+
'langchainopenai',
|
|
69
|
+
'langgraph',
|
|
70
|
+
'mcp',
|
|
71
|
+
'openai',
|
|
72
|
+
'openaiagents',
|
|
73
|
+
'strands',
|
|
74
|
+
'strandsagents',
|
|
75
|
+
'strandsagentstools',
|
|
76
|
+
// Common utilities
|
|
77
|
+
'httpx',
|
|
78
|
+
'pytest',
|
|
79
|
+
'pytestasyncio',
|
|
80
|
+
'pythondotenv',
|
|
81
|
+
'tiktoken',
|
|
82
|
+
// Build tools
|
|
83
|
+
'hatchling',
|
|
84
|
+
'setuptools',
|
|
85
|
+
'wheel',
|
|
86
|
+
// AWS packages
|
|
87
|
+
'awsopentelemetrydistro',
|
|
88
|
+
'boto3',
|
|
89
|
+
'botocore',
|
|
90
|
+
// Common Python stdlib/package names that could cause issues
|
|
91
|
+
'test',
|
|
92
|
+
'tests',
|
|
93
|
+
'src',
|
|
94
|
+
'lib',
|
|
95
|
+
'dist',
|
|
96
|
+
'build',
|
|
97
|
+
'env',
|
|
98
|
+
'venv',
|
|
99
|
+
'site',
|
|
100
|
+
'pip',
|
|
101
|
+
'uv',
|
|
102
|
+
];
|
|
103
|
+
/**
|
|
104
|
+
* Check if a project name is reserved (case-insensitive).
|
|
105
|
+
*/
|
|
106
|
+
function isReservedProjectName(name) {
|
|
107
|
+
return exports.RESERVED_PROJECT_NAMES.includes(name.toLowerCase());
|
|
108
|
+
}
|
|
109
|
+
// ============================================================================
|
|
110
|
+
// Infrastructure Constants (shared between agent-env and mcp schemas)
|
|
111
|
+
// ============================================================================
|
|
112
|
+
exports.PythonRuntimeSchema = zod_1.z.enum(['PYTHON_3_10', 'PYTHON_3_11', 'PYTHON_3_12', 'PYTHON_3_13']);
|
|
113
|
+
exports.NodeRuntimeSchema = zod_1.z.enum(['NODE_18', 'NODE_20', 'NODE_22']);
|
|
114
|
+
/** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
|
|
115
|
+
exports.RuntimeVersionSchema = zod_1.z.union([exports.PythonRuntimeSchema, exports.NodeRuntimeSchema]);
|
|
116
|
+
exports.NetworkModeSchema = zod_1.z.enum(['PUBLIC', 'PRIVATE']);
|
|
117
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":";;;AAgCA,gEAEC;AAKD,4DAEC;AAuED,sDAEC;AAlHD,6BAAwB;AAExB,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAElE,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAGvG,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAGjE,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAGxF;;;;;GAKG;AACU,QAAA,yBAAyB,GAAmD;IACvF,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC1E,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC7D,SAAS,EAAE,CAAC,QAAQ,CAAU;IAC9B,YAAY,EAAE,CAAC,QAAQ,CAAU;CAClC,CAAC;AAEF;;GAEG;AACH,SAAgB,0BAA0B,CAAC,GAAiB;IAC1D,OAAO,iCAAyB,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,GAAiB,EAAE,QAAuB;IACjF,OAAO,iCAAyB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E;;;;;;;;GAQG;AACU,QAAA,sBAAsB,GAAsB;IACvD,oBAAoB;IACpB,WAAW;IACX,SAAS;IACT,kBAAkB;IAClB,YAAY;IACZ,SAAS;IACT,kBAAkB;IAClB,QAAQ;IACR,aAAa;IACb,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,WAAW;IACX,KAAK;IACL,QAAQ;IACR,cAAc;IACd,SAAS;IACT,eAAe;IACf,oBAAoB;IACpB,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,eAAe;IACf,cAAc;IACd,UAAU;IACV,cAAc;IACd,WAAW;IACX,YAAY;IACZ,OAAO;IACP,eAAe;IACf,wBAAwB;IACxB,OAAO;IACP,UAAU;IACV,6DAA6D;IAC7D,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;CACI,CAAC;AAEX;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,8BAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAElE,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;AAG3F,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAG3E,0FAA0F;AAC7E,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,2BAAmB,EAAE,yBAAiB,CAAC,CAAC,CAAC;AAGzE,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Re-export all public APIs
|
|
18
|
+
__exportStar(require("./constants"), exports);
|
|
19
|
+
__exportStar(require("./schemas"), exports);
|
|
20
|
+
__exportStar(require("./types"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { DirectoryPath, FilePath } from '../types';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export type { DirectoryPath, FilePath, PathType } from '../types';
|
|
4
|
+
export type { PythonRuntime, NodeRuntime, RuntimeVersion, NetworkMode } from '../constants';
|
|
5
|
+
export declare const AgentNameSchema: z.ZodString;
|
|
6
|
+
export declare const EnvVarNameSchema: z.ZodString;
|
|
7
|
+
export declare const GatewayNameSchema: z.ZodString;
|
|
8
|
+
/** Access level for resource sharing */
|
|
9
|
+
export declare const AccessSchema: z.ZodEnum<{
|
|
10
|
+
read: "read";
|
|
11
|
+
readwrite: "readwrite";
|
|
12
|
+
}>;
|
|
13
|
+
export type Access = z.infer<typeof AccessSchema>;
|
|
14
|
+
export declare const AgentTypeSchema: z.ZodLiteral<"AgentCoreRuntime">;
|
|
15
|
+
export type AgentType = z.infer<typeof AgentTypeSchema>;
|
|
16
|
+
export declare const BuildTypeSchema: z.ZodEnum<{
|
|
17
|
+
CodeZip: "CodeZip";
|
|
18
|
+
Container: "Container";
|
|
19
|
+
}>;
|
|
20
|
+
export type BuildType = z.infer<typeof BuildTypeSchema>;
|
|
21
|
+
/**
|
|
22
|
+
* Entrypoint schema - supports both Python (.py) and TypeScript (.ts/.js) files.
|
|
23
|
+
* Python: main.py or main.py:handler
|
|
24
|
+
* TypeScript: main.ts, main.js, or index.ts
|
|
25
|
+
*/
|
|
26
|
+
export declare const EntrypointSchema: z.ZodType<FilePath>;
|
|
27
|
+
export declare const EnvVarSchema: z.ZodObject<{
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
value: z.ZodString;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export type EnvVar = z.infer<typeof EnvVarSchema>;
|
|
32
|
+
/**
|
|
33
|
+
* Instrumentation configuration for runtime observability.
|
|
34
|
+
*/
|
|
35
|
+
export declare const InstrumentationSchema: z.ZodObject<{
|
|
36
|
+
enableOtel: z.ZodDefault<z.ZodBoolean>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type Instrumentation = z.infer<typeof InstrumentationSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* AgentEnvSpec - represents an AgentCore Runtime.
|
|
41
|
+
* This is a top-level resource in the schema.
|
|
42
|
+
*/
|
|
43
|
+
export declare const AgentEnvSpecSchema: z.ZodObject<{
|
|
44
|
+
type: z.ZodLiteral<"AgentCoreRuntime">;
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
build: z.ZodEnum<{
|
|
47
|
+
CodeZip: "CodeZip";
|
|
48
|
+
Container: "Container";
|
|
49
|
+
}>;
|
|
50
|
+
entrypoint: z.ZodType<FilePath, unknown, z.core.$ZodTypeInternals<FilePath, unknown>>;
|
|
51
|
+
codeLocation: z.ZodType<DirectoryPath, unknown, z.core.$ZodTypeInternals<DirectoryPath, unknown>>;
|
|
52
|
+
runtimeVersion: z.ZodUnion<readonly [z.ZodEnum<{
|
|
53
|
+
PYTHON_3_10: "PYTHON_3_10";
|
|
54
|
+
PYTHON_3_11: "PYTHON_3_11";
|
|
55
|
+
PYTHON_3_12: "PYTHON_3_12";
|
|
56
|
+
PYTHON_3_13: "PYTHON_3_13";
|
|
57
|
+
}>, z.ZodEnum<{
|
|
58
|
+
NODE_18: "NODE_18";
|
|
59
|
+
NODE_20: "NODE_20";
|
|
60
|
+
NODE_22: "NODE_22";
|
|
61
|
+
}>]>;
|
|
62
|
+
envVars: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
63
|
+
name: z.ZodString;
|
|
64
|
+
value: z.ZodString;
|
|
65
|
+
}, z.core.$strip>>>;
|
|
66
|
+
networkMode: z.ZodOptional<z.ZodEnum<{
|
|
67
|
+
PUBLIC: "PUBLIC";
|
|
68
|
+
PRIVATE: "PRIVATE";
|
|
69
|
+
}>>;
|
|
70
|
+
instrumentation: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
enableOtel: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
export type AgentEnvSpec = z.infer<typeof AgentEnvSpecSchema>;
|
|
75
|
+
//# sourceMappingURL=agent-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-env.d.ts","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM5F,eAAO,MAAM,eAAe,aAOzB,CAAC;AAEJ,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAEJ,eAAO,MAAM,iBAAiB,aAImF,CAAC;AAMlH,wCAAwC;AACxC,eAAO,MAAM,YAAY;;;EAAgC,CAAC;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAMlD,eAAO,MAAM,eAAe,kCAAgC,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,eAAe;;;EAAmC,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAKxD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAMX,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAItC,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;iBAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentEnvSpecSchema = exports.InstrumentationSchema = exports.EnvVarSchema = exports.EntrypointSchema = exports.BuildTypeSchema = exports.AgentTypeSchema = exports.AccessSchema = exports.GatewayNameSchema = exports.EnvVarNameSchema = exports.AgentNameSchema = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Agent Schema v2 - Clean, simplified model
|
|
6
|
+
*
|
|
7
|
+
* @module agent-env
|
|
8
|
+
*/
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
const zod_1 = require("zod");
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Name Schemas
|
|
13
|
+
// ============================================================================
|
|
14
|
+
exports.AgentNameSchema = zod_1.z
|
|
15
|
+
.string()
|
|
16
|
+
.min(1, 'Name is required')
|
|
17
|
+
.max(48)
|
|
18
|
+
.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)');
|
|
19
|
+
exports.EnvVarNameSchema = zod_1.z
|
|
20
|
+
.string()
|
|
21
|
+
.min(1)
|
|
22
|
+
.max(255)
|
|
23
|
+
.regex(/^[A-Za-z_][A-Za-z0-9_]*$/, 'Must start with a letter or underscore, contain only letters, digits, and underscores');
|
|
24
|
+
exports.GatewayNameSchema = zod_1.z
|
|
25
|
+
.string()
|
|
26
|
+
.min(1)
|
|
27
|
+
.max(100)
|
|
28
|
+
.regex(/^([0-9a-zA-Z][-]?){1,100}$/, 'Gateway name must be alphanumeric with optional hyphens (max 100 chars)');
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Common Types
|
|
31
|
+
// ============================================================================
|
|
32
|
+
/** Access level for resource sharing */
|
|
33
|
+
exports.AccessSchema = zod_1.z.enum(['read', 'readwrite']);
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// Agent Schema
|
|
36
|
+
// ============================================================================
|
|
37
|
+
exports.AgentTypeSchema = zod_1.z.literal('AgentCoreRuntime');
|
|
38
|
+
exports.BuildTypeSchema = zod_1.z.enum(['CodeZip', 'Container']);
|
|
39
|
+
// Use RuntimeVersionSchema from constants (supports both Python and Node/TypeScript)
|
|
40
|
+
// Not re-exported here to avoid duplicate export conflicts
|
|
41
|
+
/**
|
|
42
|
+
* Entrypoint schema - supports both Python (.py) and TypeScript (.ts/.js) files.
|
|
43
|
+
* Python: main.py or main.py:handler
|
|
44
|
+
* TypeScript: main.ts, main.js, or index.ts
|
|
45
|
+
*/
|
|
46
|
+
exports.EntrypointSchema = zod_1.z
|
|
47
|
+
.string()
|
|
48
|
+
.min(1)
|
|
49
|
+
.regex(/^[a-zA-Z0-9_][a-zA-Z0-9_/.-]*\.(py|ts|js)(:[a-zA-Z_][a-zA-Z0-9_]*)?$/, 'Must be a Python (.py) or TypeScript (.ts/.js) file path with optional handler (e.g., "main.py:handler" or "index.ts")');
|
|
50
|
+
const DirectoryPathSchema = zod_1.z.string().min(1);
|
|
51
|
+
exports.EnvVarSchema = zod_1.z.object({
|
|
52
|
+
name: exports.EnvVarNameSchema,
|
|
53
|
+
value: zod_1.z.string(),
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Instrumentation configuration for runtime observability.
|
|
57
|
+
*/
|
|
58
|
+
exports.InstrumentationSchema = zod_1.z.object({
|
|
59
|
+
/**
|
|
60
|
+
* Enable OpenTelemetry instrumentation using aws-opentelemetry-distro.
|
|
61
|
+
* When enabled, the runtime entrypoint is wrapped with opentelemetry-instrument.
|
|
62
|
+
* Defaults to true for new runtimes.
|
|
63
|
+
*/
|
|
64
|
+
enableOtel: zod_1.z.boolean().default(true),
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* AgentEnvSpec - represents an AgentCore Runtime.
|
|
68
|
+
* This is a top-level resource in the schema.
|
|
69
|
+
*/
|
|
70
|
+
exports.AgentEnvSpecSchema = zod_1.z.object({
|
|
71
|
+
type: exports.AgentTypeSchema,
|
|
72
|
+
name: exports.AgentNameSchema,
|
|
73
|
+
build: exports.BuildTypeSchema,
|
|
74
|
+
entrypoint: exports.EntrypointSchema,
|
|
75
|
+
codeLocation: DirectoryPathSchema,
|
|
76
|
+
runtimeVersion: constants_1.RuntimeVersionSchema,
|
|
77
|
+
/** Environment variables to set on the runtime */
|
|
78
|
+
envVars: zod_1.z.array(exports.EnvVarSchema).optional(),
|
|
79
|
+
/** Network mode for the runtime. Defaults to PUBLIC. */
|
|
80
|
+
networkMode: constants_1.NetworkModeSchema.optional(),
|
|
81
|
+
/** Instrumentation settings for observability. Defaults to OTel enabled. */
|
|
82
|
+
instrumentation: exports.InstrumentationSchema.optional(),
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=agent-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,4CAA4G;AAE5G,6BAAwB;AAMxB,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAElE,QAAA,eAAe,GAAG,OAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;KAC1B,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,8BAA8B,EAC9B,kGAAkG,CACnG,CAAC;AAES,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CACJ,0BAA0B,EAC1B,uFAAuF,CACxF,CAAC;AAES,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,4BAA4B,EAAE,yEAAyE,CAAC,CAAC;AAElH,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,wCAAwC;AAC3B,QAAA,YAAY,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAG1D,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAElE,QAAA,eAAe,GAAG,OAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAGhD,QAAA,eAAe,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAGhE,qFAAqF;AACrF,2DAA2D;AAE3D;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CACJ,sEAAsE,EACtE,wHAAwH,CACvF,CAAC;AAEtC,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAwC,CAAC;AAExE,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,wBAAgB;IACtB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAGH;;GAEG;AACU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C;;;;OAIG;IACH,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACtC,CAAC,CAAC;AAGH;;;GAGG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,uBAAe;IACrB,IAAI,EAAE,uBAAe;IACrB,KAAK,EAAE,uBAAe;IACtB,UAAU,EAAE,wBAAgB;IAC5B,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,gCAAiC;IACjD,kDAAkD;IAClD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC,CAAC,QAAQ,EAAE;IACzC,wDAAwD;IACxD,WAAW,EAAE,6BAAiB,CAAC,QAAQ,EAAE;IACzC,4EAA4E;IAC5E,eAAe,EAAE,6BAAqB,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}
|