@action-llama/action-llama 0.3.0 → 0.4.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 (208) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -102
  3. package/dist/agents/container-entry.js +123 -17
  4. package/dist/agents/container-entry.js.map +1 -1
  5. package/dist/agents/container-runner.d.ts +10 -4
  6. package/dist/agents/container-runner.d.ts.map +1 -1
  7. package/dist/agents/container-runner.js +83 -105
  8. package/dist/agents/container-runner.js.map +1 -1
  9. package/dist/agents/prompt.d.ts +2 -0
  10. package/dist/agents/prompt.d.ts.map +1 -1
  11. package/dist/agents/prompt.js +12 -4
  12. package/dist/agents/prompt.js.map +1 -1
  13. package/dist/agents/runner.d.ts +10 -1
  14. package/dist/agents/runner.d.ts.map +1 -1
  15. package/dist/agents/runner.js +60 -8
  16. package/dist/agents/runner.js.map +1 -1
  17. package/dist/cli/commands/{setup.d.ts → cloud-setup.d.ts} +1 -1
  18. package/dist/cli/commands/cloud-setup.d.ts.map +1 -0
  19. package/dist/cli/commands/cloud-setup.js +565 -0
  20. package/dist/cli/commands/cloud-setup.js.map +1 -0
  21. package/dist/cli/commands/cloud-teardown.d.ts +6 -0
  22. package/dist/cli/commands/cloud-teardown.d.ts.map +1 -0
  23. package/dist/cli/commands/cloud-teardown.js +152 -0
  24. package/dist/cli/commands/cloud-teardown.js.map +1 -0
  25. package/dist/cli/commands/console.d.ts.map +1 -1
  26. package/dist/cli/commands/console.js +108 -8
  27. package/dist/cli/commands/console.js.map +1 -1
  28. package/dist/cli/commands/creds.d.ts +2 -0
  29. package/dist/cli/commands/creds.d.ts.map +1 -0
  30. package/dist/cli/commands/creds.js +62 -0
  31. package/dist/cli/commands/creds.js.map +1 -0
  32. package/dist/cli/commands/doctor.d.ts +7 -0
  33. package/dist/cli/commands/doctor.d.ts.map +1 -0
  34. package/dist/cli/commands/doctor.js +405 -0
  35. package/dist/cli/commands/doctor.js.map +1 -0
  36. package/dist/cli/commands/logs.d.ts +1 -0
  37. package/dist/cli/commands/logs.d.ts.map +1 -1
  38. package/dist/cli/commands/logs.js +67 -0
  39. package/dist/cli/commands/logs.js.map +1 -1
  40. package/dist/cli/commands/new.d.ts.map +1 -1
  41. package/dist/cli/commands/new.js +9 -2
  42. package/dist/cli/commands/new.js.map +1 -1
  43. package/dist/cli/commands/run.d.ts +6 -0
  44. package/dist/cli/commands/run.d.ts.map +1 -0
  45. package/dist/cli/commands/run.js +121 -0
  46. package/dist/cli/commands/run.js.map +1 -0
  47. package/dist/cli/commands/start.d.ts +2 -1
  48. package/dist/cli/commands/start.d.ts.map +1 -1
  49. package/dist/cli/commands/start.js +41 -14
  50. package/dist/cli/commands/start.js.map +1 -1
  51. package/dist/cli/commands/status.d.ts +1 -0
  52. package/dist/cli/commands/status.d.ts.map +1 -1
  53. package/dist/cli/commands/status.js +39 -2
  54. package/dist/cli/commands/status.js.map +1 -1
  55. package/dist/cli/main.js +57 -16
  56. package/dist/cli/main.js.map +1 -1
  57. package/dist/credentials/builtins/aws.d.ts +4 -0
  58. package/dist/credentials/builtins/aws.d.ts.map +1 -0
  59. package/dist/credentials/builtins/aws.js +33 -0
  60. package/dist/credentials/builtins/aws.js.map +1 -0
  61. package/dist/credentials/builtins/bugsnag-token.d.ts +4 -0
  62. package/dist/credentials/builtins/bugsnag-token.d.ts.map +1 -0
  63. package/dist/credentials/builtins/bugsnag-token.js +18 -0
  64. package/dist/credentials/builtins/bugsnag-token.js.map +1 -0
  65. package/dist/credentials/builtins/github-webhook-secret.d.ts.map +1 -1
  66. package/dist/credentials/builtins/github-webhook-secret.js +2 -1
  67. package/dist/credentials/builtins/github-webhook-secret.js.map +1 -1
  68. package/dist/credentials/builtins/index.d.ts.map +1 -1
  69. package/dist/credentials/builtins/index.js +10 -0
  70. package/dist/credentials/builtins/index.js.map +1 -1
  71. package/dist/credentials/builtins/netlify-token.d.ts +4 -0
  72. package/dist/credentials/builtins/netlify-token.d.ts.map +1 -0
  73. package/dist/credentials/builtins/netlify-token.js +18 -0
  74. package/dist/credentials/builtins/netlify-token.js.map +1 -0
  75. package/dist/credentials/builtins/openai-key.d.ts +4 -0
  76. package/dist/credentials/builtins/openai-key.d.ts.map +1 -0
  77. package/dist/credentials/builtins/openai-key.js +38 -0
  78. package/dist/credentials/builtins/openai-key.js.map +1 -0
  79. package/dist/credentials/builtins/x-twitter-api.d.ts +4 -0
  80. package/dist/credentials/builtins/x-twitter-api.d.ts.map +1 -0
  81. package/dist/credentials/builtins/x-twitter-api.js +28 -0
  82. package/dist/credentials/builtins/x-twitter-api.js.map +1 -0
  83. package/dist/credentials/prompter.d.ts.map +1 -1
  84. package/dist/credentials/prompter.js +8 -5
  85. package/dist/credentials/prompter.js.map +1 -1
  86. package/dist/docker/cloud-run-runtime.d.ts +61 -0
  87. package/dist/docker/cloud-run-runtime.d.ts.map +1 -0
  88. package/dist/docker/cloud-run-runtime.js +510 -0
  89. package/dist/docker/cloud-run-runtime.js.map +1 -0
  90. package/dist/docker/ecs-runtime.d.ts +73 -0
  91. package/dist/docker/ecs-runtime.d.ts.map +1 -0
  92. package/dist/docker/ecs-runtime.js +596 -0
  93. package/dist/docker/ecs-runtime.js.map +1 -0
  94. package/dist/docker/image.d.ts.map +1 -1
  95. package/dist/docker/image.js +3 -2
  96. package/dist/docker/image.js.map +1 -1
  97. package/dist/docker/local-runtime.d.ts +19 -0
  98. package/dist/docker/local-runtime.d.ts.map +1 -0
  99. package/dist/docker/local-runtime.js +209 -0
  100. package/dist/docker/local-runtime.js.map +1 -0
  101. package/dist/docker/network.d.ts +1 -1
  102. package/dist/docker/network.d.ts.map +1 -1
  103. package/dist/docker/network.js +2 -1
  104. package/dist/docker/network.js.map +1 -1
  105. package/dist/docker/runtime.d.ts +90 -0
  106. package/dist/docker/runtime.d.ts.map +1 -0
  107. package/dist/docker/runtime.js +2 -0
  108. package/dist/docker/runtime.js.map +1 -0
  109. package/dist/gateway/index.d.ts +8 -2
  110. package/dist/gateway/index.d.ts.map +1 -1
  111. package/dist/gateway/index.js +16 -8
  112. package/dist/gateway/index.js.map +1 -1
  113. package/dist/gateway/routes/credentials.d.ts +5 -0
  114. package/dist/gateway/routes/credentials.d.ts.map +1 -0
  115. package/dist/gateway/routes/credentials.js +17 -0
  116. package/dist/gateway/routes/credentials.js.map +1 -0
  117. package/dist/gateway/routes/logs.d.ts +5 -0
  118. package/dist/gateway/routes/logs.d.ts.map +1 -0
  119. package/dist/gateway/routes/logs.js +31 -0
  120. package/dist/gateway/routes/logs.js.map +1 -0
  121. package/dist/gateway/routes/shutdown.d.ts +2 -1
  122. package/dist/gateway/routes/shutdown.d.ts.map +1 -1
  123. package/dist/gateway/routes/shutdown.js +7 -16
  124. package/dist/gateway/routes/shutdown.js.map +1 -1
  125. package/dist/gateway/routes/webhooks.d.ts +2 -1
  126. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  127. package/dist/gateway/routes/webhooks.js +11 -4
  128. package/dist/gateway/routes/webhooks.js.map +1 -1
  129. package/dist/gateway/types.d.ts +6 -0
  130. package/dist/gateway/types.d.ts.map +1 -0
  131. package/dist/gateway/types.js +2 -0
  132. package/dist/gateway/types.js.map +1 -0
  133. package/dist/scheduler/index.d.ts +3 -2
  134. package/dist/scheduler/index.d.ts.map +1 -1
  135. package/dist/scheduler/index.js +286 -67
  136. package/dist/scheduler/index.js.map +1 -1
  137. package/dist/setup/scaffold.d.ts.map +1 -1
  138. package/dist/setup/scaffold.js +110 -50
  139. package/dist/setup/scaffold.js.map +1 -1
  140. package/dist/setup/validators.d.ts +14 -0
  141. package/dist/setup/validators.d.ts.map +1 -1
  142. package/dist/setup/validators.js +53 -0
  143. package/dist/setup/validators.js.map +1 -1
  144. package/dist/shared/asm-backend.d.ts +25 -0
  145. package/dist/shared/asm-backend.d.ts.map +1 -0
  146. package/dist/shared/asm-backend.js +107 -0
  147. package/dist/shared/asm-backend.js.map +1 -0
  148. package/dist/shared/aws-constants.d.ts +55 -0
  149. package/dist/shared/aws-constants.d.ts.map +1 -0
  150. package/dist/shared/aws-constants.js +55 -0
  151. package/dist/shared/aws-constants.js.map +1 -0
  152. package/dist/shared/config.d.ts +25 -5
  153. package/dist/shared/config.d.ts.map +1 -1
  154. package/dist/shared/config.js +15 -22
  155. package/dist/shared/config.js.map +1 -1
  156. package/dist/shared/credential-backend.d.ts +28 -0
  157. package/dist/shared/credential-backend.d.ts.map +1 -0
  158. package/dist/shared/credential-backend.js +2 -0
  159. package/dist/shared/credential-backend.js.map +1 -0
  160. package/dist/shared/credentials.d.ts +42 -4
  161. package/dist/shared/credentials.d.ts.map +1 -1
  162. package/dist/shared/credentials.js +83 -6
  163. package/dist/shared/credentials.js.map +1 -1
  164. package/dist/shared/filesystem-backend.d.ts +18 -0
  165. package/dist/shared/filesystem-backend.d.ts.map +1 -0
  166. package/dist/shared/filesystem-backend.js +86 -0
  167. package/dist/shared/filesystem-backend.js.map +1 -0
  168. package/dist/shared/gsm-backend.d.ts +35 -0
  169. package/dist/shared/gsm-backend.d.ts.map +1 -0
  170. package/dist/shared/gsm-backend.js +208 -0
  171. package/dist/shared/gsm-backend.js.map +1 -0
  172. package/dist/shared/remote.d.ts +11 -0
  173. package/dist/shared/remote.d.ts.map +1 -0
  174. package/dist/shared/remote.js +29 -0
  175. package/dist/shared/remote.js.map +1 -0
  176. package/dist/tui/App.d.ts.map +1 -1
  177. package/dist/tui/App.js +13 -4
  178. package/dist/tui/App.js.map +1 -1
  179. package/dist/tui/status-tracker.d.ts +3 -2
  180. package/dist/tui/status-tracker.d.ts.map +1 -1
  181. package/dist/tui/status-tracker.js.map +1 -1
  182. package/dist/webhooks/definitions/github.js +1 -1
  183. package/dist/webhooks/definitions/github.js.map +1 -1
  184. package/dist/webhooks/definitions/sentry.js +1 -1
  185. package/dist/webhooks/definitions/sentry.js.map +1 -1
  186. package/dist/webhooks/providers/github.d.ts +1 -1
  187. package/dist/webhooks/providers/github.d.ts.map +1 -1
  188. package/dist/webhooks/providers/github.js +13 -9
  189. package/dist/webhooks/providers/github.js.map +1 -1
  190. package/dist/webhooks/providers/sentry.d.ts +1 -1
  191. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  192. package/dist/webhooks/providers/sentry.js +12 -9
  193. package/dist/webhooks/providers/sentry.js.map +1 -1
  194. package/dist/webhooks/registry.d.ts +1 -1
  195. package/dist/webhooks/registry.d.ts.map +1 -1
  196. package/dist/webhooks/registry.js +20 -13
  197. package/dist/webhooks/registry.js.map +1 -1
  198. package/dist/webhooks/types.d.ts +16 -6
  199. package/dist/webhooks/types.d.ts.map +1 -1
  200. package/docker/Dockerfile +4 -1
  201. package/package.json +10 -1
  202. package/dist/cli/commands/setup.d.ts.map +0 -1
  203. package/dist/cli/commands/setup.js +0 -50
  204. package/dist/cli/commands/setup.js.map +0 -1
  205. package/dist/docker/container.d.ts +0 -19
  206. package/dist/docker/container.d.ts.map +0 -1
  207. package/dist/docker/container.js +0 -73
  208. package/dist/docker/container.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Brendan Asselstine
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -16,7 +16,7 @@ Key features:
16
16
 
