bonecode 1.2.0 → 1.2.2
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 +145 -9
- package/compat/opencode_adapter.ts +60 -21
- package/dist/compat/opencode_adapter.js +54 -15
- package/dist/compat/opencode_adapter.js.map +1 -1
- package/dist/src/cli.js +63 -30
- package/dist/src/cli.js.map +1 -1
- package/dist/src/engine/session/prompt.js +9 -0
- package/dist/src/engine/session/prompt.js.map +1 -1
- package/dist/src/engine/session/tool_registry.js +28 -2
- package/dist/src/engine/session/tool_registry.js.map +1 -1
- package/dist/src/stats.d.ts +3 -0
- package/dist/src/stats.js +43 -3
- package/dist/src/stats.js.map +1 -1
- package/package.json +1 -1
- package/scripts/test_v1_2.js +420 -0
- package/src/cli.ts +67 -33
- package/src/engine/session/prompt.ts +10 -0
- package/src/engine/session/tool_registry.ts +33 -2
- package/src/stats.ts +55 -3
package/README.md
CHANGED
|
@@ -11,27 +11,90 @@
|
|
|
11
11
|
npm install -g bonecode
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Then
|
|
14
|
+
Then run it from any project directory:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
bonecode
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Interfaces
|
|
23
|
+
|
|
24
|
+
BoneCode ships three ways to interact with the agent.
|
|
25
|
+
|
|
26
|
+
### Terminal UI (default)
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
bonecode
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Opens an interactive terminal session in the current directory. Type `/` to see all available commands.
|
|
33
|
+
|
|
34
|
+
| Key | Action |
|
|
35
|
+
|-----|--------|
|
|
36
|
+
| `/` | Show command menu (arrow keys to navigate, Enter/Tab to select) |
|
|
37
|
+
| `Ctrl+C` | Interrupt the current agent request |
|
|
38
|
+
| `Ctrl+D` | Exit |
|
|
39
|
+
| `↑ / ↓` | Scroll through prompt history |
|
|
40
|
+
| `@<path>` | Attach a file (Tab to autocomplete) |
|
|
41
|
+
|
|
42
|
+
### Web UI
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
bonecode web
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Starts the server and opens the web interface in your browser at `http://localhost:3000/ui`.
|
|
49
|
+
|
|
50
|
+
If you already have the server running separately (`bonecode serve`), just navigate to:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
http://localhost:3000/ui
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Build the web UI for production** (optional — the server serves it automatically after building):
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
cd web && npm install && npm run build
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The built assets are served from `/ui`. Without a build, the server serves the raw source files in dev mode — functional but without bundling.
|
|
63
|
+
|
|
64
|
+
**Run the web UI in hot-reload dev mode** (separate terminal):
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cd web && npm install && npm run dev
|
|
68
|
+
# Opens at http://localhost:5173 with proxy to the BoneCode server
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Headless server
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
bonecode serve
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Starts the API server only (no TUI, no browser). Useful for CI, Docker, or connecting your own client.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
20
81
|
## Database modes
|
|
21
82
|
|
|
22
|
-
BoneCode automatically detects what's available
|
|
83
|
+
BoneCode automatically detects what's available:
|
|
23
84
|
|
|
24
85
|
| Mode | Setup required | Features |
|
|
25
86
|
|------|---------------|----------|
|
|
26
87
|
| **PostgreSQL** (full) | Docker | Sessions + agents + **pgvector RAG** + hybrid search + durable events |
|
|
27
88
|
| **SQLite** (basic) | Nothing | Sessions + agents only — no RAG, no vector search |
|
|
28
89
|
|
|
29
|
-
|
|
90
|
+
No Docker? BoneCode falls back to SQLite automatically — fully working agent, just without codebase indexing.
|
|
30
91
|
|
|
31
|
-
|
|
92
|
+
Want the full experience? Install Docker and run `bonecode` — it starts Postgres automatically on first run.
|
|
32
93
|
|
|
33
94
|
> Install Docker: https://docs.docker.com/get-docker/
|
|
34
95
|
|
|
96
|
+
---
|
|
97
|
+
|
|
35
98
|
## Configuration
|
|
36
99
|
|
|
37
100
|
Copy `.env.example` to `.env` and set your LLM provider:
|
|
@@ -50,14 +113,77 @@ OPENAI_API_KEY=not-needed
|
|
|
50
113
|
MODEL_SUPPORTS_TOOLS=false
|
|
51
114
|
```
|
|
52
115
|
|
|
53
|
-
For cloud providers
|
|
116
|
+
For cloud providers just set the API key — no base URL needed:
|
|
117
|
+
|
|
118
|
+
```env
|
|
119
|
+
# Anthropic
|
|
120
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
121
|
+
DEFAULT_PROVIDER=anthropic
|
|
122
|
+
DEFAULT_MODEL=claude-sonnet-4-5
|
|
123
|
+
|
|
124
|
+
# OpenAI
|
|
125
|
+
OPENAI_API_KEY=sk-...
|
|
126
|
+
DEFAULT_PROVIDER=openai
|
|
127
|
+
DEFAULT_MODEL=gpt-4o
|
|
128
|
+
|
|
129
|
+
# Google
|
|
130
|
+
GOOGLE_API_KEY=...
|
|
131
|
+
DEFAULT_PROVIDER=google
|
|
132
|
+
DEFAULT_MODEL=gemini-2.0-flash
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## CLI commands
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
bonecode Start server + open TUI
|
|
141
|
+
bonecode serve Start headless server only
|
|
142
|
+
bonecode web Start server + open web UI in browser
|
|
143
|
+
bonecode run "fix the bug" Send a one-shot prompt
|
|
144
|
+
bonecode run -i Interactive terminal mode (no TUI)
|
|
145
|
+
bonecode stats Show token usage and cost statistics
|
|
146
|
+
bonecode export [id] Export a session as JSON
|
|
147
|
+
bonecode pr <number> Checkout a GitHub PR branch
|
|
148
|
+
bonecode github install Show GitHub Actions agent setup
|
|
149
|
+
bonecode compile Recompile .bone domain models
|
|
150
|
+
bonecode migrate Run database migrations
|
|
151
|
+
bonecode status Check if server is running
|
|
152
|
+
bonecode --version Show version
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Stats
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
bonecode stats # all-time usage
|
|
159
|
+
bonecode stats --days 7 # last 7 days
|
|
160
|
+
bonecode stats --models 5 # show top 5 models
|
|
161
|
+
bonecode stats --tools # show tool usage breakdown
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Export
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
bonecode export # export most recent session
|
|
168
|
+
bonecode export <session-id> # export specific session
|
|
169
|
+
bonecode export --sanitize # redact file paths, tool outputs, etc.
|
|
170
|
+
bonecode export > session.json # pipe to file
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
54
174
|
|
|
55
175
|
## What's different from OpenCode
|
|
56
176
|
|
|
57
|
-
- **BoneScript backend** —
|
|
58
|
-
- **pgvector RAG** —
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
177
|
+
- **BoneScript backend** — domain models declared in `.bone` files, compiled to Express + state machines + saga flows + durable events
|
|
178
|
+
- **pgvector RAG** — hybrid search (vector + BM25 + RRF fusion), works without an embedding model using structural context
|
|
179
|
+
- **Web UI** — browser interface at `/ui` in addition to the TUI
|
|
180
|
+
- **mDNS discovery** — server announces itself as `bonecode.local` on the local network
|
|
181
|
+
- **Cursor pagination** — v2 session and message APIs support bidirectional keyset pagination
|
|
182
|
+
- **Subagent spawning** — `POST /v2/session/:id/subagent` creates and runs a child session
|
|
183
|
+
- **Single command** — `bonecode` starts everything in one process
|
|
184
|
+
- **SQLite fallback** — works out of the box without Docker
|
|
185
|
+
|
|
186
|
+
---
|
|
61
187
|
|
|
62
188
|
## Architecture
|
|
63
189
|
|
|
@@ -77,8 +203,18 @@ BoneCode/
|
|
|
77
203
|
│ ├── cli.ts # bonecode CLI entry point
|
|
78
204
|
│ ├── tui.ts # Interactive terminal UI
|
|
79
205
|
│ ├── server.ts # Express server (auto Postgres/SQLite)
|
|
206
|
+
│ ├── mdns.ts # mDNS/Bonjour local network discovery
|
|
207
|
+
│ ├── stats.ts # Token/cost statistics
|
|
208
|
+
│ ├── export.ts # Session export with PII redaction
|
|
80
209
|
│ ├── db_adapter.ts # Database detection + SQLite shim
|
|
81
210
|
│ └── engine/ # Agent loop, tools, context builder
|
|
211
|
+
├── web/ # Web UI (vanilla TypeScript + Vite)
|
|
212
|
+
│ ├── index.html
|
|
213
|
+
│ ├── src/
|
|
214
|
+
│ │ ├── main.ts # Entry point
|
|
215
|
+
│ │ ├── app.ts # Main app class
|
|
216
|
+
│ │ └── api.ts # API client
|
|
217
|
+
│ └── vite.config.ts # Dev server with proxy to :3000
|
|
82
218
|
├── compat/
|
|
83
219
|
│ └── opencode_adapter.ts # OpenCode v2 API compatibility layer
|
|
84
220
|
└── extensions/ # Custom extension points (embeddings, chunking, etc.)
|
|
@@ -168,25 +168,24 @@ compatRouter.delete("/v2/session/:id", async (req: Request, res: Response) => {
|
|
|
168
168
|
compatRouter.post("/v2/session/:id/cancel", async (req: Request, res: Response) => {
|
|
169
169
|
const session_id = req.params.id;
|
|
170
170
|
try {
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}, "CompatAdapter");
|
|
171
|
+
// Each query is isolated — in SQLite mode, agent_instances may not exist
|
|
172
|
+
// and we still want the cancel to succeed for the session-level cleanup.
|
|
173
|
+
try {
|
|
174
|
+
await pool.query(
|
|
175
|
+
`UPDATE agent_instances SET state = 'cancelled', updated_at = NOW()
|
|
176
|
+
WHERE session_id = $1 AND state IN ('running', 'waiting_for_tool', 'compacting')`,
|
|
177
|
+
[session_id]
|
|
178
|
+
);
|
|
179
|
+
} catch { /* table may not exist in SQLite mode */ }
|
|
180
|
+
|
|
181
|
+
try {
|
|
182
|
+
await pool.query(
|
|
183
|
+
`UPDATE sessions SET state = 'active', updated_at = NOW()
|
|
184
|
+
WHERE id = $1 AND state IN ('busy', 'compacting')`,
|
|
185
|
+
[session_id]
|
|
186
|
+
);
|
|
187
|
+
} catch { /* session may not exist — that's fine, cancel is idempotent */ }
|
|
188
|
+
|
|
190
189
|
res.json({ ok: true });
|
|
191
190
|
} catch (e: any) {
|
|
192
191
|
res.status(500).json({ error: { code: "CANCEL_FAILED", message: e.message } });
|
|
@@ -230,8 +229,11 @@ compatRouter.post("/v2/session/:id/prompt", requireAuth, async (req: Request, re
|
|
|
230
229
|
sendSSE(res, "message.updated", { type: "message.updated", properties: { id: message_id, sessionID: session_id } });
|
|
231
230
|
|
|
232
231
|
// Subscribe to part_stream BEFORE starting the agent so we don't miss any deltas.
|
|
233
|
-
// The agent loop calls broadcastToChannel("part_stream",
|
|
234
|
-
//
|
|
232
|
+
// The agent loop calls broadcastToChannel("part_stream", ...) for:
|
|
233
|
+
// - part.delta — text chunks
|
|
234
|
+
// - tool.requested — tool call started (with tool_name + tool_input)
|
|
235
|
+
// - tool.completed — tool call finished (with duration_ms)
|
|
236
|
+
// - tool.failed — tool call errored
|
|
235
237
|
const channelHandler = (msg: any) => {
|
|
236
238
|
if (msg.session_id !== session_id) return;
|
|
237
239
|
if (msg.type === "part.delta") {
|
|
@@ -241,6 +243,14 @@ compatRouter.post("/v2/session/:id/prompt", requireAuth, async (req: Request, re
|
|
|
241
243
|
partID: msg.part_id,
|
|
242
244
|
messageID: msg.message_id,
|
|
243
245
|
});
|
|
246
|
+
} else if (
|
|
247
|
+
msg.type === "tool.requested" ||
|
|
248
|
+
msg.type === "tool.completed" ||
|
|
249
|
+
msg.type === "tool.failed"
|
|
250
|
+
) {
|
|
251
|
+
// Forward tool activity events directly — these carry tool_name and tool_input
|
|
252
|
+
// so the TUI can display "← Edit src/foo.ts" etc.
|
|
253
|
+
sendSSE(res, msg.type, msg);
|
|
244
254
|
}
|
|
245
255
|
};
|
|
246
256
|
subscribeToChannel("part_stream", channelHandler);
|
|
@@ -512,6 +522,35 @@ compatRouter.put("/v2/config", (req: Request, res: Response) => {
|
|
|
512
522
|
res.json({ ok: true });
|
|
513
523
|
});
|
|
514
524
|
|
|
525
|
+
// GET /v2/stats — token usage and cost aggregation
|
|
526
|
+
compatRouter.get("/v2/stats", async (req: Request, res: Response) => {
|
|
527
|
+
try {
|
|
528
|
+
const { aggregateStats } = await import("../src/stats");
|
|
529
|
+
const days = req.query.days ? parseInt(String(req.query.days)) : undefined;
|
|
530
|
+
const projectFilter = req.query.project ? String(req.query.project) : undefined;
|
|
531
|
+
const stats = await aggregateStats(pool as any, { days, projectFilter });
|
|
532
|
+
res.json(stats);
|
|
533
|
+
} catch (e: any) {
|
|
534
|
+
res.status(500).json({ error: { code: "STATS_FAILED", message: e.message } });
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
|
|
538
|
+
// GET /v2/session/:id/export — session export with optional sanitization
|
|
539
|
+
compatRouter.get("/v2/session/:id/export", async (req: Request, res: Response) => {
|
|
540
|
+
try {
|
|
541
|
+
const { exportSession } = await import("../src/export");
|
|
542
|
+
const sanitize = req.query.sanitize === "true" || req.query.sanitize === "1";
|
|
543
|
+
const json = await exportSession(pool as any, req.params.id, { sanitize });
|
|
544
|
+
res.type("application/json").send(json);
|
|
545
|
+
} catch (e: any) {
|
|
546
|
+
if (e.message?.includes("not found")) {
|
|
547
|
+
res.status(404).json({ error: { code: "NOT_FOUND", message: e.message } });
|
|
548
|
+
} else {
|
|
549
|
+
res.status(500).json({ error: { code: "EXPORT_FAILED", message: e.message } });
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
|
|
515
554
|
// ─── Health ───────────────────────────────────────────────────────────────────
|
|
516
555
|
|
|
517
556
|
compatRouter.get("/health", async (_req: Request, res: Response) => {
|
|
@@ -182,19 +182,18 @@ exports.compatRouter.delete("/v2/session/:id", async (req, res) => {
|
|
|
182
182
|
exports.compatRouter.post("/v2/session/:id/cancel", async (req, res) => {
|
|
183
183
|
const session_id = req.params.id;
|
|
184
184
|
try {
|
|
185
|
-
//
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}, "CompatAdapter");
|
|
185
|
+
// Each query is isolated — in SQLite mode, agent_instances may not exist
|
|
186
|
+
// and we still want the cancel to succeed for the session-level cleanup.
|
|
187
|
+
try {
|
|
188
|
+
await db_1.pool.query(`UPDATE agent_instances SET state = 'cancelled', updated_at = NOW()
|
|
189
|
+
WHERE session_id = $1 AND state IN ('running', 'waiting_for_tool', 'compacting')`, [session_id]);
|
|
190
|
+
}
|
|
191
|
+
catch { /* table may not exist in SQLite mode */ }
|
|
192
|
+
try {
|
|
193
|
+
await db_1.pool.query(`UPDATE sessions SET state = 'active', updated_at = NOW()
|
|
194
|
+
WHERE id = $1 AND state IN ('busy', 'compacting')`, [session_id]);
|
|
195
|
+
}
|
|
196
|
+
catch { /* session may not exist — that's fine, cancel is idempotent */ }
|
|
198
197
|
res.json({ ok: true });
|
|
199
198
|
}
|
|
200
199
|
catch (e) {
|
|
@@ -222,8 +221,11 @@ exports.compatRouter.post("/v2/session/:id/prompt", auth_1.requireAuth, async (r
|
|
|
222
221
|
sendSSE(res, "session.updated", { type: "session.updated", properties: { id: session_id } });
|
|
223
222
|
sendSSE(res, "message.updated", { type: "message.updated", properties: { id: message_id, sessionID: session_id } });
|
|
224
223
|
// Subscribe to part_stream BEFORE starting the agent so we don't miss any deltas.
|
|
225
|
-
// The agent loop calls broadcastToChannel("part_stream",
|
|
226
|
-
//
|
|
224
|
+
// The agent loop calls broadcastToChannel("part_stream", ...) for:
|
|
225
|
+
// - part.delta — text chunks
|
|
226
|
+
// - tool.requested — tool call started (with tool_name + tool_input)
|
|
227
|
+
// - tool.completed — tool call finished (with duration_ms)
|
|
228
|
+
// - tool.failed — tool call errored
|
|
227
229
|
const channelHandler = (msg) => {
|
|
228
230
|
if (msg.session_id !== session_id)
|
|
229
231
|
return;
|
|
@@ -235,6 +237,13 @@ exports.compatRouter.post("/v2/session/:id/prompt", auth_1.requireAuth, async (r
|
|
|
235
237
|
messageID: msg.message_id,
|
|
236
238
|
});
|
|
237
239
|
}
|
|
240
|
+
else if (msg.type === "tool.requested" ||
|
|
241
|
+
msg.type === "tool.completed" ||
|
|
242
|
+
msg.type === "tool.failed") {
|
|
243
|
+
// Forward tool activity events directly — these carry tool_name and tool_input
|
|
244
|
+
// so the TUI can display "← Edit src/foo.ts" etc.
|
|
245
|
+
sendSSE(res, msg.type, msg);
|
|
246
|
+
}
|
|
238
247
|
};
|
|
239
248
|
(0, websocket_1.subscribeToChannel)("part_stream", channelHandler);
|
|
240
249
|
// Subscribe to eventBus for tool calls and agent state changes
|
|
@@ -472,6 +481,36 @@ exports.compatRouter.put("/v2/config", (req, res) => {
|
|
|
472
481
|
// Config updates are stored in the DB in production
|
|
473
482
|
res.json({ ok: true });
|
|
474
483
|
});
|
|
484
|
+
// GET /v2/stats — token usage and cost aggregation
|
|
485
|
+
exports.compatRouter.get("/v2/stats", async (req, res) => {
|
|
486
|
+
try {
|
|
487
|
+
const { aggregateStats } = await Promise.resolve().then(() => __importStar(require("../src/stats")));
|
|
488
|
+
const days = req.query.days ? parseInt(String(req.query.days)) : undefined;
|
|
489
|
+
const projectFilter = req.query.project ? String(req.query.project) : undefined;
|
|
490
|
+
const stats = await aggregateStats(db_1.pool, { days, projectFilter });
|
|
491
|
+
res.json(stats);
|
|
492
|
+
}
|
|
493
|
+
catch (e) {
|
|
494
|
+
res.status(500).json({ error: { code: "STATS_FAILED", message: e.message } });
|
|
495
|
+
}
|
|
496
|
+
});
|
|
497
|
+
// GET /v2/session/:id/export — session export with optional sanitization
|
|
498
|
+
exports.compatRouter.get("/v2/session/:id/export", async (req, res) => {
|
|
499
|
+
try {
|
|
500
|
+
const { exportSession } = await Promise.resolve().then(() => __importStar(require("../src/export")));
|
|
501
|
+
const sanitize = req.query.sanitize === "true" || req.query.sanitize === "1";
|
|
502
|
+
const json = await exportSession(db_1.pool, req.params.id, { sanitize });
|
|
503
|
+
res.type("application/json").send(json);
|
|
504
|
+
}
|
|
505
|
+
catch (e) {
|
|
506
|
+
if (e.message?.includes("not found")) {
|
|
507
|
+
res.status(404).json({ error: { code: "NOT_FOUND", message: e.message } });
|
|
508
|
+
}
|
|
509
|
+
else {
|
|
510
|
+
res.status(500).json({ error: { code: "EXPORT_FAILED", message: e.message } });
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
});
|
|
475
514
|
// ─── Health ───────────────────────────────────────────────────────────────────
|
|
476
515
|
exports.compatRouter.get("/health", async (_req, res) => {
|
|
477
516
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode_adapter.js","sourceRoot":"","sources":["../../compat/opencode_adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opencode_adapter.js","sourceRoot":"","sources":["../../compat/opencode_adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli.js
CHANGED
|
@@ -414,45 +414,52 @@ async function cmdStats(args) {
|
|
|
414
414
|
})();
|
|
415
415
|
const port = parseInt(process.env.PORT || "3000");
|
|
416
416
|
await ensureServer(port);
|
|
417
|
-
//
|
|
418
|
-
const
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
await
|
|
417
|
+
// Call the server's /v2/stats endpoint — uses the same DB the server is connected to
|
|
418
|
+
const params = new URLSearchParams();
|
|
419
|
+
if (days !== undefined)
|
|
420
|
+
params.set("days", String(days));
|
|
421
|
+
if (projectFilter)
|
|
422
|
+
params.set("project", projectFilter);
|
|
423
|
+
const url = `http://localhost:${port}/v2/stats${params.toString() ? "?" + params.toString() : ""}`;
|
|
424
|
+
console.log(`${c.dim}Aggregating stats...${c.reset}`);
|
|
425
|
+
const r = await fetch(url);
|
|
426
|
+
if (!r.ok) {
|
|
427
|
+
console.error(`${c.red}Error:${c.reset} ${await r.text()}`);
|
|
428
|
+
process.exit(1);
|
|
428
429
|
}
|
|
430
|
+
const stats = await r.json();
|
|
431
|
+
const { displayStats } = await Promise.resolve().then(() => __importStar(require("./stats")));
|
|
432
|
+
displayStats(stats, toolLimit, modelLimit);
|
|
429
433
|
}
|
|
430
434
|
async function cmdExport(args) {
|
|
431
435
|
const sessionId = args.find(a => !a.startsWith("-"));
|
|
432
436
|
const sanitize = args.includes("--sanitize");
|
|
433
437
|
const port = parseInt(process.env.PORT || "3000");
|
|
434
438
|
await ensureServer(port);
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
const sessions = await listSessionsForExport(pool);
|
|
443
|
-
if (sessions.length === 0) {
|
|
444
|
-
console.error(`${c.red}No sessions found${c.reset}`);
|
|
445
|
-
process.exit(1);
|
|
446
|
-
}
|
|
447
|
-
sid = sessions[0].id;
|
|
448
|
-
console.error(`${c.dim}Exporting most recent session: ${sid}${c.reset}`);
|
|
439
|
+
// Resolve session ID — if not provided, list and pick the most recent
|
|
440
|
+
let sid = sessionId;
|
|
441
|
+
if (!sid) {
|
|
442
|
+
const r = await fetch(`http://localhost:${port}/v2/session?limit=1`);
|
|
443
|
+
if (!r.ok) {
|
|
444
|
+
console.error(`${c.red}Error:${c.reset} ${await r.text()}`);
|
|
445
|
+
process.exit(1);
|
|
449
446
|
}
|
|
450
|
-
const
|
|
451
|
-
|
|
447
|
+
const list = await r.json();
|
|
448
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
449
|
+
console.error(`${c.red}No sessions found${c.reset}`);
|
|
450
|
+
process.exit(1);
|
|
451
|
+
}
|
|
452
|
+
sid = list[0].id;
|
|
453
|
+
console.error(`${c.dim}Exporting most recent session: ${sid}${c.reset}`);
|
|
452
454
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
+
const url = `http://localhost:${port}/v2/session/${sid}/export${sanitize ? "?sanitize=true" : ""}`;
|
|
456
|
+
const r = await fetch(url);
|
|
457
|
+
if (!r.ok) {
|
|
458
|
+
console.error(`${c.red}Error:${c.reset} ${await r.text()}`);
|
|
459
|
+
process.exit(1);
|
|
455
460
|
}
|
|
461
|
+
const json = await r.text();
|
|
462
|
+
process.stdout.write(json + "\n");
|
|
456
463
|
}
|
|
457
464
|
async function cmdWeb(args) {
|
|
458
465
|
const port = parseInt(args.find(a => a.startsWith("--port="))?.split("=")[1] || process.env.PORT || "3000");
|
|
@@ -680,7 +687,33 @@ async function main() {
|
|
|
680
687
|
}
|
|
681
688
|
}
|
|
682
689
|
}
|
|
683
|
-
main()
|
|
690
|
+
main()
|
|
691
|
+
.then(() => {
|
|
692
|
+
// For short-lived commands (status, stats, export, etc.), set exit code 0
|
|
693
|
+
// and let Node terminate naturally. Calling process.exit(0) immediately
|
|
694
|
+
// after stdout writes can trigger a libuv UV_HANDLE_CLOSING assertion on
|
|
695
|
+
// Windows + Node v24.
|
|
696
|
+
const cmd = process.argv[2];
|
|
697
|
+
const longRunning = ["serve", "web", "run"].includes(cmd) ||
|
|
698
|
+
!cmd ||
|
|
699
|
+
cmd === undefined ||
|
|
700
|
+
(cmd && !cmd.startsWith("-") && !["status", "stats", "export", "compile", "migrate", "pr", "github", "help"].includes(cmd));
|
|
701
|
+
if (!longRunning) {
|
|
702
|
+
process.exitCode = 0;
|
|
703
|
+
// Schedule a hard exit after stdout drains, in case lingering handles
|
|
704
|
+
// (node-pg, etc.) keep the loop alive.
|
|
705
|
+
setImmediate(() => {
|
|
706
|
+
if (process.stdout.writableNeedDrain) {
|
|
707
|
+
process.stdout.once("drain", () => process.exit(0));
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
// Give libuv a moment to drain async work, then exit
|
|
711
|
+
setTimeout(() => process.exit(0), 50);
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
})
|
|
716
|
+
.catch((e) => {
|
|
684
717
|
console.error(`${c.red}Error:${c.reset} ${e.message}`);
|
|
685
718
|
process.exit(1);
|
|
686
719
|
});
|