From c9cad806d42efd81ab319ff95438efa9cb587dee Mon Sep 17 00:00:00 2001 From: jariy17 Date: Thu, 15 Oct 2026 20:18:27 +0000 Subject: [PATCH 1/5] feat(project): add experimental Terraform backend --- bun.lock | 3 + command.md | 246 +---- examples/terraform-poc/.gitignore | 6 + examples/terraform-poc/README.md | 77 ++ .../terraform-poc/agentcore/agentcore.json | 87 ++ examples/terraform-poc/src/agent/main.py | 93 ++ .../terraform-poc/src/agent/requirements.txt | 4 + examples/terraform-poc/src/tool/main.py | 2 + package.json | 1 + src/core/project/backends/terraform.test.ts | 255 +++++ src/core/project/backends/terraform.ts | 324 ++++++ .../project/backends/terraform/assets.test.ts | 113 ++ src/core/project/backends/terraform/assets.ts | 294 ++++++ .../backends/terraform/compiler.test.ts | 353 +++++++ .../project/backends/terraform/compiler.ts | 969 ++++++++++++++++++ src/core/project/backends/terraform/state.ts | 111 ++ src/core/project/index.tsx | 1 + src/core/project/manager.test.ts | 190 +++- src/core/project/manager.tsx | 47 +- src/core/project/templates/project.ts | 24 +- src/handlers/project/create/index.ts | 34 +- src/handlers/project/deploy/index.ts | 2 +- src/handlers/project/project.test.ts | 35 + src/handlers/project/types.ts | 6 +- src/projectSchemas/project.test.ts | 8 + src/projectSchemas/project.ts | 2 +- 26 files changed, 3041 insertions(+), 246 deletions(-) create mode 100644 examples/terraform-poc/.gitignore create mode 100644 examples/terraform-poc/README.md create mode 100644 examples/terraform-poc/agentcore/agentcore.json create mode 100644 examples/terraform-poc/src/agent/main.py create mode 100644 examples/terraform-poc/src/agent/requirements.txt create mode 100644 examples/terraform-poc/src/tool/main.py create mode 100644 src/core/project/backends/terraform.test.ts create mode 100644 src/core/project/backends/terraform.ts create mode 100644 src/core/project/backends/terraform/assets.test.ts create mode 100644 src/core/project/backends/terraform/assets.ts create mode 100644 src/core/project/backends/terraform/compiler.test.ts create mode 100644 src/core/project/backends/terraform/compiler.ts create mode 100644 src/core/project/backends/terraform/state.ts diff --git a/bun.lock b/bun.lock index daf00c170f..f8e1da27a6 100644 --- a/bun.lock +++ b/bun.lock @@ -29,6 +29,7 @@ "bedrock-agentcore": "^0.4.3", "cli-truncate": "^6.1.1", "commander": "^15.0.0", + "fflate": "^0.8.3", "handlebars": "^4.7.10", "ink": "^7.1.0", "ink-scroll-view": "^0.3.7", @@ -878,6 +879,8 @@ "fecha": ["fecha@4.2.3", "", {}, "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="], + "fflate": ["fflate@0.8.3", "", {}, "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA=="], + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], "file-stream-rotator": ["file-stream-rotator@0.6.1", "", { "dependencies": { "moment": "^2.29.1" } }, "sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ=="], diff --git a/command.md b/command.md index d62fe6d1a8..9e4489bb85 100644 --- a/command.md +++ b/command.md @@ -42,7 +42,6 @@ This reference was generated from `agentcore --help` for version `1.0.0-rc.5`. - [`agentcore add evaluator llm-as-a-judge`](#agentcore-add-evaluator-llm-as-a-judge) - [`agentcore add evaluator code-based`](#agentcore-add-evaluator-code-based) - [`agentcore add online-eval`](#agentcore-add-online-eval) - - [`agentcore add online-insight`](#agentcore-add-online-insight) - [`agentcore add config-bundle`](#agentcore-add-config-bundle) - [`agentcore add payment-manager`](#agentcore-add-payment-manager) - [`agentcore add payment-connector`](#agentcore-add-payment-connector) @@ -153,14 +152,7 @@ This reference was generated from `agentcore --help` for version `1.0.0-rc.5`. - [`agentcore eval online-eval pause`](#agentcore-eval-online-eval-pause) - [`agentcore eval online-eval resume`](#agentcore-eval-online-eval-resume) - [`agentcore eval online-eval delete`](#agentcore-eval-online-eval-delete) - - [`agentcore eval online-insight`](#agentcore-eval-online-insight) - - [`agentcore eval online-insight create`](#agentcore-eval-online-insight-create) - - [`agentcore eval online-insight get`](#agentcore-eval-online-insight-get) - - [`agentcore eval online-insight list`](#agentcore-eval-online-insight-list) - - [`agentcore eval online-insight update`](#agentcore-eval-online-insight-update) - - [`agentcore eval online-insight pause`](#agentcore-eval-online-insight-pause) - - [`agentcore eval online-insight resume`](#agentcore-eval-online-insight-resume) - - [`agentcore eval online-insight delete`](#agentcore-eval-online-insight-delete) + - [`agentcore eval online-eval logs`](#agentcore-eval-online-eval-logs) - [`agentcore eval dataset`](#agentcore-eval-dataset) - [`agentcore eval dataset create`](#agentcore-eval-dataset-create) - [`agentcore eval dataset get`](#agentcore-eval-dataset-get) @@ -174,11 +166,6 @@ This reference was generated from `agentcore --help` for version `1.0.0-rc.5`. - [`agentcore eval batch-evaluation get`](#agentcore-eval-batch-evaluation-get) - [`agentcore eval batch-evaluation list`](#agentcore-eval-batch-evaluation-list) - [`agentcore eval batch-evaluation stop`](#agentcore-eval-batch-evaluation-stop) - - [`agentcore eval batch-insights`](#agentcore-eval-batch-insights) - - [`agentcore eval batch-insights run`](#agentcore-eval-batch-insights-run) - - [`agentcore eval batch-insights get`](#agentcore-eval-batch-insights-get) - - [`agentcore eval batch-insights list`](#agentcore-eval-batch-insights-list) - - [`agentcore eval batch-insights stop`](#agentcore-eval-batch-insights-stop) - [`agentcore eval ondemand`](#agentcore-eval-ondemand) - [`agentcore eval ondemand evaluate`](#agentcore-eval-ondemand-evaluate) - [`agentcore eval ondemand simulate`](#agentcore-eval-ondemand-simulate) @@ -256,6 +243,7 @@ create a new project **Options** - `--name `: name of the project to create (required) +- `--managed-by `: infrastructure backend (Terraform is an experimental AWSCC PoC) (default: "CDK") - `--template