@aws/agentcore 1.0.0-preview.2 → 1.0.0-preview.20

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 (256) hide show
  1. package/README.md +193 -33
  2. package/dist/agent-inspector/index.css +1 -1
  3. package/dist/agent-inspector/index.js +99 -84
  4. package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +3132 -366
  5. package/dist/assets/__tests__/__snapshots__/dockerfile-render.test.ts.snap +6 -2
  6. package/dist/assets/__tests__/assets.snapshot.test.ts +10 -24
  7. package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
  8. package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
  9. package/dist/assets/agents/AGENTS.md +87 -11
  10. package/dist/assets/cdk/bin/cdk.ts +87 -26
  11. package/dist/assets/cdk/lib/cdk-stack.ts +185 -55
  12. package/dist/assets/cdk/package.json +1 -1
  13. package/dist/assets/cdk/test/cdk.test.ts +4 -0
  14. package/dist/assets/container/python/Dockerfile +7 -1
  15. package/dist/assets/container/typescript/Dockerfile +25 -0
  16. package/dist/assets/container/typescript/dockerignore.template +24 -0
  17. package/dist/assets/datasets/predefined-v1.jsonl +3 -0
  18. package/dist/assets/datasets/simulated-v1.jsonl +3 -0
  19. package/dist/assets/python/a2a/googleadk/base/main.py +24 -16
  20. package/dist/assets/python/a2a/googleadk/base/pyproject.toml +3 -3
  21. package/dist/assets/python/a2a/langchain_langgraph/base/main.py +24 -16
  22. package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +3 -2
  23. package/dist/assets/python/a2a/strands/base/main.py +23 -17
  24. package/dist/assets/python/a2a/strands/base/pyproject.toml +2 -2
  25. package/dist/assets/python/a2a/strands/capabilities/memory/session.py +10 -2
  26. package/dist/assets/python/agui/googleadk/base/main.py +62 -2
  27. package/dist/assets/python/agui/googleadk/base/pyproject.toml +3 -3
  28. package/dist/assets/python/agui/langchain_langgraph/base/main.py +56 -0
  29. package/dist/assets/python/agui/langchain_langgraph/base/pyproject.toml +2 -1
  30. package/dist/assets/python/agui/strands/base/main.py +63 -1
  31. package/dist/assets/python/agui/strands/base/pyproject.toml +1 -1
  32. package/dist/assets/python/agui/strands/capabilities/memory/session.py +10 -2
  33. package/dist/assets/python/http/autogen/base/main.py +60 -29
  34. package/dist/assets/python/http/autogen/base/pyproject.toml +1 -1
  35. package/dist/assets/python/http/googleadk/base/main.py +69 -24
  36. package/dist/assets/python/http/googleadk/base/mcp_client/client.py +7 -7
  37. package/dist/assets/python/http/googleadk/base/pyproject.toml +2 -1
  38. package/dist/assets/python/http/langchain_langgraph/base/main.py +115 -24
  39. package/dist/assets/python/http/langchain_langgraph/base/mcp_client/client.py +10 -8
  40. package/dist/assets/python/http/langchain_langgraph/base/pyproject.toml +3 -2
  41. package/dist/assets/python/http/openaiagents/base/main.py +61 -32
  42. package/dist/assets/python/http/openaiagents/base/mcp_client/client.py +4 -4
  43. package/dist/assets/python/http/openaiagents/base/pyproject.toml +2 -2
  44. package/dist/assets/python/http/strands/base/main.py +571 -47
  45. package/dist/assets/python/http/strands/base/mcp_client/client.py +49 -6
  46. package/dist/assets/python/http/strands/base/model/load.py +119 -3
  47. package/dist/assets/python/http/strands/base/model/mantle_compat.py +21 -0
  48. package/dist/assets/python/http/strands/base/pyproject.toml +9 -3
  49. package/dist/assets/python/http/strands/base/skills/fetcher.py +279 -0
  50. package/dist/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
  51. package/dist/assets/python/http/strands/capabilities/memory/session.py +10 -2
  52. package/dist/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
  53. package/dist/assets/python/http/strands/capabilities/payments/payments.py +142 -0
  54. package/dist/assets/python/mcp/standalone/base/main.py +58 -0
  55. package/dist/assets/typescript/http/strands/base/README.md +37 -0
  56. package/dist/assets/typescript/http/strands/base/gitignore.template +22 -0
  57. package/dist/assets/typescript/http/strands/base/main.ts +144 -0
  58. package/dist/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
  59. package/dist/assets/typescript/http/strands/base/model/load.ts +102 -0
  60. package/dist/assets/typescript/http/strands/base/package.json +38 -0
  61. package/dist/assets/typescript/http/strands/base/tsconfig.json +19 -0
  62. package/dist/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
  63. package/dist/assets/typescript/http/vercelai/base/README.md +37 -0
  64. package/dist/assets/typescript/http/vercelai/base/gitignore.template +22 -0
  65. package/dist/assets/typescript/http/vercelai/base/main.ts +64 -0
  66. package/dist/assets/typescript/http/vercelai/base/model/load.ts +121 -0
  67. package/dist/assets/typescript/http/vercelai/base/package.json +35 -0
  68. package/dist/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
  69. package/dist/cli/index.mjs +1416 -568
  70. package/dist/lib/errors/index.d.ts +1 -1
  71. package/dist/lib/errors/index.d.ts.map +1 -1
  72. package/dist/lib/errors/index.js +1 -1
  73. package/dist/lib/errors/index.js.map +1 -1
  74. package/dist/lib/errors/types.d.ts +259 -0
  75. package/dist/lib/errors/types.d.ts.map +1 -0
  76. package/dist/lib/errors/types.js +402 -0
  77. package/dist/lib/errors/types.js.map +1 -0
  78. package/dist/lib/errors/zod.d.ts +8 -0
  79. package/dist/lib/errors/zod.d.ts.map +1 -0
  80. package/dist/lib/errors/{config.js → zod.js} +8 -81
  81. package/dist/lib/errors/zod.js.map +1 -0
  82. package/dist/lib/index.d.ts +3 -0
  83. package/dist/lib/index.d.ts.map +1 -1
  84. package/dist/lib/index.js +4 -1
  85. package/dist/lib/index.js.map +1 -1
  86. package/dist/lib/packaging/build-args.js +2 -2
  87. package/dist/lib/packaging/build-args.js.map +1 -1
  88. package/dist/lib/packaging/container.js +5 -5
  89. package/dist/lib/packaging/container.js.map +1 -1
  90. package/dist/lib/packaging/helpers.d.ts +16 -0
  91. package/dist/lib/packaging/helpers.d.ts.map +1 -1
  92. package/dist/lib/packaging/helpers.js +127 -29
  93. package/dist/lib/packaging/helpers.js.map +1 -1
  94. package/dist/lib/packaging/index.d.ts +0 -1
  95. package/dist/lib/packaging/index.d.ts.map +1 -1
  96. package/dist/lib/packaging/index.js +4 -19
  97. package/dist/lib/packaging/index.js.map +1 -1
  98. package/dist/lib/packaging/node.d.ts +2 -2
  99. package/dist/lib/packaging/node.d.ts.map +1 -1
  100. package/dist/lib/packaging/node.js +83 -38
  101. package/dist/lib/packaging/node.js.map +1 -1
  102. package/dist/lib/packaging/python.js +12 -12
  103. package/dist/lib/packaging/python.js.map +1 -1
  104. package/dist/lib/result.d.ts +50 -0
  105. package/dist/lib/result.d.ts.map +1 -0
  106. package/dist/lib/result.js +49 -0
  107. package/dist/lib/result.js.map +1 -0
  108. package/dist/lib/schemas/io/config-io.d.ts +8 -0
  109. package/dist/lib/schemas/io/config-io.d.ts.map +1 -1
  110. package/dist/lib/schemas/io/config-io.js +21 -3
  111. package/dist/lib/schemas/io/config-io.js.map +1 -1
  112. package/dist/lib/schemas/io/global-config.d.ts +40 -0
  113. package/dist/lib/schemas/io/global-config.d.ts.map +1 -0
  114. package/dist/lib/schemas/io/global-config.js +118 -0
  115. package/dist/lib/schemas/io/global-config.js.map +1 -0
  116. package/dist/lib/schemas/io/index.d.ts +1 -2
  117. package/dist/lib/schemas/io/index.d.ts.map +1 -1
  118. package/dist/lib/schemas/io/index.js +1 -4
  119. package/dist/lib/schemas/io/index.js.map +1 -1
  120. package/dist/lib/schemas/io/path-resolver.d.ts +0 -6
  121. package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -1
  122. package/dist/lib/schemas/io/path-resolver.js +3 -13
  123. package/dist/lib/schemas/io/path-resolver.js.map +1 -1
  124. package/dist/lib/secrets/cipher.d.ts +12 -0
  125. package/dist/lib/secrets/cipher.d.ts.map +1 -0
  126. package/dist/lib/secrets/cipher.js +54 -0
  127. package/dist/lib/secrets/cipher.js.map +1 -0
  128. package/dist/lib/secrets/index.d.ts +4 -0
  129. package/dist/lib/secrets/index.d.ts.map +1 -0
  130. package/dist/lib/secrets/index.js +15 -0
  131. package/dist/lib/secrets/index.js.map +1 -0
  132. package/dist/lib/secrets/key-provider.d.ts +16 -0
  133. package/dist/lib/secrets/key-provider.d.ts.map +1 -0
  134. package/dist/lib/secrets/key-provider.js +191 -0
  135. package/dist/lib/secrets/key-provider.js.map +1 -0
  136. package/dist/lib/secrets/sensitive-keys.d.ts +21 -0
  137. package/dist/lib/secrets/sensitive-keys.d.ts.map +1 -0
  138. package/dist/lib/secrets/sensitive-keys.js +67 -0
  139. package/dist/lib/secrets/sensitive-keys.js.map +1 -0
  140. package/dist/lib/time-constants.d.ts +5 -0
  141. package/dist/lib/time-constants.d.ts.map +1 -0
  142. package/dist/lib/time-constants.js +8 -0
  143. package/dist/lib/time-constants.js.map +1 -0
  144. package/dist/lib/utils/env.d.ts +8 -2
  145. package/dist/lib/utils/env.d.ts.map +1 -1
  146. package/dist/lib/utils/env.js +65 -17
  147. package/dist/lib/utils/env.js.map +1 -1
  148. package/dist/lib/utils/index.d.ts +3 -2
  149. package/dist/lib/utils/index.d.ts.map +1 -1
  150. package/dist/lib/utils/index.js +6 -1
  151. package/dist/lib/utils/index.js.map +1 -1
  152. package/dist/lib/utils/polling.d.ts +31 -0
  153. package/dist/lib/utils/polling.d.ts.map +1 -0
  154. package/dist/lib/utils/polling.js +61 -0
  155. package/dist/lib/utils/polling.js.map +1 -0
  156. package/dist/lib/utils/zod.d.ts +16 -0
  157. package/dist/lib/utils/zod.d.ts.map +1 -1
  158. package/dist/lib/utils/zod.js +45 -0
  159. package/dist/lib/utils/zod.js.map +1 -1
  160. package/dist/schema/constants.d.ts +56 -2
  161. package/dist/schema/constants.d.ts.map +1 -1
  162. package/dist/schema/constants.js +82 -7
  163. package/dist/schema/constants.js.map +1 -1
  164. package/dist/schema/schemas/agent-env.d.ts +156 -6
  165. package/dist/schema/schemas/agent-env.d.ts.map +1 -1
  166. package/dist/schema/schemas/agent-env.js +186 -13
  167. package/dist/schema/schemas/agent-env.js.map +1 -1
  168. package/dist/schema/schemas/agentcore-project.d.ts +446 -11
  169. package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
  170. package/dist/schema/schemas/agentcore-project.js +283 -18
  171. package/dist/schema/schemas/agentcore-project.js.map +1 -1
  172. package/dist/schema/schemas/auth.d.ts +174 -0
  173. package/dist/schema/schemas/auth.d.ts.map +1 -1
  174. package/dist/schema/schemas/auth.js +127 -3
  175. package/dist/schema/schemas/auth.js.map +1 -1
  176. package/dist/schema/schemas/connections.d.ts +185 -0
  177. package/dist/schema/schemas/connections.d.ts.map +1 -0
  178. package/dist/schema/schemas/connections.js +176 -0
  179. package/dist/schema/schemas/connections.js.map +1 -0
  180. package/dist/schema/schemas/deployed-state.d.ts +361 -5
  181. package/dist/schema/schemas/deployed-state.d.ts.map +1 -1
  182. package/dist/schema/schemas/deployed-state.js +105 -2
  183. package/dist/schema/schemas/deployed-state.js.map +1 -1
  184. package/dist/schema/schemas/index.d.ts +1 -0
  185. package/dist/schema/schemas/index.d.ts.map +1 -1
  186. package/dist/schema/schemas/index.js +1 -0
  187. package/dist/schema/schemas/index.js.map +1 -1
  188. package/dist/schema/schemas/mcp-defs.d.ts +2 -1
  189. package/dist/schema/schemas/mcp-defs.d.ts.map +1 -1
  190. package/dist/schema/schemas/mcp-defs.js +3 -2
  191. package/dist/schema/schemas/mcp-defs.js.map +1 -1
  192. package/dist/schema/schemas/mcp.d.ts +197 -0
  193. package/dist/schema/schemas/mcp.d.ts.map +1 -1
  194. package/dist/schema/schemas/mcp.js +342 -6
  195. package/dist/schema/schemas/mcp.js.map +1 -1
  196. package/dist/schema/schemas/primitives/ab-test.d.ts +135 -0
  197. package/dist/schema/schemas/primitives/ab-test.d.ts.map +1 -0
  198. package/dist/schema/schemas/primitives/ab-test.js +95 -0
  199. package/dist/schema/schemas/primitives/ab-test.js.map +1 -0
  200. package/dist/schema/schemas/primitives/config-bundle.d.ts +32 -0
  201. package/dist/schema/schemas/primitives/config-bundle.d.ts.map +1 -0
  202. package/dist/schema/schemas/primitives/config-bundle.js +41 -0
  203. package/dist/schema/schemas/primitives/config-bundle.js.map +1 -0
  204. package/dist/schema/schemas/primitives/dataset.d.ts +48 -0
  205. package/dist/schema/schemas/primitives/dataset.d.ts.map +1 -0
  206. package/dist/schema/schemas/primitives/dataset.js +58 -0
  207. package/dist/schema/schemas/primitives/dataset.js.map +1 -0
  208. package/dist/schema/schemas/primitives/evaluator.d.ts +8 -0
  209. package/dist/schema/schemas/primitives/evaluator.d.ts.map +1 -1
  210. package/dist/schema/schemas/primitives/evaluator.js +17 -1
  211. package/dist/schema/schemas/primitives/evaluator.js.map +1 -1
  212. package/dist/schema/schemas/primitives/harness.d.ts +377 -19
  213. package/dist/schema/schemas/primitives/harness.d.ts.map +1 -1
  214. package/dist/schema/schemas/primitives/harness.js +379 -24
  215. package/dist/schema/schemas/primitives/harness.js.map +1 -1
  216. package/dist/schema/schemas/primitives/index.d.ts +13 -7
  217. package/dist/schema/schemas/primitives/index.d.ts.map +1 -1
  218. package/dist/schema/schemas/primitives/index.js +37 -1
  219. package/dist/schema/schemas/primitives/index.js.map +1 -1
  220. package/dist/schema/schemas/primitives/knowledge-base.d.ts +104 -0
  221. package/dist/schema/schemas/primitives/knowledge-base.d.ts.map +1 -0
  222. package/dist/schema/schemas/primitives/knowledge-base.js +99 -0
  223. package/dist/schema/schemas/primitives/knowledge-base.js.map +1 -0
  224. package/dist/schema/schemas/primitives/memory.d.ts +22 -4
  225. package/dist/schema/schemas/primitives/memory.d.ts.map +1 -1
  226. package/dist/schema/schemas/primitives/memory.js +57 -16
  227. package/dist/schema/schemas/primitives/memory.js.map +1 -1
  228. package/dist/schema/schemas/primitives/online-eval-config.d.ts +21 -2
  229. package/dist/schema/schemas/primitives/online-eval-config.d.ts.map +1 -1
  230. package/dist/schema/schemas/primitives/online-eval-config.js +45 -5
  231. package/dist/schema/schemas/primitives/online-eval-config.js.map +1 -1
  232. package/dist/schema/schemas/primitives/payment.d.ts +54 -0
  233. package/dist/schema/schemas/primitives/payment.d.ts.map +1 -0
  234. package/dist/schema/schemas/primitives/payment.js +79 -0
  235. package/dist/schema/schemas/primitives/payment.js.map +1 -0
  236. package/dist/schema/schemas/primitives/policy.d.ts +26 -0
  237. package/dist/schema/schemas/primitives/policy.d.ts.map +1 -1
  238. package/dist/schema/schemas/primitives/policy.js +5 -1
  239. package/dist/schema/schemas/primitives/policy.js.map +1 -1
  240. package/npm-shrinkwrap.json +17013 -0
  241. package/package.json +43 -21
  242. package/scripts/bump-version.ts +4 -4
  243. package/scripts/bundle.mjs +70 -41
  244. package/scripts/run-e2e-dev.sh +56 -0
  245. package/scripts/run-e2e-local.sh +145 -0
  246. package/dist/lib/errors/config.d.ts +0 -49
  247. package/dist/lib/errors/config.d.ts.map +0 -1
  248. package/dist/lib/errors/config.js.map +0 -1
  249. package/dist/lib/packaging/errors.d.ts +0 -16
  250. package/dist/lib/packaging/errors.d.ts.map +0 -1
  251. package/dist/lib/packaging/errors.js +0 -36
  252. package/dist/lib/packaging/errors.js.map +0 -1
  253. package/dist/lib/schemas/io/cli-config.d.ts +0 -12
  254. package/dist/lib/schemas/io/cli-config.d.ts.map +0 -1
  255. package/dist/lib/schemas/io/cli-config.js +0 -35
  256. package/dist/lib/schemas/io/cli-config.js.map +0 -1
