@aws/nx-plugin 0.118.0 → 0.120.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 (83) hide show
  1. package/package.json +1 -1
  2. package/src/infra/app/generator.js +30 -18
  3. package/src/infra/app/generator.js.map +1 -1
  4. package/src/mcp-server/tools/create-workspace-command.js +5 -0
  5. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  6. package/src/mcp-server/tools/general-guidance.js +3 -3
  7. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  8. package/src/preset/__snapshots__/generator.spec.ts.snap +5 -1
  9. package/src/preset/generator.d.ts +1 -1
  10. package/src/preset/generator.js +30 -3
  11. package/src/preset/generator.js.map +1 -1
  12. package/src/preset/git-secrets-files/git-secrets-dir/git-secrets +206 -0
  13. package/src/preset/git-secrets-files/husky-dir/pre-commit +4 -0
  14. package/src/preset/schema.d.ts +5 -0
  15. package/src/preset/schema.json +13 -0
  16. package/src/py/agent/__snapshots__/generator.spec.ts.snap +2 -2
  17. package/src/py/agent/generator.js +8 -2
  18. package/src/py/agent/generator.js.map +1 -1
  19. package/src/py/agent/schema.json +1 -1
  20. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +197 -12
  21. package/src/py/fast-api/generator.js +9 -0
  22. package/src/py/fast-api/generator.js.map +1 -1
  23. package/src/py/fast-api/schema.d.ts +1 -1
  24. package/src/py/fast-api/schema.json +2 -2
  25. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
  26. package/src/py/mcp-server/generator.js +7 -1
  27. package/src/py/mcp-server/generator.js.map +1 -1
  28. package/src/py/mcp-server/schema.json +1 -1
  29. package/src/smithy/project/generator.js +3 -1
  30. package/src/smithy/project/generator.js.map +1 -1
  31. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +195 -11
  32. package/src/smithy/ts/api/generator.js +18 -0
  33. package/src/smithy/ts/api/generator.js.map +1 -1
  34. package/src/smithy/ts/api/schema.d.ts +1 -1
  35. package/src/smithy/ts/api/schema.json +2 -2
  36. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +258 -25
  37. package/src/trpc/backend/generator.js +19 -0
  38. package/src/trpc/backend/generator.js.map +1 -1
  39. package/src/trpc/backend/schema.d.ts +1 -1
  40. package/src/trpc/backend/schema.json +2 -2
  41. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +28 -18
  42. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +9 -6
  43. package/src/trpc/react/generator.js +2 -6
  44. package/src/trpc/react/generator.js.map +1 -1
  45. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +2 -2
  46. package/src/ts/agent/generator.js +8 -2
  47. package/src/ts/agent/generator.js.map +1 -1
  48. package/src/ts/agent/schema.json +1 -1
  49. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
  50. package/src/ts/mcp-server/generator.js +7 -1
  51. package/src/ts/mcp-server/generator.js.map +1 -1
  52. package/src/ts/mcp-server/schema.json +1 -1
  53. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +128 -107
  54. package/src/ts/rdb/files/scripts/docker-pull.ts.template +11 -11
  55. package/src/ts/rdb/files/scripts/docker-start.ts.template +58 -56
  56. package/src/ts/rdb/generator.js +5 -6
  57. package/src/ts/rdb/generator.js.map +1 -1
  58. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +4 -0
  59. package/src/utils/agent-core-constructs/agent-core-constructs.js +3 -1
  60. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  61. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +6 -6
  62. package/src/utils/api-constructs/api-constructs.d.ts +3 -1
  63. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  64. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +38 -6
  65. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +39 -3
  66. package/src/utils/api-constructs/files/cdk/authorizer/http/authorizer.ts.template +34 -0
  67. package/src/utils/api-constructs/files/cdk/authorizer/rest/authorizer.ts.template +52 -0
  68. package/src/utils/api-constructs/files/py-authorizer/http/authorizer.py.template +25 -0
  69. package/src/utils/api-constructs/files/py-authorizer/rest/authorizer.py.template +39 -0
  70. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +112 -5
  71. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +114 -6
  72. package/src/utils/config/index.d.ts +6 -0
  73. package/src/utils/config/index.js.map +1 -1
  74. package/src/utils/connection/open-api/react.d.ts +1 -1
  75. package/src/utils/containers.d.ts +29 -0
  76. package/src/utils/containers.js +47 -0
  77. package/src/utils/containers.js.map +1 -0
  78. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  79. package/src/utils/rdb-constructs/rdb-constructs.d.ts +2 -0
  80. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  81. package/src/utils/versions.d.ts +8 -3
  82. package/src/utils/versions.js +8 -3
  83. package/src/utils/versions.js.map +1 -1
@@ -5,9 +5,7 @@ import { createContext, FC, PropsWithChildren, useMemo } from "react";
5
5
  import { useRuntimeConfig } from "../hooks/useRuntimeConfig";
6
6
  <%_ if (isRestApi) { _%>
7
7
  import { TRPCClient, createTRPCClient, httpLink, httpSubscriptionLink, splitLink } from "@trpc/client";
8
- <%_ if (auth !== 'None') { _%>
9
8
  import { EventSourcePolyfill } from "event-source-polyfill";
10
- <%_ } _%>
11
9
  <%_ } else { _%>
12
10
  import { HTTPLinkOptions, TRPCClient, createTRPCClient, httpLink } from "@trpc/client";
13
11
  <%_ } _%>
