@cyanautomation/kaseki-agent 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -46
- package/dist/cli/KasekiCLI.d.ts +4 -0
- package/dist/cli/KasekiCLI.d.ts.map +1 -1
- package/dist/cli/KasekiCLI.js +130 -5
- package/dist/cli/KasekiCLI.js.map +1 -1
- package/dist/cli/api/LocalKasekiApiClient.d.ts +23 -0
- package/dist/cli/api/LocalKasekiApiClient.d.ts.map +1 -0
- package/dist/cli/api/LocalKasekiApiClient.js +208 -0
- package/dist/cli/api/LocalKasekiApiClient.js.map +1 -0
- package/dist/cli/commands/CancelCommand.d.ts +20 -0
- package/dist/cli/commands/CancelCommand.d.ts.map +1 -0
- package/dist/cli/commands/CancelCommand.js +49 -0
- package/dist/cli/commands/CancelCommand.js.map +1 -0
- package/dist/cli/commands/DoctorCommand.d.ts.map +1 -1
- package/dist/cli/commands/DoctorCommand.js +12 -3
- package/dist/cli/commands/DoctorCommand.js.map +1 -1
- package/dist/cli/commands/InitCommand.d.ts +22 -0
- package/dist/cli/commands/InitCommand.d.ts.map +1 -0
- package/dist/cli/commands/InitCommand.js +151 -0
- package/dist/cli/commands/InitCommand.js.map +1 -0
- package/dist/cli/commands/ListCommand.d.ts +11 -1
- package/dist/cli/commands/ListCommand.d.ts.map +1 -1
- package/dist/cli/commands/ListCommand.js +33 -48
- package/dist/cli/commands/ListCommand.js.map +1 -1
- package/dist/cli/commands/ReportCommand.d.ts +21 -1
- package/dist/cli/commands/ReportCommand.d.ts.map +1 -1
- package/dist/cli/commands/ReportCommand.js +225 -72
- package/dist/cli/commands/ReportCommand.js.map +1 -1
- package/dist/cli/commands/RunCommand.d.ts +13 -9
- package/dist/cli/commands/RunCommand.d.ts.map +1 -1
- package/dist/cli/commands/RunCommand.js +56 -185
- package/dist/cli/commands/RunCommand.js.map +1 -1
- package/dist/cli/commands/SetupCommand.d.ts +4 -21
- package/dist/cli/commands/SetupCommand.d.ts.map +1 -1
- package/dist/cli/commands/SetupCommand.js +16 -164
- package/dist/cli/commands/SetupCommand.js.map +1 -1
- package/dist/cli/commands/StatusCommand.d.ts +19 -0
- package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/cli/commands/StatusCommand.js +62 -0
- package/dist/cli/commands/StatusCommand.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +40 -21
- package/dist/cli.js.map +1 -1
- package/dist/config/ConfigManager.d.ts +30 -2
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +72 -4
- package/dist/config/ConfigManager.js.map +1 -1
- package/dist/kaseki-api-client.d.ts +0 -4
- package/dist/kaseki-api-client.d.ts.map +1 -1
- package/dist/kaseki-api-client.js +0 -11
- package/dist/kaseki-api-client.js.map +1 -1
- package/dist/kaseki-api-config.d.ts +2 -0
- package/dist/kaseki-api-config.d.ts.map +1 -1
- package/dist/kaseki-api-config.js +39 -16
- package/dist/kaseki-api-config.js.map +1 -1
- package/dist/kaseki-api-routes.d.ts +1 -1
- package/dist/kaseki-api-routes.d.ts.map +1 -1
- package/dist/kaseki-api-routes.js +166 -13
- package/dist/kaseki-api-routes.js.map +1 -1
- package/dist/kaseki-api-service-wrapper.d.ts +1 -1
- package/dist/kaseki-api-service-wrapper.d.ts.map +1 -1
- package/dist/kaseki-api-service-wrapper.js +24 -6
- package/dist/kaseki-api-service-wrapper.js.map +1 -1
- package/dist/kaseki-api-service.d.ts.map +1 -1
- package/dist/kaseki-api-service.js +84 -14
- package/dist/kaseki-api-service.js.map +1 -1
- package/dist/kaseki-api-types.d.ts +7 -3
- package/dist/kaseki-api-types.d.ts.map +1 -1
- package/dist/kaseki-api-types.js +2 -3
- package/dist/kaseki-api-types.js.map +1 -1
- package/dist/metrics.d.ts +2 -1
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +1 -1
- package/dist/metrics.js.map +1 -1
- package/dist/openapi-spec-generator.d.ts.map +1 -1
- package/dist/openapi-spec-generator.js +20 -1085
- package/dist/openapi-spec-generator.js.map +1 -1
- package/dist/openapi-spec-generators/components.d.ts +36 -0
- package/dist/openapi-spec-generators/components.d.ts.map +1 -0
- package/dist/openapi-spec-generators/components.js +106 -0
- package/dist/openapi-spec-generators/components.js.map +1 -0
- package/dist/openapi-spec-generators/paths.d.ts +20 -0
- package/dist/openapi-spec-generators/paths.d.ts.map +1 -0
- package/dist/openapi-spec-generators/paths.js +843 -0
- package/dist/openapi-spec-generators/paths.js.map +1 -0
- package/dist/openapi-spec-generators/schemas.d.ts +30 -0
- package/dist/openapi-spec-generators/schemas.d.ts.map +1 -0
- package/dist/openapi-spec-generators/schemas.js +313 -0
- package/dist/openapi-spec-generators/schemas.js.map +1 -0
- package/dist/run-artifact-metadata-cache.d.ts +0 -1
- package/dist/run-artifact-metadata-cache.d.ts.map +1 -1
- package/dist/run-artifact-metadata-cache.js +1 -1
- package/dist/run-artifact-metadata-cache.js.map +1 -1
- package/dist/setup/SetupWizard.d.ts +129 -0
- package/dist/setup/SetupWizard.d.ts.map +1 -0
- package/dist/setup/SetupWizard.js +455 -0
- package/dist/setup/SetupWizard.js.map +1 -0
- package/dist/setup/env-defaults.d.ts +86 -0
- package/dist/setup/env-defaults.d.ts.map +1 -0
- package/dist/setup/env-defaults.js +403 -0
- package/dist/setup/env-defaults.js.map +1 -0
- package/dist/utils/progress-normalizer.d.ts +0 -1
- package/dist/utils/progress-normalizer.d.ts.map +1 -1
- package/dist/utils/progress-normalizer.js +1 -1
- package/dist/utils/progress-normalizer.js.map +1 -1
- package/dist/utils/response-helpers.d.ts +0 -7
- package/dist/utils/response-helpers.d.ts.map +1 -1
- package/dist/utils/response-helpers.js +0 -25
- package/dist/utils/response-helpers.js.map +1 -1
- package/kaseki-agent.sh +12 -5
- package/package.json +15 -14
- package/scripts/deploy-pi-template.sh +29 -0
- package/scripts/docker-entrypoint.sh +14 -0
- package/scripts/startup-checks.sh +268 -0
- package/scripts/templates/REST_API_SERVICE.md +5 -6
- package/scripts/test-github-app.sh +19 -1
package/README.md
CHANGED
|
@@ -10,15 +10,23 @@ Kaseki is a proof-of-concept ephemeral coding-agent runner. Each run is a number
|
|
|
10
10
|
# Global install (recommended)
|
|
11
11
|
npm install -g @cyanautomation/kaseki-agent
|
|
12
12
|
|
|
13
|
-
# First-time
|
|
13
|
+
# First-time admin workflows
|
|
14
|
+
kaseki-agent doctor
|
|
14
15
|
kaseki-agent setup
|
|
16
|
+
kaseki-agent config show
|
|
17
|
+
kaseki-agent secrets list
|
|
18
|
+
```
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
20
|
+
The npm CLI is primarily an admin/helper toolbox (`doctor`, `setup`, `config`, and `secrets`) plus an API client for task workflows. Task commands such as `run`, `list`, `report`, `status`, and `stop`/`cancel` require a running local API service or a configured `KASEKI_API_URL`.
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
kaseki-agent
|
|
22
|
+
```bash
|
|
23
|
+
# Start a local API service in one terminal
|
|
24
|
+
KASEKI_API_KEYS=sk-dev kaseki-agent serve --port 8080
|
|
25
|
+
|
|
26
|
+
# Submit and inspect work through that API in another terminal
|
|
27
|
+
KASEKI_API_KEY=sk-dev kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
28
|
+
KASEKI_API_KEY=sk-dev kaseki-agent list
|
|
29
|
+
KASEKI_API_KEY=sk-dev kaseki-agent report kaseki-1
|
|
22
30
|
```
|
|
23
31
|
|
|
24
32
|
### Without Global Install
|
|
@@ -26,7 +34,7 @@ kaseki-agent report kaseki-1
|
|
|
26
34
|
```bash
|
|
27
35
|
npm install @cyanautomation/kaseki-agent
|
|
28
36
|
npx kaseki-agent setup
|
|
29
|
-
npx kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
37
|
+
KASEKI_API_URL=http://localhost:8080/api npx kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
30
38
|
```
|
|
31
39
|
|
|
32
40
|
### Using Docker ⭐ (Alternative)
|
|
@@ -52,11 +60,11 @@ docker run -it \
|
|
|
52
60
|
|
|
53
61
|
**Kaseki** orchestrates three deployment patterns:
|
|
54
62
|
|
|
55
|
-
1. **CLI** —
|
|
56
|
-
2. **Docker** —
|
|
57
|
-
3. **REST API** — `kaseki-agent serve` for distributed orchestration
|
|
63
|
+
1. **NPM CLI** — admin/helper workflows plus API-backed task clients (this package)
|
|
64
|
+
2. **Docker** — containerized setup and service execution without host Node.js
|
|
65
|
+
3. **REST API** — `kaseki-agent serve` for local or distributed orchestration
|
|
58
66
|
|
|
59
|
-
|
|
67
|
+
Task execution produces a numbered instance (kaseki-1, kaseki-2, …) with isolated workspace and results.
|
|
60
68
|
|
|
61
69
|
---
|
|
62
70
|
|
|
@@ -106,7 +114,7 @@ Create `~/.kaseki/config.json`:
|
|
|
106
114
|
"auth": {
|
|
107
115
|
"openrouter_api_key_file": "/home/pi/secrets/openrouter_api_key",
|
|
108
116
|
"github_app_id_file": "/home/pi/secrets/github_app_id",
|
|
109
|
-
"github_app_client_id_file": "/home/pi/secrets/
|
|
117
|
+
"github_app_client_id_file": "/home/pi/secrets/github_app_client_id",
|
|
110
118
|
"github_app_private_key_file": "/home/pi/secrets/github_app_private_key"
|
|
111
119
|
}
|
|
112
120
|
}
|
|
@@ -119,11 +127,11 @@ Create `~/.kaseki/config.json`:
|
|
|
119
127
|
```bash
|
|
120
128
|
export OPENROUTER_API_KEY_FILE=/path/to/openrouter_key
|
|
121
129
|
export GITHUB_APP_ID_FILE=/path/to/github_app_id
|
|
122
|
-
export GITHUB_APP_CLIENT_ID_FILE=/path/to/
|
|
130
|
+
export GITHUB_APP_CLIENT_ID_FILE=/path/to/github_app_client_id
|
|
123
131
|
export GITHUB_APP_PRIVATE_KEY_FILE=/path/to/github_app_private_key
|
|
124
132
|
|
|
125
133
|
# If using sudo, preserve env vars with -E flag
|
|
126
|
-
sudo -E kaseki-agent run ...
|
|
134
|
+
sudo -E env KASEKI_API_URL=http://localhost:8080/api kaseki-agent run ...
|
|
127
135
|
```
|
|
128
136
|
|
|
129
137
|
**Advantages:** Works for one-off runs, CI/CD pipelines.
|
|
@@ -134,25 +142,38 @@ See [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md) for setting up the kaseki-api servi
|
|
|
134
142
|
|
|
135
143
|
**👉 Full guide:** [docs/AUTH_SETUP.md](docs/AUTH_SETUP.md)
|
|
136
144
|
|
|
137
|
-
### Run Your First Task
|
|
145
|
+
### Run Your First API-Backed Task
|
|
146
|
+
|
|
147
|
+
Start or select a Kaseki API controller before using task commands:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Local controller
|
|
151
|
+
KASEKI_API_KEYS=sk-dev kaseki-agent serve --port 8080
|
|
152
|
+
|
|
153
|
+
# Or remote controller
|
|
154
|
+
export KASEKI_API_URL=https://controller.example.com/api
|
|
155
|
+
export KASEKI_API_KEY=sk-your-kaseki-api-key
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Then submit work through the API client:
|
|
138
159
|
|
|
139
160
|
```bash
|
|
140
161
|
# Simple example
|
|
141
|
-
kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
162
|
+
KASEKI_API_KEY=sk-dev kaseki-agent run https://github.com/CyanAutomation/crudmapper main
|
|
142
163
|
|
|
143
164
|
# With custom task prompt
|
|
144
|
-
kaseki-agent run https://github.com/CyanAutomation/crudmapper main \
|
|
165
|
+
KASEKI_API_KEY=sk-dev kaseki-agent run https://github.com/CyanAutomation/crudmapper main \
|
|
145
166
|
"Fix the TypeScript errors in src/"
|
|
146
167
|
```
|
|
147
168
|
|
|
148
|
-
### View Results
|
|
169
|
+
### View API Results
|
|
149
170
|
|
|
150
171
|
```bash
|
|
151
|
-
# List all instances
|
|
152
|
-
kaseki-agent list
|
|
172
|
+
# List all API-known instances
|
|
173
|
+
KASEKI_API_KEY=sk-dev kaseki-agent list
|
|
153
174
|
|
|
154
|
-
# View specific instance
|
|
155
|
-
kaseki-agent report kaseki-1
|
|
175
|
+
# View a specific API-backed instance
|
|
176
|
+
KASEKI_API_KEY=sk-dev kaseki-agent report kaseki-1
|
|
156
177
|
```
|
|
157
178
|
|
|
158
179
|
---
|
|
@@ -176,34 +197,40 @@ kaseki-agent setup
|
|
|
176
197
|
- Saves configuration (project-local or user-global)
|
|
177
198
|
- Runs doctor checks to verify everything works
|
|
178
199
|
|
|
179
|
-
#### `run` —
|
|
200
|
+
#### `run` — Submit Agent Task Through the API
|
|
180
201
|
|
|
181
202
|
```bash
|
|
182
203
|
kaseki-agent run <REPO_URL> [GIT_REF] [TASK_PROMPT]
|
|
183
204
|
```
|
|
184
205
|
|
|
206
|
+
`run` is an API-backed client command. Start `kaseki-agent serve` locally first, or set `KASEKI_API_URL` to an existing controller. Set `KASEKI_API_KEY` when the service requires bearer authentication.
|
|
207
|
+
|
|
185
208
|
**Examples:**
|
|
186
209
|
|
|
187
210
|
```bash
|
|
188
|
-
#
|
|
189
|
-
kaseki-agent
|
|
211
|
+
# Local API service in another terminal
|
|
212
|
+
KASEKI_API_KEYS=sk-dev kaseki-agent serve --port 8080
|
|
213
|
+
|
|
214
|
+
# Simple API submission (uses main branch)
|
|
215
|
+
KASEKI_API_KEY=sk-dev kaseki-agent run https://github.com/CyanAutomation/crudmapper
|
|
190
216
|
|
|
191
|
-
#
|
|
217
|
+
# Remote controller
|
|
218
|
+
KASEKI_API_URL=https://controller.example.com/api \
|
|
219
|
+
KASEKI_API_KEY=sk-your-kaseki-api-key \
|
|
192
220
|
kaseki-agent run https://github.com/CyanAutomation/crudmapper develop
|
|
193
221
|
|
|
194
222
|
# With custom task prompt
|
|
195
|
-
kaseki-agent run https://github.com/CyanAutomation/crudmapper main \
|
|
223
|
+
KASEKI_API_KEY=sk-dev kaseki-agent run https://github.com/CyanAutomation/crudmapper main \
|
|
196
224
|
"Fix all TypeScript errors in src/"
|
|
197
225
|
```
|
|
198
226
|
|
|
199
|
-
**
|
|
227
|
+
**API Flow:**
|
|
200
228
|
|
|
201
|
-
1.
|
|
202
|
-
2.
|
|
203
|
-
3.
|
|
204
|
-
4.
|
|
205
|
-
5.
|
|
206
|
-
6. Collect results and generate report
|
|
229
|
+
1. Resolve the API base URL from `KASEKI_API_URL`, config `api.base_url`, or `http://localhost:8080/api`.
|
|
230
|
+
2. Include `Authorization: Bearer $KASEKI_API_KEY` when configured.
|
|
231
|
+
3. Submit the task to `POST /api/runs`.
|
|
232
|
+
4. Print the controller-provided run ID and status URL.
|
|
233
|
+
5. Use `status`, `list`, or `report` to inspect the API-backed run.
|
|
207
234
|
|
|
208
235
|
#### `doctor` — Health Check & Validation
|
|
209
236
|
|
|
@@ -226,12 +253,14 @@ kaseki-agent doctor [--json] [--fix]
|
|
|
226
253
|
- `--json` — JSON output (useful for scripts)
|
|
227
254
|
- `--fix` — Attempt auto-remediation (pull image, show install hints)
|
|
228
255
|
|
|
229
|
-
#### `list` — Show
|
|
256
|
+
#### `list` — Show API-Known Instances
|
|
230
257
|
|
|
231
258
|
```bash
|
|
232
259
|
kaseki-agent list [--status STATE]
|
|
233
260
|
```
|
|
234
261
|
|
|
262
|
+
`list` reads the configured Kaseki API. It requires a local API service or `KASEKI_API_URL`; it does not scan local result directories.
|
|
263
|
+
|
|
235
264
|
**Filter by status:**
|
|
236
265
|
|
|
237
266
|
```bash
|
|
@@ -247,12 +276,14 @@ kaseki-agent list --status running
|
|
|
247
276
|
- Creation date
|
|
248
277
|
- Execution duration
|
|
249
278
|
|
|
250
|
-
#### `report` — View Instance Results
|
|
279
|
+
#### `report` — View API-Backed Instance Results
|
|
251
280
|
|
|
252
281
|
```bash
|
|
253
282
|
kaseki-agent report <INSTANCE_ID>
|
|
254
283
|
```
|
|
255
284
|
|
|
285
|
+
By default, `report` reads status, analysis, artifact, and log endpoints from the configured API. Use `kaseki-agent report <INSTANCE_ID> --from-disk` only when intentionally inspecting local result files without an API.
|
|
286
|
+
|
|
256
287
|
**Shows:**
|
|
257
288
|
|
|
258
289
|
- Instance metadata (repo, branch, model, status)
|
|
@@ -260,6 +291,23 @@ kaseki-agent report <INSTANCE_ID>
|
|
|
260
291
|
- Final status and exit code
|
|
261
292
|
- Detailed summary (if available)
|
|
262
293
|
|
|
294
|
+
#### `status` — Poll API Run Status
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
kaseki-agent status <INSTANCE_ID> [--json]
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
`status` requires a local API service or configured `KASEKI_API_URL`.
|
|
301
|
+
|
|
302
|
+
#### `stop` / `cancel` — Cancel API-Backed Work
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
kaseki-agent stop <INSTANCE_ID>
|
|
306
|
+
kaseki-agent cancel <INSTANCE_ID>
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Both commands call the configured API to cancel queued or running work.
|
|
310
|
+
|
|
263
311
|
#### `config` — Manage Configuration
|
|
264
312
|
|
|
265
313
|
```bash
|
|
@@ -399,7 +447,11 @@ Configuration is loaded from (in order of precedence):
|
|
|
399
447
|
# Required
|
|
400
448
|
OPENROUTER_API_KEY_FILE=~/.kaseki/secrets/openrouter_api_key
|
|
401
449
|
|
|
402
|
-
#
|
|
450
|
+
# API-client commands
|
|
451
|
+
KASEKI_API_URL=http://localhost:8080/api # Controller API base URL
|
|
452
|
+
KASEKI_API_KEY=sk-your-kaseki-api-key # Bearer token for authenticated APIs
|
|
453
|
+
|
|
454
|
+
# Optional worker/service settings
|
|
403
455
|
KASEKI_ROOT=/agents # Base directory
|
|
404
456
|
KASEKI_MODEL=openrouter/free # AI model
|
|
405
457
|
KASEKI_AGENT_TIMEOUT_SECONDS=1200 # Timeout
|
|
@@ -415,15 +467,18 @@ KASEKI_STARTUP_CHECK_MODE=boot # boot or baseline-validation for dry-ru
|
|
|
415
467
|
|
|
416
468
|
### Deployment Patterns
|
|
417
469
|
|
|
418
|
-
#### CLI (
|
|
470
|
+
#### npm CLI (Admin Toolbox + API Client)
|
|
419
471
|
|
|
420
472
|
```bash
|
|
473
|
+
kaseki-agent doctor
|
|
474
|
+
kaseki-agent setup
|
|
475
|
+
kaseki-agent config show
|
|
421
476
|
kaseki-agent run <repo> <ref>
|
|
422
477
|
```
|
|
423
478
|
|
|
424
|
-
-
|
|
425
|
-
-
|
|
426
|
-
- Best for:
|
|
479
|
+
- Primary workflows: `doctor`, `setup`, `config`, and `secrets`
|
|
480
|
+
- Task workflows: `run`, `list`, `report`, `status`, and `stop`/`cancel` call the Kaseki API
|
|
481
|
+
- Best for: host setup, diagnostics, and submitting work to a local or remote controller
|
|
427
482
|
|
|
428
483
|
#### REST API (Distributed)
|
|
429
484
|
|
|
@@ -664,7 +719,7 @@ curl -H "Authorization: Bearer sk-your-secret-key" \
|
|
|
664
719
|
| `GET` | `/api/runs/:id/analysis` | Comprehensive summary |
|
|
665
720
|
| `GET` | `/api/results/:id/:file` | Download artifact (diff, metadata) |
|
|
666
721
|
|
|
667
|
-
**Full API documentation:** See [docs/API.md](docs/API.md)
|
|
722
|
+
**Full API documentation:** See [docs/API.md](docs/API.md)
|
|
668
723
|
**Deployment guide:** See [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)
|
|
669
724
|
|
|
670
725
|
**When to use:** Distributed orchestration, external controller integration, multi-user scenarios.
|
|
@@ -1217,7 +1272,7 @@ mkdir -p ~/secrets
|
|
|
1217
1272
|
chmod 0700 ~/secrets
|
|
1218
1273
|
|
|
1219
1274
|
echo "YOUR_APP_ID" > ~/secrets/github_app_id
|
|
1220
|
-
echo "YOUR_CLIENT_ID" > ~/secrets/
|
|
1275
|
+
echo "YOUR_CLIENT_ID" > ~/secrets/github_app_client_id
|
|
1221
1276
|
cp ~/path/to/private-key.pem ~/secrets/github_app_private_key
|
|
1222
1277
|
chmod 0600 ~/secrets/github_app_*
|
|
1223
1278
|
```
|
|
@@ -1227,7 +1282,7 @@ chmod 0600 ~/secrets/github_app_*
|
|
|
1227
1282
|
```bash
|
|
1228
1283
|
OPENROUTER_API_KEY_FILE=~/secrets/openrouter_api_key \
|
|
1229
1284
|
GITHUB_APP_ID_FILE=~/secrets/github_app_id \
|
|
1230
|
-
GITHUB_APP_CLIENT_ID_FILE=~/secrets/
|
|
1285
|
+
GITHUB_APP_CLIENT_ID_FILE=~/secrets/github_app_client_id \
|
|
1231
1286
|
GITHUB_APP_PRIVATE_KEY_FILE=~/secrets/github_app_private_key \
|
|
1232
1287
|
/agents/kaseki-template/run-kaseki.sh https://github.com/org/repo
|
|
1233
1288
|
```
|
|
@@ -1238,7 +1293,7 @@ and pass paths rather than embedding the PEM in `.env`:
|
|
|
1238
1293
|
```yaml
|
|
1239
1294
|
environment:
|
|
1240
1295
|
GITHUB_APP_ID_FILE: /agents/secrets/github_app_id
|
|
1241
|
-
GITHUB_APP_CLIENT_ID_FILE: /agents/secrets/
|
|
1296
|
+
GITHUB_APP_CLIENT_ID_FILE: /agents/secrets/github_app_client_id
|
|
1242
1297
|
GITHUB_APP_PRIVATE_KEY_FILE: /agents/secrets/github_app_private_key
|
|
1243
1298
|
volumes:
|
|
1244
1299
|
- /agents:/agents:rw
|
|
@@ -1364,7 +1419,9 @@ Startup checks have two depths. Boot-only startup checks (`startupCheck: true`,
|
|
|
1364
1419
|
|
|
1365
1420
|
| Variable | Default | Notes |
|
|
1366
1421
|
|---|---|---|
|
|
1367
|
-
| `
|
|
1422
|
+
| `KASEKI_API_URL` | `http://localhost:8080/api` | Client-side API base URL for npm task commands |
|
|
1423
|
+
| `KASEKI_API_KEY` | — | Client-side bearer token for npm task commands |
|
|
1424
|
+
| `KASEKI_API_KEYS` | — | Comma-separated API keys accepted by the service |
|
|
1368
1425
|
| `KASEKI_API_PORT` | 8080 | HTTP listen port |
|
|
1369
1426
|
| `KASEKI_API_LOG_LEVEL` | info | Log verbosity: debug/info/warn/error |
|
|
1370
1427
|
| `KASEKI_API_MAX_CONCURRENT_RUNS` | 3 | Max concurrent jobs |
|
package/dist/cli/KasekiCLI.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export declare class KasekiCLI {
|
|
|
22
22
|
* Dispatch to appropriate subcommand
|
|
23
23
|
*/
|
|
24
24
|
dispatch(subcommand: string | undefined, args: string[]): Promise<number>;
|
|
25
|
+
/**
|
|
26
|
+
* Print command-specific help without executing checks or API calls.
|
|
27
|
+
*/
|
|
28
|
+
private printCommandHelp;
|
|
25
29
|
/**
|
|
26
30
|
* Get list of available commands
|
|
27
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+HxB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkFxB;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;CAG5B"}
|
package/dist/cli/KasekiCLI.js
CHANGED
|
@@ -20,9 +20,20 @@ export class KasekiCLI {
|
|
|
20
20
|
registerCommands() {
|
|
21
21
|
// Commands will be loaded dynamically to avoid circular dependencies
|
|
22
22
|
// and reduce startup time
|
|
23
|
+
// NEW: Unified setup wizard (preferred)
|
|
24
|
+
this.commands.set('init', {
|
|
25
|
+
name: 'init',
|
|
26
|
+
description: 'Unified setup wizard (single-run, local API, or production)',
|
|
27
|
+
execute: async (args) => {
|
|
28
|
+
const { InitCommand } = await import('./commands/InitCommand.js');
|
|
29
|
+
const cmd = new InitCommand(this.configManager);
|
|
30
|
+
return cmd.execute(args);
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
// DEPRECATED: Old setup command (delegated to InitCommand for backwards compat)
|
|
23
34
|
this.commands.set('setup', {
|
|
24
35
|
name: 'setup',
|
|
25
|
-
description: 'Interactive setup wizard
|
|
36
|
+
description: '(DEPRECATED: use "init" instead) Interactive setup wizard',
|
|
26
37
|
execute: async (args) => {
|
|
27
38
|
const { SetupCommand } = await import('./commands/SetupCommand.js');
|
|
28
39
|
const cmd = new SetupCommand(this.configManager);
|
|
@@ -31,7 +42,7 @@ export class KasekiCLI {
|
|
|
31
42
|
});
|
|
32
43
|
this.commands.set('run', {
|
|
33
44
|
name: 'run',
|
|
34
|
-
description: '
|
|
45
|
+
description: 'Submit a task run through the local Kaseki API',
|
|
35
46
|
execute: async (args) => {
|
|
36
47
|
const { RunCommand } = await import('./commands/RunCommand.js');
|
|
37
48
|
const cmd = new RunCommand(this.configManager);
|
|
@@ -49,7 +60,7 @@ export class KasekiCLI {
|
|
|
49
60
|
});
|
|
50
61
|
this.commands.set('serve', {
|
|
51
62
|
name: 'serve',
|
|
52
|
-
description: 'Start REST API service for async execution',
|
|
63
|
+
description: 'Start the local REST API service for async task execution',
|
|
53
64
|
execute: async (args) => {
|
|
54
65
|
const { ServeCommand } = await import('./commands/ServeCommand.js');
|
|
55
66
|
const cmd = new ServeCommand(this.configManager);
|
|
@@ -67,7 +78,7 @@ export class KasekiCLI {
|
|
|
67
78
|
});
|
|
68
79
|
this.commands.set('list', {
|
|
69
80
|
name: 'list',
|
|
70
|
-
description: 'List
|
|
81
|
+
description: 'List task runs through the local Kaseki API',
|
|
71
82
|
execute: async (args) => {
|
|
72
83
|
const { ListCommand } = await import('./commands/ListCommand.js');
|
|
73
84
|
const cmd = new ListCommand(this.configManager);
|
|
@@ -76,13 +87,40 @@ export class KasekiCLI {
|
|
|
76
87
|
});
|
|
77
88
|
this.commands.set('report', {
|
|
78
89
|
name: 'report',
|
|
79
|
-
description: 'Generate report
|
|
90
|
+
description: 'Generate a task report through the local Kaseki API',
|
|
80
91
|
execute: async (args) => {
|
|
81
92
|
const { ReportCommand } = await import('./commands/ReportCommand.js');
|
|
82
93
|
const cmd = new ReportCommand(this.configManager);
|
|
83
94
|
return cmd.execute(args);
|
|
84
95
|
},
|
|
85
96
|
});
|
|
97
|
+
this.commands.set('status', {
|
|
98
|
+
name: 'status',
|
|
99
|
+
description: 'Poll task status through the local Kaseki API',
|
|
100
|
+
execute: async (args) => {
|
|
101
|
+
const { StatusCommand } = await import('./commands/StatusCommand.js');
|
|
102
|
+
const cmd = new StatusCommand(this.configManager);
|
|
103
|
+
return cmd.execute(args);
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
this.commands.set('cancel', {
|
|
107
|
+
name: 'cancel',
|
|
108
|
+
description: 'Cancel a queued or running task through the local Kaseki API',
|
|
109
|
+
execute: async (args) => {
|
|
110
|
+
const { CancelCommand } = await import('./commands/CancelCommand.js');
|
|
111
|
+
const cmd = new CancelCommand(this.configManager);
|
|
112
|
+
return cmd.execute(args);
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
this.commands.set('stop', {
|
|
116
|
+
name: 'stop',
|
|
117
|
+
description: 'Alias for cancel; stops a task through the local Kaseki API',
|
|
118
|
+
execute: async (args) => {
|
|
119
|
+
const { CancelCommand } = await import('./commands/CancelCommand.js');
|
|
120
|
+
const cmd = new CancelCommand(this.configManager, undefined, 'stop');
|
|
121
|
+
return cmd.execute(args);
|
|
122
|
+
},
|
|
123
|
+
});
|
|
86
124
|
this.commands.set('secrets', {
|
|
87
125
|
name: 'secrets',
|
|
88
126
|
description: 'Manage stored secrets (keyring/file)',
|
|
@@ -107,6 +145,10 @@ export class KasekiCLI {
|
|
|
107
145
|
console.error('\nRun \'kaseki-agent --help\' for available commands');
|
|
108
146
|
return 1;
|
|
109
147
|
}
|
|
148
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
149
|
+
this.printCommandHelp(command.name);
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
110
152
|
try {
|
|
111
153
|
logger.debug(`Executing command: ${subcommand}`);
|
|
112
154
|
return await command.execute(args);
|
|
@@ -124,6 +166,89 @@ export class KasekiCLI {
|
|
|
124
166
|
return 1;
|
|
125
167
|
}
|
|
126
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Print command-specific help without executing checks or API calls.
|
|
171
|
+
*/
|
|
172
|
+
printCommandHelp(commandName) {
|
|
173
|
+
const help = {
|
|
174
|
+
doctor: `doctor - diagnose host, dependencies, templates, and configuration
|
|
175
|
+
|
|
176
|
+
USAGE
|
|
177
|
+
kaseki-agent doctor [--json] [--fix] [--verbose]
|
|
178
|
+
|
|
179
|
+
OPTIONS
|
|
180
|
+
--json Emit machine-readable check results
|
|
181
|
+
--fix Attempt safe auto-remediation for fixable checks
|
|
182
|
+
--verbose Include more diagnostic context where available`,
|
|
183
|
+
setup: `setup - interactive first-time configuration wizard
|
|
184
|
+
|
|
185
|
+
USAGE
|
|
186
|
+
kaseki-agent setup`,
|
|
187
|
+
config: `config - manage Kaseki configuration
|
|
188
|
+
|
|
189
|
+
USAGE
|
|
190
|
+
kaseki-agent config get <KEY> [--global]
|
|
191
|
+
kaseki-agent config set <KEY> <VALUE> [--global]
|
|
192
|
+
kaseki-agent config show [--global]
|
|
193
|
+
kaseki-agent config locations`,
|
|
194
|
+
secrets: `secrets - manage stored secrets
|
|
195
|
+
|
|
196
|
+
USAGE
|
|
197
|
+
kaseki-agent secrets init
|
|
198
|
+
kaseki-agent secrets set <NAME> <VALUE>
|
|
199
|
+
kaseki-agent secrets get <NAME> [--show]
|
|
200
|
+
kaseki-agent secrets list
|
|
201
|
+
kaseki-agent secrets delete <NAME>`,
|
|
202
|
+
serve: `serve - start the local REST API service
|
|
203
|
+
|
|
204
|
+
USAGE
|
|
205
|
+
kaseki-agent serve [--port PORT]`,
|
|
206
|
+
run: `run - submit a task run through the configured Kaseki API
|
|
207
|
+
|
|
208
|
+
USAGE
|
|
209
|
+
kaseki-agent run <REPO_URL> [GIT_REF] [TASK_PROMPT]
|
|
210
|
+
|
|
211
|
+
REQUIRES
|
|
212
|
+
A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.
|
|
213
|
+
Set KASEKI_API_KEY when the API requires bearer-token authentication.`,
|
|
214
|
+
list: `list - list task runs through the configured Kaseki API
|
|
215
|
+
|
|
216
|
+
USAGE
|
|
217
|
+
kaseki-agent list [--status queued|running|completed|failed]
|
|
218
|
+
|
|
219
|
+
REQUIRES
|
|
220
|
+
A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.`,
|
|
221
|
+
report: `report - generate a run report
|
|
222
|
+
|
|
223
|
+
USAGE
|
|
224
|
+
kaseki-agent report <RUN_ID> [--from-disk]
|
|
225
|
+
|
|
226
|
+
REQUIRES
|
|
227
|
+
API mode requires a local API service or KASEKI_API_URL. Use --from-disk to inspect local result files without API access.`,
|
|
228
|
+
status: `status - poll task status through the configured Kaseki API
|
|
229
|
+
|
|
230
|
+
USAGE
|
|
231
|
+
kaseki-agent status <RUN_ID> [--json]
|
|
232
|
+
|
|
233
|
+
REQUIRES
|
|
234
|
+
A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.`,
|
|
235
|
+
cancel: `cancel - cancel a queued or running task through the configured Kaseki API
|
|
236
|
+
|
|
237
|
+
USAGE
|
|
238
|
+
kaseki-agent cancel <RUN_ID>
|
|
239
|
+
|
|
240
|
+
REQUIRES
|
|
241
|
+
A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.`,
|
|
242
|
+
stop: `stop - alias for cancel
|
|
243
|
+
|
|
244
|
+
USAGE
|
|
245
|
+
kaseki-agent stop <RUN_ID>
|
|
246
|
+
|
|
247
|
+
REQUIRES
|
|
248
|
+
A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.`,
|
|
249
|
+
};
|
|
250
|
+
console.log(help[commandName] || `${commandName} - no detailed help available`);
|
|
251
|
+
}
|
|
127
252
|
/**
|
|
128
253
|
* Get list of available commands
|
|
129
254
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAQ1C,MAAM,OAAO,SAAS;IACZ,aAAa,CAAgB;IAC7B,QAAQ,CAA0B;IAE1C,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,gBAAgB;QACtB,qEAAqE;QACrE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ConfigManager } from '../../config/ConfigManager';
|
|
2
|
+
import { type AnalysisResponse, type LogResponse, type RunArtifactsResponse, type RunRequest, type RunResponse, type RunsListResponse, type StatusResponse } from '../../kaseki-api-types';
|
|
3
|
+
export interface LocalKasekiApiClientOptions {
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
apiKey?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class LocalKasekiApiClient {
|
|
8
|
+
readonly baseUrl: string;
|
|
9
|
+
private readonly apiKey?;
|
|
10
|
+
constructor(options?: LocalKasekiApiClientOptions);
|
|
11
|
+
static fromConfig(configManager: ConfigManager): LocalKasekiApiClient;
|
|
12
|
+
getRunStatusUrl(runId: string): string;
|
|
13
|
+
createRun(request: RunRequest): Promise<RunResponse>;
|
|
14
|
+
listRuns(): Promise<RunsListResponse>;
|
|
15
|
+
getRunStatus(runId: string): Promise<StatusResponse>;
|
|
16
|
+
getRunAnalysis(runId: string): Promise<AnalysisResponse>;
|
|
17
|
+
getRunArtifacts(runId: string): Promise<RunArtifactsResponse>;
|
|
18
|
+
getRunLog(runId: string, logType: LogResponse['logType']): Promise<LogResponse>;
|
|
19
|
+
cancelRun(runId: string): Promise<StatusResponse>;
|
|
20
|
+
private requestJson;
|
|
21
|
+
private readErrorDetail;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=LocalKasekiApiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalKasekiApiClient.d.ts","sourceRoot":"","sources":["../../../src/cli/api/LocalKasekiApiClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAwB,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAwHjN,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,OAAO,GAAE,2BAAgC;IAKrD,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAUrE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBpD,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKpD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKxD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK7D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAK/E,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAOzC,WAAW;YAuBX,eAAe;CAS9B"}
|