@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.
Files changed (213) hide show
  1. package/LICENSE +175 -0
  2. package/README.md +147 -0
  3. package/dist/assets/README.md +79 -0
  4. package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +2862 -0
  5. package/dist/assets/__tests__/assets.snapshot.test.ts +139 -0
  6. package/dist/assets/agents/AGENTS.md +102 -0
  7. package/dist/assets/cdk/.prettierrc +8 -0
  8. package/dist/assets/cdk/README.md +14 -0
  9. package/dist/assets/cdk/bin/cdk.ts +50 -0
  10. package/dist/assets/cdk/cdk.json +88 -0
  11. package/dist/assets/cdk/gitignore.template +9 -0
  12. package/dist/assets/cdk/jest.config.js +9 -0
  13. package/dist/assets/cdk/lib/cdk-stack.ts +38 -0
  14. package/dist/assets/cdk/npmignore.template +6 -0
  15. package/dist/assets/cdk/package.json +30 -0
  16. package/dist/assets/cdk/test/cdk.test.ts +16 -0
  17. package/dist/assets/cdk/tsconfig.json +28 -0
  18. package/dist/assets/mcp/python/README.md +27 -0
  19. package/dist/assets/mcp/python/pyproject.toml +22 -0
  20. package/dist/assets/mcp/python/server.py +117 -0
  21. package/dist/assets/mcp/python-lambda/README.md +22 -0
  22. package/dist/assets/mcp/python-lambda/handler.py +144 -0
  23. package/dist/assets/mcp/python-lambda/pyproject.toml +15 -0
  24. package/dist/assets/python/autogen/base/README.md +41 -0
  25. package/dist/assets/python/autogen/base/gitignore.template +40 -0
  26. package/dist/assets/python/autogen/base/main.py +52 -0
  27. package/dist/assets/python/autogen/base/mcp_client/client.py +18 -0
  28. package/dist/assets/python/autogen/base/model/load.py +136 -0
  29. package/dist/assets/python/autogen/base/pyproject.toml +35 -0
  30. package/dist/assets/python/crewai/base/README.md +41 -0
  31. package/dist/assets/python/crewai/base/gitignore.template +40 -0
  32. package/dist/assets/python/crewai/base/main.py +55 -0
  33. package/dist/assets/python/crewai/base/model/load.py +133 -0
  34. package/dist/assets/python/crewai/base/pyproject.toml +32 -0
  35. package/dist/assets/python/googleadk/base/README.md +39 -0
  36. package/dist/assets/python/googleadk/base/gitignore.template +40 -0
  37. package/dist/assets/python/googleadk/base/main.py +84 -0
  38. package/dist/assets/python/googleadk/base/mcp_client/client.py +15 -0
  39. package/dist/assets/python/googleadk/base/model/load.py +41 -0
  40. package/dist/assets/python/googleadk/base/pyproject.toml +21 -0
  41. package/dist/assets/python/langchain_langgraph/base/README.md +41 -0
  42. package/dist/assets/python/langchain_langgraph/base/gitignore.template +40 -0
  43. package/dist/assets/python/langchain_langgraph/base/main.py +51 -0
  44. package/dist/assets/python/langchain_langgraph/base/mcp_client/client.py +19 -0
  45. package/dist/assets/python/langchain_langgraph/base/model/load.py +123 -0
  46. package/dist/assets/python/langchain_langgraph/base/pyproject.toml +37 -0
  47. package/dist/assets/python/openaiagents/base/README.md +39 -0
  48. package/dist/assets/python/openaiagents/base/gitignore.template +40 -0
  49. package/dist/assets/python/openaiagents/base/main.py +56 -0
  50. package/dist/assets/python/openaiagents/base/mcp_client/client.py +14 -0
  51. package/dist/assets/python/openaiagents/base/model/load.py +37 -0
  52. package/dist/assets/python/openaiagents/base/pyproject.toml +20 -0
  53. package/dist/assets/python/strands/base/README.md +41 -0
  54. package/dist/assets/python/strands/base/gitignore.template +41 -0
  55. package/dist/assets/python/strands/base/main.py +76 -0
  56. package/dist/assets/python/strands/base/mcp_client/client.py +12 -0
  57. package/dist/assets/python/strands/base/model/load.py +123 -0
  58. package/dist/assets/python/strands/base/pyproject.toml +23 -0
  59. package/dist/assets/python/strands/capabilities/memory/session.py +39 -0
  60. package/dist/assets/typescript/.gitkeep +0 -0
  61. package/dist/cli/index.mjs +985 -0
  62. package/dist/index.d.ts +9 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +27 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/lib/constants.d.ts +25 -0
  67. package/dist/lib/constants.d.ts.map +1 -0
  68. package/dist/lib/constants.js +49 -0
  69. package/dist/lib/constants.js.map +1 -0
  70. package/dist/lib/errors/config.d.ts +49 -0
  71. package/dist/lib/errors/config.d.ts.map +1 -0
  72. package/dist/lib/errors/config.js +167 -0
  73. package/dist/lib/errors/config.js.map +1 -0
  74. package/dist/lib/errors/index.d.ts +2 -0
  75. package/dist/lib/errors/index.d.ts.map +1 -0
  76. package/dist/lib/errors/index.js +18 -0
  77. package/dist/lib/errors/index.js.map +1 -0
  78. package/dist/lib/index.d.ts +7 -0
  79. package/dist/lib/index.d.ts.map +1 -0
  80. package/dist/lib/index.js +39 -0
  81. package/dist/lib/index.js.map +1 -0
  82. package/dist/lib/packaging/errors.d.ts +16 -0
  83. package/dist/lib/packaging/errors.d.ts.map +1 -0
  84. package/dist/lib/packaging/errors.js +36 -0
  85. package/dist/lib/packaging/errors.js.map +1 -0
  86. package/dist/lib/packaging/helpers.d.ts +54 -0
  87. package/dist/lib/packaging/helpers.d.ts.map +1 -0
  88. package/dist/lib/packaging/helpers.js +461 -0
  89. package/dist/lib/packaging/helpers.js.map +1 -0
  90. package/dist/lib/packaging/index.d.ts +36 -0
  91. package/dist/lib/packaging/index.d.ts.map +1 -0
  92. package/dist/lib/packaging/index.js +89 -0
  93. package/dist/lib/packaging/index.js.map +1 -0
  94. package/dist/lib/packaging/node.d.ts +17 -0
  95. package/dist/lib/packaging/node.d.ts.map +1 -0
  96. package/dist/lib/packaging/node.js +108 -0
  97. package/dist/lib/packaging/node.js.map +1 -0
  98. package/dist/lib/packaging/python.d.ts +17 -0
  99. package/dist/lib/packaging/python.d.ts.map +1 -0
  100. package/dist/lib/packaging/python.js +162 -0
  101. package/dist/lib/packaging/python.js.map +1 -0
  102. package/dist/lib/packaging/types/index.d.ts +2 -0
  103. package/dist/lib/packaging/types/index.d.ts.map +1 -0
  104. package/dist/lib/packaging/types/index.js +3 -0
  105. package/dist/lib/packaging/types/index.js.map +1 -0
  106. package/dist/lib/packaging/types/packaging.d.ts +57 -0
  107. package/dist/lib/packaging/types/packaging.d.ts.map +1 -0
  108. package/dist/lib/packaging/types/packaging.js +3 -0
  109. package/dist/lib/packaging/types/packaging.js.map +1 -0
  110. package/dist/lib/packaging/uv.d.ts +7 -0
  111. package/dist/lib/packaging/uv.d.ts.map +1 -0
  112. package/dist/lib/packaging/uv.js +40 -0
  113. package/dist/lib/packaging/uv.js.map +1 -0
  114. package/dist/lib/schemas/io/config-io.d.ts +106 -0
  115. package/dist/lib/schemas/io/config-io.d.ts.map +1 -0
  116. package/dist/lib/schemas/io/config-io.js +293 -0
  117. package/dist/lib/schemas/io/config-io.js.map +1 -0
  118. package/dist/lib/schemas/io/index.d.ts +3 -0
  119. package/dist/lib/schemas/io/index.d.ts.map +1 -0
  120. package/dist/lib/schemas/io/index.js +17 -0
  121. package/dist/lib/schemas/io/index.js.map +1 -0
  122. package/dist/lib/schemas/io/path-resolver.d.ts +112 -0
  123. package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -0
  124. package/dist/lib/schemas/io/path-resolver.js +195 -0
  125. package/dist/lib/schemas/io/path-resolver.js.map +1 -0
  126. package/dist/lib/utils/aws-account.d.ts +7 -0
  127. package/dist/lib/utils/aws-account.d.ts.map +1 -0
  128. package/dist/lib/utils/aws-account.js +24 -0
  129. package/dist/lib/utils/aws-account.js.map +1 -0
  130. package/dist/lib/utils/credentials.d.ts +86 -0
  131. package/dist/lib/utils/credentials.d.ts.map +1 -0
  132. package/dist/lib/utils/credentials.js +153 -0
  133. package/dist/lib/utils/credentials.js.map +1 -0
  134. package/dist/lib/utils/env.d.ts +22 -0
  135. package/dist/lib/utils/env.d.ts.map +1 -0
  136. package/dist/lib/utils/env.js +65 -0
  137. package/dist/lib/utils/env.js.map +1 -0
  138. package/dist/lib/utils/index.d.ts +7 -0
  139. package/dist/lib/utils/index.d.ts.map +1 -0
  140. package/dist/lib/utils/index.js +23 -0
  141. package/dist/lib/utils/index.js.map +1 -0
  142. package/dist/lib/utils/platform.d.ts +63 -0
  143. package/dist/lib/utils/platform.d.ts.map +1 -0
  144. package/dist/lib/utils/platform.js +88 -0
  145. package/dist/lib/utils/platform.js.map +1 -0
  146. package/dist/lib/utils/subprocess.d.ts +29 -0
  147. package/dist/lib/utils/subprocess.d.ts.map +1 -0
  148. package/dist/lib/utils/subprocess.js +94 -0
  149. package/dist/lib/utils/subprocess.js.map +1 -0
  150. package/dist/lib/utils/zod.d.ts +14 -0
  151. package/dist/lib/utils/zod.d.ts.map +1 -0
  152. package/dist/lib/utils/zod.js +32 -0
  153. package/dist/lib/utils/zod.js.map +1 -0
  154. package/dist/schema/constants.d.ts +82 -0
  155. package/dist/schema/constants.d.ts.map +1 -0
  156. package/dist/schema/constants.js +117 -0
  157. package/dist/schema/constants.js.map +1 -0
  158. package/dist/schema/index.d.ts +4 -0
  159. package/dist/schema/index.d.ts.map +1 -0
  160. package/dist/schema/index.js +21 -0
  161. package/dist/schema/index.js.map +1 -0
  162. package/dist/schema/schemas/agent-env.d.ts +75 -0
  163. package/dist/schema/schemas/agent-env.d.ts.map +1 -0
  164. package/dist/schema/schemas/agent-env.js +84 -0
  165. package/dist/schema/schemas/agent-env.js.map +1 -0
  166. package/dist/schema/schemas/agentcore-project.d.ts +88 -0
  167. package/dist/schema/schemas/agentcore-project.d.ts.map +1 -0
  168. package/dist/schema/schemas/agentcore-project.js +83 -0
  169. package/dist/schema/schemas/agentcore-project.js.map +1 -0
  170. package/dist/schema/schemas/aws-targets.d.ts +50 -0
  171. package/dist/schema/schemas/aws-targets.d.ts.map +1 -0
  172. package/dist/schema/schemas/aws-targets.js +49 -0
  173. package/dist/schema/schemas/aws-targets.js.map +1 -0
  174. package/dist/schema/schemas/deployed-state.d.ts +260 -0
  175. package/dist/schema/schemas/deployed-state.d.ts.map +1 -0
  176. package/dist/schema/schemas/deployed-state.js +100 -0
  177. package/dist/schema/schemas/deployed-state.js.map +1 -0
  178. package/dist/schema/schemas/index.d.ts +8 -0
  179. package/dist/schema/schemas/index.d.ts.map +1 -0
  180. package/dist/schema/schemas/index.js +25 -0
  181. package/dist/schema/schemas/index.js.map +1 -0
  182. package/dist/schema/schemas/mcp-defs.d.ts +52 -0
  183. package/dist/schema/schemas/mcp-defs.d.ts.map +1 -0
  184. package/dist/schema/schemas/mcp-defs.js +50 -0
  185. package/dist/schema/schemas/mcp-defs.js.map +1 -0
  186. package/dist/schema/schemas/mcp.d.ts +659 -0
  187. package/dist/schema/schemas/mcp.d.ts.map +1 -0
  188. package/dist/schema/schemas/mcp.js +283 -0
  189. package/dist/schema/schemas/mcp.js.map +1 -0
  190. package/dist/schema/schemas/primitives/index.d.ts +3 -0
  191. package/dist/schema/schemas/primitives/index.d.ts.map +1 -0
  192. package/dist/schema/schemas/primitives/index.js +9 -0
  193. package/dist/schema/schemas/primitives/index.js.map +1 -0
  194. package/dist/schema/schemas/primitives/memory.d.ts +42 -0
  195. package/dist/schema/schemas/primitives/memory.d.ts.map +1 -0
  196. package/dist/schema/schemas/primitives/memory.js +50 -0
  197. package/dist/schema/schemas/primitives/memory.js.map +1 -0
  198. package/dist/schema/schemas/zod-util.d.ts +10 -0
  199. package/dist/schema/schemas/zod-util.d.ts.map +1 -0
  200. package/dist/schema/schemas/zod-util.js +23 -0
  201. package/dist/schema/schemas/zod-util.js.map +1 -0
  202. package/dist/schema/types/index.d.ts +2 -0
  203. package/dist/schema/types/index.d.ts.map +1 -0
  204. package/dist/schema/types/index.js +18 -0
  205. package/dist/schema/types/index.js.map +1 -0
  206. package/dist/schema/types/path.d.ts +27 -0
  207. package/dist/schema/types/path.d.ts.map +1 -0
  208. package/dist/schema/types/path.js +13 -0
  209. package/dist/schema/types/path.js.map +1 -0
  210. package/package.json +111 -0
  211. package/scripts/bump-version.ts +442 -0
  212. package/scripts/check-old-cli.mjs +26 -0
  213. package/scripts/copy-assets.mjs +50 -0
