@action-llama/action-llama 0.1.4 → 0.2.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 (126) hide show
  1. package/README.md +63 -59
  2. package/dist/agents/container-entry.js +36 -9
  3. package/dist/agents/container-entry.js.map +1 -1
  4. package/dist/agents/prompt.d.ts.map +1 -1
  5. package/dist/agents/prompt.js +17 -6
  6. package/dist/agents/prompt.js.map +1 -1
  7. package/dist/cli/commands/new.d.ts.map +1 -1
  8. package/dist/cli/commands/new.js +5 -25
  9. package/dist/cli/commands/new.js.map +1 -1
  10. package/dist/cli/commands/{agent/add.d.ts → setup.d.ts} +1 -2
  11. package/dist/cli/commands/setup.d.ts.map +1 -0
  12. package/dist/cli/commands/setup.js +60 -0
  13. package/dist/cli/commands/setup.js.map +1 -0
  14. package/dist/cli/commands/start.d.ts.map +1 -1
  15. package/dist/cli/commands/start.js +3 -0
  16. package/dist/cli/commands/start.js.map +1 -1
  17. package/dist/cli/commands/status.d.ts.map +1 -1
  18. package/dist/cli/commands/status.js +1 -37
  19. package/dist/cli/commands/status.js.map +1 -1
  20. package/dist/cli/main.js +6 -9
  21. package/dist/cli/main.js.map +1 -1
  22. package/dist/credentials/builtins/anthropic-key.d.ts +4 -0
  23. package/dist/credentials/builtins/anthropic-key.d.ts.map +1 -0
  24. package/dist/credentials/builtins/anthropic-key.js +69 -0
  25. package/dist/credentials/builtins/anthropic-key.js.map +1 -0
  26. package/dist/credentials/builtins/github-token.d.ts +4 -0
  27. package/dist/credentials/builtins/github-token.d.ts.map +1 -0
  28. package/dist/credentials/builtins/github-token.js +19 -0
  29. package/dist/credentials/builtins/github-token.js.map +1 -0
  30. package/dist/credentials/builtins/github-webhook-secret.d.ts +4 -0
  31. package/dist/credentials/builtins/github-webhook-secret.d.ts.map +1 -0
  32. package/dist/credentials/builtins/github-webhook-secret.js +12 -0
  33. package/dist/credentials/builtins/github-webhook-secret.js.map +1 -0
  34. package/dist/credentials/builtins/id-rsa.d.ts +4 -0
  35. package/dist/credentials/builtins/id-rsa.d.ts.map +1 -0
  36. package/dist/credentials/builtins/id-rsa.js +67 -0
  37. package/dist/credentials/builtins/id-rsa.js.map +1 -0
  38. package/dist/credentials/builtins/index.d.ts +3 -0
  39. package/dist/credentials/builtins/index.d.ts.map +1 -0
  40. package/dist/credentials/builtins/index.js +15 -0
  41. package/dist/credentials/builtins/index.js.map +1 -0
  42. package/dist/credentials/builtins/sentry-client-secret.d.ts +4 -0
  43. package/dist/credentials/builtins/sentry-client-secret.d.ts.map +1 -0
  44. package/dist/credentials/builtins/sentry-client-secret.js +12 -0
  45. package/dist/credentials/builtins/sentry-client-secret.js.map +1 -0
  46. package/dist/credentials/builtins/sentry-token.d.ts +4 -0
  47. package/dist/credentials/builtins/sentry-token.d.ts.map +1 -0
  48. package/dist/credentials/builtins/sentry-token.js +72 -0
  49. package/dist/credentials/builtins/sentry-token.js.map +1 -0
  50. package/dist/credentials/prompter.d.ts +14 -0
  51. package/dist/credentials/prompter.d.ts.map +1 -0
  52. package/dist/credentials/prompter.js +65 -0
  53. package/dist/credentials/prompter.js.map +1 -0
  54. package/dist/credentials/registry.d.ts +16 -0
  55. package/dist/credentials/registry.d.ts.map +1 -0
  56. package/dist/credentials/registry.js +25 -0
  57. package/dist/credentials/registry.js.map +1 -0
  58. package/dist/credentials/schema.d.ts +23 -0
  59. package/dist/credentials/schema.d.ts.map +1 -0
  60. package/dist/credentials/schema.js +6 -0
  61. package/dist/credentials/schema.js.map +1 -0
  62. package/dist/scheduler/index.d.ts.map +1 -1
  63. package/dist/scheduler/index.js +14 -4
  64. package/dist/scheduler/index.js.map +1 -1
  65. package/dist/setup/prompts.d.ts +1 -43
  66. package/dist/setup/prompts.d.ts.map +1 -1
  67. package/dist/setup/prompts.js +43 -605
  68. package/dist/setup/prompts.js.map +1 -1
  69. package/dist/setup/scaffold.d.ts +1 -2
  70. package/dist/setup/scaffold.d.ts.map +1 -1
  71. package/dist/setup/scaffold.js +62 -29
  72. package/dist/setup/scaffold.js.map +1 -1
  73. package/dist/shared/config.d.ts +1 -2
  74. package/dist/shared/config.d.ts.map +1 -1
  75. package/dist/shared/config.js +16 -6
  76. package/dist/shared/config.js.map +1 -1
  77. package/dist/shared/credentials.d.ts +2 -0
  78. package/dist/shared/credentials.d.ts.map +1 -1
  79. package/dist/shared/credentials.js +17 -0
  80. package/dist/shared/credentials.js.map +1 -1
  81. package/dist/shared/paths.d.ts +0 -1
  82. package/dist/shared/paths.d.ts.map +1 -1
  83. package/dist/shared/paths.js +0 -3
  84. package/dist/shared/paths.js.map +1 -1
  85. package/dist/webhooks/definitions/github.d.ts +3 -0
  86. package/dist/webhooks/definitions/github.d.ts.map +1 -0
  87. package/dist/webhooks/definitions/github.js +38 -0
  88. package/dist/webhooks/definitions/github.js.map +1 -0
  89. package/dist/webhooks/definitions/registry.d.ts +4 -0
  90. package/dist/webhooks/definitions/registry.d.ts.map +1 -0
  91. package/dist/webhooks/definitions/registry.js +14 -0
  92. package/dist/webhooks/definitions/registry.js.map +1 -0
  93. package/dist/webhooks/definitions/schema.d.ts +19 -0
  94. package/dist/webhooks/definitions/schema.d.ts.map +1 -0
  95. package/dist/webhooks/definitions/schema.js +2 -0
  96. package/dist/webhooks/definitions/schema.js.map +1 -0
  97. package/dist/webhooks/definitions/sentry.d.ts +3 -0
  98. package/dist/webhooks/definitions/sentry.d.ts.map +1 -0
  99. package/dist/webhooks/definitions/sentry.js +22 -0
  100. package/dist/webhooks/definitions/sentry.js.map +1 -0
  101. package/dist/webhooks/providers/sentry.d.ts +9 -0
  102. package/dist/webhooks/providers/sentry.d.ts.map +1 -0
  103. package/dist/webhooks/providers/sentry.js +108 -0
  104. package/dist/webhooks/providers/sentry.js.map +1 -0
  105. package/dist/webhooks/registry.js +2 -2
  106. package/dist/webhooks/registry.js.map +1 -1
  107. package/dist/webhooks/types.d.ts +5 -1
  108. package/dist/webhooks/types.d.ts.map +1 -1
  109. package/package.json +4 -3
  110. package/dist/agents/definitions/dev/AGENTS.md +0 -44
  111. package/dist/agents/definitions/dev/config-definition.json +0 -39
  112. package/dist/agents/definitions/devops/AGENTS.md +0 -33
  113. package/dist/agents/definitions/devops/config-definition.json +0 -37
  114. package/dist/agents/definitions/loader.d.ts +0 -18
  115. package/dist/agents/definitions/loader.d.ts.map +0 -1
  116. package/dist/agents/definitions/loader.js +0 -59
  117. package/dist/agents/definitions/loader.js.map +0 -1
  118. package/dist/agents/definitions/reviewer/AGENTS.md +0 -37
  119. package/dist/agents/definitions/reviewer/config-definition.json +0 -24
  120. package/dist/agents/definitions/schema.d.ts +0 -38
  121. package/dist/agents/definitions/schema.d.ts.map +0 -1
  122. package/dist/agents/definitions/schema.js +0 -97
  123. package/dist/agents/definitions/schema.js.map +0 -1
  124. package/dist/cli/commands/agent/add.d.ts.map +0 -1
  125. package/dist/cli/commands/agent/add.js +0 -86
  126. package/dist/cli/commands/agent/add.js.map +0 -1
