@action-llama/action-llama 0.2.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 (235) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +61 -90
  3. package/dist/agents/container-entry.js +183 -43
  4. package/dist/agents/container-entry.js.map +1 -1
  5. package/dist/agents/container-runner.d.ts +11 -4
  6. package/dist/agents/container-runner.d.ts.map +1 -1
  7. package/dist/agents/container-runner.js +107 -99
  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 +18 -10
  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 +95 -9
  16. package/dist/agents/runner.js.map +1 -1
  17. package/dist/cli/commands/cloud-setup.d.ts +4 -0
  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/{setup.d.ts → console.d.ts} +1 -1
  26. package/dist/cli/commands/console.d.ts.map +1 -0
  27. package/dist/cli/commands/console.js +273 -0
  28. package/dist/cli/commands/console.js.map +1 -0
  29. package/dist/cli/commands/creds.d.ts +2 -0
  30. package/dist/cli/commands/creds.d.ts.map +1 -0
  31. package/dist/cli/commands/creds.js +62 -0
  32. package/dist/cli/commands/creds.js.map +1 -0
  33. package/dist/cli/commands/doctor.d.ts +7 -0
  34. package/dist/cli/commands/doctor.d.ts.map +1 -0
  35. package/dist/cli/commands/doctor.js +405 -0
  36. package/dist/cli/commands/doctor.js.map +1 -0
  37. package/dist/cli/commands/logs.d.ts +1 -0
  38. package/dist/cli/commands/logs.d.ts.map +1 -1
  39. package/dist/cli/commands/logs.js +67 -0
  40. package/dist/cli/commands/logs.js.map +1 -1
  41. package/dist/cli/commands/new.d.ts.map +1 -1
  42. package/dist/cli/commands/new.js +30 -28
  43. package/dist/cli/commands/new.js.map +1 -1
  44. package/dist/cli/commands/run.d.ts +6 -0
  45. package/dist/cli/commands/run.d.ts.map +1 -0
  46. package/dist/cli/commands/run.js +121 -0
  47. package/dist/cli/commands/run.js.map +1 -0
  48. package/dist/cli/commands/start.d.ts +2 -1
  49. package/dist/cli/commands/start.d.ts.map +1 -1
  50. package/dist/cli/commands/start.js +41 -14
  51. package/dist/cli/commands/start.js.map +1 -1
  52. package/dist/cli/commands/status.d.ts +1 -0
  53. package/dist/cli/commands/status.d.ts.map +1 -1
  54. package/dist/cli/commands/status.js +39 -2
  55. package/dist/cli/commands/status.js.map +1 -1
  56. package/dist/cli/main.js +61 -12
  57. package/dist/cli/main.js.map +1 -1
  58. package/dist/credentials/builtins/anthropic-key.d.ts.map +1 -1
  59. package/dist/credentials/builtins/anthropic-key.js +3 -4
  60. package/dist/credentials/builtins/anthropic-key.js.map +1 -1
  61. package/dist/credentials/builtins/aws.d.ts +4 -0
  62. package/dist/credentials/builtins/aws.d.ts.map +1 -0
  63. package/dist/credentials/builtins/aws.js +33 -0
  64. package/dist/credentials/builtins/aws.js.map +1 -0
  65. package/dist/credentials/builtins/bugsnag-token.d.ts +4 -0
  66. package/dist/credentials/builtins/bugsnag-token.d.ts.map +1 -0
  67. package/dist/credentials/builtins/bugsnag-token.js +18 -0
  68. package/dist/credentials/builtins/bugsnag-token.js.map +1 -0
  69. package/dist/credentials/builtins/github-token.d.ts.map +1 -1
  70. package/dist/credentials/builtins/github-token.js +1 -2
  71. package/dist/credentials/builtins/github-token.js.map +1 -1
  72. package/dist/credentials/builtins/github-webhook-secret.js +3 -3
  73. package/dist/credentials/builtins/github-webhook-secret.js.map +1 -1
  74. package/dist/credentials/builtins/id-rsa.d.ts +2 -2
  75. package/dist/credentials/builtins/id-rsa.d.ts.map +1 -1
  76. package/dist/credentials/builtins/id-rsa.js +75 -47
  77. package/dist/credentials/builtins/id-rsa.js.map +1 -1
  78. package/dist/credentials/builtins/index.d.ts.map +1 -1
  79. package/dist/credentials/builtins/index.js +17 -7
  80. package/dist/credentials/builtins/index.js.map +1 -1
  81. package/dist/credentials/builtins/netlify-token.d.ts +4 -0
  82. package/dist/credentials/builtins/netlify-token.d.ts.map +1 -0
  83. package/dist/credentials/builtins/netlify-token.js +18 -0
  84. package/dist/credentials/builtins/netlify-token.js.map +1 -0
  85. package/dist/credentials/builtins/openai-key.d.ts +4 -0
  86. package/dist/credentials/builtins/openai-key.d.ts.map +1 -0
  87. package/dist/credentials/builtins/openai-key.js +38 -0
  88. package/dist/credentials/builtins/openai-key.js.map +1 -0
  89. package/dist/credentials/builtins/sentry-client-secret.d.ts.map +1 -1
  90. package/dist/credentials/builtins/sentry-client-secret.js +1 -2
  91. package/dist/credentials/builtins/sentry-client-secret.js.map +1 -1
  92. package/dist/credentials/builtins/sentry-token.d.ts.map +1 -1
  93. package/dist/credentials/builtins/sentry-token.js +2 -3
  94. package/dist/credentials/builtins/sentry-token.js.map +1 -1
  95. package/dist/credentials/builtins/x-twitter-api.d.ts +4 -0
  96. package/dist/credentials/builtins/x-twitter-api.d.ts.map +1 -0
  97. package/dist/credentials/builtins/x-twitter-api.js +28 -0
  98. package/dist/credentials/builtins/x-twitter-api.js.map +1 -0
  99. package/dist/credentials/prompter.d.ts +1 -1
  100. package/dist/credentials/prompter.d.ts.map +1 -1
  101. package/dist/credentials/prompter.js +14 -21
  102. package/dist/credentials/prompter.js.map +1 -1
  103. package/dist/credentials/schema.d.ts +0 -1
  104. package/dist/credentials/schema.d.ts.map +1 -1
  105. package/dist/credentials/schema.js +2 -3
  106. package/dist/credentials/schema.js.map +1 -1
  107. package/dist/docker/cloud-run-runtime.d.ts +61 -0
  108. package/dist/docker/cloud-run-runtime.d.ts.map +1 -0
  109. package/dist/docker/cloud-run-runtime.js +510 -0
  110. package/dist/docker/cloud-run-runtime.js.map +1 -0
  111. package/dist/docker/ecs-runtime.d.ts +73 -0
  112. package/dist/docker/ecs-runtime.d.ts.map +1 -0
  113. package/dist/docker/ecs-runtime.js +596 -0
  114. package/dist/docker/ecs-runtime.js.map +1 -0
  115. package/dist/docker/image.d.ts +8 -0
  116. package/dist/docker/image.d.ts.map +1 -1
  117. package/dist/docker/image.js +28 -3
  118. package/dist/docker/image.js.map +1 -1
  119. package/dist/docker/local-runtime.d.ts +19 -0
  120. package/dist/docker/local-runtime.d.ts.map +1 -0
  121. package/dist/docker/local-runtime.js +209 -0
  122. package/dist/docker/local-runtime.js.map +1 -0
  123. package/dist/docker/network.d.ts +1 -1
  124. package/dist/docker/network.d.ts.map +1 -1
  125. package/dist/docker/network.js +2 -1
  126. package/dist/docker/network.js.map +1 -1
  127. package/dist/docker/runtime.d.ts +90 -0
  128. package/dist/docker/runtime.d.ts.map +1 -0
  129. package/dist/docker/runtime.js +2 -0
  130. package/dist/docker/runtime.js.map +1 -0
  131. package/dist/gateway/index.d.ts +8 -2
  132. package/dist/gateway/index.d.ts.map +1 -1
  133. package/dist/gateway/index.js +16 -8
  134. package/dist/gateway/index.js.map +1 -1
  135. package/dist/gateway/routes/credentials.d.ts +5 -0
  136. package/dist/gateway/routes/credentials.d.ts.map +1 -0
  137. package/dist/gateway/routes/credentials.js +17 -0
  138. package/dist/gateway/routes/credentials.js.map +1 -0
  139. package/dist/gateway/routes/logs.d.ts +5 -0
  140. package/dist/gateway/routes/logs.d.ts.map +1 -0
  141. package/dist/gateway/routes/logs.js +31 -0
  142. package/dist/gateway/routes/logs.js.map +1 -0
  143. package/dist/gateway/routes/shutdown.d.ts +2 -1
  144. package/dist/gateway/routes/shutdown.d.ts.map +1 -1
  145. package/dist/gateway/routes/shutdown.js +7 -16
  146. package/dist/gateway/routes/shutdown.js.map +1 -1
  147. package/dist/gateway/routes/webhooks.d.ts +2 -1
  148. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  149. package/dist/gateway/routes/webhooks.js +11 -4
  150. package/dist/gateway/routes/webhooks.js.map +1 -1
  151. package/dist/gateway/types.d.ts +6 -0
  152. package/dist/gateway/types.d.ts.map +1 -0
  153. package/dist/gateway/types.js +2 -0
  154. package/dist/gateway/types.js.map +1 -0
  155. package/dist/scheduler/index.d.ts +3 -2
  156. package/dist/scheduler/index.d.ts.map +1 -1
  157. package/dist/scheduler/index.js +299 -59
  158. package/dist/scheduler/index.js.map +1 -1
  159. package/dist/setup/prompts.d.ts.map +1 -1
  160. package/dist/setup/prompts.js +14 -21
  161. package/dist/setup/prompts.js.map +1 -1
  162. package/dist/setup/scaffold.d.ts +2 -2
  163. package/dist/setup/scaffold.d.ts.map +1 -1
  164. package/dist/setup/scaffold.js +369 -27
  165. package/dist/setup/scaffold.js.map +1 -1
  166. package/dist/setup/validators.d.ts +14 -0
  167. package/dist/setup/validators.d.ts.map +1 -1
  168. package/dist/setup/validators.js +53 -0
  169. package/dist/setup/validators.js.map +1 -1
  170. package/dist/shared/asm-backend.d.ts +25 -0
  171. package/dist/shared/asm-backend.d.ts.map +1 -0
  172. package/dist/shared/asm-backend.js +107 -0
  173. package/dist/shared/asm-backend.js.map +1 -0
  174. package/dist/shared/aws-constants.d.ts +55 -0
  175. package/dist/shared/aws-constants.d.ts.map +1 -0
  176. package/dist/shared/aws-constants.js +55 -0
  177. package/dist/shared/aws-constants.js.map +1 -0
  178. package/dist/shared/config.d.ts +25 -5
  179. package/dist/shared/config.d.ts.map +1 -1
  180. package/dist/shared/config.js +15 -22
  181. package/dist/shared/config.js.map +1 -1
  182. package/dist/shared/credential-backend.d.ts +28 -0
  183. package/dist/shared/credential-backend.d.ts.map +1 -0
  184. package/dist/shared/credential-backend.js +2 -0
  185. package/dist/shared/credential-backend.js.map +1 -0
  186. package/dist/shared/credentials.d.ts +75 -5
  187. package/dist/shared/credentials.d.ts.map +1 -1
  188. package/dist/shared/credentials.js +141 -24
  189. package/dist/shared/credentials.js.map +1 -1
  190. package/dist/shared/filesystem-backend.d.ts +18 -0
  191. package/dist/shared/filesystem-backend.d.ts.map +1 -0
  192. package/dist/shared/filesystem-backend.js +86 -0
  193. package/dist/shared/filesystem-backend.js.map +1 -0
  194. package/dist/shared/git.js +1 -1
  195. package/dist/shared/git.js.map +1 -1
  196. package/dist/shared/gsm-backend.d.ts +35 -0
  197. package/dist/shared/gsm-backend.d.ts.map +1 -0
  198. package/dist/shared/gsm-backend.js +208 -0
  199. package/dist/shared/gsm-backend.js.map +1 -0
  200. package/dist/shared/remote.d.ts +11 -0
  201. package/dist/shared/remote.d.ts.map +1 -0
  202. package/dist/shared/remote.js +29 -0
  203. package/dist/shared/remote.js.map +1 -0
  204. package/dist/tui/App.d.ts.map +1 -1
  205. package/dist/tui/App.js +22 -7
  206. package/dist/tui/App.js.map +1 -1
  207. package/dist/tui/status-tracker.d.ts +6 -3
  208. package/dist/tui/status-tracker.d.ts.map +1 -1
  209. package/dist/tui/status-tracker.js +14 -2
  210. package/dist/tui/status-tracker.js.map +1 -1
  211. package/dist/webhooks/definitions/github.js +1 -1
  212. package/dist/webhooks/definitions/sentry.js +1 -1
  213. package/dist/webhooks/providers/github.d.ts +1 -1
  214. package/dist/webhooks/providers/github.d.ts.map +1 -1
  215. package/dist/webhooks/providers/github.js +13 -9
  216. package/dist/webhooks/providers/github.js.map +1 -1
  217. package/dist/webhooks/providers/sentry.d.ts +1 -1
  218. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  219. package/dist/webhooks/providers/sentry.js +12 -9
  220. package/dist/webhooks/providers/sentry.js.map +1 -1
  221. package/dist/webhooks/registry.d.ts +1 -1
  222. package/dist/webhooks/registry.d.ts.map +1 -1
  223. package/dist/webhooks/registry.js +20 -13
  224. package/dist/webhooks/registry.js.map +1 -1
  225. package/dist/webhooks/types.d.ts +16 -6
  226. package/dist/webhooks/types.d.ts.map +1 -1
  227. package/docker/Dockerfile +4 -11
  228. package/package.json +12 -3
  229. package/dist/cli/commands/setup.d.ts.map +0 -1
  230. package/dist/cli/commands/setup.js +0 -60
  231. package/dist/cli/commands/setup.js.map +0 -1
  232. package/dist/docker/container.d.ts +0 -19
  233. package/dist/docker/container.d.ts.map +0 -1
  234. package/dist/docker/container.js +0 -73
  235. 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