@@ -14,8 +14,8 @@ export type Access = z.infer<typeof AccessSchema>;
14
14
  export declare const AgentTypeSchema: z.ZodLiteral<"AgentCoreRuntime">;
15
15
  export type AgentType = z.infer<typeof AgentTypeSchema>;
16
16
  export declare const BuildTypeSchema: z.ZodEnum<{
17
- CodeZip: "CodeZip";
18
17
  Container: "Container";
18
+ CodeZip: "CodeZip";
19
19
  }>;
20
20
  export type BuildType = z.infer<typeof BuildTypeSchema>;
21
21
  /**
@@ -43,15 +43,27 @@ export type Instrumentation = z.infer<typeof InstrumentationSchema>;
43
43
  export declare const NetworkConfigSchema: z.ZodObject<{
44
44
  subnets: z.ZodArray<z.ZodString>;
45
45
  securityGroups: z.ZodArray<z.ZodString>;
46
+ vpcId: z.ZodOptional<z.ZodString>;
46
47
  }, z.core.$strip>;
47
48
  export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
48
49
  /**
49
50
  * Allowed request headers for the runtime.
50
- * Each header must be 'Authorization' or start with 'X-Amzn-Bedrock-AgentCore-Runtime-Custom-'.
51
+ * Per https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-header-allowlist.html
52
+ * any valid HTTP header name (alphanumeric, hyphens, underscores) may be allow-listed,
53
+ * provided it is not structurally reserved (x-amz-*, x-amzn-* except Runtime-Custom-*).
51
54
  * Maximum 20 headers.
52
55
  */