@@ -45,7 +43,6 @@ export const <%= apiNameClassName %>ClientProvider: FC<PropsWithChildren> = ({
45
43
  condition: (op) => op.type === 'subscription',
46
44
  true: httpSubscriptionLink({
47
45
  url: apiUrl,
48
- <%_ if (auth !== 'None') { _%>
49
46
  EventSource: EventSourcePolyfill,
50
47
  eventSourceOptions: async ({ op }) => {
51
48
  <%_ if (auth === 'IAM') { _%>
@@ -66,11 +63,11 @@ export const <%= apiNameClassName %>ClientProvider: FC<PropsWithChildren> = ({
66
63
  Authorization: `Bearer ${user?.id_token}`,
67
64
  },
68
65
  };
69
- <%_ } else { _%>
70
- return {};
66
+ <%_ } else if (auth === 'Custom') { _%>
67
+ // TODO: Add headers required by your custom authorizer
68
+ return { headers: {} };
71
69
  <%_ } _%>
72
70
  },
73
- <%_ } _%>
74
71
  }),
75
72
  false: httpLink({
76
73
  url: apiUrl,
@@ -80,6 +77,9 @@ export const <%= apiNameClassName %>ClientProvider: FC<PropsWithChildren> = ({
80
77
  headers: {
81
78
  Authorization: `Bearer ${user?.id_token}`,
82
79
  },
80
+ <%_ } else if (auth === 'Custom') { _%>
81
+ // TODO: Add headers required by your custom authorizer
82
+ headers: {},
83
83
  <%_ } _%>
84
84
  }),
85
85
  }),
@@ -94,6 +94,9 @@ export const <%= apiNameClassName %>ClientProvider: FC<PropsWithChildren> = ({
94
94
  headers: {
95
95
  Authorization: `Bearer ${user?.id_token}`,
96
96
  },
97
+ <%_ } else if (auth === 'Custom') { _%>
98
+ // TODO: Add headers required by your custom authorizer
99
+ headers: {},
97
100
  <%_ } _%>
98
101
  };
99
102
 
@@ -68,9 +68,7 @@ async function reactGenerator(tree, options) {
68
68
  '@trpc/tanstack-react-query',
69
69
  '@tanstack/react-query',
70
70
  '@tanstack/react-query-devtools',
71
- ...(isRestApi && auth !== 'None'
72
- ? ['event-source-polyfill']
73
- : []),
71
+ ...(isRestApi ? ['event-source-polyfill'] : []),
74
72
  ...(auth === 'IAM'
75
73
  ? [
76
74
  'oidc-client-ts',
@@ -82,9 +80,7 @@ async function reactGenerator(tree, options) {
82
80
  ...(auth === 'Cognito' ? ['react-oidc-context'] : []),
83
81
  ]), (0, versions_1.withVersions)([
84
82
  '@smithy/types',
85
- ...(isRestApi && auth !== 'None'
86
- ? ['@types/event-source-polyfill']
87
- : []),
83
+ ...(isRestApi ? ['@types/event-source-polyfill'] : []),
88
84
  ]));
89
85
  await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TRPC_REACT_GENERATOR_INFO]);
90
86
  await (0, format_1.formatFilesInSubtree)(tree);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
@@ -524,12 +524,12 @@ resource "aws_iam_role_policy_attachment" "agent_core_policy" {
524
524
  policy_arn = aws_iam_policy.agent_core_runtime_policy.arn
525
525
  }
526
526
 
527
- # Data source to get Docker image digest
527
+ # Data source to get container image digest
528
528
  data "external" "docker_digest" {
529
529
  program = ["sh", "-c", "echo '{\\"digest\\":\\"'$(docker inspect \${var.docker_image_tag} --format '{{.Id}}')'\\"}' "]
530
530
  }
531
531
 