package/README.md CHANGED
@@ -33,60 +33,67 @@ Built on [pi.dev](https://github.com/badlogic/pi-mono) as the agent harness.
33
33
 
34
34
  ## How to get started
35
35
 
36
+ ### 1. Create a project
37
+
36
38
  ```bash
37
39
  npx @action-llama/action-llama@latest new my-project
40
+ cd my-project
38
41
  ```
39
42
 
40
- The setup wizard walks you through everything:
43
+ This scaffolds the project and sets up your Anthropic credential and default model.
44
+
45
+ ### 2. Create and manage agents
41
46
 
42
- **Step 1 — Agents:** Select which agents to create. Pick **dev** to start — this is the developer agent that implements issues and opens PRs.
47
+ ```bash
48
+ npx al console
49
+ ```
43
50
 
44
- **Step 2 Credentials:** Paste your GitHub PAT (needs `repo` + `workflow` scopes) and choose how to authenticate with Anthropic (existing pi auth, API key, or OAuth token). Tokens are validated against their APIs before continuing.
51
+ The console is a TUI powered by [Pi](https://github.com/badlogic/pi-mono) that helps you create and manage agents. If no agents exist yet, it will offer to create one for you.
45
52
 
46
- **Step 3 LLM Defaults:** Pick a model and thinking level. The defaults (`claude-sonnet-4-20250514`, `medium` thinking) are a good starting point.
53
+ You can also create agents manually see the [creating agents guide](docs/creating-agents.md).
47
54
 
48
- **Step 4 Configure each agent:** For the dev agent you'll be asked:
49
- - **Repos** — which GitHub repos to monitor (fetched from your token)
50
- - **Trigger label** — the issue label that activates the agent (default: `agent`)
51
- - **Assignee** — only trigger on issues assigned to this user (default: your GitHub username)
52
- - **Webhooks** — say **no** for now (requires setting up a GitHub webhook endpoint)
53
- - **Schedule** — say **yes**, and accept the default `*/5 * * * *` (poll every 5 minutes)
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.
54
56
 
55
- Once setup finishes:
57
+ ### 3. Run
58
+
59
+ Once your agents are ready, run the gateway!
56
60
 
57
61
  ```bash
58
- cd my-project
59
- al start
62
+ npx al start
60
63
  ```
61
64
 
62
- The dev agent will poll every 5 minutes looking for issues that match its filter: the issue must have the trigger label (default: `agent`) **and** be assigned to the configured user. When it finds a match, it clones the repo, creates a branch, implements the changes described in the issue, runs tests, and opens a PR.
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).
63
66
 
64
- Edit `dev/AGENTS.md` to customize how the agent works — changes take effect on the next run.
67
+ If you want to set up credentials without starting the gateway:
65
68
 
66
- ### Project structure
69
+ ```bash
70
+ npx al setup
71
+ ```
67
72
 
68
- The setup creates:
73
+ ### Project structure
69
74
 
70
75
  ```
71
76
  my-project/
72
77
  package.json # Includes @action-llama/action-llama as a dependency
78
+ AGENTS.md # Project overview and agent creation guide
73
79
  config.json # Global config: docker, gateway, webhooks (no secrets)
74
80
  dev/ # One directory per agent
75
- config.json # Agent config: repos, schedule, model, webhooks, etc.
76
- AGENTS.md # Agent instructions — edit this to customize behavior
81
+ agent-config.toml # Agent config: credentials, repos, model, schedule, webhooks, params
82
+ AGENTS.md # Agent instructions (system prompt) — edit to customize behavior
77
83
  ```
78
84
 
79
- Credentials are stored separately in `~/.action-llama-credentials/` (shared across projects, not committed to git).
80
-
81
85
  ## CLI commands
82
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
+
83
89
  | Command | Description |
84
90
  |---------|-------------|
85
- | `al new <name>` | Create a new project (interactive setup for credentials, model, and agents) |
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 |
86
94
  | `al start` | Start the scheduler — runs agents on their cron schedule and/or webhook triggers |
87
95
  | `al status` | Show the current status of all agents |
88
96
  | `al logs <agent>` | View log entries for an agent |
89
- | `al agent add [definition]` | Add a new agent to an existing project (built-in name or custom definition path) |
90
97
 
91
98
  ### Common options
92
99
 
@@ -102,14 +109,6 @@ Credentials are stored separately in `~/.action-llama-credentials/` (shared acro
102
109
 
103
110
  - `--dangerous-no-docker` — disable Docker container isolation and run agents directly on the host
104
111
 
105
- ## Built-in Agents
106
-
107
- | Agent | Trigger | Action |
108
- |-------|---------|--------|
109
- | **Developer** | Webhook: issue labeled; or poll for labeled issues | Checks out a worktree, implements the fix/feature, runs tests, opens a PR |
110
- | **PR Reviewer** | Webhook: PR opened/updated; or poll for open PRs | Reviews code for correctness, style, security; approves+merges or requests changes |
111
- | **DevOps** | Poll for CI failures/Sentry errors | Creates Github issues describing problem and potential fix |
112
-
113
112
  ## Configuration
114
113
 
115
114
  ### Global config (`config.json`)
@@ -118,7 +117,7 @@ Credentials are stored separately in `~/.action-llama-credentials/` (shared acro
118
117
  {
119
118
  "docker": { "enabled": false },
120
119
  "gateway": { "port": 8080 },
121
- "webhooks": { "githubSecretCredential": "github-webhook-secret" }
120
+ "webhooks": { "secretCredentials": { "github": "github-webhook-secret" } }
122
121
  }
123
122
  ```
124
123
 
@@ -131,32 +130,13 @@ Credentials are stored separately in `~/.action-llama-credentials/` (shared acro
131
130
  | `docker.timeout` | `3600` | Max container runtime (seconds) |
132
131
  | `gateway.port` | `8080` | Gateway server listen port |
133
132
 
134
- ### Agent config (`<agent>/config.json`)
135
-
136
- ```json
137
- {
138
- "credentials": ["github-token", "anthropic-key"],
139
- "model": { "provider": "anthropic", "model": "claude-sonnet-4-20250514", "thinkingLevel": "medium", "authType": "pi_auth" },
140
- "prompt": "An issue was just assigned to you. Implement the changes described in the issue.",
141
- "repos": ["acme/frontend"],
142
- "schedule": "*/5 * * * *",
143
- "webhooks": {
144
- "filters": [{
145
- "source": "github",
146
- "events": ["issues"],
147
- "actions": ["labeled"],
148
- "labels": ["agent"],
149
- "assignee": "bot-user"
150
- }]
151
- }
152
- }
153
- ```
133
+ ### Agent config (`<agent>/agent-config.toml`)
154
134
 
155
- Agents can use webhooks, a cron schedule, or both. Each agent carries its own model config, so you can run different models per agent (e.g., Opus for dev, Haiku for devops). Edit these files directly or re-run `al new` for guided reconfiguration.
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).
156
136
 
157
137
  ### Webhooks
158
138
 
159
- To use webhooks instead of polling, enable them during `al new` and add a webhook in your GitHub repo settings:
139
+ To use webhooks instead of polling, add webhook filters to your `agent-config.toml` and add a webhook in your GitHub repo settings:
160
140
 
161
141
  - **Payload URL**: `http://<your-host>:8080/webhooks/github`
162
142
  - **Content type**: `application/json`
@@ -164,6 +144,30 @@ To use webhooks instead of polling, enable them during `al new` and add a webhoo
164
144
 
165
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).
166
146
 
147
+ #### Local development with ngrok
148
+
149
+ If you're developing locally and need GitHub to reach your machine, use [ngrok](https://ngrok.com) to create a public tunnel:
150
+
151
+ ```bash
152
+ # Install ngrok (macOS)
153
+ brew install ngrok
154
+
155
+ # Start a tunnel pointing at the Action Llama gateway port
156
+ ngrok http 8080
157
+ ```
158
+
159
+ ngrok will print a forwarding URL like `https://a1b2c3d4.ngrok-free.app`. Use that as your GitHub webhook Payload URL:
160
+
161
+ ```
162
+ https://a1b2c3d4.ngrok-free.app/webhooks/github
163
+ ```
164
+
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:
166
+
167
+ ```bash
168
+ ngrok http 8080 --url=your-name.ngrok-free.app
169
+ ```
170
+
167
171
  ### Docker mode
168
172
 
169
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`.
@@ -190,7 +194,7 @@ npm test
190
194
 
191
195
  `al start` runs a single Node.js process (the **scheduler**) that:
192
196
 
193
- 1. Discovers agents in the project directory (each subdirectory with a `config.json`)
197
+ 1. Discovers agents in the project directory (each subdirectory with an `agent-config.toml`)
194
198
  2. Starts a **gateway** HTTP server if webhooks or Docker mode are enabled (health check, webhook receiver, shutdown kill switch)
195
199
  3. Creates a **runner** per agent — either `AgentRunner` (host mode) or `ContainerAgentRunner` (Docker mode)
196
200
  4. Wires up **cron jobs** and/or **webhook bindings** to trigger each runner
@@ -200,10 +204,10 @@ npm test
200
204
 
201
205
  ```
202
206
  src/
203
- cli/ # Command definitions (new, start, status, logs, agent add)
204
- setup/ # Interactive setup wizard (prompts, validators, scaffolding)
207
+ cli/ # Command definitions (new, setup, start, status, logs)
208
+ setup/ # Project scaffolding
205
209
  scheduler/ # Scheduler: discovers agents, starts gateway, wires cron + webhooks
206
- agents/ # Agent runners (host + Docker), prompt builder, built-in definitions
210
+ agents/ # Agent runners (host + Docker), prompt builder
207
211
  gateway/ # HTTP server: router, health, shutdown, webhook routes
208
212
  docker/ # Container lifecycle (launch, wait, logs, remove), image + network
209
213
  webhooks/ # Webhook registry, provider interface, GitHub provider
@@ -213,7 +217,7 @@ src/
213
217
 
214
218
  ### Extension points
215
219
 
216
- - **New agent type** — add a definition under `src/agents/definitions/<name>/` with a `config-definition.json` (schema for params, default schedule, webhook filters) and an `AGENTS.md` template. It will appear in `al new` and `al agent add` automatically.
220
+ - **New agent** — create a directory with an `agent-config.toml` and `AGENTS.md` in your project. See [creating agents](docs/creating-agents.md).
217
221
  - **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.
218
222
  - **Custom runner** — subclass or replace `AgentRunner` in `src/agents/runner.ts` to change how agent sessions are created (different model providers, tool sets, etc.).
219
223
  - **Gateway routes** — add routes in `src/gateway/routes/` and register them in `src/gateway/index.ts`.
@@ -36,15 +36,42 @@ async function main() {
36
36
  emitLog("error", "missing anthropic-key credential");
37
37
  process.exit(1);
38
38
  }
39
- // Set GitHub and Sentry tokens in environment if available
40
- const githubToken = readCredential("github-token");
41
- if (githubToken) {
42
- process.env.GITHUB_TOKEN = githubToken;
43
- process.env.GH_TOKEN = githubToken;
44
- }
45
- const sentryToken = readCredential("sentry-token");
46
- if (sentryToken) {
47
- process.env.SENTRY_AUTH_TOKEN = sentryToken;
39
+ // Generic credential env var injection from credential definitions
40
+ const { builtinCredentials } = await import("../credentials/builtins/index.js");
41
+ for (const credId of agentConfig.credentials) {
42
+ const def = builtinCredentials[credId];
43
+ if (!def?.envVars)
44
+ 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
+ }
56
+ }
57
+ }
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
+ }
74
+ }
48
75
  }