53
56
  export declare const HEADER_ALLOWLIST_PREFIX = "X-Amzn-Bedrock-AgentCore-Runtime-Custom-";
57
+ export declare const HEADER_NAME_PATTERN: RegExp;
54
58
  export declare const MAX_HEADER_ALLOWLIST_SIZE = 20;
59
+ /**
60
+ * Validate a single allowlist header name. Returns null if valid, or a specific
61
+ * error message describing which rule the input violated.
62
+ *
63
+ * Note: 'x-amz-' and 'x-amzn-' are disjoint prefixes (position 5 differs: '-' vs 'n'),
64
+ * so the two checks below are independent.
65
+ */
66
+ export declare function checkAllowlistHeader(val: string): string | null;
55
67
  export declare const RequestHeaderAllowlistSchema: z.ZodArray<z.ZodString>;
56
68
  /**
57
69
  * Session storage configuration for filesystem persistence.
@@ -61,11 +73,47 @@ export declare const SessionStorageSchema: z.ZodObject<{
61
73
  mountPath: z.ZodString;
62
74
  }, z.core.$strip>;
63
75
  export type SessionStorage = z.infer<typeof SessionStorageSchema>;
64
- export declare const FilesystemConfigurationSchema: z.ZodObject<{
76
+ export declare const EFS_ACCESS_POINT_ARN_PATTERN: RegExp;
77
+ export declare const S3_FILES_ACCESS_POINT_ARN_PATTERN: RegExp;
78
+ /** EFS access point mount configuration. Requires VPC network mode. */
79
+ export declare const EfsAccessPointConfigSchema: z.ZodObject<{
80
+ accessPointArn: z.ZodString;
81
+ mountPath: z.ZodString;
82
+ }, z.core.$strip>;
83
+ export type EfsAccessPointConfig = z.infer<typeof EfsAccessPointConfigSchema>;
84
+ /** S3 Files access point mount configuration. Requires VPC network mode. */
85
+ export declare const S3FilesAccessPointConfigSchema: z.ZodObject<{
86
+ accessPointArn: z.ZodString;
87
+ mountPath: z.ZodString;
88
+ }, z.core.$strip>;
89
+ export type S3FilesAccessPointConfig = z.infer<typeof S3FilesAccessPointConfigSchema>;
90
+ /** Maximum number of EFS access point mounts per runtime. */
91
+ export declare const MAX_EFS_MOUNTS = 2;
92
+ /** Maximum number of S3 Files access point mounts per runtime. */
93
+ export declare const MAX_S3_MOUNTS = 2;
94
+ /**
95
+ * Filesystem configuration — union of three mount types.
96
+ * Exactly one key must be present per entry.
97
+ *
98
+ * Service limits per runtime: max 5 total, max 1 sessionStorage,
99
+ * max MAX_EFS_MOUNTS efsAccessPoint, max MAX_S3_MOUNTS s3FilesAccessPoint.
100
+ * efsAccessPoint and s3FilesAccessPoint require networkMode: VPC.
101
+ */
102
+ export declare const FilesystemConfigurationSchema: z.ZodUnion<readonly [z.ZodObject<{
65
103
  sessionStorage: z.ZodObject<{
66
104
  mountPath: z.ZodString;
67
105
  }, z.core.$strip>;
68
- }, z.core.$strip>;
106
+ }, z.core.$strict>, z.ZodObject<{
107
+ efsAccessPoint: z.ZodObject<{
108
+ accessPointArn: z.ZodString;
109
+ mountPath: z.ZodString;
110
+ }, z.core.$strip>;
111
+ }, z.core.$strict>, z.ZodObject<{
112
+ s3FilesAccessPoint: z.ZodObject<{
113
+ accessPointArn: z.ZodString;
114
+ mountPath: z.ZodString;
115
+ }, z.core.$strip>;
116
+ }, z.core.$strict>]>;
69
117
  export type FilesystemConfiguration = z.infer<typeof FilesystemConfigurationSchema>;