@@ -9,14 +9,14 @@ Run agents like scripts: triggered by cron or webhooks.
9
9
  Dev Experience:
10
10
 
11
11
  1. Either a webhook or cron wakes up the agent
12
- 2. The agent runs according the instructions in AGENTS.md you define
12
+ 2. The agent runs according to the instructions in PLAYBOOK.md you define
13
13
  3. The agent shuts down
14
14
 
15
15
  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
 
@@ -52,22 +52,22 @@ The console is a TUI powered by [Pi](https://github.com/badlogic/pi-mono) that h
52
52
 
53
53
  You can also create agents manually — see the [creating agents guide](docs/creating-agents.md).
54
54
 
55
- Or, if you're using your own coding agent just make sure it reads the AGENTS.md in your project root. It should then have everything it needs to create agents.
55
+ Or, if you're using your own coding agent just make sure it reads the AGENTS.md in your project root. It contains everything needed to create agents (including a complete example playbook).
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
63
63
  ```
64
64
 
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).
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
@@ -75,102 +75,73 @@ npx al setup
75
75
  ```
76
76
  my-project/
77
77
  package.json # Includes @action-llama/action-llama as a dependency
78
- AGENTS.md # Project overview and agent creation guide
79
- config.json # Global config: docker, gateway, webhooks (no secrets)
78
+ AGENTS.md # Project overview, credential/webhook reference, example playbook
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
82
- AGENTS.md # Agent instructions (system prompt) — edit to customize behavior
81
+ agent-config.toml # Agent config: credentials, model, schedule, webhooks, params
82
+ PLAYBOOK.md # Agent instructions (system prompt) — edit to customize behavior
83
+ Dockerfile # (optional) Custom Docker image for this agent
83
84
  ```
84
85
 
85
- ## CLI commands
86
-
87
- 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`).
88
-
89
- | Command | Description |
90
- |---------|-------------|
91
- | `al new <name>` | Scaffold a new project (sets up Anthropic credential and model defaults) |
92
- | `al console` | TUI for creating and managing agents |
93
- | `al setup` | Scan agents and prompt for any missing credentials |
94
- | `al start` | Start the scheduler — runs agents on their cron schedule and/or webhook triggers |
95
- | `al status` | Show the current status of all agents |
96
- | `al logs <agent>` | View log entries for an agent |
97
-
98
- ### Common options
99
-
100
- - `-p, --project <dir>` — specify the project directory (defaults to `.`)
86
+ ## Cloud
101
87
 
