@action-llama/action-llama 0.10.1 → 0.11.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.
- package/AGENTS.md +17 -6
- package/README.md +8 -4
- package/dist/agents/container-entry.d.ts.map +1 -1
- package/dist/agents/container-entry.js +37 -0
- package/dist/agents/container-entry.js.map +1 -1
- package/dist/agents/container-runner.d.ts +4 -0
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +82 -5
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/agents/execution-engine.d.ts +2 -0
- package/dist/agents/execution-engine.d.ts.map +1 -1
- package/dist/agents/execution-engine.js +7 -16
- package/dist/agents/execution-engine.js.map +1 -1
- package/dist/agents/runner.d.ts +3 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +47 -17
- package/dist/agents/runner.js.map +1 -1
- package/dist/cli/commands/chat.d.ts +5 -2
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +240 -23
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/cloud-deploy.d.ts.map +1 -1
- package/dist/cli/commands/cloud-deploy.js +5 -47
- package/dist/cli/commands/cloud-deploy.js.map +1 -1
- package/dist/cli/commands/cloud-setup.d.ts.map +1 -1
- package/dist/cli/commands/cloud-setup.js +20 -858
- package/dist/cli/commands/cloud-setup.js.map +1 -1
- package/dist/cli/commands/cloud-teardown.d.ts.map +1 -1
- package/dist/cli/commands/cloud-teardown.js +6 -126
- package/dist/cli/commands/cloud-teardown.js.map +1 -1
- package/dist/cli/commands/creds.d.ts.map +1 -1
- package/dist/cli/commands/creds.js +2 -4
- package/dist/cli/commands/creds.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +0 -3
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +76 -646
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/kill.d.ts +1 -1
- package/dist/cli/commands/kill.d.ts.map +1 -1
- package/dist/cli/commands/kill.js +26 -18
- package/dist/cli/commands/kill.js.map +1 -1
- package/dist/cli/commands/logs.d.ts.map +1 -1
- package/dist/cli/commands/logs.js +104 -58
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +1 -1
- package/dist/cli/commands/pause.d.ts.map +1 -1
- package/dist/cli/commands/pause.js +19 -19
- package/dist/cli/commands/pause.js.map +1 -1
- package/dist/cli/commands/resume.d.ts +1 -1
- package/dist/cli/commands/resume.d.ts.map +1 -1
- package/dist/cli/commands/resume.js +19 -19
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +12 -54
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +22 -39
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/gateway-client.d.ts +12 -0
- package/dist/cli/gateway-client.d.ts.map +1 -0
- package/dist/cli/gateway-client.js +27 -0
- package/dist/cli/gateway-client.js.map +1 -0
- package/dist/cli/main.js +79 -42
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/with-command.d.ts +13 -0
- package/dist/cli/with-command.d.ts.map +1 -0
- package/dist/cli/with-command.js +45 -0
- package/dist/cli/with-command.js.map +1 -0
- package/dist/{shared/aws-constants.d.ts → cloud/aws/constants.d.ts} +3 -34
- package/dist/cloud/aws/constants.d.ts.map +1 -0
- package/dist/{shared/aws-constants.js → cloud/aws/constants.js} +3 -34
- package/dist/cloud/aws/constants.js.map +1 -0
- package/dist/cloud/{deploy-apprunner.d.ts → aws/deploy.d.ts} +6 -6
- package/dist/cloud/aws/deploy.d.ts.map +1 -0
- package/dist/cloud/{deploy-apprunner.js → aws/deploy.js} +2 -2
- package/dist/cloud/aws/deploy.js.map +1 -0
- package/dist/cloud/aws/iam.d.ts +37 -0
- package/dist/cloud/aws/iam.d.ts.map +1 -0
- package/dist/cloud/aws/iam.js +442 -0
- package/dist/cloud/aws/iam.js.map +1 -0
- package/dist/cloud/aws/provider.d.ts +69 -0
- package/dist/cloud/aws/provider.d.ts.map +1 -0
- package/dist/cloud/aws/provider.js +173 -0
- package/dist/cloud/aws/provider.js.map +1 -0
- package/dist/cloud/aws/provision.d.ts +9 -0
- package/dist/cloud/aws/provision.d.ts.map +1 -0
- package/dist/cloud/aws/provision.js +698 -0
- package/dist/cloud/aws/provision.js.map +1 -0
- package/dist/cloud/aws/teardown.d.ts +15 -0
- package/dist/cloud/aws/teardown.d.ts.map +1 -0
- package/dist/cloud/aws/teardown.js +74 -0
- package/dist/cloud/aws/teardown.js.map +1 -0
- package/dist/cloud/gcp/constants.d.ts +16 -0
- package/dist/cloud/gcp/constants.d.ts.map +1 -0
- package/dist/cloud/gcp/constants.js +16 -0
- package/dist/cloud/gcp/constants.js.map +1 -0
- package/dist/cloud/{deploy-cloudrun.d.ts → gcp/deploy.d.ts} +6 -6
- package/dist/cloud/gcp/deploy.d.ts.map +1 -0
- package/dist/cloud/{deploy-cloudrun.js → gcp/deploy.js} +7 -7
- package/dist/cloud/gcp/deploy.js.map +1 -0
- package/dist/cloud/gcp/iam.d.ts +20 -0
- package/dist/cloud/gcp/iam.d.ts.map +1 -0
- package/dist/cloud/gcp/iam.js +179 -0
- package/dist/cloud/gcp/iam.js.map +1 -0
- package/dist/cloud/gcp/provider.d.ts +28 -0
- package/dist/cloud/gcp/provider.d.ts.map +1 -0
- package/dist/cloud/gcp/provider.js +84 -0
- package/dist/cloud/gcp/provider.js.map +1 -0
- package/dist/cloud/gcp/provision.d.ts +14 -0
- package/dist/cloud/gcp/provision.d.ts.map +1 -0
- package/dist/cloud/gcp/provision.js +37 -0
- package/dist/cloud/gcp/provision.js.map +1 -0
- package/dist/cloud/gcp/teardown.d.ts +12 -0
- package/dist/cloud/gcp/teardown.d.ts.map +1 -0
- package/dist/cloud/gcp/teardown.js +67 -0
- package/dist/cloud/gcp/teardown.js.map +1 -0
- package/dist/cloud/image-builder.d.ts.map +1 -1
- package/dist/cloud/image-builder.js +115 -18
- package/dist/cloud/image-builder.js.map +1 -1
- package/dist/cloud/provider.d.ts +57 -0
- package/dist/cloud/provider.d.ts.map +1 -0
- package/dist/cloud/provider.js +21 -0
- package/dist/cloud/provider.js.map +1 -0
- package/dist/cloud/scheduler-image.d.ts.map +1 -1
- package/dist/cloud/scheduler-image.js +16 -3
- package/dist/cloud/scheduler-image.js.map +1 -1
- package/dist/cloud/state.d.ts +17 -0
- package/dist/cloud/state.d.ts.map +1 -0
- package/dist/cloud/state.js +48 -0
- package/dist/cloud/state.js.map +1 -0
- package/dist/docker/aws-shared.d.ts +6 -4
- package/dist/docker/aws-shared.d.ts.map +1 -1
- package/dist/docker/aws-shared.js +405 -23
- package/dist/docker/aws-shared.js.map +1 -1
- package/dist/docker/cloud-run-runtime.d.ts.map +1 -1
- package/dist/docker/cloud-run-runtime.js +10 -9
- package/dist/docker/cloud-run-runtime.js.map +1 -1
- package/dist/docker/ecs-runtime.d.ts +3 -1
- package/dist/docker/ecs-runtime.d.ts.map +1 -1
- package/dist/docker/ecs-runtime.js +78 -29
- package/dist/docker/ecs-runtime.js.map +1 -1
- package/dist/docker/image.d.ts +7 -0
- package/dist/docker/image.d.ts.map +1 -1
- package/dist/docker/image.js +31 -4
- package/dist/docker/image.js.map +1 -1
- package/dist/docker/lambda-runtime.js +1 -1
- package/dist/docker/lambda-runtime.js.map +1 -1
- package/dist/docker/local-runtime.js +4 -4
- package/dist/docker/local-runtime.js.map +1 -1
- package/dist/docker/network.d.ts.map +1 -1
- package/dist/docker/network.js +2 -2
- package/dist/docker/network.js.map +1 -1
- package/dist/docker/runtime.d.ts +23 -0
- package/dist/docker/runtime.d.ts.map +1 -1
- package/dist/gateway/api-key.d.ts +10 -0
- package/dist/gateway/api-key.d.ts.map +1 -0
- package/dist/gateway/api-key.js +19 -0
- package/dist/gateway/api-key.js.map +1 -0
- package/dist/gateway/auth.d.ts +16 -0
- package/dist/gateway/auth.d.ts.map +1 -0
- package/dist/gateway/auth.js +60 -0
- package/dist/gateway/auth.js.map +1 -0
- package/dist/gateway/index.d.ts +2 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +38 -4
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/rate-limiter.d.ts +16 -0
- package/dist/gateway/rate-limiter.d.ts.map +1 -0
- package/dist/gateway/rate-limiter.js +38 -0
- package/dist/gateway/rate-limiter.js.map +1 -0
- package/dist/gateway/routes/control.d.ts +6 -0
- package/dist/gateway/routes/control.d.ts.map +1 -1
- package/dist/gateway/routes/control.js +117 -0
- package/dist/gateway/routes/control.js.map +1 -1
- package/dist/gateway/routes/dashboard.d.ts +1 -1
- package/dist/gateway/routes/dashboard.d.ts.map +1 -1
- package/dist/gateway/routes/dashboard.js +148 -49
- package/dist/gateway/routes/dashboard.js.map +1 -1
- package/dist/gateway/routes/locks.d.ts +3 -1
- package/dist/gateway/routes/locks.d.ts.map +1 -1
- package/dist/gateway/routes/locks.js +18 -13
- package/dist/gateway/routes/locks.js.map +1 -1
- package/dist/gateway/routes/webhooks.d.ts.map +1 -1
- package/dist/gateway/routes/webhooks.js +14 -0
- package/dist/gateway/routes/webhooks.js.map +1 -1
- package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
- package/dist/gateway/views/dashboard-page.js +93 -20
- package/dist/gateway/views/dashboard-page.js.map +1 -1
- package/dist/gateway/views/login-page.d.ts +2 -0
- package/dist/gateway/views/login-page.d.ts.map +1 -0
- package/dist/gateway/views/login-page.js +54 -0
- package/dist/gateway/views/login-page.js.map +1 -0
- package/dist/scheduler/index.d.ts +1 -2
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +176 -216
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/runner-pool.d.ts +5 -0
- package/dist/scheduler/runner-pool.d.ts.map +1 -1
- package/dist/scheduler/runner-pool.js +14 -0
- package/dist/scheduler/runner-pool.js.map +1 -1
- package/dist/scheduler/runtime-factory.d.ts +26 -4
- package/dist/scheduler/runtime-factory.d.ts.map +1 -1
- package/dist/scheduler/runtime-factory.js +43 -77
- package/dist/scheduler/runtime-factory.js.map +1 -1
- package/dist/scheduler/webhook-setup.d.ts +11 -20
- package/dist/scheduler/webhook-setup.d.ts.map +1 -1
- package/dist/scheduler/webhook-setup.js +22 -68
- package/dist/scheduler/webhook-setup.js.map +1 -1
- package/dist/setup/scaffold.d.ts.map +1 -1
- package/dist/setup/scaffold.js +25 -0
- package/dist/setup/scaffold.js.map +1 -1
- package/dist/shared/asm-backend.d.ts.map +1 -1
- package/dist/shared/asm-backend.js +2 -2
- package/dist/shared/asm-backend.js.map +1 -1
- package/dist/shared/config.d.ts +29 -13
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +53 -6
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/constants.d.ts +34 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +34 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/credential-backend.d.ts +1 -1
- package/dist/shared/credentials.d.ts.map +1 -1
- package/dist/shared/credentials.js +2 -1
- package/dist/shared/credentials.js.map +1 -1
- package/dist/shared/errors.d.ts +34 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +47 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/filesystem-backend.d.ts +1 -1
- package/dist/shared/filesystem-backend.js +1 -1
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +3 -2
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/gsm-backend.d.ts.map +1 -1
- package/dist/shared/gsm-backend.js +2 -2
- package/dist/shared/gsm-backend.js.map +1 -1
- package/dist/shared/paths.d.ts +2 -0
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +3 -1
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/remote.d.ts +1 -0
- package/dist/shared/remote.d.ts.map +1 -1
- package/dist/shared/remote.js +4 -16
- package/dist/shared/remote.js.map +1 -1
- package/dist/shared/usage.d.ts +22 -0
- package/dist/shared/usage.d.ts.map +1 -0
- package/dist/shared/usage.js +43 -0
- package/dist/shared/usage.js.map +1 -0
- package/dist/telemetry/index.d.ts +57 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +189 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/providers/otel.d.ts +15 -0
- package/dist/telemetry/providers/otel.d.ts.map +1 -0
- package/dist/telemetry/providers/otel.js +77 -0
- package/dist/telemetry/providers/otel.js.map +1 -0
- package/dist/telemetry/providers/xray.d.ts +13 -0
- package/dist/telemetry/providers/xray.d.ts.map +1 -0
- package/dist/telemetry/providers/xray.js +33 -0
- package/dist/telemetry/providers/xray.js.map +1 -0
- package/dist/telemetry/types.d.ts +59 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +2 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +2 -0
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/plain-logger.d.ts.map +1 -1
- package/dist/tui/plain-logger.js +8 -2
- package/dist/tui/plain-logger.js.map +1 -1
- package/dist/tui/status-tracker.d.ts +4 -1
- package/dist/tui/status-tracker.d.ts.map +1 -1
- package/dist/tui/status-tracker.js +11 -1
- package/dist/tui/status-tracker.js.map +1 -1
- package/dist/webhooks/providers/github.d.ts.map +1 -1
- package/dist/webhooks/providers/github.js +2 -21
- package/dist/webhooks/providers/github.js.map +1 -1
- package/dist/webhooks/providers/linear.d.ts.map +1 -1
- package/dist/webhooks/providers/linear.js +2 -21
- package/dist/webhooks/providers/linear.js.map +1 -1
- package/dist/webhooks/providers/sentry.d.ts.map +1 -1
- package/dist/webhooks/providers/sentry.js +2 -20
- package/dist/webhooks/providers/sentry.js.map +1 -1
- package/dist/webhooks/validation.d.ts +17 -0
- package/dist/webhooks/validation.d.ts.map +1 -0
- package/dist/webhooks/validation.js +37 -0
- package/dist/webhooks/validation.js.map +1 -0
- package/docker/adot-collector-config.yaml +57 -0
- package/package.json +9 -1
- package/dist/cloud/deploy-apprunner.d.ts.map +0 -1
- package/dist/cloud/deploy-apprunner.js.map +0 -1
- package/dist/cloud/deploy-cloudrun.d.ts.map +0 -1
- package/dist/cloud/deploy-cloudrun.js.map +0 -1
- package/dist/scheduler/config-validator.d.ts +0 -18
- package/dist/scheduler/config-validator.d.ts.map +0 -1
- package/dist/scheduler/config-validator.js +0 -53
- package/dist/scheduler/config-validator.js.map +0 -1
- package/dist/scheduler/cron-manager.d.ts +0 -14
- package/dist/scheduler/cron-manager.d.ts.map +0 -1
- package/dist/scheduler/cron-manager.js +0 -75
- package/dist/scheduler/cron-manager.js.map +0 -1
- package/dist/scheduler/shutdown-handler.d.ts +0 -16
- package/dist/scheduler/shutdown-handler.d.ts.map +0 -1
- package/dist/scheduler/shutdown-handler.js +0 -44
- package/dist/scheduler/shutdown-handler.js.map +0 -1
- package/dist/scheduler/trigger-dispatcher.d.ts +0 -12
- package/dist/scheduler/trigger-dispatcher.d.ts.map +0 -1
- package/dist/scheduler/trigger-dispatcher.js +0 -46
- package/dist/scheduler/trigger-dispatcher.js.map +0 -1
- package/dist/shared/aws-constants.d.ts.map +0 -1
- package/dist/shared/aws-constants.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ConfigError, CredentialError, CloudProviderError, AgentError } from "../shared/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a CLI command handler with consistent error handling.
|
|
4
|
+
*
|
|
5
|
+
* - Catches errors and prints context-aware messages
|
|
6
|
+
* - Shows recovery hints for known error types
|
|
7
|
+
* - Shows stack traces when DEBUG is set
|
|
8
|
+
* - Calls process.exit(1) on failure
|
|
9
|
+
*
|
|
10
|
+
* This replaces the ad-hoc try/catch + process.exit(1) pattern
|
|
11
|
+
* that was duplicated across every command.
|
|
12
|
+
*/
|
|
13
|
+
export function withCommand(fn) {
|
|
14
|
+
return (async (...args) => {
|
|
15
|
+
try {
|
|
16
|
+
await fn(...args);
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
if (err instanceof CredentialError) {
|
|
20
|
+
console.error(`Credential error: ${err.message}`);
|
|
21
|
+
}
|
|
22
|
+
else if (err instanceof ConfigError) {
|
|
23
|
+
console.error(`Configuration error: ${err.message}`);
|
|
24
|
+
}
|
|
25
|
+
else if (err instanceof CloudProviderError) {
|
|
26
|
+
console.error(`Cloud error: ${err.message}`);
|
|
27
|
+
}
|
|
28
|
+
else if (err instanceof AgentError) {
|
|
29
|
+
console.error(`Agent error: ${err.message}`);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
33
|
+
console.error(`Error: ${msg}`);
|
|
34
|
+
if (err instanceof Error && err.cause) {
|
|
35
|
+
console.error(`Cause: ${err.cause}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
39
|
+
console.error(err.stack);
|
|
40
|
+
}
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=with-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-command.js","sourceRoot":"","sources":["../../src/cli/with-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAA8C,EAAK;IAC5E,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBAC7C,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;gBAC/B,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAiB,CAAC;AACrB,CAAC"}
|
|
@@ -1,26 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* AWS-specific resource naming constants.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* should be derived from this file to prevent inconsistencies.
|
|
4
|
+
* For provider-agnostic constants, see src/shared/constants.ts.
|
|
6
5
|
*/
|
|
7
6
|
export declare const AWS_CONSTANTS: {
|
|
8
|
-
/** Default prefix for Secrets Manager secret names */
|
|
9
|
-
DEFAULT_SECRET_PREFIX: string;
|
|
10
7
|
/** CloudWatch log group for ECS tasks */
|
|
11
8
|
LOG_GROUP: string;
|
|
12
|
-
/** ECS `startedBy` tag for filtering our tasks */
|
|
13
|
-
STARTED_BY: string;
|
|
14
|
-
/** ECS task family / Cloud Run job name for an agent */
|
|
15
|
-
agentFamily: (agentName: string) => string;
|
|
16
|
-
/** Strip the `al-` prefix to recover the agent name */
|
|
17
|
-
agentNameFromFamily: (family: string) => string;
|
|
18
9
|
/** Per-agent IAM task role name */
|
|
19
10
|
taskRoleName: (agentName: string) => string;
|
|
20
|
-
/** Per-agent GCP service account name */
|
|
21
|
-
serviceAccountName: (agentName: string) => string;
|
|
22
|
-
/** Per-agent GCP service account email */
|
|
23
|
-
serviceAccountEmail: (agentName: string, gcpProject: string) => string;
|
|
24
11
|
/** CodeBuild project name for image builds */
|
|
25
12
|
CODEBUILD_PROJECT: string;
|
|
26
13
|
/** CodeBuild IAM role name */
|
|
@@ -37,20 +24,6 @@ export declare const AWS_CONSTANTS: {
|
|
|
37
24
|
buildBucket: (accountId: string, region: string) => string;
|
|
38
25
|
/** S3 key prefix for build artifacts */
|
|
39
26
|
BUILD_S3_PREFIX: string;
|
|
40
|
-
/** Docker container name for a local agent run */
|
|
41
|
-
containerName: (agentName: string, runId: string) => string;
|
|
42
|
-
/** Docker container name filter prefix */
|
|
43
|
-
CONTAINER_FILTER: string;
|
|
44
|
-
/** Docker network name */
|
|
45
|
-
NETWORK_NAME: string;
|
|
46
|
-
/** Default base Docker image */
|
|
47
|
-
DEFAULT_IMAGE: string;
|
|
48
|
-
/** Agent-specific Docker image tag */
|
|
49
|
-
agentImage: (agentName: string) => string;
|
|
50
|
-
/** Temp directory prefix for credential staging */
|
|
51
|
-
CREDS_TEMP_PREFIX: string;
|
|
52
|
-
/** Default GCP Cloud Run service account */
|
|
53
|
-
defaultGcpRunner: (gcpProject: string) => string;
|
|
54
27
|
/** Lambda function name for an agent */
|
|
55
28
|
lambdaFunction: (agentName: string) => string;
|
|
56
29
|
/** Maximum timeout for Lambda functions (seconds) */
|
|
@@ -71,9 +44,5 @@ export declare const AWS_CONSTANTS: {
|
|
|
71
44
|
APPRUNNER_ACCESS_ROLE: string;
|
|
72
45
|
/** CloudWatch log group for App Runner */
|
|
73
46
|
APPRUNNER_LOG_GROUP: string;
|
|
74
|
-
/** Scheduler Docker image tag */
|
|
75
|
-
SCHEDULER_IMAGE: string;
|
|
76
|
-
/** GCP Cloud Run service name for the cloud scheduler */
|
|
77
|
-
SCHEDULER_CLOUD_RUN_SERVICE: string;
|
|
78
47
|
};
|
|
79
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa;IACxB,yCAAyC;;IAGzC,mCAAmC;8BACT,MAAM;IAEhC,8CAA8C;;IAG9C,8BAA8B;;IAG9B,wCAAwC;;IAGxC,iCAAiC;;IAGjC,kCAAkC;;IAGlC,+BAA+B;;IAG/B,0CAA0C;6BACjB,MAAM,UAAU,MAAM;IAE/C,wCAAwC;;IAGxC,wCAAwC;gCACZ,MAAM;IAElC,qDAAqD;;IAGrD,+CAA+C;;IAG/C,gDAAgD;;IAGhD,iCAAiC;;IAGjC,2CAA2C;gCACf,MAAM;IAElC,sDAAsD;;IAGtD,oCAAoC;;IAGpC,sCAAsC;;IAGtC,0CAA0C;;CAE8B,CAAC"}
|
|
@@ -1,26 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* AWS-specific resource naming constants.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* should be derived from this file to prevent inconsistencies.
|
|
4
|
+
* For provider-agnostic constants, see src/shared/constants.ts.
|
|
6
5
|
*/
|
|
7
6
|
export const AWS_CONSTANTS = {
|
|
8
|
-
/** Default prefix for Secrets Manager secret names */
|
|
9
|
-
DEFAULT_SECRET_PREFIX: "action-llama",
|
|
10
7
|
/** CloudWatch log group for ECS tasks */
|
|
11
8
|
LOG_GROUP: "/ecs/action-llama",
|
|
12
|
-
/** ECS `startedBy` tag for filtering our tasks */
|
|
13
|
-
STARTED_BY: "action-llama",
|
|
14
|
-
/** ECS task family / Cloud Run job name for an agent */
|
|
15
|
-
agentFamily: (agentName) => `al-${agentName}`,
|
|
16
|
-
/** Strip the `al-` prefix to recover the agent name */
|
|
17
|
-
agentNameFromFamily: (family) => family.startsWith("al-") ? family.slice(3) : family,
|
|
18
9
|
/** Per-agent IAM task role name */
|
|
19
10
|
taskRoleName: (agentName) => `al-${agentName}-task-role`,
|
|
20
|
-
/** Per-agent GCP service account name */
|
|
21
|
-
serviceAccountName: (agentName) => `al-${agentName}`,
|
|
22
|
-
/** Per-agent GCP service account email */
|
|
23
|
-
serviceAccountEmail: (agentName, gcpProject) => `al-${agentName}@${gcpProject}.iam.gserviceaccount.com`,
|
|
24
11
|
/** CodeBuild project name for image builds */
|
|
25
12
|
CODEBUILD_PROJECT: "al-image-builder",
|
|
26
13
|
/** CodeBuild IAM role name */
|
|
@@ -37,20 +24,6 @@ export const AWS_CONSTANTS = {
|
|
|
37
24
|
buildBucket: (accountId, region) => `al-builds-${accountId}-${region}`,
|
|
38
25
|
/** S3 key prefix for build artifacts */
|
|
39
26
|
BUILD_S3_PREFIX: "al-builds",
|
|
40
|
-
/** Docker container name for a local agent run */
|
|
41
|
-
containerName: (agentName, runId) => `al-${agentName}-${runId}`,
|
|
42
|
-
/** Docker container name filter prefix */
|
|
43
|
-
CONTAINER_FILTER: "al-",
|
|
44
|
-
/** Docker network name */
|
|
45
|
-
NETWORK_NAME: "al-net",
|
|
46
|
-
/** Default base Docker image */
|
|
47
|
-
DEFAULT_IMAGE: "al-agent:latest",
|
|
48
|
-
/** Agent-specific Docker image tag */
|
|
49
|
-
agentImage: (agentName) => `al-${agentName}:latest`,
|
|
50
|
-
/** Temp directory prefix for credential staging */
|
|
51
|
-
CREDS_TEMP_PREFIX: "al-creds-",
|
|
52
|
-
/** Default GCP Cloud Run service account */
|
|
53
|
-
defaultGcpRunner: (gcpProject) => `al-runner@${gcpProject}.iam.gserviceaccount.com`,
|
|
54
27
|
/** Lambda function name for an agent */
|
|
55
28
|
lambdaFunction: (agentName) => `al-${agentName}`,
|
|
56
29
|
/** Maximum timeout for Lambda functions (seconds) */
|
|
@@ -71,9 +44,5 @@ export const AWS_CONSTANTS = {
|
|
|
71
44
|
APPRUNNER_ACCESS_ROLE: "al-apprunner-access-role",
|
|
72
45
|
/** CloudWatch log group for App Runner */
|
|
73
46
|
APPRUNNER_LOG_GROUP: "/apprunner/al-scheduler",
|
|
74
|
-
/** Scheduler Docker image tag */
|
|
75
|
-
SCHEDULER_IMAGE: "al-scheduler:latest",
|
|
76
|
-
/** GCP Cloud Run service name for the cloud scheduler */
|
|
77
|
-
SCHEDULER_CLOUD_RUN_SERVICE: "al-scheduler",
|
|
78
47
|
};
|
|
79
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yCAAyC;IACzC,SAAS,EAAE,mBAAmB;IAE9B,mCAAmC;IACnC,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,YAAY;IAEhE,8CAA8C;IAC9C,iBAAiB,EAAE,kBAAkB;IAErC,8BAA8B;IAC9B,cAAc,EAAE,mBAAmB;IAEnC,wCAAwC;IACxC,cAAc,EAAE,uBAAuB;IAEvC,iCAAiC;IACjC,iBAAiB,EAAE,sBAAsB;IAEzC,kCAAkC;IAClC,gBAAgB,EAAE,WAAW;IAE7B,+BAA+B;IAC/B,eAAe,EAAE,YAAY;IAE7B,0CAA0C;IAC1C,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,aAAa,SAAS,IAAI,MAAM,EAAE;IAEtF,wCAAwC;IACxC,eAAe,EAAE,WAAW;IAE5B,wCAAwC;IACxC,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAExD,qDAAqD;IACrD,kBAAkB,EAAE,GAAG;IAEvB,+CAA+C;IAC/C,iBAAiB,EAAE,IAAI;IAEvB,gDAAgD;IAChD,gBAAgB,EAAE,aAAa;IAE/B,iCAAiC;IACjC,qBAAqB,EAAE,0BAA0B;IAEjD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,cAAc;IAEpE,sDAAsD;IACtD,iBAAiB,EAAE,cAAc;IAEjC,oCAAoC;IACpC,uBAAuB,EAAE,4BAA4B;IAErD,sCAAsC;IACtC,qBAAqB,EAAE,0BAA0B;IAEjD,0CAA0C;IAC1C,mBAAmB,EAAE,yBAAyB;CAC0B,CAAC"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Creates or updates an App Runner service that runs the scheduler as a
|
|
5
5
|
* long-running container with an HTTPS endpoint for webhooks.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { EcsCloudConfig } from "../../shared/config.js";
|
|
8
8
|
export interface AppRunnerDeployOpts {
|
|
9
9
|
imageUri: string;
|
|
10
|
-
cloudConfig:
|
|
10
|
+
cloudConfig: EcsCloudConfig;
|
|
11
11
|
port?: number;
|
|
12
12
|
envVars?: Record<string, string>;
|
|
13
13
|
}
|
|
@@ -25,13 +25,13 @@ export declare function deployAppRunner(opts: AppRunnerDeployOpts): Promise<AppR
|
|
|
25
25
|
/**
|
|
26
26
|
* Get the current status of the scheduler App Runner service.
|
|
27
27
|
*/
|
|
28
|
-
export declare function getAppRunnerStatus(cloudConfig:
|
|
28
|
+
export declare function getAppRunnerStatus(cloudConfig: EcsCloudConfig): Promise<AppRunnerServiceInfo | null>;
|
|
29
29
|
/**
|
|
30
30
|
* Fetch recent scheduler logs from CloudWatch.
|
|
31
31
|
*/
|
|
32
|
-
export declare function getAppRunnerLogs(cloudConfig:
|
|
32
|
+
export declare function getAppRunnerLogs(cloudConfig: EcsCloudConfig, limit: number): Promise<string[]>;
|
|
33
33
|
/**
|
|
34
34
|
* Delete the scheduler App Runner service.
|
|
35
35
|
*/
|
|
36
|
-
export declare function teardownAppRunner(cloudConfig:
|
|
37
|
-
//# sourceMappingURL=deploy
|
|
36
|
+
export declare function teardownAppRunner(cloudConfig: EcsCloudConfig): Promise<void>;
|
|
37
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+F9F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAG1G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BpG;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAclF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { AppRunnerClient, CreateServiceCommand, UpdateServiceCommand, DescribeServiceCommand, DeleteServiceCommand, ListServicesCommand, } from "@aws-sdk/client-apprunner";
|
|
8
8
|
import { CloudWatchLogsClient, FilterLogEventsCommand, } from "@aws-sdk/client-cloudwatch-logs";
|
|
9
|
-
import { AWS_CONSTANTS } from "
|
|
9
|
+
import { AWS_CONSTANTS } from "./constants.js";
|
|
10
10
|
/**
|
|
11
11
|
* Deploy (create or update) the scheduler as an App Runner service.
|
|
12
12
|
*/
|
|
@@ -198,4 +198,4 @@ async function waitForService(client, serviceArn) {
|
|
|
198
198
|
function sleep(ms) {
|
|
199
199
|
return new Promise((r) => setTimeout(r, ms));
|
|
200
200
|
}
|
|
201
|
-
//# sourceMappingURL=deploy
|
|
201
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS IAM reconciliation for ECS cloud agents.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from cli/commands/cloud-iam.ts into the cloud provider module.
|
|
5
|
+
* Handles per-agent IAM task roles, Lambda roles, and ECR policies.
|
|
6
|
+
*/
|
|
7
|
+
import { IAMClient } from "@aws-sdk/client-iam";
|
|
8
|
+
import type { EcsCloudConfig } from "../../shared/config.js";
|
|
9
|
+
/**
|
|
10
|
+
* Reconcile per-agent ECS task roles and Secrets Manager policies.
|
|
11
|
+
*
|
|
12
|
+
* Creates an IAM task role for each agent with a trust policy for
|
|
13
|
+
* ecs-tasks.amazonaws.com, then attaches an inline policy granting
|
|
14
|
+
* secretsmanager:GetSecretValue on each agent's declared credentials.
|
|
15
|
+
*/
|
|
16
|
+
export declare function reconcileAwsAgents(projectPath: string, cloud: EcsCloudConfig): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Grant iam:PassRole on the given role ARNs to the calling IAM user.
|
|
19
|
+
* Required so the CLI can assign roles to ECS tasks and Lambda functions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function grantPassRole(awsRegion: string, iamClient: IAMClient, roleArns: string[], policyName: string): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Validate that per-agent ECS task roles exist and have correct trust policies.
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateEcsRoles(projectPath: string, cloud: EcsCloudConfig): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Ensure the ECR repository policy grants Lambda pull access.
|
|
28
|
+
*/
|
|
29
|
+
export declare function ensureLambdaEcrPolicy(awsRegion: string, ecrRepoUri: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Reconcile per-agent Lambda execution roles for agents with short timeouts.
|
|
32
|
+
*
|
|
33
|
+
* Agents with timeout <= LAMBDA_MAX_TIMEOUT are automatically routed to Lambda.
|
|
34
|
+
* Each gets an IAM role with Secrets Manager, ECR, and CloudWatch Logs access.
|
|
35
|
+
*/
|
|
36
|
+
export declare function reconcileLambdaRoles(projectPath: string, cloud: EcsCloudConfig): Promise<void>;
|
|
37
|
+
//# sourceMappingURL=iam.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EAKV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsKlG;AAID;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EhG;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HpG"}
|