70
118
  /** Minimum allowed value for lifecycle timeout fields (seconds). */
71
119
  export declare const LIFECYCLE_TIMEOUT_MIN = 60;
@@ -80,6 +128,15 @@ export declare const LifecycleConfigurationSchema: z.ZodObject<{
80
128
  maxLifetime: z.ZodOptional<z.ZodNumber>;
81
129
  }, z.core.$strip>;
82
130
  export type LifecycleConfiguration = z.infer<typeof LifecycleConfigurationSchema>;
131
+ /**
132
+ * Endpoint name follows the AgentCore API regex for endpoint aliases.
133
+ */
134
+ export declare const RuntimeEndpointNameSchema: z.ZodString;
135
+ export declare const RuntimeEndpointSchema: z.ZodObject<{
136
+ version: z.ZodNumber;
137
+ description: z.ZodOptional<z.ZodString>;
138
+ }, z.core.$strip>;
139
+ export type RuntimeEndpoint = z.infer<typeof RuntimeEndpointSchema>;
83
140
  /**
84
141
  * AgentEnvSpec - represents an AgentCore Runtime.
85
142
  * This is a top-level resource in the schema.
@@ -88,8 +145,8 @@ export declare const AgentEnvSpecSchema: z.ZodObject<{
88
145
  name: z.ZodString;
89
146
  description: z.ZodOptional<z.ZodString>;
90
147
  build: z.ZodEnum<{
91
- CodeZip: "CodeZip";
92
148
  Container: "Container";
149
+ CodeZip: "CodeZip";
93
150
  }>;
94
151
  entrypoint: z.ZodType<FilePath, unknown, z.core.$ZodTypeInternals<FilePath, unknown>>;
95
152
  codeLocation: z.ZodType<DirectoryPath, unknown, z.core.$ZodTypeInternals<DirectoryPath, unknown>>;
@@ -116,6 +173,7 @@ export declare const AgentEnvSpecSchema: z.ZodObject<{
116
173
  networkConfig: z.ZodOptional<z.ZodObject<{
117
174
  subnets: z.ZodArray<z.ZodString>;
118
175
  securityGroups: z.ZodArray<z.ZodString>;
176
+ vpcId: z.ZodOptional<z.ZodString>;
119
177
  }, z.core.$strip>>;
120
178
  instrumentation: z.ZodOptional<z.ZodObject<{
121
179
  enableOtel: z.ZodDefault<z.ZodBoolean>;
@@ -128,6 +186,7 @@ export declare const AgentEnvSpecSchema: z.ZodObject<{
128
186
  }>>;
129
187
  requestHeaderAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
188
  executionRoleArn: z.ZodOptional<z.ZodString>;
189
+ additionalPolicies: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
190
  authorizerType: z.ZodOptional<z.ZodEnum<{
132
191
  AWS_IAM: "AWS_IAM";
133
192
  CUSTOM_JWT: "CUSTOM_JWT";
@@ -156,6 +215,41 @@ export declare const AgentEnvSpecSchema: z.ZodObject<{
156
215
  }, z.core.$strip>;
157
216
  }, z.core.$strip>;
158
217
  }, z.core.$strict>>>;
218
+ privateEndpoint: z.ZodOptional<z.ZodObject<{
219
+ selfManagedLatticeResource: z.ZodOptional<z.ZodObject<{
220
+ resourceConfigurationIdentifier: z.ZodString;
221
+ }, z.core.$strict>>;
222
+ managedVpcResource: z.ZodOptional<z.ZodObject<{
223
+ vpcIdentifier: z.ZodString;
224
+ subnetIds: z.ZodArray<z.ZodString>;
225
+ endpointIpAddressType: z.ZodEnum<{
226
+ IPV4: "IPV4";
227
+ IPV6: "IPV6";
228
+ }>;
229
+ securityGroupIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
230
+ tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
231
+ routingDomain: z.ZodOptional<z.ZodString>;
232
+ }, z.core.$strict>>;
233
+ }, z.core.$strict>>;
234
+ privateEndpointOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
235
+ domain: z.ZodString;
236
+ privateEndpoint: z.ZodObject<{
237
+ selfManagedLatticeResource: z.ZodOptional<z.ZodObject<{
238
+ resourceConfigurationIdentifier: z.ZodString;
239
+ }, z.core.$strict>>;
240
+ managedVpcResource: z.ZodOptional<z.ZodObject<{
241
+ vpcIdentifier: z.ZodString;
242
+ subnetIds: z.ZodArray<z.ZodString>;
243
+ endpointIpAddressType: z.ZodEnum<{
244
+ IPV4: "IPV4";
245
+ IPV6: "IPV6";
246
+ }>;
247
+ securityGroupIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
248
+ tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
249
+ routingDomain: z.ZodOptional<z.ZodString>;
250
+ }, z.core.$strict>>;
251
+ }, z.core.$strict>;
252
+ }, z.core.$strict>>>;
159
253
  }, z.core.$strict>>;
160
254
  }, z.core.$strip>>;
161
255
  tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -163,11 +257,67 @@ export declare const AgentEnvSpecSchema: z.ZodObject<{
163
257
  idleRuntimeSessionTimeout: z.ZodOptional<z.ZodNumber>;
164
258
  maxLifetime: z.ZodOptional<z.ZodNumber>;
165
259
  }, z.core.$strip>>;
166
- filesystemConfigurations: z.ZodOptional<z.ZodArray<z.ZodObject<{
260
+ filesystemConfigurations: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
167
261
  sessionStorage: z.ZodObject<{
168
262
  mountPath: z.ZodString;
169
263
  }, z.core.$strip>;
264
+ }, z.core.$strict>, z.ZodObject<{
265
+ efsAccessPoint: z.ZodObject<{
266
+ accessPointArn: z.ZodString;
267
+ mountPath: z.ZodString;
268
+ }, z.core.$strip>;
269
+ }, z.core.$strict>, z.ZodObject<{
270
+ s3FilesAccessPoint: z.ZodObject<{
271
+ accessPointArn: z.ZodString;
272
+ mountPath: z.ZodString;
273
+ }, z.core.$strip>;
274
+ }, z.core.$strict>]>>>;
275
+ endpoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
276
+ version: z.ZodNumber;
277
+ description: z.ZodOptional<z.ZodString>;
170
278
  }, z.core.$strip>>>;
279
+ connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
280
+ id: z.ZodOptional<z.ZodString>;
281
+ to: z.ZodDiscriminatedUnion<[z.ZodObject<{
282
+ type: z.ZodLiteral<"memory">;
283
+ arn: z.ZodString;
284
+ namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
285
+ }, z.core.$strict>, z.ZodObject<{
286
+ type: z.ZodLiteral<"gateway">;
287
+ arn: z.ZodString;
288
+ outboundAuth: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
289
+ awsIam: z.ZodObject<{}, z.core.$strict>;
290
+ }, z.core.$strict>, z.ZodObject<{
291
+ none: z.ZodObject<{}, z.core.$strict>;
292
+ }, z.core.$strict>, z.ZodObject<{
293
+ oauth: z.ZodObject<{
294
+ providerArn: z.ZodString;
295
+ scopes: z.ZodArray<z.ZodString>;
296
+ grantType: z.ZodOptional<z.ZodEnum<{
297
+ CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS";
298
+ AUTHORIZATION_CODE: "AUTHORIZATION_CODE";
299
+ TOKEN_EXCHANGE: "TOKEN_EXCHANGE";
300
+ }>>;
301
+ customParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
302
+ }, z.core.$strict>;
303
+ }, z.core.$strict>]>>;
304
+ }, z.core.$strict>, z.ZodObject<{
305
+ type: z.ZodLiteral<"runtime">;
306
+ arn: z.ZodString;
307
+ exec: z.ZodOptional<z.ZodBoolean>;
308
+ }, z.core.$strict>, z.ZodObject<{
309
+ type: z.ZodLiteral<"browser">;
310
+ arn: z.ZodOptional<z.ZodString>;
311
+ }, z.core.$strict>, z.ZodObject<{
312
+ type: z.ZodLiteral<"codeInterpreter">;
313
+ arn: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strict>], "type">;
315
+ access: z.ZodOptional<z.ZodEnum<{
316
+ read: "read";
317
+ readwrite: "readwrite";
318
+ }>>;
319
+ description: z.ZodOptional<z.ZodString>;
320
+ }, z.core.$strict>>>;
171
321
  }, z.core.$strip>;
172
322
  export type AgentEnvSpec = z.infer<typeof AgentEnvSpecSchema>;
173
323
  //# sourceMappingURL=agent-env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-env.d.ts","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGxD,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,YAAY,EAAE,MAAM,cAAc,CAAC;AAO1G,eAAO,MAAM,eAAe,aAOzB,CAAC;AAEJ,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAGJ,eAAO,MAAM,iBAAiB,aAQ3B,CAAC;AAMJ,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,EAOX,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,mBAAmB;;;iBAS9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6CAA6C,CAAC;AAClF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,4BAA4B,yBASgD,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,6BAA6B;;;;iBAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;iBAiBrC,CAAC;AACL,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6E3B,CAAC;AAEL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-env.d.ts","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AgentEnvSpecSchema = exports.LifecycleConfigurationSchema = exports.LIFECYCLE_TIMEOUT_MAX = exports.LIFECYCLE_TIMEOUT_MIN = exports.FilesystemConfigurationSchema = exports.SessionStorageSchema = exports.RequestHeaderAllowlistSchema = exports.MAX_HEADER_ALLOWLIST_SIZE = exports.HEADER_ALLOWLIST_PREFIX = exports.NetworkConfigSchema = exports.InstrumentationSchema = exports.EnvVarSchema = exports.EntrypointSchema = exports.BuildTypeSchema = exports.AgentTypeSchema = exports.AccessSchema = exports.GatewayNameSchema = exports.EnvVarNameSchema = exports.AgentNameSchema = void 0;
3
+ exports.AgentEnvSpecSchema = exports.RuntimeEndpointSchema = exports.RuntimeEndpointNameSchema = exports.LifecycleConfigurationSchema = exports.LIFECYCLE_TIMEOUT_MAX = exports.LIFECYCLE_TIMEOUT_MIN = exports.FilesystemConfigurationSchema = exports.MAX_S3_MOUNTS = exports.MAX_EFS_MOUNTS = exports.S3FilesAccessPointConfigSchema = exports.EfsAccessPointConfigSchema = exports.S3_FILES_ACCESS_POINT_ARN_PATTERN = exports.EFS_ACCESS_POINT_ARN_PATTERN = exports.SessionStorageSchema = exports.RequestHeaderAllowlistSchema = exports.MAX_HEADER_ALLOWLIST_SIZE = exports.HEADER_NAME_PATTERN = exports.HEADER_ALLOWLIST_PREFIX = exports.NetworkConfigSchema = exports.InstrumentationSchema = exports.EnvVarSchema = exports.EntrypointSchema = exports.BuildTypeSchema = exports.AgentTypeSchema = exports.AccessSchema = exports.GatewayNameSchema = exports.EnvVarNameSchema = exports.AgentNameSchema = void 0;
4
+ exports.checkAllowlistHeader = checkAllowlistHeader;
4
5
  /**
5
6
  * Agent Schema v2 - Clean, simplified model
6
7
  *
@@ -8,6 +9,7 @@ exports.AgentEnvSpecSchema = exports.LifecycleConfigurationSchema = exports.LIFE
8
9
  */