102
- ### `al logs` options
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**.
103
89
 
104
- - `-n, --lines <N>` — number of log entries to show (default: 50)
105
- - `-f, --follow` tail mode, watch for new log entries
106
- - `-d, --date <YYYY-MM-DD>` view a specific date's log file
107
-
108
- ### `al start` options
109
-
110
- - `--dangerous-no-docker` — disable Docker container isolation and run agents directly on the host
111
-
112
- ## Configuration
113
-
114
- ### Global config (`config.json`)
115
-
116
- ```json
117
- {
118
- "docker": { "enabled": false },
119
- "gateway": { "port": 8080 },
120
- "webhooks": { "secretCredentials": { "github": "github-webhook-secret" } }
121
- }
90
+ ```bash
91
+ al cloud setup # Interactive wizard: pick provider, configure, push creds, provision IAM
92
+ al start -c # Start on cloud
122
93
  ```
123
94
 
124
- | Key | Default | Description |
125
- |-----|---------|-------------|
126
- | `docker.enabled` | `false` | Run agents in isolated Docker containers |
127
- | `docker.image` | `"al-agent:latest"` | Docker image for containers |
128
- | `docker.memory` | `"4g"` | Memory limit per container |
129
- | `docker.cpus` | `2` | CPU limit per container |
130
- | `docker.timeout` | `3600` | Max container runtime (seconds) |
131
- | `gateway.port` | `8080` | Gateway server listen port |
132
-
133
- ### Agent config (`<agent>/agent-config.toml`)
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.
134
96
 
135
- 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).
136
-
137
- ### Webhooks
138
-
139
- To use webhooks instead of polling, add webhook filters to your `agent-config.toml` and add a webhook in your GitHub repo settings:
140
-
141
- - **Payload URL**: `http://<your-host>:8080/webhooks/github`
142
- - **Content type**: `application/json`
143
- - **Secret**: the same secret you entered during setup
144
-
145
- 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).
97
+ ## CLI commands
146
98
 