532
- # Null resource for Docker publish
532
+ # Null resource for container image publish
533
533
  resource "null_resource" "docker_publish" {
534
534
  triggers = {
535
535
  docker_digest = data.external.docker_digest.result.digest
@@ -14,6 +14,7 @@ const versions_1 = require("../../utils/versions");
14
14
  const npm_scope_1 = require("../../utils/npm-scope");
15
15
  const bundle_1 = require("../../utils/bundle/bundle");
16
16
  const iac_1 = require("../../utils/iac");
17
+ const containers_1 = require("../../utils/containers");
17
18
  const shared_constructs_1 = require("../../utils/shared-constructs");
18
19
  const agent_core_constructs_1 = require("../../utils/agent-core-constructs/agent-core-constructs");
19
20
  const port_1 = require("../../utils/port");
@@ -34,8 +35,11 @@ const tsAgentGenerator = async (tree, options) => {
34
35
  const relativeSourceDir = targetSourceDir.replace(project.root + '/', './');
35
36
  const distDir = (0, devkit_1.joinPathFragments)('dist', project.root);
36
37
  const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
37
- const auth = options.auth ?? 'IAM';
38
38
  const protocol = options.protocol ?? 'HTTP';
39
+ if (computeType === 'None' && options.auth && options.auth !== 'IAM') {
40
+ console.warn('Warning: auth is ignored when no compute type is configured (no infrastructure is generated)');
41
+ }
42
+ const auth = options.auth ?? 'IAM';
39
43
  // Ensure the shared agent-connection project exists so the server entry
40
44
  // point can import `runWithSessionId` and propagate the AgentCore session
41
45
  // ID to any downstream MCP / A2A clients a later connection generator
@@ -52,6 +56,7 @@ const tsAgentGenerator = async (tree, options) => {
52
56
  // Generate protocol-specific files
53
57
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', protocol.toLowerCase()), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
54
58
  if (computeType === 'BedrockAgentCoreRuntime') {
59
+ const containerEngine = await (0, containers_1.resolveContainerEngine)(tree, 'Inherit');
55
60
  const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
56
61
  // Add bundle target
57
62
  await (0, bundle_1.addTypeScriptBundleTarget)(tree, project, {
@@ -75,7 +80,7 @@ const tsAgentGenerator = async (tree, options) => {
75
80
  options: {
76
81
  commands: [
77
82
  fs.cp(`${targetSourceDir}/Dockerfile`, `${dockerOutputDir}/Dockerfile`),
78
- `docker build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
83
+ `${containerEngine} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
79
84
  ],
80
85
  parallel: false,
81
86
  },
@@ -97,6 +102,7 @@ const tsAgentGenerator = async (tree, options) => {
97
102
  iacProvider,
98
103
  auth,
99
104
  serverProtocol: infraProtocol,
105
+ containerEngine,
100
106
  });
101
107
  }
102
108
  // Add dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/agent/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/agent/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAA2D;AAC3D,mDAAiE;AACjE,qDAAoD;AACpD,sDAAsE;AACtE,yCAAqD;AACrD,uDAAgE;AAChE,qEAA0E;AAC1E,mGAAwF;AAExF,2CAA8C;AAC9C,uCAA4C;AAC5C,oFAAuG;AAE1F,QAAA,uBAAuB,GAClC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAU,EACV,OAA+B,EACH,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,wDAAwD,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;IACxE,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,MAAM,oCAAoC,GAAG,IAAA,0BAAiB,EAC5D,KAAK,EACL,iBAAiB,CAClB,CAAC;IACF,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,IAAI,EACZ,oCAAoC,CACrC,CAAC;IACF,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAE5C,IAAI,WAAW,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAEnC,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,yBAAyB;IACzB,MAAM,IAAA,yDAAsC,EAAC,IAAI,CAAC,CAAC;IAEnD,MAAM,eAAe,GAAG;QACtB,IAAI;QACJ,kBAAkB;QAClB,OAAO;QACP,qBAAqB,EAAE,IAAI,IAAA,uBAAW,EAAC,IAAI,CAAC,mBAAmB;KAChE,CAAC;IAEF,iDAAiD;IACjD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC/C,eAAe,EACf,eAAe,EACf,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,mCAAmC;IACnC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC7D,eAAe,EACf,eAAe,EACf,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,IAAI,WAAW,KAAK,yBAAyB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAE7D,oBAAoB;QACpB,MAAM,IAAA,kCAAyB,EAAC,IAAI,EAAE,OAAO,EAAE;YAC7C,cAAc,EAAE,GAAG,oCAAoC,WAAW;YAClE,eAAe,EAAE,IAAA,0BAAiB,EAAC,OAAO,EAAE,IAAI,CAAC;SAClD,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC/C,eAAe,EACf;YACE,OAAO;YACP,IAAI;YACJ,QAAQ;YACR,WAAW,EACT,sBAAW,CAAC,wDAAwD,CAAC;SACxE,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;QAEF,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR,OAAO,EACP,IAAI,CACL,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,SAAS,CAAC;QAEvD,MAAM,EAAE,GAAG,IAAI,eAAU,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG;YAClC,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,CAAC,mBAAmB,eAAe,aAAa,CAAC;YAC1D,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,EAAE,CAAC,EAAE,CACH,GAAG,eAAe,aAAa,EAC/B,GAAG,eAAe,aAAa,CAChC;oBACD,GAAG,eAAe,oCAAoC,cAAc,IAAI,eAAe,EAAE;iBAC1F;gBACD,QAAQ,EAAE,KAAK;aAChB;YACD,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;QAEF,IAAA,sCAAiC,EAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvE,IAAA,sCAAiC,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9D,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,IAAA,6CAAyB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAEvD,2FAA2F;QAC3F,MAAM,aAAa,GACjB,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,QAA2B,CAAC;QAE/D,MAAM,IAAA,qCAAa,EAAC,IAAI,EAAE;YACxB,kBAAkB,EAAE,IAAI;YACxB,kBAAkB;YAClB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,cAAc;YACd,eAAe;YACf,WAAW;YACX,IAAI;YACJ,cAAc,EAAE,aAAa;YAC7B,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,IAAA,qCAA4B,EAC1B,IAAI,EACJ,IAAA,uBAAY,EAAC;QACX,KAAK;QACL,qBAAqB;QACrB,+BAA+B;QAC/B,+BAA+B;QAC/B,mCAAmC;QACnC,2BAA2B;QAC3B,GAAG,CAAC,QAAQ,KAAK,KAAK;YACpB,CAAC,CAAE,CAAC,SAAS,EAAE,aAAa,CAAW;YACvC,CAAC,CAAC,QAAQ,KAAK,OAAO;gBACpB,CAAC,CAAE;oBACC,oBAAoB;oBACpB,aAAa;oBACb,gBAAgB;oBAChB,SAAS;oBACT,MAAM;iBACG;gBACb,CAAC,CAAE;oBACC,cAAc;oBACd,cAAc;oBACd,IAAI;oBACJ,MAAM;oBACN,WAAW;iBACF,CAAC;KACnB,CAAC,EACF,IAAA,uBAAY,EAAC;QACX,KAAK;QACL,aAAa;QACb,gBAAgB;QAChB,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO;YAC5C,CAAC,CAAE,CAAC,gBAAgB,EAAE,aAAa,CAAW;YAC9C,CAAC,CAAE,CAAC,WAAW,EAAE,aAAa,CAAW,CAAC;KAC7C,CAAC,CACH,CAAC;IAEF,2FAA2F;IAC3F,sFAAsF;IACtF,MAAM,iBAAiB,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAElE,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAClC,OAAO,CAAC,IAAI,EACZ,SAAS,EACT,iBAAiB,CAClB,CAAC;QACF,MAAM,mBAAmB,GAAG,SAAS,oCAAoC,EAAE,CAAC;QAC5E,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAC/C,UAAU,EACV;YACE,kBAAkB;YAClB,iBAAiB;YACjB,YAAY;YACZ,mBAAmB;SACpB,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GACX,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,kBAAkB,YAAY,KAAK;QACrC,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAC,oBAAoB,YAAY,cAAc;YAChD,CAAC,CAAC,oBAAoB,YAAY,EAAE,CAAC;IAC3C,MAAM,WAAW,GACf,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,iBAAiB,iBAAiB,UAAU;QAC9C,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAC,uBAAuB,OAAO,EAAE;YAClC,CAAC,CAAC,sBAAsB,OAAO,EAAE,CAAC;IAExC,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QAC7C,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO,CAAC,OAAO;YAClB,CAAC,GAAG,iBAAiB,QAAQ,CAAC,EAAE;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,eAAe,iBAAiB,WAAW,CAAC;oBACvD,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;qBACxB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,iBAAiB,cAAc,CAAC,EAAE;gBACpC,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,eAAe,iBAAiB,WAAW,CAAC;oBACvD,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;wBACvB,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,iBAAiB,OAAO,CAAC,EAAE;gBAC7B,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,WAAW,CAAC;oBACvB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,GAAG,EAAE,OAAO;qBACb;iBACF;gBACD,SAAS,EAAE,CAAC,GAAG,iBAAiB,cAAc,CAAC;aAChD;SACF;KACF,CAAC,CAAC;IAEH,IAAA,kCAA6B,EAC3B,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,+BAAuB,EACvB,oCAAoC,EACpC,iBAAiB,EACjB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAC/D,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,+BAAuB,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAzRW,QAAA,gBAAgB,oBAyR3B;AAEF,kBAAe,wBAAgB,CAAC"}
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "auth": {
40
40
  "type": "string",
41
- "description": "The method used to authenticate with your Agent. Choose between IAM (default) or Cognito.",
41
+ "description": "The method used to authenticate with your Agent. Only applicable when computeType is set (ignored when computeType is None).",
42
42
  "default": "IAM",
43
43
  "enum": ["IAM", "Cognito"],
44
44
  "x-prompt": "How would you like to authenticate with your Agent?",
@@ -394,12 +394,12 @@ resource "aws_iam_role_policy_attachment" "agent_core_policy" {
394
394
  policy_arn = aws_iam_policy.agent_core_runtime_policy.arn
395
395
  }
396
396
 
397
- # Data source to get Docker image digest
397
+ # Data source to get container image digest
398
398
  data "external" "docker_digest" {
399
399
  program = ["sh", "-c", "echo '{\\"digest\\":\\"'$(docker inspect \${var.docker_image_tag} --format '{{.Id}}')'\\"}' "]
400
400
  }
401
401
 
402
- # Null resource for Docker publish
402
+ # Null resource for container image publish
403
403
  resource "null_resource" "docker_publish" {
404
404
  triggers = {
405
405
  docker_digest = data.external.docker_digest.result.digest
@@ -15,6 +15,7 @@ const shared_constructs_1 = require("../../utils/shared-constructs");
15
15
  const agent_core_constructs_1 = require("../../utils/agent-core-constructs/agent-core-constructs");
16
16
  const npm_scope_1 = require("../../utils/npm-scope");
17
17
  const iac_1 = require("../../utils/iac");
18
+ const containers_1 = require("../../utils/containers");
18
19
  const bundle_1 = require("../../utils/bundle/bundle");
19
20
  const port_1 = require("../../utils/port");
20
21
  const fs_1 = require("../../utils/fs");
@@ -33,6 +34,9 @@ const tsMcpServerGenerator = async (tree, options) => {
33
34
  const relativeSourceDir = targetSourceDir.replace(project.root + '/', './');
34
35
  const distDir = (0, devkit_1.joinPathFragments)('dist', project.root);
35
36
  const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
37
+ if (computeType === 'None' && options.auth && options.auth !== 'IAM') {
38
+ console.warn('Warning: auth is ignored when no compute type is configured (no infrastructure is generated)');
39
+ }
36
40
  const auth = options.auth ?? 'IAM';
37
41
  // Create a package.json if one doesn't exist, since we want to add the server as a bin target
38
42
  const projectPackageJsonPath = (0, devkit_1.joinPathFragments)(project.root, 'package.json');
@@ -77,6 +81,7 @@ const tsMcpServerGenerator = async (tree, options) => {
77
81
  ]);
78
82
  // Add hosting based on compute type
79
83
  if (computeType === 'BedrockAgentCoreRuntime') {
84
+ const containerEngine = await (0, containers_1.resolveContainerEngine)(tree, 'Inherit');
80
85
  const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
81
86
  // Add bundle target
82
87
  await (0, bundle_1.addTypeScriptBundleTarget)(tree, project, {
@@ -93,7 +98,7 @@ const tsMcpServerGenerator = async (tree, options) => {
93
98
  options: {
94
99
  commands: [
95
100
  fs.cp(`${targetSourceDir}/Dockerfile`, `${dockerOutputDir}/Dockerfile`),
96
- `docker build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
101
+ `${containerEngine} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
97
102
  ],
98
103
  parallel: false,
99
104
  },
@@ -113,6 +118,7 @@ const tsMcpServerGenerator = async (tree, options) => {
113
118
  dockerOutputDir,
114
119
  iacProvider,
115
120
  auth,
121
+ containerEngine,
116
122
  });
117
123
  }
118
124
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAaoB;AAEpB,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,mDAAiE;AACjE,6CAA2D;AAC3D,qEAA0E;AAC1E,mGAA4F;AAE5F,qDAAoD;AACpD,yCAAqD;AACrD,uDAAgE;AAChE,sDAAsE;AACtE,2CAA8C;AAC9C,uCAA4C;AAE/B,QAAA,4BAA4B,GACvC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAU,EACV,OAAmC,EACP,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,wDAAwD,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACpD,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3D,MAAM,oCAAoC,GAAG,IAAA,0BAAiB,EAC5D,KAAK,EACL,eAAe,CAChB,CAAC;IACF,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,IAAI,EACZ,oCAAoC,CACrC,CAAC;IACF,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IAErE,IAAI,WAAW,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAEnC,8FAA8F;IAC9F,MAAM,sBAAsB,GAAG,IAAA,0BAAiB,EAC9C,OAAO,CAAC,IAAI,EACZ,cAAc,CACf,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACzC,0CAA0C;QAC1C,IAAA,kBAAS,EAAC,IAAI,EAAE,sBAAsB,EAAE;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,qFAAqF;IACrF,+DAA+D;IAC/D,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;IAErE,+DAA+D;IAC/D,uFAAuF;IACvF,+BAA+B;IAC/B,IAAA,mBAAU,EAAC,IAAI,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/C,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,iBAAiB,WAAW,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EACrC,eAAe,EACf;QACE,IAAI;QACJ,GAAG;QACH,OAAO;QACP,WAAW,EACT,sBAAW,CAAC,wDAAwD,CAAC;KACxE,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,mBAAmB;IACnB,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC;QACxB,2BAA2B;QAC3B,KAAK;QACL,SAAS;QACT,mCAAmC;QACnC,+BAA+B;KAChC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC;QAC3B,KAAK;QACL,gBAAgB;QAChB,iCAAiC;KAClC,CAAC,CAAC;IAEH,oCAAoC;IACpC,IAAI,WAAW,KAAK,yBAAyB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAE7D,oBAAoB;QACpB,MAAM,IAAA,kCAAyB,EAAC,IAAI,EAAE,OAAO,EAAE;YAC7C,cAAc,EAAE,GAAG,oCAAoC,UAAU;YACjE,eAAe,EAAE,IAAA,0BAAiB,EAAC,KAAK,EAAE,IAAI,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR,KAAK,EACL,IAAI,CACL,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,eAAe,SAAS,CAAC;QAErD,MAAM,EAAE,GAAG,IAAI,eAAU,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG;YAClC,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,CAAC,mBAAmB,eAAe,aAAa,CAAC;YAC1D,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,EAAE,CAAC,EAAE,CACH,GAAG,eAAe,aAAa,EAC/B,GAAG,eAAe,aAAa,CAChC;oBACD,GAAG,eAAe,oCAAoC,cAAc,IAAI,eAAe,EAAE;iBAC1F;gBACD,QAAQ,EAAE,KAAK;aAChB;YACD,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;QAEF,IAAA,sCAAiC,EAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvE,IAAA,sCAAiC,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9D,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,IAAA,6CAAyB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAEvD,6CAA6C;QAC7C,MAAM,IAAA,yCAAiB,EAAC,IAAI,EAAE;YAC5B,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB;YACtB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,cAAc;YACd,eAAe;YACf,WAAW;YACX,IAAI;YACJ,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAA,qCAA4B,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAA,qCAA4B,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAE1E,gFAAgF;IAChF,mFAAmF;IACnF,oFAAoF;IACpF,6EAA6E;IAC7E,6EAA6E;IAC7E,kFAAkF;IAClF,IAAI,IAAA,6BAAoB,GAAE,KAAK,MAAM,EAAE,CAAC;QACtC,IAAA,mBAAU,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE;YAC/C,WAAW,CAAC,WAAW,GAAG;gBACxB,GAAG,WAAW,CAAC,WAAW;gBAC1B,kCAAkC,EAAE,sBAAW,CAAC,KAAK,CAAC;aACvD,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAErD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QAC7C,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO,CAAC,OAAO;YAClB,yCAAyC;YACzC,CAAC,GAAG,eAAe,cAAc,CAAC,EAAE;gBAClC,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,eAAe,iBAAiB,WAAW,CAAC;oBACvD,GAAG,EAAE,eAAe;iBACrB;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,eAAe,QAAQ,CAAC,EAAE;gBAC5B,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,eAAe,iBAAiB,UAAU,CAAC;oBACtD,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;qBACxB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,eAAe,cAAc,CAAC,EAAE;gBAClC,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,eAAe,iBAAiB,UAAU,CAAC;oBACtD,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;wBACvB,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,eAAe,UAAU,CAAC,EAAE;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,gCAAgC,iBAAiB,WAAW;qBAC7D;oBACD,GAAG,EAAE,eAAe;iBACrB;gBACD,UAAU,EAAE,IAAI;aACjB;SACF;KACF,CAAC,CAAC;IAEH,IAAA,kCAA6B,EAC3B,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,oCAA4B,EAC5B,oCAAoC,EACpC,eAAe,EACf;QACE,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,sBAAsB;QAC1B,IAAI;KACL,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,oCAA4B,CAAC,CAAC,CAAC;IAE5E,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAnPW,QAAA,oBAAoB,wBAmP/B;AAEF,kBAAe,4BAAoB,CAAC"}
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "auth": {
32
32
  "type": "string",
33
- "description": "The method used to authenticate with your MCP server. Choose between IAM (default) or Cognito.",
33
+ "description": "The method used to authenticate with your MCP server. Only applicable when computeType is set (ignored when computeType is None).",
34
34
  "default": "IAM",
35
35
  "enum": ["IAM", "Cognito"],
36
36
  "x-prompt": "How would you like to authenticate with your MCP server?",
@@ -23,83 +23,94 @@ datasource db {
23
23
  `;
24
24
 
25
25
  exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/docker-pull.ts 1`] = `
26
- "import Docker from 'dockerode';
27
- import { promisify } from 'util';
26
+ "import { spawnSync } from 'child_process';
28
27
 
29
- const docker = new Docker();
28
+ const ENGINE = 'docker';
30
29
  const image = process.argv[2];
31
30
 
32
- try {
33
- await docker.getImage(image).inspect();
34
- } catch (e) {
35
- if ((e as { statusCode?: number }).statusCode !== 404) throw e;
36
- const stream = (await promisify(docker.pull.bind(docker))(
37
- image,
38
- )) as NodeJS.ReadableStream;
39
- await promisify(docker.modem.followProgress.bind(docker.modem))(stream);
31
+ const inspect = spawnSync(ENGINE, ['image', 'inspect', image], {
32
+ stdio: 'ignore',
33
+ });
34
+
35
+ if (inspect.status !== 0) {
36
+ const pull = spawnSync(ENGINE, ['pull', image], { stdio: 'inherit' });
37
+ if (pull.status !== 0) {
38
+ process.exit(pull.status ?? 1);
39
+ }
40
40
  }
41
41
  "
42
42
  `;
43
43
 
44
44
  exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/docker-start.ts 1`] = `
45
- "import Docker from 'dockerode';
45
+ "import { spawn, spawnSync } from 'child_process';
46
+
47
+ const ENGINE = 'docker';
46
48
 
47
49
  const [containerName, image, hostPort, dbName, dbPassword] =
48
50
  process.argv.slice(2);
49
51
 
50
- const docker = new Docker();
52
+ const containerExists = (): boolean =>
53
+ spawnSync(ENGINE, ['container', 'inspect', containerName], {
54
+ stdio: 'ignore',
55
+ }).status === 0;
51
56
 
52
- let container: Docker.Container;
57
+ const isRunning = (): boolean => {
58
+ const result = spawnSync(
59
+ ENGINE,
60
+ ['container', 'inspect', '-f', '{{.State.Running}}', containerName],
61
+ { encoding: 'utf-8' },
62
+ );
63
+ return result.status === 0 && result.stdout.trim() === 'true';
64
+ };
53
65
 
54
- try {
55
- const existing = docker.getContainer(containerName);
56
- const info = await existing.inspect();
57
- container = existing;
58
- if (!info.State.Running) {
59
- await container.start();
66
+ if (containerExists()) {
67
+ if (!isRunning()) {
68
+ const start = spawnSync(ENGINE, ['start', containerName], {
69
+ stdio: 'inherit',
70
+ });
71
+ if (start.status !== 0) process.exit(start.status ?? 1);
60
72
  }
61
- } catch (e) {
62
- if ((e as { statusCode?: number }).statusCode !== 404) throw e;
63
- container = await docker.createContainer({
64
- name: containerName,
65
- Image: image,
66
- Env: [\`MYSQL_DATABASE=\${dbName}\`, \`MYSQL_ROOT_PASSWORD=\${dbPassword}\`],
67
- ExposedPorts: { '3306/tcp': {} },
68
- HostConfig: {
69
- AutoRemove: true,
70
- PortBindings: { '3306/tcp': [{ HostPort: hostPort }] },
71
- Binds: [\`\${containerName}-data:/var/lib/mysql\`],
72
- },
73
- });
74
- await container.start();
73
+ } else {
74
+ const runArgs = [
75
+ 'run',
76
+ '--name',
77
+ containerName,
78
+ '-e',
79
+ \`MYSQL_DATABASE=\${dbName}\`,
80
+ '-e',
81
+ \`MYSQL_ROOT_PASSWORD=\${dbPassword}\`,
82
+ '-p',
83
+ \`\${hostPort}:3306\`,
84
+ '-v',
85
+ \`\${containerName}-data:/var/lib/mysql\`,
86
+ '-d',
87
+ image,
88
+ ];
89
+ const create = spawnSync(ENGINE, runArgs, { stdio: 'inherit' });
90
+ if (create.status !== 0) process.exit(create.status ?? 1);
75
91
  }
76
92
 
77
- const stream = await container.attach({
78
- stream: true,
79
- stdout: true,
80
- stderr: true,
93
+ const logs = spawn(ENGINE, ['logs', '-f', containerName], {
94
+ stdio: ['ignore', 'inherit', 'inherit'],
81
95
  });
82
- container.modem.demuxStream(stream, process.stdout, process.stderr);
83
96
 
84
97
  let exiting = false;
85
98
 
86
- async function cleanup() {
99
+ const cleanup = () => {
87
100
  if (exiting) return;
88
101
  exiting = true;
89
- try {
90
- await container.stop();
91
- } catch (e) {
92
- if ((e as { statusCode?: number }).statusCode !== 404) console.error(e);
93
- }
102
+ spawnSync(ENGINE, ['stop', containerName], { stdio: 'ignore' });
103
+ logs.kill();
94
104
  process.exit(0);
95
- }
105
+ };
96
106
 
97
- process.on('SIGTERM', () => void cleanup());
98
- process.on('SIGINT', () => void cleanup());
99
- process.on('SIGHUP', () => void cleanup());
107
+ process.on('SIGTERM', cleanup);
108
+ process.on('SIGINT', cleanup);
109
+ process.on('SIGHUP', cleanup);
100
110
 
101
- const { StatusCode } = await container.wait();
102
- if (!exiting) process.exit(StatusCode);
111
+ logs.on('exit', (code) => {
112
+ if (!exiting) process.exit(code ?? 0);
113
+ });
103
114
  "
104
115
  `;
105
116
 
@@ -3814,88 +3825,98 @@ datasource db {
3814
3825
  `;
3815
3826
 
3816
3827
  exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/docker-pull.ts 1`] = `
3817
- "import Docker from 'dockerode';
3818
- import { promisify } from 'util';
3828
+ "import { spawnSync } from 'child_process';
3819
3829
 
3820
- const docker = new Docker();
3830
+ const ENGINE = 'docker';
3821
3831
  const image = process.argv[2];
3822
3832
 
3823
- try {
3824
- await docker.getImage(image).inspect();
3825
- } catch (e) {
3826
- if ((e as { statusCode?: number }).statusCode !== 404) throw e;
3827
- const stream = (await promisify(docker.pull.bind(docker))(
3828
- image,
3829
- )) as NodeJS.ReadableStream;
3830
- await promisify(docker.modem.followProgress.bind(docker.modem))(stream);
3833
+ const inspect = spawnSync(ENGINE, ['image', 'inspect', image], {
3834
+ stdio: 'ignore',
3835
+ });
3836
+
3837
+ if (inspect.status !== 0) {
3838
+ const pull = spawnSync(ENGINE, ['pull', image], { stdio: 'inherit' });
3839
+ if (pull.status !== 0) {
3840
+ process.exit(pull.status ?? 1);
3841
+ }
3831
3842
  }
3832
3843
  "
3833
3844
  `;
3834
3845
 
3835
3846
  exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/docker-start.ts 1`] = `
3836
- "import Docker from 'dockerode';
3847
+ "import { spawn, spawnSync } from 'child_process';
3848
+
3849
+ const ENGINE = 'docker';
3837
3850
 
3838
3851
  const [containerName, image, hostPort, dbName, dbUser, dbPassword] =
3839
3852
  process.argv.slice(2);
3840
3853
 
3841
- const docker = new Docker();
3854
+ const containerExists = (): boolean =>
3855
+ spawnSync(ENGINE, ['container', 'inspect', containerName], {
3856
+ stdio: 'ignore',
3857
+ }).status === 0;
3842
3858
 
3843
- let container: Docker.Container;
3859
+ const isRunning = (): boolean => {
3860
+ const result = spawnSync(
3861
+ ENGINE,
3862
+ ['container', 'inspect', '-f', '{{.State.Running}}', containerName],
3863
+ { encoding: 'utf-8' },
3864
+ );
3865
+ return result.status === 0 && result.stdout.trim() === 'true';
3866
+ };
3844
3867
 
3845
- try {
3846
- const existing = docker.getContainer(containerName);
3847
- const info = await existing.inspect();
3848
- container = existing;
3849
- if (!info.State.Running) {
3850
- await container.start();
3868
+ if (containerExists()) {
3869
+ if (!isRunning()) {
3870
+ const start = spawnSync(ENGINE, ['start', containerName], {
3871
+ stdio: 'inherit',
3872
+ });
3873
+ if (start.status !== 0) process.exit(start.status ?? 1);
3851
3874
  }
3852
- } catch (e) {
3853
- if ((e as { statusCode?: number }).statusCode !== 404) throw e;
3854
- container = await docker.createContainer({
3855
- name: containerName,
3856
- Image: image,
3857
- Env: [
3858
- \`POSTGRES_DB=\${dbName}\`,
3859
- \`POSTGRES_USER=\${dbUser}\`,
3860
- \`POSTGRES_PASSWORD=\${dbPassword}\`,
3861
- \`PGDATA=/var/lib/postgresql/17/docker\`,
3862
- ],
3863
- ExposedPorts: { '5432/tcp': {} },
3864
- HostConfig: {
3865
- AutoRemove: true,
3866
- PortBindings: { '5432/tcp': [{ HostPort: hostPort }] },
3867
- Binds: [\`\${containerName}-data:/var/lib/postgresql\`],
3868
- },
3869
- });
3870
- await container.start();
3875
+ } else {
3876
+ const runArgs = [
3877
+ 'run',
3878
+ '--name',
3879
+ containerName,
3880
+ '-e',
3881
+ \`POSTGRES_DB=\${dbName}\`,
3882
+ '-e',
3883
+ \`POSTGRES_USER=\${dbUser}\`,
3884
+ '-e',
3885
+ \`POSTGRES_PASSWORD=\${dbPassword}\`,
3886
+ '-e',
3887
+ \`PGDATA=/var/lib/postgresql/17/docker\`,
3888
+ '-p',
3889
+ \`\${hostPort}:5432\`,
3890
+ '-v',
3891
+ \`\${containerName}-data:/var/lib/postgresql\`,
3892
+ '-d',
3893
+ image,
3894
+ ];
3895
+ const create = spawnSync(ENGINE, runArgs, { stdio: 'inherit' });
3896
+ if (create.status !== 0) process.exit(create.status ?? 1);
3871
3897
  }
3872
3898
 
3873
- const stream = await container.attach({
3874
- stream: true,
3875
- stdout: true,
3876
- stderr: true,
3899
+ const logs = spawn(ENGINE, ['logs', '-f', containerName], {
3900
+ stdio: ['ignore', 'inherit', 'inherit'],
3877
3901
  });
3878
- container.modem.demuxStream(stream, process.stdout, process.stderr);
3879
3902
 
3880
3903
  let exiting = false;
3881
3904
 
3882
- async function cleanup() {
3905
+ const cleanup = () => {
3883
3906
  if (exiting) return;
3884
3907
  exiting = true;
3885
- try {
3886
- await container.stop();
3887
- } catch (e) {
3888
- if ((e as { statusCode?: number }).statusCode !== 404) console.error(e);
3889
- }
3908
+ spawnSync(ENGINE, ['stop', containerName], { stdio: 'ignore' });
3909
+ logs.kill();
3890
3910
  process.exit(0);
3891
- }
3911
+ };
3892
3912
 
3893
- process.on('SIGTERM', () => void cleanup());
3894
- process.on('SIGINT', () => void cleanup());
3895
- process.on('SIGHUP', () => void cleanup());
3913
+ process.on('SIGTERM', cleanup);
3914
+ process.on('SIGINT', cleanup);
3915
+ process.on('SIGHUP', cleanup);
3896
3916
 
3897
- const { StatusCode } = await container.wait();
3898
- if (!exiting) process.exit(StatusCode);
3917
+ logs.on('exit', (code) => {
3918
+ if (!exiting) process.exit(code ?? 0);
3919
+ });
3899
3920
  "
3900
3921
  `;
3901
3922
 
@@ -1,15 +1,15 @@
1
- import Docker from 'dockerode';
2
- import { promisify } from 'util';
1
+ import { spawnSync } from 'child_process';
3
2
 
4
- const docker = new Docker();
3
+ const ENGINE = '<%= containerEngine %>';
5
4
  const image = process.argv[2];
6
5
 
7
- try {
8
- await docker.getImage(image).inspect();
9
- } catch (e) {
10
- if ((e as { statusCode?: number }).statusCode !== 404) throw e;
11
- const stream = (await promisify(docker.pull.bind(docker))(
12
- image,
13
- )) as NodeJS.ReadableStream;
14
- await promisify(docker.modem.followProgress.bind(docker.modem))(stream);
6
+ const inspect = spawnSync(ENGINE, ['image', 'inspect', image], {
7
+ stdio: 'ignore',
8
+ });
9
+
10
+ if (inspect.status !== 0) {
11
+ const pull = spawnSync(ENGINE, ['pull', image], { stdio: 'inherit' });
12
+ if (pull.status !== 0) {
13
+ process.exit(pull.status ?? 1);
14
+ }
15
15
  }