9
10
  const constants_1 = require("../constants");
10
11
  const auth_1 = require("./auth");
12
+ const connections_1 = require("./connections");
11
13
  const tags_1 = require("./primitives/tags");
12
14
  const zod_1 = require("zod");
13
15
  // ============================================================================
@@ -76,26 +78,54 @@ exports.InstrumentationSchema = zod_1.z.object({
76
78
  * Required when networkMode is 'VPC'.
77
79
  */
78
80
  exports.NetworkConfigSchema = zod_1.z.object({
79
- subnets: zod_1.z
80
- .array(zod_1.z.string().regex(/^subnet-[0-9a-zA-Z]{8,17}$/))
81
- .min(1)
82
- .max(16),
81
+ subnets: zod_1.z.array(zod_1.z.string().regex(constants_1.SUBNET_ID_PATTERN, 'Must be a subnet id (subnet-...)')).min(1).max(16),
83
82
  securityGroups: zod_1.z
84
- .array(zod_1.z.string().regex(/^sg-[0-9a-zA-Z]{8,17}$/))
83
+ .array(zod_1.z.string().regex(constants_1.SECURITY_GROUP_ID_PATTERN, 'Must be a security group id (sg-...)'))
85
84
  .min(1)
86
85
  .max(16),
86
+ /**
87
+ * VPC ID. Required for Container builds in VPC mode because CodeBuild needs an explicit VPC ID;
88
+ * it cannot infer the VPC from subnets alone. Runtime/Lambda builds can omit this.
89
+ */
90
+ vpcId: zod_1.z.string().regex(constants_1.VPC_ID_PATTERN, 'Must be a VPC id (vpc-...)').optional(),
87
91
  });
88
92
  /**
89
93
  * Allowed request headers for the runtime.
90
- * Each header must be 'Authorization' or start with 'X-Amzn-Bedrock-AgentCore-Runtime-Custom-'.
94
+ * Per https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-header-allowlist.html
95
+ * any valid HTTP header name (alphanumeric, hyphens, underscores) may be allow-listed,
96
+ * provided it is not structurally reserved (x-amz-*, x-amzn-* except Runtime-Custom-*).
91
97
  * Maximum 20 headers.
92
98
  */
93
99
  exports.HEADER_ALLOWLIST_PREFIX = 'X-Amzn-Bedrock-AgentCore-Runtime-Custom-';
100
+ exports.HEADER_NAME_PATTERN = /^[A-Za-z0-9\-_]+$/;
94
101
  exports.MAX_HEADER_ALLOWLIST_SIZE = 20;
102
+ /**
103
+ * Validate a single allowlist header name. Returns null if valid, or a specific
104
+ * error message describing which rule the input violated.
105
+ *
106
+ * Note: 'x-amz-' and 'x-amzn-' are disjoint prefixes (position 5 differs: '-' vs 'n'),
107
+ * so the two checks below are independent.
108
+ */
109
+ function checkAllowlistHeader(val) {
110
+ if (!exports.HEADER_NAME_PATTERN.test(val)) {
111
+ return `Header name "${val}" must contain only alphanumeric characters, hyphens, and underscores.`;
112
+ }
113
+ const lower = val.toLowerCase();
114
+ if (lower.startsWith('x-amz-')) {
115
+ return `Header "${val}" is not allowed. Headers starting with "x-amz-" are reserved for AWS request signing.`;
116
+ }
117
+ if (lower.startsWith('x-amzn-') && !lower.startsWith('x-amzn-bedrock-agentcore-runtime-custom-')) {
118
+ return `Header "${val}" is not allowed. Headers starting with "x-amzn-" are reserved, except for "X-Amzn-Bedrock-AgentCore-Runtime-Custom-*".`;
119
+ }
120
+ return null;
121
+ }
95
122
  exports.RequestHeaderAllowlistSchema = zod_1.z
96
- .array(zod_1.z
97
- .string()
98
- .refine(val => val === 'Authorization' || val.startsWith(exports.HEADER_ALLOWLIST_PREFIX), `Must be "Authorization" or start with "${exports.HEADER_ALLOWLIST_PREFIX}"`))
123
+ .array(zod_1.z.string().superRefine((val, ctx) => {
124
+ const error = checkAllowlistHeader(val);
125
+ if (error) {
126
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, message: error });
127
+ }
128
+ }))
99
129
  .max(exports.MAX_HEADER_ALLOWLIST_SIZE, `Maximum ${exports.MAX_HEADER_ALLOWLIST_SIZE} headers allowed`);