17
17
  - Agent runs are contained in a Docker container using only the credentials they need. Credentials are stored separately.
18
18
  - Define your agents in a git repo, add custom ones, and share them.
19
- - BYOM: bring your own model.
19
+ - BYOM: bring your own model (supports Anthropic Claude and OpenAI GPT/Codex).
20
20
 
21
21
  Philosophy:
22
22
 
@@ -24,7 +24,7 @@ Philosophy:
24
24
 
25
25
  Use cases:
26
26
 
27
- - A developer agent that watches for new Github issues and reacts
27
+ - A developer agent that watches for new Github issues and reacts (works great with OpenAI Codex for code generation)
28
28
  - A reviewer agent that watches for new Github Pull Requests and reviews them then merges if all ok
29
29
 
30
30
  Have as many agents as you like. Customize the behaviour as you wish. The system is MIT licensed and fully extensible.
@@ -40,7 +40,7 @@ npx @action-llama/action-llama@latest new my-project
40
40
  cd my-project
41
41
  ```
42
42
 
43
- This scaffolds the project and sets up your Anthropic credential and default model.
43
+ This scaffolds the project and sets up your model credentials and defaults.
44
44
 
45
45
  ### 2. Create and manage agents
46
46
 
@@ -56,7 +56,7 @@ Or, if you're using your own coding agent just make sure it reads the AGENTS.md
56
56
 
57
57
  ### 3. Run
58
58
 
59
- Once your agents are ready, run the gateway!
59
+ Once your agents are ready, start the scheduler!
60
60
 
61
61
  ```bash