49
76
  const cwd = "/workspace";
50
77
  const model = getModel("anthropic", modelId);
@@ -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 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS3D,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CA0BpE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAK5F"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW3D,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAqCpE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAK5F"}
@@ -1,3 +1,4 @@
1
+ import { resolveCredential } from "../credentials/registry.js";
1
2
  function buildConfigBlock(agentConfig) {
2
3
  return JSON.stringify({
3
4
  repos: agentConfig.repos,
@@ -11,11 +12,21 @@ export function buildCredentialContext(credentials) {
11
12
  "",
12
13
  "Environment variables already set from credentials:",
13
14
  ];
14
- if (credentials.includes("github-token")) {
15
- lines.push("- `GITHUB_TOKEN` / `GH_TOKEN` — use `gh` CLI and `git` directly");
15
+ for (const credId of credentials) {
16
+ let def;
17
+ try {
18
+ def = resolveCredential(credId);
19
+ }
20
+ catch {
21
+ // Unknown credential — skip context line
22
+ }
23
+ if (def?.agentContext) {
24
+ lines.push(`- ${def.agentContext}`);
25
+ }
16
26
  }
17
- if (credentials.includes("sentry-token")) {
18
- lines.push("- `SENTRY_AUTH_TOKEN` — use `curl` for Sentry API requests");
27
+ // Also note GH_TOKEN alias when github-token is present
28
+ if (credentials.includes("github-token")) {
29
+ // agentContext already mentions GH_TOKEN, but ensure env var is documented
19
30
  }
20
31
  lines.push("");
21
32
  lines.push("Use standard tools directly: `gh` CLI, `git`, `curl`.");
@@ -31,12 +42,12 @@ export function buildCredentialContext(credentials) {
31
42
  export function buildScheduledPrompt(agentConfig) {
32
43
  const configBlock = buildConfigBlock(agentConfig);
33
44
  const credentialBlock = buildCredentialContext(agentConfig.credentials);
34
- return `<agent-config>\n${configBlock}\n</agent-config>\n\n${credentialBlock}\n\n${agentConfig.prompt}`;
45
+ return `<agent-config>\n${configBlock}\n</agent-config>\n\n${credentialBlock}\n\nYou are running on a schedule. Check for new work and act on anything you find.`;
35
46
  }
36
47
  export function buildWebhookPrompt(agentConfig, context) {
37
48
  const configBlock = buildConfigBlock(agentConfig);
38
49
  const credentialBlock = buildCredentialContext(agentConfig.credentials);
39
50
  const webhookBlock = JSON.stringify(context);
40
- return `<agent-config>\n${configBlock}\n</agent-config>\n\n${credentialBlock}\n\n<webhook-trigger>\n${webhookBlock}\n</webhook-trigger>\n\n${agentConfig.prompt}`;
51
+ return `<agent-config>\n${configBlock}\n</agent-config>\n\n${credentialBlock}\n\n<webhook-trigger>\n${webhookBlock}\n</webhook-trigger>\n\nA webhook event just fired. Review the trigger context above and take appropriate action.`;
41
52
  }
42
53
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAGA,SAAS,gBAAgB,CAAC,WAAwB;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,GAAG,WAAW,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAqB;IAC1D,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,8DAA8D;QAC9D,EAAE;QACF,qDAAqD;KACtD,CAAC;IAEF,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACvF,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,6JAA6J,CAAC,CAAC;IAC1K,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,mBAAmB,WAAW,wBAAwB,eAAe,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAwB,EAAE,OAAuB;IAClF,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,mBAAmB,WAAW,wBAAwB,eAAe,0BAA0B,YAAY,2BAA2B,WAAW,CAAC,MAAM,EAAE,CAAC;AACpK,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,SAAS,gBAAgB,CAAC,WAAwB;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,GAAG,WAAW,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAqB;IAC1D,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,8DAA8D;QAC9D,EAAE;QACF,qDAAqD;KACtD,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,GAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,IAAI,GAAG,EAAE,YAAY,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,2EAA2E;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACvF,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,6JAA6J,CAAC,CAAC;IAC1K,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,mBAAmB,WAAW,wBAAwB,eAAe,qFAAqF,CAAC;AACpK,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAwB,EAAE,OAAuB;IAClF,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,mBAAmB,WAAW,wBAAwB,eAAe,0BAA0B,YAAY,mHAAmH,CAAC;AACxO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EzD"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzD"}
@@ -6,7 +6,7 @@ import { scaffoldProject } from "../../setup/scaffold.js";
6
6
  import { CREDENTIALS_DIR } from "../../shared/paths.js";
7
7
  export async function execute(name) {
8
8
  const projectPath = resolve(process.cwd(), name);
9
- const { globalConfig, agents, secrets } = await runSetup();
9
+ const { globalConfig, secrets } = await runSetup();
10
10
  console.log("\n--- Writing configuration ---\n");
11
11
  // Only write credentials if they're new or changed
12
12
  if (secrets.githubToken && secrets.githubToken !== loadCredential("github-token")) {
@@ -16,13 +16,6 @@ export async function execute(name) {
16
16
  else {
17
17
  console.log(` GitHub token unchanged`);
18
18
  }
19
- if (secrets.sentryToken && secrets.sentryToken !== loadCredential("sentry-token")) {
20
- writeCredential("sentry-token", secrets.sentryToken);
21
- console.log(` Wrote ${CREDENTIALS_DIR}/sentry-token`);
22
- }
23
- else if (secrets.sentryToken) {
24
- console.log(` Sentry token unchanged`);
25
- }
26
19
  if (secrets.anthropicKey && secrets.anthropicKey !== loadCredential("anthropic-key")) {
27
20
  writeCredential("anthropic-key", secrets.anthropicKey);
28
21
  console.log(` Wrote ${CREDENTIALS_DIR}/anthropic-key`);
@@ -40,23 +33,12 @@ export async function execute(name) {
40
33
  else if (loadCredential("id_rsa")) {
41
34
  console.log(` SSH key unchanged`);
42
35
  }
43
- if (secrets.githubWebhookSecret && secrets.githubWebhookSecret !== loadCredential("github-webhook-secret")) {
44
- writeCredential("github-webhook-secret", secrets.githubWebhookSecret);
45
- console.log(` Wrote ${CREDENTIALS_DIR}/github-webhook-secret`);
46
- }
47
- else if (secrets.githubWebhookSecret) {
48
- console.log(` GitHub webhook secret unchanged`);
49
- }
50
- scaffoldProject(projectPath, globalConfig, agents, name);
51
- const agentNames = agents.map((a) => a.name);
36
+ scaffoldProject(projectPath, globalConfig, [], name);
52
37
  console.log(` Wrote ${projectPath}/package.json`);
38
+ console.log(` Wrote ${projectPath}/AGENTS.md`);
53
39
  if (Object.keys(globalConfig).length > 0) {
54
40
  console.log(` Wrote ${projectPath}/config.json`);
55
41
  }
56
- for (const name of agentNames) {
57
- console.log(` Wrote ${projectPath}/${name}/config.json`);
58
- console.log(` Wrote ${projectPath}/${name}/AGENTS.md`);
59
- }
60
42
  console.log(` Created state directories`);
61
43
  console.log("\n--- Installing dependencies ---\n");
62
44
  execSync("npm install", { cwd: projectPath, stdio: "inherit" });
@@ -65,13 +47,11 @@ Setup complete!
65
47
 
66
48
  Credentials: ${CREDENTIALS_DIR}/
67
49
  Project: ${projectPath}/
68
- Agents: ${agentNames.join(", ")}
69
-
70
- Edit <agent>/AGENTS.md to customize agent behavior.
71
50
 
72
51
  Next steps:
73
52
  cd ${name}
74
- al start
53
+ npx al console # Start an interactive console to create agents
54
+ npx al start # Start the gateway
75
55
  `);
76
56
  }
77
57
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,mDAAmD;IACnD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,eAAe,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;QACrF,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,gBAAgB,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,SAAS,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,eAAe,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,YAAY,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,cAAc,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC;;;iBAGG,eAAe;iBACf,WAAW;;;OAGrB,IAAI;;;CAGV,CAAC,CAAC;AACH,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export declare function execute(opts: {
2
2
  project: string;
3
- definition?: string;
4
3
  }): Promise<void>;
5
- //# sourceMappingURL=add.d.ts.map
4
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAgBA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDtE"}
@@ -0,0 +1,60 @@
1
+ import { resolve } from "path";
2
+ import { discoverAgents, loadAgentConfig, loadGlobalConfig } from "../../shared/config.js";
3
+ import { resolveCredential } from "../../credentials/registry.js";
4
+ import { promptCredential } from "../../credentials/prompter.js";
5
+ import { loadCredential, writeCredential, writeStructuredCredential } from "../../shared/credentials.js";
6
+ function writeCredentialValues(def, values) {
7
+ if (Object.keys(values).length === 0)
8
+ return;
9
+ if (def.fields.length === 1) {
10
+ writeCredential(def.filename, values[def.fields[0].name]);
11
+ }
12
+ else {
13
+ writeStructuredCredential(def.filename, values);
14
+ }
15
+ }
16
+ export async function execute(opts) {
17
+ const projectPath = resolve(opts.project);
18
+ const agents = discoverAgents(projectPath);
19
+ if (agents.length === 0) {
20
+ console.log("No agents found. Create agents first, then re-run setup.");
21
+ return;
22
+ }
23
+ // Collect all credential IDs from agents and global config
24
+ const credentialIds = new Set();
25
+ for (const name of agents) {
26
+ const config = loadAgentConfig(projectPath, name);
27
+ for (const id of config.credentials) {
28
+ credentialIds.add(id);
29
+ }
30
+ }
31
+ const globalConfig = loadGlobalConfig(projectPath);
32
+ if (globalConfig.webhooks?.secretCredentials) {
33
+ for (const id of Object.values(globalConfig.webhooks.secretCredentials)) {
34
+ credentialIds.add(id);
35
+ }
36
+ }
37
+ if (credentialIds.size === 0) {
38
+ console.log("No credentials required by any agent.");
39
+ return;
40
+ }
41
+ console.log(`\nChecking ${credentialIds.size} credential(s)...\n`);
42
+ let okCount = 0;
43
+ let promptedCount = 0;
44
+ for (const id of credentialIds) {
45
+ const def = resolveCredential(id);
46
+ const existing = loadCredential(def.filename);
47
+ if (existing) {
48
+ console.log(` [ok] ${def.label}`);
49
+ okCount++;
50
+ continue;
51
+ }
52
+ const result = await promptCredential(def);
53
+ if (result && Object.keys(result.values).length > 0) {
54
+ writeCredentialValues(def, result.values);
55
+ promptedCount++;
56
+ }
57
+ }
58
+ console.log(`\nDone. ${okCount} already present, ${promptedCount} configured.`);
59
+ }
60
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAKA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CnG"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAMA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDnG"}
@@ -2,8 +2,11 @@ import { resolve } from "path";
2
2
  import { loadGlobalConfig } from "../../shared/config.js";
3
3
  import { startScheduler } from "../../scheduler/index.js";
4
4
  import { StatusTracker } from "../../tui/status-tracker.js";
5
+ import { execute as runSetup } from "./setup.js";
5
6
  export async function execute(opts) {
6
7
  const projectPath = resolve(opts.project);
8
+ // Ensure all credentials are present before starting
9
+ await runSetup({ project: opts.project });
7
10
  const globalConfig = loadGlobalConfig(projectPath);
8
11
  // Docker is on by default; --dangerous-no-docker disables it
9
12
  if (opts.dangerousNoDocker) {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAsD;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEnD,6DAA6D;IAC7D,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;YAC9D,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3C,CAAC;SAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE3H,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,aAAa,CAAC,gBAAgB,CAAC;QAC7B,IAAI;QACJ,WAAW;QACX,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,cAAc,EAAE,CAAC,CAAC,eAAe;QACjC,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAEnD,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAsD;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,qDAAqD;IACrD,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEnD,6DAA6D;IAC7D,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;YAC9D,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3C,CAAC;SAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE3H,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,aAAa,CAAC,gBAAgB,CAAC;QAC7B,IAAI;QACJ,WAAW;QACX,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,cAAc,EAAE,CAAC,CAAC,eAAe;QACjC,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAEnD,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAUA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDtE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAGA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE"}
@@ -1,12 +1,5 @@
1
1
  import { resolve } from "path";
2
- import { existsSync, readFileSync } from "fs";
3
2
  import { discoverAgents, loadAgentConfig } from "../../shared/config.js";
4
- function readStateFile(projectPath, agent, file) {
5
- const path = resolve(projectPath, ".al", "state", agent, file);
6
- if (!existsSync(path))
7
- return {};
8
- return JSON.parse(readFileSync(path, "utf-8"));
9
- }
10
3
  export async function execute(opts) {
11
4
  const projectPath = resolve(opts.project);
12
5
  const agentNames = discoverAgents(projectPath);
@@ -15,36 +8,7 @@ export async function execute(opts) {
15
8
  const agentConfig = loadAgentConfig(projectPath, name);
16
9
  console.log(`${name}:`);
17
10
  console.log(` Repos: ${agentConfig.repos.join(", ")}`);
18
- console.log(` Schedule: ${agentConfig.schedule}`);
19
- // Show state based on which state files exist
20
- const stateDir = resolve(projectPath, ".al", "state", name);
21
- if (existsSync(resolve(stateDir, "active-issues.json"))) {
22
- const devState = readStateFile(projectPath, name, "active-issues.json");
23
- const issues = devState.issues || {};
24
- const inProgress = Object.entries(issues).filter(([_, v]) => v.status === "in_progress");
25
- const completed = Object.entries(issues).filter(([_, v]) => v.status === "completed");
26
- console.log(` In progress: ${inProgress.length}`);
27
- console.log(` Completed: ${completed.length}`);
28
- for (const [key, val] of inProgress) {
29
- console.log(` - ${key} (started ${val.startedAt})`);
30
- }
31
- }
32
- if (existsSync(resolve(stateDir, "reviewed-prs.json"))) {
33
- const reviewerState = readStateFile(projectPath, name, "reviewed-prs.json");
34
- const prs = reviewerState.prs || {};
35
- const prCount = Object.keys(prs).length;
36
- const approved = Object.values(prs).filter((v) => v.verdict === "approved").length;
37
- const changesRequested = Object.values(prs).filter((v) => v.verdict === "changes_requested").length;
38
- console.log(` Total reviewed: ${prCount}`);
39
- console.log(` Approved: ${approved}`);
40
- console.log(` Changes req: ${changesRequested}`);
41
- }
42
- if (existsSync(resolve(stateDir, "known-errors.json"))) {
43
- const devopsState = readStateFile(projectPath, name, "known-errors.json");
44
- const errors = devopsState.errors || {};
45
- const errorCount = Object.keys(errors).length;
46
- console.log(` Errors filed: ${errorCount}`);
47
- }
11
+ console.log(` Schedule: ${agentConfig.schedule || "(none)"}`);
48
12
  console.log("");
49
13
  }
50
14
  console.log(`Agents: ${agentNames.join(", ")}`);