147
- #### Local development with ngrok
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`).
148
100
 
149
- If you're developing locally and need GitHub to reach your machine, use [ngrok](https://ngrok.com) to create a public tunnel:
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.
150
115
 
151
- ```bash
152
- # Install ngrok (macOS)
153
- brew install ngrok
116
+ ## Configuration
154
117
 
155
- # Start a tunnel pointing at the Action Llama gateway port
156
- ngrok http 8080
157
- ```
118
+ Configuration lives in two places:
158
119
 
159
- ngrok will print a forwarding URL like `https://a1b2c3d4.ngrok-free.app`. Use that as your GitHub webhook Payload URL:
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).
160
122
 
161
- ```
162
- https://a1b2c3d4.ngrok-free.app/webhooks/github
163
- ```
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.
164
124
 
165
- 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:
125
+ Agents run in isolated Docker containers by default. Use `--no-docker` to run directly on the host during development.
166
126
 
167
- ```bash
168
- ngrok http 8080 --url=your-name.ngrok-free.app
169
- ```
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.
170
128
 
171
- ### Docker mode
129
+ ## Documentation
172
130
 
173
- Set `"docker": { "enabled": true }` in `config.json`. Agents run in isolated containers with credentials mounted read-only at `/credentials/`, a read-only root FS, dropped capabilities, non-root user, and PID/memory/CPU limits. Each container gets a unique shutdown secret for the anti-exfiltration kill switch. The Docker image is built automatically on first run from `docker/Dockerfile`.
131
+ | Doc | Description |
132
+ |-----|-------------|
133
+ | [CLI Commands](docs/commands.md) | All CLI commands with options and flags |
134
+ | [Creating Agents](docs/creating-agents.md) | Step-by-step guide to creating a new agent |
135
+ | [agent-config.toml Reference](docs/agent-config-reference.md) | All config fields with examples |
136
+ | [Credentials](docs/credentials.md) | Credential types, storage layout, named instances |
137
+ | [Webhooks](docs/webhooks.md) | Webhook setup, filter fields, Sentry integration |
138
+ | [Docker](docs/docker.md) | Container isolation, custom Dockerfiles, filesystem layout |
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 |
142
+ | [Example: Dev Agent](docs/examples/dev-agent.md) | Developer agent that implements GitHub issues |
143
+ | [Example: Reviewer Agent](docs/examples/reviewer-agent.md) | PR review agent |
144
+ | [Example: DevOps Agent](docs/examples/devops-agent.md) | CI/CD and Sentry monitoring agent |
174
145
 