62
62
  npx al start
@@ -64,10 +64,10 @@ npx al start
64
64
 
65
65
  If any credentials are missing, it will prompt you for them. Credentials are stored in `~/.action-llama-credentials/` (shared across projects, not committed to git). See [credentials docs](docs/credentials.md) for details.
66
66
 
67
- If you want to set up credentials without starting the gateway:
67
+ If you want to set up credentials without starting the scheduler:
68
68
 
69
69
  ```bash
70
- npx al setup
70
+ npx al doctor
71
71
  ```
72
72
 
73
73
  ### Project structure
@@ -76,128 +76,69 @@ npx al setup
76
76
  my-project/
77
77
  package.json # Includes @action-llama/action-llama as a dependency
78
78
  AGENTS.md # Project overview, credential/webhook reference, example playbook
79
- config.json # Global config: docker, gateway, webhooks (no secrets)
79
+ config.toml # Global config: [local], [cloud], gateway, webhooks (no secrets)
80
80
  dev/ # One directory per agent
81
- agent-config.toml # Agent config: credentials, repos, model, schedule, webhooks, params
81
+ agent-config.toml # Agent config: credentials, model, schedule, webhooks, params
82
82
  PLAYBOOK.md # Agent instructions (system prompt) — edit to customize behavior
83
83
  Dockerfile # (optional) Custom Docker image for this agent