100
130
  /**
101
131
  * Session storage configuration for filesystem persistence.
@@ -105,11 +135,55 @@ exports.SessionStorageSchema = zod_1.z.object({
105
135
  /** Absolute mount path under /mnt with exactly one subdirectory level (e.g. /mnt/data). */
106
136
  mountPath: zod_1.z
107
137
  .string()
108
- .regex(/^\/mnt\/[^/]+$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/data)'),
138
+ .min(6)
139
+ .max(200)
140
+ .regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/data)'),
109
141
  });
110
- exports.FilesystemConfigurationSchema = zod_1.z.object({
111
- sessionStorage: exports.SessionStorageSchema,
142
+ exports.EFS_ACCESS_POINT_ARN_PATTERN = /^arn:aws[-a-z]*:elasticfilesystem:[a-z][a-z0-9-]*:[0-9]{12}:access-point\/fsap-[0-9a-f]{8,40}$/;
143
+ exports.S3_FILES_ACCESS_POINT_ARN_PATTERN = /^arn:aws[-a-z]*:s3files:[a-z][a-z0-9-]*:[0-9]{12}:file-system\/fs-[0-9a-f]{17,40}\/access-point\/fsap-[0-9a-f]{17,40}$/;
144
+ /** EFS access point mount configuration. Requires VPC network mode. */
145
+ exports.EfsAccessPointConfigSchema = zod_1.z.object({
146
+ /** ARN of an EFS access point. */
147
+ accessPointArn: zod_1.z
148
+ .string()
149
+ .regex(exports.EFS_ACCESS_POINT_ARN_PATTERN, 'Must be an EFS access point ARN (arn:aws[-a-z]*:elasticfilesystem:{region}:{account}:access-point/fsap-{id})'),
150
+ /** Absolute mount path under /mnt (e.g. /mnt/tools). */
151
+ mountPath: zod_1.z
152
+ .string()
153
+ .min(6)
154
+ .max(200)
155
+ .regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/tools)'),
112
156
  });
157
+ /** S3 Files access point mount configuration. Requires VPC network mode. */
158
+ exports.S3FilesAccessPointConfigSchema = zod_1.z.object({
159
+ /** ARN of an S3 Files access point. */
160
+ accessPointArn: zod_1.z
161
+ .string()
162
+ .regex(exports.S3_FILES_ACCESS_POINT_ARN_PATTERN, 'Must be an S3 Files access point ARN (arn:aws[-a-z]*:s3files:{region}:{account}:file-system/fs-{id}/access-point/fsap-{id})'),
163
+ /** Absolute mount path under /mnt (e.g. /mnt/datasets). */
164
+ mountPath: zod_1.z
165
+ .string()
166
+ .min(6)
167
+ .max(200)
168
+ .regex(/^\/mnt\/[a-zA-Z0-9._-]+\/?$/, 'Must be a path under /mnt with exactly one subdirectory (e.g. /mnt/datasets)'),
169
+ });
170
+ /** Maximum number of EFS access point mounts per runtime. */
171
+ exports.MAX_EFS_MOUNTS = 2;
172
+ /** Maximum number of S3 Files access point mounts per runtime. */
173
+ exports.MAX_S3_MOUNTS = 2;
174
+ /**
175
+ * Filesystem configuration — union of three mount types.
176
+ * Exactly one key must be present per entry.
177
+ *
178
+ * Service limits per runtime: max 5 total, max 1 sessionStorage,
179
+ * max MAX_EFS_MOUNTS efsAccessPoint, max MAX_S3_MOUNTS s3FilesAccessPoint.
180
+ * efsAccessPoint and s3FilesAccessPoint require networkMode: VPC.
181
+ */
182
+ exports.FilesystemConfigurationSchema = zod_1.z.union([
183
+ zod_1.z.strictObject({ sessionStorage: exports.SessionStorageSchema }),
184
+ zod_1.z.strictObject({ efsAccessPoint: exports.EfsAccessPointConfigSchema }),
185
+ zod_1.z.strictObject({ s3FilesAccessPoint: exports.S3FilesAccessPointConfigSchema }),
186
+ ]);
113
187
  /** Minimum allowed value for lifecycle timeout fields (seconds). */
114
188
  exports.LIFECYCLE_TIMEOUT_MIN = 60;
115
189
  /** Maximum allowed value for lifecycle timeout fields (seconds). */
@@ -136,6 +210,23 @@ exports.LifecycleConfigurationSchema = zod_1.z
136
210
  }