@@ -0,0 +1,461 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_ZIP_SIZE_BYTES = void 0;
4
+ exports.isPythonRuntime = isPythonRuntime;
5
+ exports.isNodeRuntime = isNodeRuntime;
6
+ exports.resolveCodeLocation = resolveCodeLocation;
7
+ exports.resolveProjectPaths = resolveProjectPaths;
8
+ exports.ensureDirClean = ensureDirClean;
9
+ exports.copySourceTree = copySourceTree;
10
+ exports.ensureBinaryAvailable = ensureBinaryAvailable;
11
+ exports.runCommand = runCommand;
12
+ exports.createZipFromDir = createZipFromDir;
13
+ exports.enforceZipSizeLimit = enforceZipSizeLimit;
14
+ exports.resolveProjectPathsSync = resolveProjectPathsSync;
15
+ exports.ensureDirCleanSync = ensureDirCleanSync;
16
+ exports.copySourceTreeSync = copySourceTreeSync;
17
+ exports.ensureBinaryAvailableSync = ensureBinaryAvailableSync;
18
+ exports.createZipFromDirSync = createZipFromDirSync;
19
+ exports.enforceZipSizeLimitSync = enforceZipSizeLimitSync;
20
+ exports.convertWindowsScriptsToLinux = convertWindowsScriptsToLinux;
21
+ exports.convertWindowsScriptsToLinuxSync = convertWindowsScriptsToLinuxSync;
22
+ const constants_1 = require("../constants");
23
+ const platform_1 = require("../utils/platform");
24
+ const subprocess_1 = require("../utils/subprocess");
25
+ const errors_1 = require("./errors");
26
+ const fflate_1 = require("fflate");
27
+ const fs_1 = require("fs");
28
+ const promises_1 = require("fs/promises");
29
+ const path_1 = require("path");
30
+ const promises_2 = require("stream/promises");
31
+ // ============================================================================
32
+ // Runtime Type Detection
33
+ // ============================================================================
34
+ /**
35
+ * Check if the runtime version is a Python runtime.
36
+ */
37
+ function isPythonRuntime(runtimeVersion) {
38
+ return runtimeVersion.startsWith('PYTHON_');
39
+ }
40
+ /**
41
+ * Check if the runtime version is a Node/TypeScript runtime.
42
+ */
43
+ function isNodeRuntime(runtimeVersion) {
44
+ return runtimeVersion.startsWith('NODE_');
45
+ }
46
+ const EXCLUDED_ENTRIES = new Set([
47
+ 'agentcore',
48
+ '.git',
49
+ '.venv',
50
+ '__pycache__',
51
+ '.pytest_cache',
52
+ '.DS_Store',
53
+ 'node_modules',
54
+ ]);
55
+ exports.MAX_ZIP_SIZE_BYTES = 250 * 1024 * 1024;
56
+ /**
57
+ * Resolve CodeLocation path relative to repository root
58
+ * @param codeLocation Path from AgentEnvSpec.Runtime.CodeLocation
59
+ * @param configBaseDir Path to agentcore directory
60
+ * @returns Absolute path to code location
61
+ */
62
+ function resolveCodeLocation(codeLocation, configBaseDir) {
63
+ if ((0, path_1.isAbsolute)(codeLocation)) {
64
+ // Absolute paths allowed but discouraged for checked-in configs
65
+ return codeLocation;
66
+ }
67
+ // Resolve relative to repository root (parent of agentcore/)
68
+ // If configBaseDir is /home/user/myproject/agentcore
69
+ // then repository root is /home/user/myproject/
70
+ const repositoryRoot = (0, path_1.dirname)(configBaseDir);
71
+ return (0, path_1.resolve)(repositoryRoot, codeLocation);
72
+ }
73
+ async function pathExists(path) {
74
+ try {
75
+ await (0, promises_1.stat)(path);
76
+ return true;
77
+ }
78
+ catch (error) {
79
+ if (error.code === 'ENOENT') {
80
+ return false;
81
+ }
82
+ throw error;
83
+ }
84
+ }
85
+ async function findUp(fileName, startDir) {
86
+ let current = (0, path_1.resolve)(startDir);
87
+ const { root } = (0, path_1.parse)(current);
88
+ while (true) {
89
+ const candidate = (0, path_1.join)(current, fileName);
90
+ if (await pathExists(candidate)) {
91
+ return candidate;
92
+ }
93
+ if (current === root) {
94
+ return null;
95
+ }
96
+ current = (0, path_1.dirname)(current);
97
+ }
98
+ }
99
+ async function resolveProjectPaths(options = {}, agentName) {
100
+ const startDir = options.projectRoot ? (0, path_1.resolve)(options.projectRoot) : process.cwd();
101
+ const candidatePyproject = options.pyprojectPath
102
+ ? (0, path_1.resolve)(options.pyprojectPath)
103
+ : await findUp('pyproject.toml', startDir);
104
+ if (!candidatePyproject || !(await pathExists(candidatePyproject))) {
105
+ throw new errors_1.MissingProjectFileError(options.pyprojectPath ?? (0, path_1.join)(startDir, 'pyproject.toml'));
106
+ }
107
+ const pyprojectPath = candidatePyproject;
108
+ const projectRoot = options.projectRoot ? (0, path_1.resolve)(options.projectRoot) : (0, path_1.dirname)(pyprojectPath);
109
+ const srcDir = (0, path_1.resolve)(projectRoot, options.srcDir ?? 'src');
110
+ const artifactDir = (0, path_1.resolve)(options.artifactDir ?? (0, path_1.join)(projectRoot, constants_1.CONFIG_DIR));
111
+ // Simplified staging structure: <artifactDir>/<name>/staging
112
+ const name = agentName ?? 'default';
113
+ const buildDir = (0, path_1.join)(artifactDir, name);
114
+ const stagingDir = (0, path_1.join)(buildDir, 'staging');
115
+ const artifactsDir = artifactDir;
116
+ return {
117
+ projectRoot,
118
+ srcDir,
119
+ pyprojectPath,
120
+ artifactDir,
121
+ buildDir,
122
+ stagingDir,
123
+ artifactsDir,
124
+ };
125
+ }
126
+ async function ensureDirClean(dir) {
127
+ await (0, promises_1.rm)(dir, { recursive: true, force: true });
128
+ await (0, promises_1.mkdir)(dir, { recursive: true });
129
+ }
130
+ async function copyEntry(source, destination) {
131
+ const stats = await (0, promises_1.stat)(source);
132
+ if (stats.isDirectory()) {
133
+ await (0, promises_1.mkdir)(destination, { recursive: true });
134
+ const entries = await (0, promises_1.readdir)(source);
135
+ for (const entry of entries) {
136
+ if (EXCLUDED_ENTRIES.has(entry)) {
137
+ continue;
138
+ }
139
+ await copyEntry((0, path_1.join)(source, entry), (0, path_1.join)(destination, entry));
140
+ }
141
+ return;
142
+ }
143
+ const readStream = (0, fs_1.createReadStream)(source);
144
+ const writeStream = (0, fs_1.createWriteStream)(destination);
145
+ await (0, promises_2.pipeline)(readStream, writeStream);
146
+ }
147
+ async function copySourceTree(srcDir, destination) {
148
+ if (!(await pathExists(srcDir))) {
149
+ throw new errors_1.MissingProjectFileError(srcDir);
150
+ }
151
+ await copyEntry(srcDir, destination);
152
+ }
153
+ async function ensureBinaryAvailable(binary, installHint) {
154
+ const checks = [
155
+ () => (platform_1.isWindows ? (0, subprocess_1.checkSubprocess)('where', [binary]) : (0, subprocess_1.checkSubprocess)('which', [binary])),
156
+ () => (0, subprocess_1.checkSubprocess)(binary, ['--version']),
157
+ () => (0, subprocess_1.checkSubprocess)(binary, ['-v']),
158
+ ];
159
+ for (const check of checks) {
160
+ if (await check()) {
161
+ return;
162
+ }
163
+ }
164
+ throw new errors_1.MissingDependencyError(binary, installHint);
165
+ }
166
+ async function runCommand(command, args, cwd) {
167
+ await (0, subprocess_1.runSubprocess)(command, args, { cwd });
168
+ }
169
+ async function createZipFromDir(sourceDir, outputZip) {
170
+ await (0, promises_1.rm)(outputZip, { force: true });
171
+ await (0, promises_1.mkdir)((0, path_1.dirname)(outputZip), { recursive: true });
172
+ const files = await collectFiles(sourceDir);
173
+ const zipped = (0, fflate_1.zipSync)(files);
174
+ await (0, promises_1.writeFile)(outputZip, zipped);
175
+ }
176
+ async function collectFiles(directory, basePath = '') {
177
+ const result = {};
178
+ const entries = await (0, promises_1.readdir)(directory, { withFileTypes: true });
179
+ for (const entry of entries) {
180
+ if (EXCLUDED_ENTRIES.has(entry.name))
181
+ continue;
182
+ const fullPath = (0, path_1.join)(directory, entry.name);
183
+ const zipPath = basePath ? `${basePath}/${entry.name}` : entry.name;
184
+ if (entry.isDirectory()) {
185
+ Object.assign(result, await collectFiles(fullPath, zipPath));
186
+ }
187
+ else if (entry.isFile()) {
188
+ result[zipPath] = [await (0, promises_1.readFile)(fullPath), { level: 6 }];
189
+ }
190
+ }
191
+ return result;
192
+ }
193
+ async function enforceZipSizeLimit(zipPath) {
194
+ const { size } = await (0, promises_1.stat)(zipPath);
195
+ if (size > exports.MAX_ZIP_SIZE_BYTES) {
196
+ throw new errors_1.ArtifactSizeError(exports.MAX_ZIP_SIZE_BYTES, size);
197
+ }
198
+ return size;
199
+ }
200
+ function pathExistsSync(path) {
201
+ return (0, fs_1.existsSync)(path);
202
+ }
203
+ function findUpSync(fileName, startDir) {
204
+ let current = (0, path_1.resolve)(startDir);
205
+ const { root } = (0, path_1.parse)(current);
206
+ while (true) {
207
+ const candidate = (0, path_1.join)(current, fileName);
208
+ if (pathExistsSync(candidate)) {
209
+ return candidate;
210
+ }
211
+ if (current === root) {
212
+ return null;
213
+ }
214
+ current = (0, path_1.dirname)(current);
215
+ }
216
+ }
217
+ function resolveProjectPathsSync(options = {}, agentName) {
218
+ const startDir = options.projectRoot ? (0, path_1.resolve)(options.projectRoot) : process.cwd();
219
+ const candidatePyproject = options.pyprojectPath
220
+ ? (0, path_1.resolve)(options.pyprojectPath)
221
+ : findUpSync('pyproject.toml', startDir);
222
+ if (!candidatePyproject || !pathExistsSync(candidatePyproject)) {
223
+ throw new errors_1.MissingProjectFileError(options.pyprojectPath ?? (0, path_1.join)(startDir, 'pyproject.toml'));
224
+ }
225
+ const pyprojectPath = candidatePyproject;
226
+ const projectRoot = options.projectRoot ? (0, path_1.resolve)(options.projectRoot) : (0, path_1.dirname)(pyprojectPath);
227
+ const srcDir = (0, path_1.resolve)(projectRoot, options.srcDir ?? 'src');
228
+ const artifactDir = (0, path_1.resolve)(options.artifactDir ?? (0, path_1.join)(projectRoot, constants_1.CONFIG_DIR));
229
+ // Simplified staging structure: <artifactDir>/<name>/staging
230
+ const name = agentName ?? 'default';
231
+ const buildDir = (0, path_1.join)(artifactDir, name);
232
+ const stagingDir = (0, path_1.join)(buildDir, 'staging');
233
+ const artifactsDir = artifactDir;
234
+ return {
235
+ projectRoot,
236
+ srcDir,
237
+ pyprojectPath,
238
+ artifactDir,
239
+ buildDir,
240
+ stagingDir,
241
+ artifactsDir,
242
+ };
243
+ }
244
+ function ensureDirCleanSync(dir) {
245
+ (0, fs_1.rmSync)(dir, { recursive: true, force: true });
246
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
247
+ }
248
+ function copyEntrySync(source, destination) {
249
+ const stats = (0, fs_1.statSync)(source);
250
+ if (stats.isDirectory()) {
251
+ (0, fs_1.mkdirSync)(destination, { recursive: true });
252
+ const entries = (0, fs_1.readdirSync)(source);
253
+ for (const entry of entries) {
254
+ if (EXCLUDED_ENTRIES.has(entry)) {
255
+ continue;
256
+ }
257
+ copyEntrySync((0, path_1.join)(source, entry), (0, path_1.join)(destination, entry));
258
+ }
259
+ return;
260
+ }
261
+ (0, fs_1.copyFileSync)(source, destination);
262
+ }
263
+ function copySourceTreeSync(srcDir, destination) {
264
+ if (!pathExistsSync(srcDir)) {
265
+ throw new errors_1.MissingProjectFileError(srcDir);
266
+ }
267
+ copyEntrySync(srcDir, destination);
268
+ }
269
+ function ensureBinaryAvailableSync(binary, installHint) {
270
+ const checks = [
271
+ () => (platform_1.isWindows ? (0, subprocess_1.checkSubprocessSync)('where', [binary]) : (0, subprocess_1.checkSubprocessSync)('which', [binary])),
272
+ () => (0, subprocess_1.checkSubprocessSync)(binary, ['--version']),
273
+ () => (0, subprocess_1.checkSubprocessSync)(binary, ['-v']),
274
+ ];
275
+ for (const check of checks) {
276
+ if (check()) {
277
+ return;
278
+ }
279
+ }
280
+ throw new errors_1.MissingDependencyError(binary, installHint);
281
+ }
282
+ function collectFilesSync(directory, basePath = '') {
283
+ const result = {};
284
+ const entries = (0, fs_1.readdirSync)(directory, { withFileTypes: true });
285
+ for (const entry of entries) {
286
+ if (EXCLUDED_ENTRIES.has(entry.name))
287
+ continue;
288
+ const fullPath = (0, path_1.join)(directory, entry.name);
289
+ const zipPath = basePath ? `${basePath}/${entry.name}` : entry.name;
290
+ if (entry.isDirectory()) {
291
+ Object.assign(result, collectFilesSync(fullPath, zipPath));
292
+ }
293
+ else if (entry.isFile()) {
294
+ result[zipPath] = [(0, fs_1.readFileSync)(fullPath), { level: 6 }];
295
+ }
296
+ }
297
+ return result;
298
+ }
299
+ function createZipFromDirSync(sourceDir, outputZip) {
300
+ (0, fs_1.rmSync)(outputZip, { force: true });
301
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(outputZip), { recursive: true });
302
+ const files = collectFilesSync(sourceDir);
303
+ const zipped = (0, fflate_1.zipSync)(files);
304
+ (0, fs_1.writeFileSync)(outputZip, zipped);
305
+ }
306
+ function enforceZipSizeLimitSync(zipPath) {
307
+ const { size } = (0, fs_1.statSync)(zipPath);
308
+ if (size > exports.MAX_ZIP_SIZE_BYTES) {
309
+ throw new errors_1.ArtifactSizeError(exports.MAX_ZIP_SIZE_BYTES, size);
310
+ }
311
+ return size;
312
+ }
313
+ /**
314
+ * Generates a Linux-compatible shell script for a Python console entry point.
315
+ * This is needed when packaging on Windows for Linux targets, as uv generates
316
+ * .exe files based on the host OS rather than the target platform.
317
+ */
318
+ function generateLinuxConsoleScript(modulePath, funcName) {
319
+ return `#!/usr/bin/env python3
320
+ # -*- coding: utf-8 -*-
321
+ import re
322
+ import sys
323
+ from ${modulePath} import ${funcName}
324
+ if __name__ == '__main__':
325
+ sys.argv[0] = re.sub(r'(-script\\.pyw|\\.exe)?$', '', sys.argv[0])
326
+ sys.exit(${funcName}())
327
+ `;
328
+ }
329
+ /**
330
+ * Known console script entry points that need to be converted from Windows .exe
331
+ * to Linux shell scripts when cross-compiling.
332
+ * Format: { 'script-name': ['module.path', 'function_name'] }
333
+ */
334
+ const KNOWN_CONSOLE_SCRIPTS = {
335
+ 'opentelemetry-instrument': ['opentelemetry.instrumentation.auto_instrumentation', 'run'],
336
+ 'opentelemetry-bootstrap': ['opentelemetry.instrumentation.bootstrap', 'run'],
337
+ };
338
+ /**
339
+ * Checks if a shebang line contains a hardcoded absolute path that won't work in Lambda.
340
+ */
341
+ function isHardcodedShebang(shebang) {
342
+ return /^#!\/(?:Users|home|opt|var|tmp)\/.*python/.test(shebang);
343
+ }
344
+ /**
345
+ * Rewrites shebangs in console scripts to use portable #!/usr/bin/env python3.
346
+ * This handles scripts installed on macOS/Linux that have hardcoded absolute paths.
347
+ */
348
+ async function rewriteUnixShebangs(stagingDir) {
349
+ const binDir = (0, path_1.join)(stagingDir, 'bin');
350
+ if (!(await pathExists(binDir))) {
351
+ return;
352
+ }
353
+ const entries = await (0, promises_1.readdir)(binDir);
354
+ const portableShebang = '#!/usr/bin/env python3';
355
+ for (const entry of entries) {
356
+ const scriptPath = (0, path_1.join)(binDir, entry);
357
+ const stats = await (0, promises_1.stat)(scriptPath);
358
+ if (!stats.isFile()) {
359
+ continue;
360
+ }
361
+ const content = await (0, promises_1.readFile)(scriptPath, 'utf-8');
362
+ const firstLine = content.split('\n')[0] ?? '';
363
+ if (firstLine && isHardcodedShebang(firstLine)) {
364
+ const newContent = content.replace(firstLine, portableShebang);
365
+ await (0, promises_1.writeFile)(scriptPath, newContent, { mode: 0o755 });
366
+ }
367
+ }
368
+ }
369
+ /**
370
+ * Prepares console scripts for Linux deployment by:
371
+ * - On Windows: Converting .exe files to Linux shell scripts
372
+ * - On macOS/Linux: Rewriting hardcoded shebang paths to portable ones
373
+ *
374
+ * @param stagingDir The directory containing installed Python packages
375
+ */
376
+ async function convertWindowsScriptsToLinux(stagingDir) {
377
+ if (platform_1.isWindows) {
378
+ const binDir = (0, path_1.join)(stagingDir, 'bin');
379
+ if (!(await pathExists(binDir))) {
380
+ return;
381
+ }
382
+ const entries = await (0, promises_1.readdir)(binDir);
383
+ for (const entry of entries) {
384
+ if (!entry.endsWith('.exe')) {
385
+ continue;
386
+ }
387
+ const scriptName = entry.slice(0, -4); // Remove .exe extension
388
+ const entryPoint = KNOWN_CONSOLE_SCRIPTS[scriptName];
389
+ if (entryPoint) {
390
+ const [modulePath, funcName] = entryPoint;
391
+ const exePath = (0, path_1.join)(binDir, entry);
392
+ const scriptPath = (0, path_1.join)(binDir, scriptName);
393
+ // Remove the Windows .exe file
394
+ await (0, promises_1.unlink)(exePath);
395
+ // Create Linux-compatible shell script
396
+ const scriptContent = generateLinuxConsoleScript(modulePath, funcName);
397
+ await (0, promises_1.writeFile)(scriptPath, scriptContent, { mode: 0o755 });
398
+ }
399
+ }
400
+ }
401
+ else {
402
+ await rewriteUnixShebangs(stagingDir);
403
+ }
404
+ }
405
+ /**
406
+ * Synchronous version of rewriteUnixShebangs.
407
+ */
408
+ function rewriteUnixShebangsSync(stagingDir) {
409
+ const binDir = (0, path_1.join)(stagingDir, 'bin');
410
+ if (!pathExistsSync(binDir)) {
411
+ return;
412
+ }
413
+ const entries = (0, fs_1.readdirSync)(binDir);
414
+ const portableShebang = '#!/usr/bin/env python3';
415
+ for (const entry of entries) {
416
+ const scriptPath = (0, path_1.join)(binDir, entry);
417
+ const stats = (0, fs_1.statSync)(scriptPath);
418
+ if (!stats.isFile()) {
419
+ continue;
420
+ }
421
+ const content = (0, fs_1.readFileSync)(scriptPath, 'utf-8');
422
+ const firstLine = content.split('\n')[0] ?? '';
423
+ if (firstLine && isHardcodedShebang(firstLine)) {
424
+ const newContent = content.replace(firstLine, portableShebang);
425
+ (0, fs_1.writeFileSync)(scriptPath, newContent, { mode: 0o755 });
426
+ }
427
+ }
428
+ }
429
+ /**
430
+ * Synchronous version of convertWindowsScriptsToLinux.
431
+ */
432
+ function convertWindowsScriptsToLinuxSync(stagingDir) {
433
+ if (platform_1.isWindows) {
434
+ const binDir = (0, path_1.join)(stagingDir, 'bin');
435
+ if (!pathExistsSync(binDir)) {
436
+ return;
437
+ }
438
+ const entries = (0, fs_1.readdirSync)(binDir);
439
+ for (const entry of entries) {
440
+ if (!entry.endsWith('.exe')) {
441
+ continue;
442
+ }
443
+ const scriptName = entry.slice(0, -4); // Remove .exe extension
444
+ const entryPoint = KNOWN_CONSOLE_SCRIPTS[scriptName];
445
+ if (entryPoint) {
446
+ const [modulePath, funcName] = entryPoint;
447
+ const exePath = (0, path_1.join)(binDir, entry);
448
+ const scriptPath = (0, path_1.join)(binDir, scriptName);
449
+ // Remove the Windows .exe file
450
+ (0, fs_1.unlinkSync)(exePath);
451
+ // Create Linux-compatible shell script
452
+ const scriptContent = generateLinuxConsoleScript(modulePath, funcName);
453
+ (0, fs_1.writeFileSync)(scriptPath, scriptContent, { mode: 0o755 });
454
+ }
455
+ }
456
+ }
457
+ else {
458
+ rewriteUnixShebangsSync(stagingDir);
459
+ }
460
+ }
461
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/packaging/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { AgentCoreProjectSpec, AgentEnvSpec, RuntimeVersion } from '../../schema';
2
+ import type { ArtifactResult, CodeBundleConfig, CodeZipPackager, PackageOptions, RuntimePackager } from './types/packaging';
3
+ /**
4
+ * Validate that an agent exists in the config
5
+ * @param project AgentCore project configuration
6
+ * @param agentName Name of agent to validate
7
+ * @throws PackagingError if agent not found
8
+ */
9
+ export declare function validateAgentExists(project: AgentCoreProjectSpec, agentName: string): void;
10
+ /**
11
+ * Get the async runtime packager for CLI usage based on runtime version.
12
+ * Supports both Python and Node/TypeScript runtimes.
13
+ */
14
+ export declare function getRuntimePackager(runtimeVersion: RuntimeVersion): RuntimePackager;
15
+ /**
16
+ * Get the sync CodeZip packager for CDK bundling based on runtime version.
17
+ * Supports both Python and Node/TypeScript runtimes.
18
+ */
19
+ export declare function getCodeZipPackager(runtimeVersion: RuntimeVersion): CodeZipPackager;
20
+ /**
21
+ * Package a runtime asynchronously.
22
+ * This is the primary API for CLI usage.
23
+ * Automatically selects the appropriate packager based on runtime version.
24
+ */
25
+ export declare function packRuntime(spec: AgentEnvSpec, options?: PackageOptions): Promise<ArtifactResult>;
26
+ /**
27
+ * Package a code bundle synchronously.
28
+ * This is the primary API for CDK bundling.
29
+ * Works with AgentEnvSpec or any object with name, codeLocation, and entrypoint.
30
+ * Defaults to Python if no runtimeVersion is specified.
31
+ */
32
+ export declare function packCodeZipSync(config: CodeBundleConfig | AgentEnvSpec, options?: PackageOptions): ArtifactResult;
33
+ export type { ArtifactResult, CodeBundleConfig, CodeZipPackager, PackageOptions, RuntimePackager, } from './types/packaging';
34
+ export * from './errors';
35
+ export { resolveCodeLocation } from './helpers';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/packaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAKvF,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAM1F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAQlF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAQlF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAGvG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAIjH;AAED,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,89 @@
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
+ exports.resolveCodeLocation = void 0;
18
+ exports.validateAgentExists = validateAgentExists;
19
+ exports.getRuntimePackager = getRuntimePackager;
20
+ exports.getCodeZipPackager = getCodeZipPackager;
21
+ exports.packRuntime = packRuntime;
22
+ exports.packCodeZipSync = packCodeZipSync;
23
+ const errors_1 = require("./errors");
24
+ const helpers_1 = require("./helpers");
25
+ const node_1 = require("./node");
26
+ const python_1 = require("./python");
27
+ /**
28
+ * Validate that an agent exists in the config
29
+ * @param project AgentCore project configuration
30
+ * @param agentName Name of agent to validate
31
+ * @throws PackagingError if agent not found
32
+ */
33
+ function validateAgentExists(project, agentName) {
34
+ const agent = project.agents.find((a) => a.name === agentName);
35
+ if (!agent) {
36
+ const available = project.agents.map((a) => a.name).join(', ');
37
+ throw new errors_1.PackagingError(`Agent '${agentName}' not found. Available agents: ${available}`);
38
+ }
39
+ }
40
+ /**
41
+ * Get the async runtime packager for CLI usage based on runtime version.
42
+ * Supports both Python and Node/TypeScript runtimes.
43
+ */
44
+ function getRuntimePackager(runtimeVersion) {
45
+ if ((0, helpers_1.isPythonRuntime)(runtimeVersion)) {
46
+ return new python_1.PythonCodeZipPackager();
47
+ }
48
+ if ((0, helpers_1.isNodeRuntime)(runtimeVersion)) {
49
+ return new node_1.NodeCodeZipPackager();
50
+ }
51
+ throw new errors_1.PackagingError(`Unsupported runtime version: ${runtimeVersion}`);
52
+ }
53
+ /**
54
+ * Get the sync CodeZip packager for CDK bundling based on runtime version.
55
+ * Supports both Python and Node/TypeScript runtimes.
56
+ */
57
+ function getCodeZipPackager(runtimeVersion) {
58
+ if ((0, helpers_1.isPythonRuntime)(runtimeVersion)) {
59
+ return new python_1.PythonCodeZipPackagerSync();
60
+ }
61
+ if ((0, helpers_1.isNodeRuntime)(runtimeVersion)) {
62
+ return new node_1.NodeCodeZipPackagerSync();
63
+ }
64
+ throw new errors_1.PackagingError(`Unsupported runtime version: ${runtimeVersion}`);
65
+ }
66
+ /**
67
+ * Package a runtime asynchronously.
68
+ * This is the primary API for CLI usage.
69
+ * Automatically selects the appropriate packager based on runtime version.
70
+ */
71
+ async function packRuntime(spec, options) {
72
+ const packager = getRuntimePackager(spec.runtimeVersion);
73
+ return packager.pack(spec, options);
74
+ }
75
+ /**
76
+ * Package a code bundle synchronously.
77
+ * This is the primary API for CDK bundling.
78
+ * Works with AgentEnvSpec or any object with name, codeLocation, and entrypoint.
79
+ * Defaults to Python if no runtimeVersion is specified.
80
+ */
81
+ function packCodeZipSync(config, options) {
82
+ const runtimeVersion = config.runtimeVersion ?? 'PYTHON_3_12';
83
+ const packager = getCodeZipPackager(runtimeVersion);
84
+ return packager.packCodeZip(config, options);
85
+ }
86
+ __exportStar(require("./errors"), exports);
87
+ var helpers_2 = require("./helpers");
88
+ Object.defineProperty(exports, "resolveCodeLocation", { enumerable: true, get: function () { return helpers_2.resolveCodeLocation; } });
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/packaging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmBA,kDAMC;AAMD,gDAQC;AAMD,gDAQC;AAOD,kCAGC;AAQD,0CAIC;AA1ED,qCAA0C;AAC1C,uCAA2D;AAC3D,iCAAsE;AACtE,qCAA4E;AAS5E;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAA6B,EAAE,SAAiB;IAClF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,IAAI,uBAAc,CAAC,UAAU,SAAS,kCAAkC,SAAS,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,cAA8B;IAC/D,IAAI,IAAA,yBAAe,EAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,8BAAqB,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,IAAA,uBAAa,EAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,0BAAmB,EAAE,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,uBAAc,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,cAA8B;IAC/D,IAAI,IAAA,yBAAe,EAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,kCAAyB,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,IAAA,uBAAa,EAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,8BAAuB,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,uBAAc,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,IAAkB,EAAE,OAAwB;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAuC,EAAE,OAAwB;IAC/F,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,aAAa,CAAC;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAsB,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AASD,2CAAyB;AACzB,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA"}
@@ -0,0 +1,17 @@
1
+ import type { AgentEnvSpec } from '../../schema';
2
+ import type { ArtifactResult, CodeZipPackager, PackageOptions, RuntimePackager } from './types/packaging';
3
+ /**
4
+ * Async Node/TypeScript packager for CLI usage.
5
+ */
6
+ export declare class NodeCodeZipPackager implements RuntimePackager {
7
+ pack(spec: AgentEnvSpec, options?: PackageOptions): Promise<ArtifactResult>;
8
+ private installDependencies;
9
+ }
10
+ /**
11
+ * Sync Node/TypeScript packager for CDK bundling.
12
+ */
13
+ export declare class NodeCodeZipPackagerSync implements CodeZipPackager {
14
+ packCodeZip(config: AgentEnvSpec, options?: PackageOptions): ArtifactResult;
15
+ private installDependenciesSync;
16
+ }
17
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/lib/packaging/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,cAAc,CAAC;AAmB9E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA4B1G;;GAEG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACnD,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;YAgCvE,mBAAmB;CAWlC;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,cAAc;IA8B/E,OAAO,CAAC,uBAAuB;CAUhC"}