84
84
  ```
85
85
 
86
- ## CLI commands
87
-
88
- If you installed globally (`npm install -g @action-llama/action-llama`), you can use `al` directly. Otherwise, prefix commands with `npx` (e.g., `npx al start`).
89
-
90
- | Command | Description |
91
- |---------|-------------|
92
- | `al new <name>` | Scaffold a new project (sets up Anthropic credential and model defaults) |
93
- | `al console` | TUI for creating and managing agents |
94
- | `al setup` | Scan agents and prompt for any missing credentials |
95
- | `al start` | Start the scheduler — runs agents on their cron schedule and/or webhook triggers |
96
- | `al status` | Show the current status of all agents |
97
- | `al logs <agent>` | View log entries for an agent |
98
-
99
- See [CLI command reference](docs/commands.md) for all options and flags.
100
-
101
- ### Common options
102
-
103
- - `-p, --project <dir>` — specify the project directory (defaults to `.`)
104
-
105
- ### `al start` options
106
-
107
- - `--dangerous-no-docker` — disable Docker container isolation and run agents directly on the host
108
-
109
- ## Configuration
110
-
111
- ### Global config (`config.json`)
112
-
113
- ```json
114
- {
115
- "docker": { "enabled": false },
116
- "gateway": { "port": 8080 },
117
- "webhooks": { "secretCredentials": { "github": "github_webhook_secret:default" } }
118
- }
119
- ```
120
-
121
- | Key | Default | Description |
122
- |-----|---------|-------------|
123
- | `docker.enabled` | `false` | Run agents in isolated Docker containers |
124
- | `docker.image` | `"al-agent:latest"` | Base Docker image for containers |
125
- | `docker.memory` | `"4g"` | Memory limit per container |
126
- | `docker.cpus` | `2` | CPU limit per container |
127
- | `docker.timeout` | `3600` | Max container runtime (seconds) |
128
- | `gateway.port` | `8080` | Gateway server listen port |
129
-
130
- ### Agent config (`<agent>/agent-config.toml`)
131
-
132
- See the [agent-config.toml reference](docs/agent-config-reference.md) for all fields. Each agent carries its own model config, so you can run different models per agent (e.g., Opus for dev, Haiku for devops).
133
-
134
- ### Credentials
135
-
136
- Credentials are stored in `~/.action-llama-credentials/<type>/<instance>/<field>` and referenced in agent configs as `"type:instance"` (e.g. `"github_token:default"`). Run `al setup` to configure them interactively.
86
+ ## Cloud
137
87
 
138
- See [credentials docs](docs/credentials.md) for the full reference including built-in credential types, named instances, and manual setup.
139
-
140
- ### Webhooks
141
-
142
- To use webhooks instead of polling, add webhook filters to your `agent-config.toml` and add a webhook in your GitHub repo settings:
143
-
144
- - **Payload URL**: `http://<your-host>:8080/webhooks/github`
145
- - **Content type**: `application/json`
146
- - **Secret**: the same secret you entered during setup
147
-
148
- Payloads are validated with HMAC-SHA256 (`x-hub-signature-256`). Webhook filters in `webhooks.filters` support matching on `source`, `repos`, `events`, `actions`, `labels`, `assignee`, `author`, and `branches` (AND logic; omitted fields are not checked).
149
-
150
- See [webhooks docs](docs/webhooks.md) for filter fields, Sentry webhooks, and setup details.
151
-
152
- #### Local development with ngrok
153
-
154
- If you're developing locally and need GitHub to reach your machine, use [ngrok](https://ngrok.com) to create a public tunnel:
88
+ For production, run agents on managed cloud infrastructure automatic restarts, IAM-enforced secret isolation, no laptop required. Action Llama supports **GCP Cloud Run Jobs** and **AWS ECS Fargate**.
155
89
 
