Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
},
{
"name": "app-api",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/venv/bin/python",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/.venv/bin/python",
"runtimeArgs": ["main.py"],
"port": 8000,
"cwd": "backend/src/apis/app_api"
},
{
"name": "inference-api",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/venv/bin/python",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/.venv/bin/python",
"runtimeArgs": ["main.py"],
"port": 8001,
"cwd": "backend/src/apis/inference_api"
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/versioning/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Example: `1.0.0-beta.1`, `1.1.0`
2. Run `bash scripts/common/sync-version.sh`
3. Commit both the `VERSION` file and the updated manifests

The sync script updates `backend/pyproject.toml`, `frontend/ai.client/package.json`, and `infrastructure/package.json`.
The sync script updates `backend/pyproject.toml`, `frontend/ai.client/package.json`, `infrastructure/package.json`, and the `README.md` version badge and "Current release" text.

## PR Gate

Expand Down
2 changes: 1 addition & 1 deletion .cursor/rules/versioning.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Example: `1.0.0-beta.1`, `1.1.0`
2. Run `bash scripts/common/sync-version.sh`
3. Commit both the `VERSION` file and the updated manifests

The sync script updates `backend/pyproject.toml`, `frontend/ai.client/package.json`, and `infrastructure/package.json`.
The sync script updates `backend/pyproject.toml`, `frontend/ai.client/package.json`, `infrastructure/package.json`, and the `README.md` version badge and "Current release" text.

## PR Gate

Expand Down
1 change: 1 addition & 0 deletions .github/ACTIONS-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ GitHub provides two mechanisms for storing configuration values:
| CDK_FILE_UPLOAD_CORS_ORIGINS | Variable | No | `http://localhost:4200` | Infrastructure, App API | Comma-separated CORS origins for file upload S3 bucket |
| CDK_FILE_UPLOAD_MAX_SIZE_MB | Variable | No | `10` | Infrastructure, App API | Maximum file upload size in megabytes |
| CDK_FINE_TUNING_ENABLED | Variable | No | `false` | SageMaker Fine-Tuning, App API | Enable SageMaker fine-tuning stack and App API fine-tuning routes. Must be `true` before deploying the SageMaker Fine-Tuning workflow. |
| CDK_FINE_TUNING_DEFAULT_QUOTA_HOURS | Variable | No | `0` | App API | Default monthly GPU-hour quota for all authenticated users. `0` = whitelist-only (admin must grant each user). Positive value (e.g. `5`) = open access with that default budget. |
| CDK_FRONTEND_BUCKET_NAME | Variable | No | None | Frontend | S3 bucket name for frontend assets (defaults to generated name with account ID) |
| CDK_FRONTEND_CERTIFICATE_ARN | Variable | No | None | Frontend | ACM certificate ARN for HTTPS on CloudFront (required for custom domain) |
| CDK_FRONTEND_CLOUDFRONT_PRICE_CLASS | Variable | No | `PriceClass_100` | Frontend | CloudFront price class (PriceClass_100, PriceClass_200, PriceClass_All) |
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/app-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ jobs:
echo "Image size: ${IMAGE_SIZE} bytes"

- name: Upload Docker image artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: app-api-docker-image
path: ${{ runner.temp }}/app-api-image.tar
Expand Down Expand Up @@ -214,7 +214,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Download Docker image artifact
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-api-docker-image
path: ${{ runner.temp }}
Expand Down Expand Up @@ -281,6 +281,7 @@ jobs:
CDK_FILE_UPLOAD_CORS_ORIGINS: ${{ vars.CDK_FILE_UPLOAD_CORS_ORIGINS }}
CDK_FILE_UPLOAD_MAX_SIZE_MB: ${{ vars.CDK_FILE_UPLOAD_MAX_SIZE_MB }}
CDK_FINE_TUNING_ENABLED: ${{ vars.CDK_FINE_TUNING_ENABLED }}
CDK_FINE_TUNING_DEFAULT_QUOTA_HOURS: ${{ vars.CDK_FINE_TUNING_DEFAULT_QUOTA_HOURS }}
CDK_AWS_ACCOUNT: ${{ vars.CDK_AWS_ACCOUNT }}

AWS_ROLE_ARN: ${{ secrets.AWS_ROLE_ARN }}
Expand Down Expand Up @@ -318,7 +319,7 @@ jobs:
bash scripts/stack-app-api/synth.sh

- name: Upload synthesized templates
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: app-api-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -360,7 +361,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-api-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -418,7 +419,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Download Docker image artifact
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-api-docker-image
path: ${{ runner.temp }}
Expand Down Expand Up @@ -478,6 +479,7 @@ jobs:
CDK_FILE_UPLOAD_CORS_ORIGINS: ${{ vars.CDK_FILE_UPLOAD_CORS_ORIGINS }}
CDK_FILE_UPLOAD_MAX_SIZE_MB: ${{ vars.CDK_FILE_UPLOAD_MAX_SIZE_MB }}
CDK_FINE_TUNING_ENABLED: ${{ vars.CDK_FINE_TUNING_ENABLED }}
CDK_FINE_TUNING_DEFAULT_QUOTA_HOURS: ${{ vars.CDK_FINE_TUNING_DEFAULT_QUOTA_HOURS }}
CDK_AWS_ACCOUNT: ${{ vars.CDK_AWS_ACCOUNT }}

AWS_ROLE_ARN: ${{ secrets.AWS_ROLE_ARN }}
Expand All @@ -495,7 +497,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: app-api-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -525,7 +527,7 @@ jobs:
bash scripts/stack-app-api/tag-latest.sh

- name: Upload stack outputs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: app-api-deployment-outputs
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Initialize CodeQL
uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -63,7 +63,7 @@ jobs:
queries: security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
category: "/language:${{ matrix.language }}"
# Upload SARIF database for debugging and audit trail
Expand Down
21 changes: 10 additions & 11 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ on:
- 'infrastructure/lib/config.ts'
- 'infrastructure/bin/infrastructure.ts'
- 'scripts/stack-frontend/**'
- 'scripts/common/**'
- '.github/workflows/frontend.yml'
pull_request:
branches:
Expand All @@ -23,7 +22,6 @@ on:
- 'infrastructure/lib/config.ts'
- 'infrastructure/bin/infrastructure.ts'
- 'scripts/stack-frontend/**'
- 'scripts/common/**'
- '.github/workflows/frontend.yml'
workflow_dispatch:
inputs:
Expand Down Expand Up @@ -140,7 +138,7 @@ jobs:
bash scripts/stack-frontend/build.sh

- name: Upload Frontend build artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: frontend-build
path: frontend/ai.client/dist/
Expand Down Expand Up @@ -201,7 +199,7 @@ jobs:
bash scripts/stack-frontend/test.sh

- name: Upload Frontend test results
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: frontend-test-results
path: frontend/ai.client/coverage/
Expand All @@ -212,6 +210,7 @@ jobs:
name: Synthesize CDK
runs-on: ubuntu-24.04
needs: build-cdk
if: github.event_name != 'pull_request'

# Select environment based on trigger
# Manual: workflow_dispatch input
Expand Down Expand Up @@ -267,7 +266,7 @@ jobs:
bash scripts/stack-frontend/synth.sh

- name: Upload synthesized templates
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: frontend-cdk-synth
path: infrastructure/cdk.out/
Expand All @@ -277,7 +276,7 @@ jobs:
name: Test CDK
runs-on: ubuntu-24.04
needs: synth-cdk
if: ${{ github.event.inputs.skip_tests != 'true' }}
if: ${{ github.event_name != 'pull_request' && github.event.inputs.skip_tests != 'true' }}

# Select environment based on trigger
# Manual: workflow_dispatch input
Expand Down Expand Up @@ -308,7 +307,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: frontend-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -378,7 +377,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: frontend-cdk-synth
path: infrastructure/cdk.out/
Expand All @@ -401,7 +400,7 @@ jobs:
bash scripts/stack-frontend/deploy-cdk.sh

- name: Upload stack outputs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: frontend-cdk-outputs
path: infrastructure/frontend-outputs.json
Expand Down Expand Up @@ -442,13 +441,13 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Download Frontend build artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: frontend-build
path: frontend/ai.client/dist/

- name: Download CDK outputs
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: frontend-cdk-outputs
path: infrastructure/
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/gateway.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ jobs:
bash scripts/stack-gateway/build-cdk.sh

- name: Upload build artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: gateway-cdk-build
path: |
Expand Down Expand Up @@ -189,7 +189,7 @@ jobs:
gateway-node-

- name: Download build artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: gateway-cdk-build
path: infrastructure
Expand All @@ -203,7 +203,7 @@ jobs:
bash scripts/stack-gateway/synth.sh

- name: Upload synthesized templates
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: gateway-cdk-templates
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -262,7 +262,7 @@ jobs:
gateway-node-

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: gateway-cdk-templates
path: infrastructure/cdk.out
Expand Down Expand Up @@ -333,7 +333,7 @@ jobs:
gateway-node-

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: gateway-cdk-templates
path: infrastructure/cdk.out
Expand All @@ -347,7 +347,7 @@ jobs:
bash scripts/stack-gateway/deploy.sh

- name: Upload stack outputs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: gateway-deployment-outputs
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/inference-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ jobs:
echo "Image size: ${IMAGE_SIZE} bytes"

- name: Upload Docker image artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: inference-api-docker-image
path: ${{ runner.temp }}/inference-api-image.tar
Expand Down Expand Up @@ -230,7 +230,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Download Docker image artifact
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: inference-api-docker-image
path: ${{ runner.temp }}
Expand Down Expand Up @@ -327,7 +327,7 @@ jobs:
bash scripts/stack-inference-api/synth.sh

- name: Upload synthesized templates
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: inference-api-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -368,7 +368,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: inference-api-cdk-synth
path: infrastructure/cdk.out/
Expand Down Expand Up @@ -428,7 +428,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Download Docker image artifact
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: inference-api-docker-image
path: ${{ runner.temp }}
Expand Down Expand Up @@ -501,7 +501,7 @@ jobs:
key: infrastructure-node-modules-${{ hashFiles('infrastructure/package-lock.json') }}

- name: Download synthesized templates
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: inference-api-cdk-synth
path: infrastructure/cdk.out/
Expand All @@ -528,7 +528,7 @@ jobs:
bash scripts/stack-inference-api/tag-latest.sh

- name: Upload stack outputs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: inference-api-deployment-outputs
Expand Down
Loading
Loading