175
146
  ## Developing
176
147
 
@@ -204,7 +175,7 @@ npm test
204
175
 
205
176
  ```
206
177
  src/
207
- cli/ # Command definitions (new, setup, start, status, logs)
178
+ cli/ # Command definitions (new, doctor, cloud-setup, cloud-teardown, start, status, logs)
208
179
  setup/ # Project scaffolding
209
180
  scheduler/ # Scheduler: discovers agents, starts gateway, wires cron + webhooks
210
181
  agents/ # Agent runners (host + Docker), prompt builder
@@ -217,7 +188,7 @@ src/
217
188
 
218
189
  ### Extension points
219
190
 
220
- - **New agent** — create a directory with an `agent-config.toml` and `AGENTS.md` in your project. See [creating agents](docs/creating-agents.md).
191
+ - **New agent** — create a directory with an `agent-config.toml` and `PLAYBOOK.md` in your project. See [creating agents](docs/creating-agents.md).
221
192
  - **New webhook provider** — implement the `WebhookProvider` interface in `src/webhooks/providers/` and register it in `src/scheduler/index.ts`. The registry handles routing by `source` field.
222
193
  - **Custom runner** — subclass or replace `AgentRunner` in `src/agents/runner.ts` to change how agent sessions are created (different model providers, tool sets, etc.).
223
194
  - **Gateway routes** — add routes in `src/gateway/routes/` and register them in `src/gateway/index.ts`.
@@ -225,7 +196,7 @@ src/
225
196
  ### Tests
226
197
 
227
198
  ```bash