156
90
  ```bash
157
- # Install ngrok (macOS)
158
- brew install ngrok
159
-
160
- # Start a tunnel pointing at the Action Llama gateway port
161
- ngrok http 8080
91
+ al cloud setup # Interactive wizard: pick provider, configure, push creds, provision IAM
92
+ al start -c # Start on cloud
162
93
  ```
163
94
 
164
- ngrok will print a forwarding URL like `https://a1b2c3d4.ngrok-free.app`. Use that as your GitHub webhook Payload URL:
95
+ See the [cloud docs](docs/cloud.md) for setup, provider comparison, and links to the [Cloud Run](docs/cloud-run.md) and [ECS](docs/ecs.md) guides.
165
96
 
166
- ```
167
- https://a1b2c3d4.ngrok-free.app/webhooks/github
168
- ```
97
+ ## CLI commands
169
98
 
170
- Keep the ngrok process running alongside `al start`. The tunnel stays active until you stop it. For a stable URL across restarts, sign up for a free ngrok account and use a static domain:
99
+ If you installed globally (`npm install -g @action-llama/action-llama`), you can use `al` directly. Otherwise, prefix commands with `npx` (e.g., `npx al start`).
171
100
 
172
- ```bash
173
- ngrok http 8080 --url=your-name.ngrok-free.app
174
- ```
101
+ | Command | Description |
102
+ |---------|-------------|
103
+ | `al new <name>` | Interactive setup — creates project directory and credentials |
104
+ | `al console` | Open an interactive Pi coding console with project context |
105
+ | `al doctor` | Check agents, credentials, webhooks, and config — prompt to fix |
106
+ | `al cloud setup` | Interactive wizard for cloud provider setup |
107
+ | `al cloud teardown` | Delete cloud IAM resources and remove cloud config |
108
+ | `al creds ls` | List stored credentials (names only, no secrets) |
109
+ | `al run <agent>` | Manually run a single agent |
110
+ | `al start` | Start the scheduler (cron + webhooks) |
111
+ | `al status` | Show agent status |
112
+ | `al logs <agent>` | View agent log files |
113
+
114
+ Most commands accept `-p <dir>` to set the project directory and `-c` to target cloud infrastructure. See the [CLI command reference](docs/commands.md) for all options and flags.
175
115
 
176
- ### Docker mode
116
+ ## Configuration
177
117
 
178
- Set `"docker": { "enabled": true }` in `config.json`. Agents run in isolated containers with credentials mounted read-only, a read-only root FS, dropped capabilities, non-root user, and PID/memory/CPU limits.
118
+ Configuration lives in two places:
179
119
 
180
- The base image is built automatically on first run from `docker/Dockerfile`. Agents can extend it by adding a `Dockerfile` to their directory:
120
+ - **`config.toml`** (project root) global settings: default model (`[model]`), local Docker options (`[local]`), cloud provider config (`[cloud]`), and scheduler options like `maxReruns`.
121
+ - **`agent-config.toml`** (per agent) — model, credentials, schedule, webhooks, and parameters. Each agent can use a different model (e.g., Opus for dev, Haiku for devops).
181
122
 
182
- ```dockerfile
183
- FROM al-agent:latest
184
- USER root
185
- RUN apt-get update && apt-get install -y --no-install-recommends gh && rm -rf /var/lib/apt/lists/*
186
- USER node
187
- ```
123
+ Credentials are stored outside the project in `~/.action-llama-credentials/` and referenced by name in agent configs. Run `al doctor` to configure them interactively.
124
+
125
+ Agents run in isolated Docker containers by default. Use `--no-docker` to run directly on the host during development.
188
126
 