137
211
  }
138
212
  });
213
+ // ============================================================================
214
+ // Runtime Endpoint Schema
215
+ // ============================================================================
216
+ /**
217
+ * Endpoint name follows the AgentCore API regex for endpoint aliases.
218
+ */
219
+ exports.RuntimeEndpointNameSchema = zod_1.z
220
+ .string()
221
+ .min(1, 'Endpoint name is required')
222
+ .max(48)
223
+ .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)');
224
+ exports.RuntimeEndpointSchema = zod_1.z.object({
225
+ /** Version number this endpoint points to. Must be >= 1. */
226
+ version: zod_1.z.number().int().min(1),
227
+ /** Optional human-readable description of this endpoint. */
228
+ description: zod_1.z.string().max(200).optional(),
229
+ });
139
230
  /**
140
231
  * AgentEnvSpec - represents an AgentCore Runtime.
141
232
  * This is a top-level resource in the schema.
@@ -170,6 +261,13 @@ exports.AgentEnvSpecSchema = zod_1.z
170
261
  requestHeaderAllowlist: exports.RequestHeaderAllowlistSchema.optional(),
171
262
  /** ARN of an existing IAM execution role to use instead of creating a new one. */
172
263
  executionRoleArn: zod_1.z.string().optional(),
264
+ /**
265
+ * Additional IAM policies attached to the runtime execution role. Each entry is either a
266
+ * managed-policy ARN (attached directly) or a `.json` policy-document file path relative to
267
+ * `codeLocation` (attached as an inline policy). For opaque AWS access (e.g. S3) the CLI does
268
+ * not model as a typed connection.
269
+ */
270
+ additionalPolicies: zod_1.z.array(zod_1.z.string().min(1)).optional(),
173
271
  /** Authorizer type for inbound requests. Defaults to AWS_IAM. */
