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 CHANGED
@@ -11,27 +11,90 @@
11
11
  npm install -g bonecode
12
12
  ```
13
13
 
14
- Then just run it from any project directory:
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 and picks the best option:
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
- **No Docker?** BoneCode falls back to SQLite automatically. You get a fully working AI coding agent just without the codebase indexing and RAG features.
90
+ No Docker? BoneCode falls back to SQLite automatically fully working agent, just without codebase indexing.
30
91
 
31
- **Want the full experience?** Install Docker, then run `bonecode` — it starts the Postgres container for you automatically on first run.
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 (Anthropic, OpenAI, Google) just set the API key — no base URL needed.
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** — all domain models (sessions, agents, RAG, workspaces) are declared in `.bone` files and compiled to a full Node.js + Express backend with state machines, saga flows, and durable events
58
- - **pgvector RAG** — codebase indexing with hybrid search (vector + BM25 full-text + RRF fusion). Works without an embedding model using structural context (git recency, import graph, FTS)
59
- - **Single command** — `bonecode` starts everything in one process, no separate server terminal needed
60
- - **SQLite fallback** — works out of the box without Docker for users who just want the agent
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
- // Mark any running agents as cancelled
172
- await pool.query(
173
- `UPDATE agent_instances SET state = 'cancelled', updated_at = NOW()
174
- WHERE session_id = $1 AND state IN ('running', 'waiting_for_tool', 'compacting')`,
175
- [session_id]
176
- );
177
- // Move session back to active so the user can keep working
178
- await pool.query(
179
- `UPDATE sessions SET state = 'active', updated_at = NOW()
180
- WHERE id = $1 AND state IN ('busy', 'compacting')`,
181
- [session_id]
182
- );
183
- // Notify subscribers
184
- await eventBus.publish("AgentFailed", {
185
- agent_id: "",
186
- session_id,
187
- error: "cancelled by user",
188
- failed_at: new Date().toISOString(),
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", {type:"part.delta",...})
234
- // synchronously during streaming this handler forwards them straight to SSE.
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
- // Mark any running agents as cancelled
186
- await db_1.pool.query(`UPDATE agent_instances SET state = 'cancelled', updated_at = NOW()
187
- WHERE session_id = $1 AND state IN ('running', 'waiting_for_tool', 'compacting')`, [session_id]);
188
- // Move session back to active so the user can keep working
189
- await db_1.pool.query(`UPDATE sessions SET state = 'active', updated_at = NOW()
190
- WHERE id = $1 AND state IN ('busy', 'compacting')`, [session_id]);
191
- // Notify subscribers
192
- await events_1.eventBus.publish("AgentFailed", {
193
- agent_id: "",
194
- session_id,
195
- error: "cancelled by user",
196
- failed_at: new Date().toISOString(),
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", {type:"part.delta",...})
226
- // synchronously during streaming this handler forwards them straight to SSE.
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
- // Use the stats module directly via the server's DB
418
- const { aggregateStats, displayStats } = await Promise.resolve().then(() => __importStar(require("./stats")));
419
- const { Pool } = await Promise.resolve().then(() => __importStar(require("pg")));
420
- const pool = new Pool({ connectionString: process.env.DATABASE_URL });
421
- try {
422
- console.log(`${c.dim}Aggregating stats...${c.reset}`);
423
- const stats = await aggregateStats(pool, { days, projectFilter });
424
- displayStats(stats, toolLimit, modelLimit);
425
- }
426
- finally {
427
- await pool.end();
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
- const { exportSession, listSessionsForExport } = await Promise.resolve().then(() => __importStar(require("./export")));
436
- const { Pool } = await Promise.resolve().then(() => __importStar(require("pg")));
437
- const pool = new Pool({ connectionString: process.env.DATABASE_URL });
438
- try {
439
- let sid = sessionId;
440
- if (!sid) {
441
- // Pick the most recent session
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 json = await exportSession(pool, sid, { sanitize });
451
- process.stdout.write(json + "\n");
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
- finally {
454
- await pool.end();
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().catch((e) => {
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
  });