189
- See [Docker docs](docs/docker.md) for the full reference including base image contents, custom Dockerfiles, standalone images, and the container filesystem layout.
127
+ See the [agent-config.toml reference](docs/agent-config-reference.md), [credentials](docs/credentials.md), [webhooks](docs/webhooks.md), and [Docker](docs/docker.md) docs for details.
190
128
 
191
129
  ## Documentation
192
130
 
193
131
  | Doc | Description |
194
132
  |-----|-------------|
133
+ | [CLI Commands](docs/commands.md) | All CLI commands with options and flags |
195
134
  | [Creating Agents](docs/creating-agents.md) | Step-by-step guide to creating a new agent |
196
135
  | [agent-config.toml Reference](docs/agent-config-reference.md) | All config fields with examples |
197
136
  | [Credentials](docs/credentials.md) | Credential types, storage layout, named instances |
198
137
  | [Webhooks](docs/webhooks.md) | Webhook setup, filter fields, Sentry integration |
199
138
  | [Docker](docs/docker.md) | Container isolation, custom Dockerfiles, filesystem layout |
200
- | [CLI Commands](docs/commands.md) | All CLI commands with options and flags |
139
+ | [Cloud](docs/cloud.md) | Cloud overview, provider comparison, quick start |
140
+ | [Cloud Run](docs/cloud-run.md) | Running agents on GCP Cloud Run Jobs |
141
+ | [ECS Fargate](docs/ecs.md) | Running agents on AWS ECS Fargate |
201
142
  | [Example: Dev Agent](docs/examples/dev-agent.md) | Developer agent that implements GitHub issues |
202
143
  | [Example: Reviewer Agent](docs/examples/reviewer-agent.md) | PR review agent |
203
144
  | [Example: DevOps Agent](docs/examples/devops-agent.md) | CI/CD and Sentry monitoring agent |
@@ -234,7 +175,7 @@ npm test
234
175
 
235
176
  ```
236
177
  src/
237
- cli/ # Command definitions (new, setup, start, status, logs)
178
+ cli/ # Command definitions (new, doctor, cloud-setup, cloud-teardown, start, status, logs)
238
179
  setup/ # Project scaffolding
239
180
  scheduler/ # Scheduler: discovers agents, starts gateway, wires cron + webhooks
240
181
  agents/ # Agent runners (host + Docker), prompt builder
@@ -255,7 +196,7 @@ src/
255
196
  ### Tests
256
197
 
257
198
  ```bash
258
- npm test # run all 185 tests
199
+ npm test # run all tests
259
200
  npm run test:watch # watch mode
260
201
  npm run test:coverage # V8 coverage report