174
272
  authorizerType: auth_1.RuntimeAuthorizerTypeSchema.optional(),
175
273
  /** Authorizer configuration. Required when authorizerType is CUSTOM_JWT. */
@@ -179,6 +277,11 @@ exports.AgentEnvSpecSchema = zod_1.z
179
277
  lifecycleConfiguration: exports.LifecycleConfigurationSchema.optional(),
180
278
  /** Filesystem configurations for session-scoped persistent storage. */
181
279
  filesystemConfigurations: zod_1.z.array(exports.FilesystemConfigurationSchema).optional(),
280
+ /** Named endpoints (version aliases) for this runtime. Keys are endpoint names. */
281
+ endpoints: zod_1.z.record(exports.RuntimeEndpointNameSchema, exports.RuntimeEndpointSchema).optional(),
282
+ /** Connections to external AgentCore resources (memory/gateway/runtime). The construct
283
+ * generates IAM + discovery env vars onto this runtime's execution role. */
284
+ connections: zod_1.z.array(connections_1.ConnectionSchema).optional(),
182
285
  })
183
286
  .superRefine((data, ctx) => {
184
287
  if (data.networkMode === 'VPC' && !data.networkConfig) {
@@ -195,6 +298,22 @@ exports.AgentEnvSpecSchema = zod_1.z
195
298
  path: ['networkConfig'],
196
299
  });
197
300
  }
301
+ // NOTE: vpcId is NOT required here at the schema (read/write) level. A Container+VPC agent needs
302
+ // a vpcId to build (CodeBuild can't infer it), but enforcing that on read would hard-fail
303
+ // pre-existing agentcore.json files written before vpcId existed. Instead: the CLI input
304
+ // validators require --vpc-id for fresh Container+VPC creates, deploy backfills a missing vpcId
305
+ // from the subnets (ec2:DescribeSubnets) and persists it, and the CDK construct fails fast if it
306
+ // is still missing at synth. This keeps `status`/`remove`/`validate` working on old configs.
307
+ if (data.networkMode === 'VPC' &&
308
+ (0, constants_1.isContainerBuild)(data) &&
309
+ data.networkConfig &&
310
+ data.networkConfig.securityGroups.length > constants_1.MAX_CONTAINER_BUILD_SECURITY_GROUPS) {
311
+ ctx.addIssue({
312
+ code: zod_1.z.ZodIssueCode.custom,
313
+ message: `Container builds in VPC mode allow at most ${constants_1.MAX_CONTAINER_BUILD_SECURITY_GROUPS} security groups (CodeBuild limit)`,
314
+ path: ['networkConfig', 'securityGroups'],
315
+ });
316
+ }
198
317
  if (data.authorizerType === 'CUSTOM_JWT' && !data.authorizerConfiguration?.customJwtAuthorizer) {
199
318
  ctx.addIssue({
200
319
  code: zod_1.z.ZodIssueCode.custom,
@@ -217,5 +336,59 @@ exports.AgentEnvSpecSchema = zod_1.z
217
336
  path: ['dockerfile'],
218
337
  });
219
338
  }
339
+ const fcs = data.filesystemConfigurations ?? [];
340
+ if (fcs.length > 0) {
341
+ const efsCount = fcs.filter(fc => 'efsAccessPoint' in fc).length;
342
+ const s3Count = fcs.filter(fc => 's3FilesAccessPoint' in fc).length;
343
+ const ssCount = fcs.filter(fc => 'sessionStorage' in fc).length;
344
+ if (fcs.length > 5) {
345
+ ctx.addIssue({
346
+ code: zod_1.z.ZodIssueCode.custom,
347
+ message: 'Maximum 5 filesystem configurations allowed',
348
+ path: ['filesystemConfigurations'],
349
+ });
350
+ }
351
+ if (efsCount > exports.MAX_EFS_MOUNTS) {
352
+ ctx.addIssue({
353
+ code: zod_1.z.ZodIssueCode.custom,
354
+ message: `Maximum ${exports.MAX_EFS_MOUNTS} efsAccessPoint configurations allowed`,
355
+ path: ['filesystemConfigurations'],
356
+ });
357
+ }
358
+ if (s3Count > exports.MAX_S3_MOUNTS) {
359
+ ctx.addIssue({
360
+ code: zod_1.z.ZodIssueCode.custom,
361
+ message: `Maximum ${exports.MAX_S3_MOUNTS} s3FilesAccessPoint configurations allowed`,
362
+ path: ['filesystemConfigurations'],
363
+ });
364
+ }
365
+ if (ssCount > 1) {
366
+ ctx.addIssue({
367
+ code: zod_1.z.ZodIssueCode.custom,
368
+ message: 'Maximum 1 sessionStorage configuration allowed',
369
+ path: ['filesystemConfigurations'],
370
+ });
371
+ }
372
+ const hasByo = efsCount > 0 || s3Count > 0;
373
+ if (hasByo && data.networkMode !== 'VPC') {
374
+ ctx.addIssue({
375
+ code: zod_1.z.ZodIssueCode.custom,
376
+ message: 'efsAccessPoint and s3FilesAccessPoint filesystem mounts require networkMode: VPC',
377
+ path: ['filesystemConfigurations'],
378
+ });
379
+ }
380
+ const mountPaths = fcs.map(fc => ('sessionStorage' in fc
381
+ ? fc.sessionStorage.mountPath
382
+ : 'efsAccessPoint' in fc
383
+ ? fc.efsAccessPoint.mountPath
384
+ : fc.s3FilesAccessPoint.mountPath).replace(/\/$/, ''));
385
+ if (new Set(mountPaths).size !== mountPaths.length) {
386
+ ctx.addIssue({
387
+ code: zod_1.z.ZodIssueCode.custom,
388
+ message: 'Filesystem mount paths must be unique',
389
+ path: ['filesystemConfigurations'],
390
+ });
391
+ }
392
+ }
220
393
  });
221
394
  //# sourceMappingURL=agent-env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../../src/schema/schemas/agent-env.ts"],"names":[],"mappings":"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"}