228
- npm test # run all 175 tests
199
+ npm test # run all tests
229
200
  npm run test:watch # watch mode
230
201
  npm run test:coverage # V8 coverage report
231
202
  ```
@@ -1,17 +1,89 @@
1
- import { readFileSync, existsSync } from "fs";
1
+ import { readFileSync, mkdirSync, writeFileSync, readdirSync, statSync } from "fs";
2
2
  import { getModel } from "@mariozechner/pi-ai";
3
3
  import { AuthStorage, createAgentSession, DefaultResourceLoader, SessionManager, SettingsManager, createCodingTools, } from "@mariozechner/pi-coding-agent";
4
+ import { parseCredentialRef } from "../shared/credentials.js";
4
5
  // Structured log line — written to stdout, parsed by ContainerAgentRunner on the host
5
6
  function emitLog(level, msg, data) {
6
7
  console.log(JSON.stringify({ _log: true, level, msg, ...data, ts: Date.now() }));
7
8
  }
8
- function readCredential(name) {
9
- const path = `/credentials/${name}`;
10
- if (!existsSync(path))
11
- return undefined;
12
- return readFileSync(path, "utf-8").trim();
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
+ }
73
+ function readCredentialField(type, instance, field) {
74
+ return credBundle[type]?.[instance]?.[field];
75
+ }
76
+ function readCredentialFields(type, instance) {
77
+ return credBundle[type]?.[instance] || {};
13
78
  }
14
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();
15
87
  // Switch CWD to /workspace so child processes (git, bash, etc.) default to it.
16
88
  // Node must resolve from /app (WORKDIR at build time), so we chdir after startup.
17
89
  process.chdir("/workspace");
@@ -30,56 +102,95 @@ async function main() {
30
102
  const modelId = agentConfig.model.model;
31
103
  const modelThinking = agentConfig.model.thinkingLevel;
32
104
  emitLog("info", "container starting", { agentName: agentConfig.name, modelId, gatewayUrl });
33
- // Read Anthropic API key from credentials volume
34
- const anthropicKey = readCredential("anthropic-key");
35
- if (!anthropicKey) {
36
- emitLog("error", "missing anthropic-key credential");
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)
123
+ const anthropicKey = readCredentialField("anthropic_key", "default", "token");
124
+ if (!anthropicKey && agentConfig.model.authType !== "pi_auth") {
125
+ emitLog("error", "missing anthropic_key credential. Run 'al doctor' to configure it.");
37
126
  process.exit(1);
38
127
  }
39
128
  // Generic credential → env var injection from credential definitions
40
129
  const { builtinCredentials } = await import("../credentials/builtins/index.js");
41
- for (const credId of agentConfig.credentials) {
42
- const def = builtinCredentials[credId];
130
+ for (const credRef of agentConfig.credentials) {
131
+ const { type, instance } = parseCredentialRef(credRef);
132
+ const def = builtinCredentials[type];
43
133
  if (!def?.envVars)
44
134
  continue;
45
- if (def.fields.length === 1) {
46
- // Single-field credential: read as plain text, map to env vars
47
- const value = readCredential(def.filename);
48
- if (value) {
49
- for (const [fieldName, envVar] of Object.entries(def.envVars)) {
50
- process.env[envVar] = value;
51
- }
52
- // Special case: github-token also sets GH_TOKEN alias
53
- if (credId === "github-token") {
54
- process.env.GH_TOKEN = value;
55
- }
135
+ const fields = readCredentialFields(type, instance);
136
+ for (const [fieldName, envVar] of Object.entries(def.envVars)) {
137
+ if (fields[fieldName]) {
138
+ process.env[envVar] = fields[fieldName];
56
139
  }
57
140
  }
58
- else {
59
- // Structured credential: read as JSON, map each field
60
- const raw = readCredential(def.filename);
61
- if (raw) {
62
- try {
63
- const fields = JSON.parse(raw);
64
- for (const [fieldName, envVar] of Object.entries(def.envVars)) {
65
- if (fields[fieldName]) {
66
- process.env[envVar] = fields[fieldName];
67
- }
68
- }
69
- }
70
- catch {
71
- emitLog("warn", `failed to parse structured credential ${credId}`);
72
- }
73
- }
141
+ // Special case: github_token also sets GH_TOKEN alias
142
+ if (type === "github_token" && fields.token) {
143
+ process.env.GH_TOKEN = fields.token;
144
+ }
145
+ }
146
+ // Configure git credential helper so HTTPS clones can use GITHUB_TOKEN
147
+ if (process.env.GITHUB_TOKEN) {
148
+ process.env.GIT_ASKPASS = "/bin/echo";
149
+ process.env.GIT_TERMINAL_PROMPT = "0";
150
+ const { execSync } = await import("child_process");
151
+ try {
152
+ execSync('git config --global credential.helper "!f() { echo username=x-access-token; echo password=$GITHUB_TOKEN; }; f"', { stdio: "ignore" });
153
+ emitLog("info", "git HTTPS credential helper configured");
154
+ }
155
+ catch (err) {
156
+ emitLog("warn", "failed to configure git credential helper", { error: err.message });
157
+ }
158
+ }
159
+ // Set up SSH key for git push/clone if git_ssh credential is available
160
+ // Find the git_ssh instance from credentials
161
+ const gitSshRef = agentConfig.credentials.find((ref) => parseCredentialRef(ref).type === "git_ssh");
162
+ if (gitSshRef) {
163
+ const { instance } = parseCredentialRef(gitSshRef);
164
+ const sshKey = readCredentialField("git_ssh", instance, "id_rsa");
165
+ if (sshKey) {
166
+ const sshDir = "/home/node/.ssh";
167
+ mkdirSync(sshDir, { recursive: true, mode: 0o700 });
168
+ const keyPath = `${sshDir}/id_rsa`;
169
+ writeFileSync(keyPath, sshKey + "\n", { mode: 0o600 });
170
+ process.env.GIT_SSH_COMMAND = `ssh -i "${keyPath}" -o StrictHostKeyChecking=accept-new -o IdentitiesOnly=yes`;
171
+ emitLog("info", "SSH key configured for git");
172
+ }
173
+ // Set git author identity
174
+ const gitName = readCredentialField("git_ssh", instance, "username");
175
+ if (gitName) {
176
+ process.env.GIT_AUTHOR_NAME = gitName;
177
+ process.env.GIT_COMMITTER_NAME = gitName;
178
+ }
179
+ const gitEmail = readCredentialField("git_ssh", instance, "email");
180
+ if (gitEmail) {
181
+ process.env.GIT_AUTHOR_EMAIL = gitEmail;
182
+ process.env.GIT_COMMITTER_EMAIL = gitEmail;
74
183
  }
75
184
  }
76
185
  const cwd = "/workspace";
77
186
  const model = getModel("anthropic", modelId);
78
187
  const authStorage = AuthStorage.create();
79
- authStorage.setRuntimeApiKey("anthropic", anthropicKey);
80
- // AGENTS.md content is passed via the serialized config from the host
188
+ if (anthropicKey) {
189
+ authStorage.setRuntimeApiKey("anthropic", anthropicKey);
190
+ }
191
+ // PLAYBOOK.md content is passed via the serialized config from the host
81
192
  const agentsContent = agentsMd || `# ${agentConfig.name} Agent\n\nCustom agent.\n`;