261
202
  ```
@@ -1,5 +1,4 @@
1
- import { readFileSync, existsSync, mkdirSync, writeFileSync, readdirSync } from "fs";
2
- import { resolve } from "path";
1
+ import { readFileSync, mkdirSync, writeFileSync, readdirSync, statSync } from "fs";
3
2
  import { getModel } from "@mariozechner/pi-ai";
4
3
  import { AuthStorage, createAgentSession, DefaultResourceLoader, SessionManager, SettingsManager, createCodingTools, } from "@mariozechner/pi-coding-agent";
5
4
  import { parseCredentialRef } from "../shared/credentials.js";
@@ -7,23 +6,84 @@ import { parseCredentialRef } from "../shared/credentials.js";
7
6
  function emitLog(level, msg, data) {
8
7
  console.log(JSON.stringify({ _log: true, level, msg, ...data, ts: Date.now() }));
9
8
  }
9
+ // Credential bundle loaded from either mounted volume or gateway HTTP endpoint
10
+ let credBundle = {};
11
+ function hasLocalCredentials() {
12
+ try {
13
+ const entries = readdirSync("/credentials");
14
+ return entries.length > 0;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ function loadCredentialsFromVolume() {
21
+ for (const type of readdirSync("/credentials")) {
22
+ const typePath = `/credentials/${type}`;
23
+ try {
24
+ if (!statSync(typePath).isDirectory())
25
+ continue;
26
+ }
27
+ catch {
28
+ continue;
29
+ }
30
+ credBundle[type] = {};
31
+ for (const instance of readdirSync(typePath)) {
32
+ const instPath = `${typePath}/${instance}`;
33
+ try {
34
+ if (!statSync(instPath).isDirectory())
35
+ continue;
36
+ }
37
+ catch {
38
+ continue;
39
+ }
40
+ credBundle[type][instance] = {};
41
+ for (const field of readdirSync(instPath)) {
42
+ credBundle[type][instance][field] = readFileSync(`${instPath}/${field}`, "utf-8").trim();
43
+ }
44
+ }
45
+ }
46
+ }
47
+ /** ECS injects secrets as env vars named AL_SECRET_{type}__{instance}__{field}. */
48
+ function hasEnvCredentials() {
49
+ return Object.keys(process.env).some((k) => k.startsWith("AL_SECRET_"));
50
+ }
51
+ function loadCredentialsFromEnv() {
52
+ for (const [key, value] of Object.entries(process.env)) {
53
+ if (!key.startsWith("AL_SECRET_") || !value)
54
+ continue;
55
+ const parts = key.slice("AL_SECRET_".length).split("__");
56
+ if (parts.length !== 3)
57
+ continue;
58
+ const [type, instance, field] = parts;
59
+ credBundle[type] ??= {};
60
+ credBundle[type][instance] ??= {};
61
+ credBundle[type][instance][field] = value;
62
+ }
63
+ }
64
+ async function loadCredentialsFromGateway(gatewayUrl, secret) {
65
+ emitLog("info", "fetching credentials from gateway");
66
+ const res = await fetch(`${gatewayUrl}/credentials/${secret}`);
67
+ if (!res.ok) {
68
+ emitLog("error", "failed to fetch credentials from gateway", { status: res.status });
69
+ process.exit(1);
70
+ }
71
+ credBundle = await res.json();
72
+ }
10
73
  function readCredentialField(type, instance, field) {
11
- const path = `/credentials/${type}/${instance}/${field}`;
12
- if (!existsSync(path))
13
- return undefined;
14
- return readFileSync(path, "utf-8").trim();
74
+ return credBundle[type]?.[instance]?.[field];
15
75
  }
16
76
  function readCredentialFields(type, instance) {
17
- const dir = `/credentials/${type}/${instance}`;
18
- const result = {};
19
- if (!existsSync(dir))
20
- return result;
21
- for (const file of readdirSync(dir)) {
22
- result[file] = readFileSync(resolve(dir, file), "utf-8").trim();
23
- }
24
- return result;
77
+ return credBundle[type]?.[instance] || {};
25
78
  }
26
79
  async function main() {
80
+ // Container-level timeout — self-terminates even if scheduler dies
81
+ const timeoutSeconds = parseInt(process.env.TIMEOUT_SECONDS || "3600", 10);
82
+ const timer = setTimeout(() => {
83
+ emitLog("error", "container timeout reached, self-terminating", { timeoutSeconds });
84
+ process.exit(124);
85
+ }, timeoutSeconds * 1000);
86
+ timer.unref();
27
87
  // Switch CWD to /workspace so child processes (git, bash, etc.) default to it.
28
88
  // Node must resolve from /app (WORKDIR at build time), so we chdir after startup.
29
89
  process.chdir("/workspace");
@@ -42,10 +102,27 @@ async function main() {
42
102
  const modelId = agentConfig.model.model;
43
103
  const modelThinking = agentConfig.model.thinkingLevel;
44
104
  emitLog("info", "container starting", { agentName: agentConfig.name, modelId, gatewayUrl });
45
- // Read Anthropic API key from credentials volume (not needed for pi_auth)
105
+ // Load credentials from mounted volume, env vars (ECS secrets), or gateway
106
+ if (hasLocalCredentials()) {
107
+ loadCredentialsFromVolume();
108
+ emitLog("info", "credentials loaded from volume");
109
+ }
110
+ else if (hasEnvCredentials()) {
111
+ loadCredentialsFromEnv();
112
+ emitLog("info", "credentials loaded from env vars");
113
+ }
114
+ else if (gatewayUrl && shutdownSecret) {
115
+ await loadCredentialsFromGateway(gatewayUrl, shutdownSecret);
116
+ emitLog("info", "credentials loaded from gateway");
117
+ }
118
+ else {
119
+ emitLog("error", "no credentials available — no volume mount, env vars, or gateway URL");
120
+ process.exit(1);
121
+ }
122
+ // Read Anthropic API key from credentials (not needed for pi_auth)
46
123
  const anthropicKey = readCredentialField("anthropic_key", "default", "token");
47
124
  if (!anthropicKey && agentConfig.model.authType !== "pi_auth") {
48
- emitLog("error", "missing anthropic_key credential. Run 'al setup' to configure it.");
125
+ emitLog("error", "missing anthropic_key credential. Run 'al doctor' to configure it.");
49
126
  process.exit(1);
50
127
  }
51
128
  // Generic credential → env var injection from credential definitions
@@ -139,10 +216,22 @@ async function main() {
139
216
  settingsManager,
140
217
  });
141
218
  emitLog("info", "session created, sending prompt");
219
+ const UNRECOVERABLE_PATTERNS = [
220
+ "permission denied",
221
+ "could not read from remote repository",
222
+ "resource not accessible by personal access token",
223
+ "bad credentials",
224
+ "authentication failed",
225
+ "the requested url returned error: 403",
226
+ "denied to ",
227
+ ];
228
+ const isUnrecoverableError = (text) => UNRECOVERABLE_PATTERNS.some((p) => text.toLowerCase().includes(p));
229
+ const UNRECOVERABLE_THRESHOLD = 3;
142
230
  // Mirror the host-mode AgentRunner's session event logging
143
231
  const pendingCmds = new Map();
144
232
  let outputText = "";
145
233
  let eventCount = 0;
234
+ let unrecoverableErrors = 0;
146
235
  session.subscribe((event) => {
147
236
  eventCount++;
148
237
  // Log all event types for debugging
@@ -179,9 +268,26 @@ async function main() {
179
268
  const resultStr = typeof event.result === "string"
180
269
  ? event.result
181
270
  : JSON.stringify(event.result);
271
+ const originCmd = pendingCmds.get(event.toolCallId);
182
272
  pendingCmds.delete(event.toolCallId);
183
273
  if (event.isError) {
184
- emitLog("error", "tool error", { tool: event.toolName, result: resultStr.slice(0, 1000) });
274
+ emitLog("error", "tool error", { tool: event.toolName, cmd: originCmd?.slice(0, 200), result: resultStr.slice(0, 1000) });
275
+ // Parse error text for unrecoverable pattern detection
276
+ let errorMsg = resultStr;
277
+ try {
278
+ const parsed = JSON.parse(resultStr);
279
+ if (parsed?.content?.[0]?.text)
280
+ errorMsg = parsed.content[0].text;
281
+ }
282
+ catch { /* use raw string */ }
283
+ if (isUnrecoverableError(errorMsg)) {
284
+ unrecoverableErrors++;
285
+ if (unrecoverableErrors >= UNRECOVERABLE_THRESHOLD) {
286
+ emitLog("error", "Aborting: repeated auth/permission failures — check credentials");
287
+ session.dispose();
288
+ process.exit(1);
289
+ }
290
+ }
185
291
  }
186
292
  else {
187
293
  emitLog("debug", "tool done", { tool: event.toolName, resultLength: resultStr.length });
@@ -1 +1 @@
1
- {"version":3,"file":"container-entry.js","sourceRoot":"","sources":["../../src/agents/container-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-entry.js","sourceRoot":"","sources":["../../src/agents/container-entry.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,27 @@
1
1
  import type { GlobalConfig, AgentConfig } from "../shared/config.js";
2
2
  import type { Logger } from "../shared/logger.js";
3
+ import type { ContainerRuntime } from "../docker/runtime.js";
4
+ import type { ContainerRegistration } from "../gateway/types.js";
3
5
  import type { StatusTracker } from "../tui/status-tracker.js";
6
+ import type { RunOutcome } from "./runner.js";
4
7
  export declare class ContainerAgentRunner {
5
8
  private _running;
9
+ private _wasSilent;
10
+ private _triggers;
11
+ private _triggerAccum;
12
+ private runtime;
6
13
  private globalConfig;
7
14
  private agentConfig;
8
15
  private logger;
9
16
  private registerContainer;
17
+ private unregisterContainer;
10
18
  private gatewayUrl;
11
19
  private projectPath;
12
20
  private image;
13
21
  private statusTracker?;
14
- constructor(globalConfig: GlobalConfig, agentConfig: AgentConfig, logger: Logger, registerContainer: (secret: string, containerName: string) => void, gatewayUrl: string, projectPath: string, image: string, statusTracker?: StatusTracker);
22
+ constructor(runtime: ContainerRuntime, globalConfig: GlobalConfig, agentConfig: AgentConfig, logger: Logger, registerContainer: (secret: string, reg: ContainerRegistration) => void, unregisterContainer: (secret: string) => void, gatewayUrl: string, projectPath: string, image: string, statusTracker?: StatusTracker);
15
23
  get isRunning(): boolean;
16
24
  private forwardLogLine;
17
- private streamContainerLogs;
18
- private waitForContainer;
19
- run(prompt: string): Promise<void>;
25
+ run(prompt: string): Promise<RunOutcome>;
20
26
  }
21
27
  //# sourceMappingURL=container-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-runner.d.ts","sourceRoot":"","sources":["../../src/agents/container-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAGpC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,EAClE,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,aAAa;IAY/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,gBAAgB;IA6BlB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0GzC"}
1
+ {"version":3,"file":"container-runner.d.ts","sourceRoot":"","sources":["../../src/agents/container-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAa,UAAU,EAAkB,MAAM,aAAa,CAAC;AAEzE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAuD;IAChF,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAGpC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,IAAI,EACvE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAC7C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,aAAa;IAc/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,cAAc;IAqEhB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CA8H/C"}