82
- const agentsFile = "/tmp/AGENTS.md";
193
+ const agentsFile = "/tmp/PLAYBOOK.md";
83
194
  const resourceLoader = new DefaultResourceLoader({
84
195
  noExtensions: true,
85
196
  agentsFilesOverride: () => ({
@@ -105,10 +216,22 @@ async function main() {
105
216
  settingsManager,
106
217
  });
107
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;
108
230
  // Mirror the host-mode AgentRunner's session event logging
109
231
  const pendingCmds = new Map();
110
232
  let outputText = "";
111
233
  let eventCount = 0;
234
+ let unrecoverableErrors = 0;
112
235
  session.subscribe((event) => {
113
236
  eventCount++;
114
237
  // Log all event types for debugging
@@ -145,9 +268,26 @@ async function main() {
145
268
  const resultStr = typeof event.result === "string"
146
269
  ? event.result
147
270
  : JSON.stringify(event.result);
271
+ const originCmd = pendingCmds.get(event.toolCallId);
148
272
  pendingCmds.delete(event.toolCallId);
149
273
  if (event.isError) {
150
- 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
+ }
151
291
  }
152
292
  else {
153
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":"AAAA,OAAO,EAAE,YAAY,EAAc,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,sFAAsF;AACtF,SAAS,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,IAA0B;IACrE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,+EAA+E;AAC/E,IAAI,UAAU,GAA2D,EAAE,CAAC;AAE5E,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB;IAChC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,gBAAgB,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAS;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,iBAAiB;IACxB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,sBAAsB;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS;QACtD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,UAAkB,EAAE,MAAc;IAC1E,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,gBAAgB,MAAM,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,EAAE,0CAA0C,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAa;IACxE,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,mEAAmE;IACnE,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,OAAO,CAAC,OAAO,EAAE,6CAA6C,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,+EAA+E;IAC/E,kFAAkF;IAClF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAEnD,kCAAkC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAChD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAW,MAAM,CAAC,SAAS,CAAC;IAC1C,OAAO,MAAM,CAAC,SAAS,CAAC;IACxB,MAAM,WAAW,GAAgB,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IACxC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;IAEtD,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5F,2EAA2E;IAC3E,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,yBAAyB,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,iBAAiB,EAAE,EAAE,CAAC;QAC/B,sBAAsB,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACxC,MAAM,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,EAAE,sEAAsE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mEAAmE;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9E,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,CAAC,OAAO,EAAE,oEAAoE,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAChF,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,OAAO;YAAE,SAAS;QAE5B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,sDAAsD;QACtD,IAAI,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,QAAQ,CAAC,gHAAgH,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChJ,OAAO,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,EAAE,2CAA2C,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,6CAA6C;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACpG,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,iBAAiB,CAAC;YACjC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,GAAG,MAAM,SAAS,CAAC;YACnC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,WAAW,OAAO,6DAA6D,CAAC;YAC9G,OAAO,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAC3C,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC;IAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAc,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,wEAAwE;IACxE,MAAM,aAAa,GAAG,QAAQ,IAAI,KAAK,WAAW,CAAC,IAAI,2BAA2B,CAAC;IAEnF,MAAM,UAAU,GAAG,kBAAkB,CAAC;IAEtC,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC;QAC/C,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;aAC7C;SACF,CAAC;KACH,CAAC,CAAC;IACH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;IAE9B,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC/C,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;KACxC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAEvF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;QAC3C,GAAG;QACH,KAAK;QACL,aAAa,EAAE,aAAa;QAC5B,WAAW;QACX,cAAc;QACd,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC;QAC7B,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;QACzC,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;IAEnD,MAAM,sBAAsB,GAAG;QAC7B,mBAAmB;QACnB,uCAAuC;QACvC,kDAAkD;QAClD,iBAAiB;QACjB,uBAAuB;QACvB,uCAAuC;QACvC,YAAY;KACb,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5C,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,uBAAuB,GAAG,CAAC,CAAC;IAElC,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,UAAU,EAAE,CAAC;QACb,oCAAoC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,KAAK,GAAwB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;YACpE,mDAAmD;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACnE,KAAK,CAAC,IAAI,GAAI,KAAa,CAAC,IAAI,IAAK,KAAa,CAAC,OAAO,EAAE,IAAI,CAAC;gBACjE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAE,KAAa,CAAC,OAAO,IAAK,KAAa,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9G,KAAK,CAAC,UAAU,GAAI,KAAa,CAAC,UAAU,IAAK,KAAa,CAAC,WAAW,CAAC;YAC7E,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAK,KAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,KAAa,CAAC,KAAK,IAAK,KAAa,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1F,UAAU,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC9B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACvC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAChD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACpD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAErC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1H,uDAAuD;gBACvD,IAAI,QAAQ,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpE,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;gBAChC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,mBAAmB,EAAE,CAAC;oBACtB,IAAI,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;wBACnD,OAAO,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAC;wBACpF,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sDAAsD;IACtD,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC;IAE/B,IAAI,MAAW,CAAC;IAChB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,kBAAkB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QAAC,OAAO,SAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3H,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;gBACnD,MAAM,SAAS,CAAC;YAClB,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;YACpF,OAAO,CAAC,MAAM,EAAE,+BAA+B,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7H,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,20 +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;
20
+ private image;
12
21
  private statusTracker?;
13
- constructor(globalConfig: GlobalConfig, agentConfig: AgentConfig, logger: Logger, registerContainer: (secret: string, containerName: string) => void, gatewayUrl: string, projectPath: 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);
14
23
  get isRunning(): boolean;
15
24
  private forwardLogLine;
16
- private streamContainerLogs;
17
- private waitForContainer;
18
- run(prompt: string): Promise<void>;
25
+ run(prompt: string): Promise<RunOutcome>;
19
26
  }
20
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;AAMlD,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,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,aAAa,CAAC,EAAE,aAAa;IAW/B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,gBAAgB;IA6BlB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyFzC"}
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"}