nightshift-mcp 2.0.1 → 2.1.1
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 +46 -15
- package/dist/agent-spawner.d.ts +9 -0
- package/dist/agent-spawner.d.ts.map +1 -1
- package/dist/agent-spawner.js +88 -5
- package/dist/agent-spawner.js.map +1 -1
- package/dist/daemon.d.ts +19 -5
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +220 -36
- package/dist/daemon.js.map +1 -1
- package/dist/database.d.ts +2 -2
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +4 -4
- package/dist/database.js.map +1 -1
- package/dist/index.js +219 -1146
- package/dist/index.js.map +1 -1
- package/dist/orchestrator.d.ts +12 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +245 -15
- package/dist/orchestrator.js.map +1 -1
- package/dist/pipeline.d.ts +61 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +227 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/project-context.d.ts +28 -0
- package/dist/project-context.d.ts.map +1 -0
- package/dist/project-context.js +45 -0
- package/dist/project-context.js.map +1 -0
- package/dist/run-logger.d.ts +61 -0
- package/dist/run-logger.d.ts.map +1 -0
- package/dist/run-logger.js +219 -0
- package/dist/run-logger.js.map +1 -0
- package/dist/tools/agents.d.ts +3 -0
- package/dist/tools/agents.d.ts.map +1 -1
- package/dist/tools/agents.js +148 -5
- package/dist/tools/agents.js.map +1 -1
- package/dist/tools/bugs.d.ts.map +1 -1
- package/dist/tools/bugs.js +48 -22
- package/dist/tools/bugs.js.map +1 -1
- package/dist/tools/chat.d.ts.map +1 -1
- package/dist/tools/chat.js +47 -20
- package/dist/tools/chat.js.map +1 -1
- package/dist/tools/prd.d.ts.map +1 -1
- package/dist/tools/prd.js +67 -31
- package/dist/tools/prd.js.map +1 -1
- package/dist/tools/progress.d.ts.map +1 -1
- package/dist/tools/progress.js +22 -7
- package/dist/tools/progress.js.map +1 -1
- package/dist/tools/utility.js +2 -2
- package/dist/tools/utility.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,13 +40,22 @@ claude codex
|
|
|
40
40
|
- **Delegation**: Hand off stories or research tasks to specific agents with full context injection
|
|
41
41
|
- **Failover handling**: Seamless handoffs when an agent hits rate limits or context windows
|
|
42
42
|
|
|
43
|
-
### Reliability
|
|
44
|
-
- **
|
|
45
|
-
- **Immutable audit trail**: Append-only SQLite table records every spawn, completion, failure,
|
|
43
|
+
### Reliability
|
|
44
|
+
- **Health tracker**: Per-agent failure tracking. Auto-disables failing agents, re-enables after configurable cooldown. Persisted across daemon restarts.
|
|
45
|
+
- **Immutable audit trail**: Append-only SQLite table records every spawn, completion, failure, and stuck-agent kill
|
|
46
46
|
- **Run records**: Structured execution history per agent run — duration, exit status, files changed, scope leak detection
|
|
47
47
|
- **Budget tracking**: Per-agent cost tracking with daily/monthly limits, warning thresholds, enable/disable toggle
|
|
48
48
|
- **Autoresearch**: Built-in analytics queries — agent success rates, average duration, scope leak rates
|
|
49
49
|
|
|
50
|
+
### New in 2.1
|
|
51
|
+
- **Runtime project switching**: `set_project_path` tool + optional `projectPath` param on all tools. No more restarting the MCP server to switch projects.
|
|
52
|
+
- **Token tracking**: Parses token usage from Codex, Ollama, Gemini, and Claude output. Every `spawn_agent` call logs to `.robot-chat/runs.jsonl`.
|
|
53
|
+
- **Run log + stats**: Structured JSONL log per spawn. `get_run_stats` tool for aggregate tokens per agent, avg durations, rate limit counts.
|
|
54
|
+
- **Rate limit detection**: Parses 429s, "quota exceeded", retry-after from agent output. Returns structured `rate_limited` status.
|
|
55
|
+
- **Agent role tagging**: `role` param on `spawn_agent`, `delegate_story` — planner, coder, fixer, verifier, etc. Shows in run log and chat.
|
|
56
|
+
- **Configurable pipelines**: Define multi-step agent pipelines (e.g., Gemini plans → Codex implements → Claude verifies). Tag-based routing. `get_pipeline` / `set_pipeline` tools.
|
|
57
|
+
- **Tool usage tracking**: Parses which tools agents used (Read, Edit, Bash, exec, shell commands) from output.
|
|
58
|
+
|
|
50
59
|
### Task Management
|
|
51
60
|
- **PRD-driven workflow**: User stories in `prd.json` with priorities, dependencies (`dependsOn`), and tags for routing
|
|
52
61
|
- **Bug tracking**: `bugs.json` for post-testing feedback loops
|
|
@@ -61,18 +70,24 @@ claude codex
|
|
|
61
70
|
### Platform
|
|
62
71
|
- **Cross-platform**: Windows, Linux, macOS
|
|
63
72
|
- **6 agent types**: Claude, Codex, Gemini, Vibe, Goose, Ollama
|
|
64
|
-
- **
|
|
73
|
+
- **52 MCP tools** across 10 categories
|
|
65
74
|
- **NightShift CLI**: `nightshift` command for agent coordination without MCP
|
|
66
75
|
- **Zero external services**: Everything runs locally with SQLite + file storage
|
|
67
76
|
|
|
68
|
-
## What's New in 2.
|
|
77
|
+
## What's New in 2.1
|
|
78
|
+
|
|
79
|
+
- **Runtime project switching**: `set_project_path` tool changes the active project without restarting. All PRD, chat, bug, and progress tools also accept an optional `projectPath` param for per-call overrides.
|
|
80
|
+
- **Token tracking + run log**: Every `spawn_agent` call (foreground and background) appends to `.robot-chat/runs.jsonl` with agent, role, duration, tokens, rate limit info, and tools used. `get_run_stats` tool returns aggregate analytics.
|
|
81
|
+
- **Configurable pipelines**: Define agent pipelines via `nightshift.config.json` or `set_pipeline` tool. 5 built-in pipelines (default, frontend, backend, research, quick) with tag-based routing. Pipelines execute in the daemon and orchestrator — earlier steps capture output as context for later steps.
|
|
82
|
+
- **Agent role tagging**: `role` param on spawn/delegate tools. Feeds run log and chat messages.
|
|
83
|
+
- **Rate limit detection**: Parses 429, quota exhausted, retry-after from agent output.
|
|
84
|
+
- **Health tracker rename**: "circuit breaker" → "health tracker" in all user-facing names.
|
|
69
85
|
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
- **Security**: MCP SDK upgraded to 1.28.0. Zero production dependency vulnerabilities.
|
|
86
|
+
### What was in 2.0
|
|
87
|
+
- SQLite foundation (`.robot-chat/nightshift.db`) with ACID transactions and WAL mode
|
|
88
|
+
- Health tracker (per-agent failure tracking with auto-disable/re-enable)
|
|
89
|
+
- Immutable audit trail, run records, budget tracking, autoresearch queries
|
|
90
|
+
- MCP SDK 1.28.0, zero production vulnerabilities
|
|
76
91
|
|
|
77
92
|
## Architecture
|
|
78
93
|
|
|
@@ -129,6 +144,16 @@ delegate_research(task: "Analyze auth patterns and recommend approach")
|
|
|
129
144
|
delegate_story(agent: "codex", storyId: "US-001")
|
|
130
145
|
```
|
|
131
146
|
|
|
147
|
+
### Pipeline (multi-step)
|
|
148
|
+
```
|
|
149
|
+
set_pipeline(name: "default", steps: [
|
|
150
|
+
{ agent: "gemini", role: "planner" },
|
|
151
|
+
{ agent: "codex", role: "implementer" },
|
|
152
|
+
{ agent: "claude", role: "verifier" }
|
|
153
|
+
])
|
|
154
|
+
orchestrate()
|
|
155
|
+
```
|
|
156
|
+
|
|
132
157
|
### Daemon (hands-off)
|
|
133
158
|
```bash
|
|
134
159
|
nightshift-daemon --verbose --max-agents 4
|
|
@@ -199,7 +224,7 @@ When all stories pass and all bugs are fixed, NightShift posts `READY_TO_TEST` t
|
|
|
199
224
|
|
|
200
225
|
## Tools Reference
|
|
201
226
|
|
|
202
|
-
NightShift provides
|
|
227
|
+
NightShift provides 52 tools across 10 categories. Key tools listed below — use `nightshift_setup(showExamples: true)` or `nightshift_help` for full documentation.
|
|
203
228
|
|
|
204
229
|
### Communication
|
|
205
230
|
| Tool | Description |
|
|
@@ -228,13 +253,17 @@ NightShift provides 49 tools across 10 categories. Key tools listed below — us
|
|
|
228
253
|
| `spawn_agent_background` | Spawn agent, return immediately (async) |
|
|
229
254
|
| `delegate_story` | Delegate a story with full context injection |
|
|
230
255
|
| `delegate_research` | Delegate research/analysis task |
|
|
256
|
+
| `get_run_stats` | Token usage, durations, rate limits from run log |
|
|
231
257
|
|
|
232
|
-
### Orchestration
|
|
258
|
+
### Orchestration & Pipelines
|
|
233
259
|
| Tool | Description |
|
|
234
260
|
|------|-------------|
|
|
235
261
|
| `orchestrate` | Autonomous claim-implement-complete loop |
|
|
236
262
|
| `get_agent_status` | Check background agent by PID |
|
|
237
263
|
| `list_running_agents` | All spawned agents with status |
|
|
264
|
+
| `set_project_path` | Switch active project at runtime |
|
|
265
|
+
| `get_pipeline` | View configured pipelines and tag routing |
|
|
266
|
+
| `set_pipeline` | Create/update agent pipelines at runtime |
|
|
238
267
|
|
|
239
268
|
### Workflow
|
|
240
269
|
| Tool | Description |
|
|
@@ -280,7 +309,7 @@ nightshift-daemon [options]
|
|
|
280
309
|
**What it does:**
|
|
281
310
|
- Watches `prd.json` and `chat.txt` for changes
|
|
282
311
|
- Auto-spawns agents for unassigned stories
|
|
283
|
-
-
|
|
312
|
+
- Health tracker disables failing agents, re-enables after cooldown
|
|
284
313
|
- Detects and kills stuck agents
|
|
285
314
|
- Claims failover requests
|
|
286
315
|
- Quarantines stories that fail repeatedly
|
|
@@ -331,7 +360,9 @@ NightShift uses a hybrid storage approach:
|
|
|
331
360
|
| **Audit trail** | `.robot-chat/nightshift.db` | SQLite (immutable) |
|
|
332
361
|
| **Run records** | `.robot-chat/nightshift.db` | SQLite |
|
|
333
362
|
| **Budget** | `.robot-chat/nightshift.db` | SQLite |
|
|
334
|
-
| **
|
|
363
|
+
| **Health tracker** | `.robot-chat/nightshift.db` | SQLite |
|
|
364
|
+
| **Run log** | `.robot-chat/runs.jsonl` | JSONL (append-only) |
|
|
365
|
+
| **Pipeline config** | `.robot-chat/pipeline-override.json` | JSON (runtime) |
|
|
335
366
|
|
|
336
367
|
Add `.robot-chat/` to your `.gitignore` — coordination state is ephemeral.
|
|
337
368
|
|
package/dist/agent-spawner.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface TrackedAgent {
|
|
|
4
4
|
pid: number | undefined;
|
|
5
5
|
outputFile: string;
|
|
6
6
|
startTime: number;
|
|
7
|
+
role?: string;
|
|
7
8
|
storyId?: string;
|
|
8
9
|
prompt: string;
|
|
9
10
|
}
|
|
@@ -27,6 +28,7 @@ export declare function getTrackedAgentStatus(pid: number): {
|
|
|
27
28
|
agent?: AgentType;
|
|
28
29
|
outputFile?: string;
|
|
29
30
|
startTime?: number;
|
|
31
|
+
role?: string;
|
|
30
32
|
storyId?: string;
|
|
31
33
|
exitCode?: number | null;
|
|
32
34
|
tailOutput?: string;
|
|
@@ -39,6 +41,7 @@ export declare function listTrackedAgents(): Array<{
|
|
|
39
41
|
agent: AgentType;
|
|
40
42
|
outputFile: string;
|
|
41
43
|
startTime: number;
|
|
44
|
+
role?: string;
|
|
42
45
|
storyId?: string;
|
|
43
46
|
running: boolean;
|
|
44
47
|
elapsedSeconds: number;
|
|
@@ -49,6 +52,8 @@ export interface SpawnOptions {
|
|
|
49
52
|
projectPath: string;
|
|
50
53
|
timeout?: number;
|
|
51
54
|
background?: boolean;
|
|
55
|
+
role?: string;
|
|
56
|
+
storyId?: string;
|
|
52
57
|
}
|
|
53
58
|
export interface SpawnResult {
|
|
54
59
|
success: boolean;
|
|
@@ -56,6 +61,10 @@ export interface SpawnResult {
|
|
|
56
61
|
exitCode: number | null;
|
|
57
62
|
pid?: number;
|
|
58
63
|
error?: string;
|
|
64
|
+
duration_seconds?: number;
|
|
65
|
+
tokens?: import("./run-logger.js").TokenUsage;
|
|
66
|
+
rateLimitInfo?: import("./run-logger.js").RateLimitInfo;
|
|
67
|
+
toolsUsed?: string[];
|
|
59
68
|
}
|
|
60
69
|
/**
|
|
61
70
|
* Spawn an AI agent as a subprocess
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-spawner.d.ts","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-spawner.d.ts","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAMpF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAiCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMlF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAuCA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IACzC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CA2BD;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,iBAAiB,EAAE,aAAa,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AA0FD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAwJ5E;AAoLD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG;IAC3D,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CA8EA;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CA6ED;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAY/D;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAC7C,MAAM,CAAC,SAAS,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAC5E,CAYA"}
|
package/dist/agent-spawner.js
CHANGED
|
@@ -2,6 +2,7 @@ import { spawn, spawnSync } from "child_process";
|
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
import * as fs from "fs";
|
|
4
4
|
import { commandExistsAsync, killProcess, isProcessRunning, isWindows, } from "./platform.js";
|
|
5
|
+
import { parseTokensFromOutput, detectRateLimit, parseToolsUsed, appendRunLog, } from "./run-logger.js";
|
|
5
6
|
/** All agents spawned, keyed by PID or outputFile. Persisted to disk. */
|
|
6
7
|
const trackedAgents = new Map();
|
|
7
8
|
/** Path to the on-disk registry (set once we know projectPath) */
|
|
@@ -16,6 +17,7 @@ export function initAgentRegistry(projectPath) {
|
|
|
16
17
|
fs.mkdirSync(dir, { recursive: true });
|
|
17
18
|
}
|
|
18
19
|
registryFile = path.join(dir, "agent-registry.json");
|
|
20
|
+
trackedAgents.clear();
|
|
19
21
|
loadRegistry();
|
|
20
22
|
}
|
|
21
23
|
/** Load persisted registry from disk into the in-memory map */
|
|
@@ -94,6 +96,7 @@ export function getTrackedAgentStatus(pid) {
|
|
|
94
96
|
agent: entry.agent,
|
|
95
97
|
outputFile: entry.outputFile,
|
|
96
98
|
startTime: entry.startTime,
|
|
99
|
+
role: entry.role,
|
|
97
100
|
storyId: entry.storyId,
|
|
98
101
|
exitCode: running ? undefined : exitCode,
|
|
99
102
|
tailOutput,
|
|
@@ -111,6 +114,7 @@ export function listTrackedAgents() {
|
|
|
111
114
|
agent: entry.agent,
|
|
112
115
|
outputFile: entry.outputFile,
|
|
113
116
|
startTime: entry.startTime,
|
|
117
|
+
role: entry.role,
|
|
114
118
|
storyId: entry.storyId,
|
|
115
119
|
running,
|
|
116
120
|
elapsedSeconds: Math.round((Date.now() - entry.startTime) / 1000),
|
|
@@ -200,12 +204,13 @@ function getAgentConfig(agent) {
|
|
|
200
204
|
* Spawn an AI agent as a subprocess
|
|
201
205
|
*/
|
|
202
206
|
export async function spawnAgent(options) {
|
|
203
|
-
const { agent, prompt, projectPath, timeout = 5 * 60 * 1000 } = options;
|
|
207
|
+
const { agent, prompt, projectPath, timeout = 5 * 60 * 1000, role, storyId } = options;
|
|
204
208
|
// Ensure registry is initialized for this project
|
|
205
209
|
if (!registryFile)
|
|
206
210
|
initAgentRegistry(projectPath);
|
|
207
211
|
const config = getAgentConfig(agent);
|
|
208
212
|
const { cmd, args, promptDelivery, promptFlag, env: agentEnv } = config;
|
|
213
|
+
const startTime = Date.now();
|
|
209
214
|
return new Promise((resolve) => {
|
|
210
215
|
let output = "";
|
|
211
216
|
let errorOutput = "";
|
|
@@ -262,6 +267,30 @@ export async function spawnAgent(options) {
|
|
|
262
267
|
// Handle completion
|
|
263
268
|
proc.on("close", (code) => {
|
|
264
269
|
clearTimeout(timeoutId);
|
|
270
|
+
const durationSeconds = Math.round((Date.now() - startTime) / 1000);
|
|
271
|
+
const fullOutput = [output, errorOutput].filter(Boolean).join("\n").trim();
|
|
272
|
+
const tokens = parseTokensFromOutput(agent, fullOutput);
|
|
273
|
+
const rateLimitInfo = detectRateLimit(fullOutput);
|
|
274
|
+
const toolsUsed = parseToolsUsed(fullOutput);
|
|
275
|
+
// Determine status
|
|
276
|
+
let status = code === 0 ? "completed" : "failed";
|
|
277
|
+
if (timedOut)
|
|
278
|
+
status = "timeout";
|
|
279
|
+
else if (rateLimitInfo?.detected && code !== 0)
|
|
280
|
+
status = "rate_limited";
|
|
281
|
+
// Log the run
|
|
282
|
+
appendRunLog(projectPath, {
|
|
283
|
+
timestamp: new Date().toISOString(),
|
|
284
|
+
agent,
|
|
285
|
+
role,
|
|
286
|
+
storyId,
|
|
287
|
+
duration_seconds: durationSeconds,
|
|
288
|
+
status,
|
|
289
|
+
exitCode: code,
|
|
290
|
+
tokens,
|
|
291
|
+
rateLimitInfo,
|
|
292
|
+
toolsUsed,
|
|
293
|
+
});
|
|
265
294
|
if (timedOut) {
|
|
266
295
|
const timeoutSec = timeout / 1000;
|
|
267
296
|
const suggestedSec = Math.min(timeoutSec * 2, 1200);
|
|
@@ -269,25 +298,44 @@ export async function spawnAgent(options) {
|
|
|
269
298
|
success: false,
|
|
270
299
|
output,
|
|
271
300
|
exitCode: code,
|
|
301
|
+
duration_seconds: durationSeconds,
|
|
302
|
+
tokens,
|
|
303
|
+
rateLimitInfo,
|
|
304
|
+
toolsUsed,
|
|
272
305
|
error: `Agent timed out after ${timeoutSec} seconds. The task likely needs more time. Retry with a longer timeout (try ${suggestedSec}s) or use spawn_agent_background for long-running tasks.`,
|
|
273
306
|
});
|
|
274
307
|
}
|
|
275
308
|
else {
|
|
276
309
|
resolve({
|
|
277
310
|
success: code === 0,
|
|
278
|
-
output:
|
|
311
|
+
output: fullOutput,
|
|
279
312
|
exitCode: code,
|
|
280
313
|
pid: proc.pid,
|
|
314
|
+
duration_seconds: durationSeconds,
|
|
315
|
+
tokens,
|
|
316
|
+
rateLimitInfo,
|
|
317
|
+
toolsUsed,
|
|
281
318
|
error: code !== 0 ? errorOutput || `Exit code: ${code}` : undefined,
|
|
282
319
|
});
|
|
283
320
|
}
|
|
284
321
|
});
|
|
285
322
|
proc.on("error", (err) => {
|
|
286
323
|
clearTimeout(timeoutId);
|
|
324
|
+
const durationSeconds = Math.round((Date.now() - startTime) / 1000);
|
|
325
|
+
appendRunLog(projectPath, {
|
|
326
|
+
timestamp: new Date().toISOString(),
|
|
327
|
+
agent,
|
|
328
|
+
role,
|
|
329
|
+
storyId,
|
|
330
|
+
duration_seconds: durationSeconds,
|
|
331
|
+
status: "failed",
|
|
332
|
+
exitCode: null,
|
|
333
|
+
});
|
|
287
334
|
resolve({
|
|
288
335
|
success: false,
|
|
289
336
|
output: "",
|
|
290
337
|
exitCode: null,
|
|
338
|
+
duration_seconds: durationSeconds,
|
|
291
339
|
error: `Failed to spawn ${agent}: ${err.message}`,
|
|
292
340
|
});
|
|
293
341
|
});
|
|
@@ -328,12 +376,13 @@ function stripAnsiEscapes(str) {
|
|
|
328
376
|
* Create the Node.js wrapper script content for background agent spawning
|
|
329
377
|
* This script runs the agent and captures output to a file
|
|
330
378
|
*/
|
|
331
|
-
function createWrapperScript(agent, cmd, args, promptFile, outputFile, promptDelivery, promptFlag) {
|
|
379
|
+
function createWrapperScript(agent, cmd, args, promptFile, outputFile, promptDelivery, promptFlag, role, storyId) {
|
|
332
380
|
const argsJson = JSON.stringify(args);
|
|
333
381
|
const promptFlagJson = promptFlag ? JSON.stringify(promptFlag) : "null";
|
|
334
382
|
return `
|
|
335
383
|
import { spawn } from "child_process";
|
|
336
384
|
import * as fs from "fs";
|
|
385
|
+
import * as path from "path";
|
|
337
386
|
|
|
338
387
|
const agent = ${JSON.stringify(agent)};
|
|
339
388
|
const cmd = ${JSON.stringify(cmd)};
|
|
@@ -342,6 +391,9 @@ const promptFile = ${JSON.stringify(promptFile)};
|
|
|
342
391
|
const outputFile = ${JSON.stringify(outputFile)};
|
|
343
392
|
const promptDelivery = ${JSON.stringify(promptDelivery)};
|
|
344
393
|
const promptFlag = ${promptFlagJson};
|
|
394
|
+
const role = ${JSON.stringify(role || undefined)};
|
|
395
|
+
const storyId = ${JSON.stringify(storyId || undefined)};
|
|
396
|
+
const startTime = Date.now();
|
|
345
397
|
|
|
346
398
|
// Read the prompt
|
|
347
399
|
const prompt = fs.readFileSync(promptFile, "utf-8");
|
|
@@ -400,8 +452,36 @@ if (promptDelivery === "stdin") {
|
|
|
400
452
|
writeNext();
|
|
401
453
|
}
|
|
402
454
|
|
|
455
|
+
// Append run log entry (inline — no imports from parent module)
|
|
456
|
+
function appendRunLog(exitCode, timedOut) {
|
|
457
|
+
try {
|
|
458
|
+
const duration = Math.round((Date.now() - startTime) / 1000);
|
|
459
|
+
const hasRateLimit = /rate.?limit|quota.?exceeded|too many requests|capacity.*exhausted|exhausted.*capacity|throttl/i.test(output);
|
|
460
|
+
let status = exitCode === 0 ? "completed" : "failed";
|
|
461
|
+
if (timedOut) status = "timeout";
|
|
462
|
+
else if (hasRateLimit) status = "rate_limited";
|
|
463
|
+
|
|
464
|
+
// Parse tokens (simple patterns)
|
|
465
|
+
let tokens = undefined;
|
|
466
|
+
const tokensMatch = output.match(/tokens?\\s*used[*:]*\\s*([\\d,]+)/i);
|
|
467
|
+
if (tokensMatch) tokens = { total: parseInt(tokensMatch[1].replace(/,/g, ""), 10) };
|
|
468
|
+
const promptEval = output.match(/"prompt_eval_count"\\s*:\\s*(\\d+)/);
|
|
469
|
+
const evalCount = output.match(/"eval_count"\\s*:\\s*(\\d+)/);
|
|
470
|
+
if (promptEval || evalCount) {
|
|
471
|
+
const inp = promptEval ? parseInt(promptEval[1], 10) : undefined;
|
|
472
|
+
const out = evalCount ? parseInt(evalCount[1], 10) : undefined;
|
|
473
|
+
tokens = { input: inp, output: out, total: (inp || 0) + (out || 0) };
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
const entry = { timestamp: new Date().toISOString(), agent, role, storyId, duration_seconds: duration, status, exitCode, tokens };
|
|
477
|
+
const logFile = path.join(process.cwd(), ".robot-chat", "runs.jsonl");
|
|
478
|
+
fs.appendFileSync(logFile, JSON.stringify(entry) + "\\n", "utf-8");
|
|
479
|
+
} catch {}
|
|
480
|
+
}
|
|
481
|
+
|
|
403
482
|
proc.on("close", (code) => {
|
|
404
483
|
fs.appendFileSync(outputFile, \`\\n---\\nFinished: \${new Date().toISOString()}\\nExit Code: \${code}\\n\`);
|
|
484
|
+
appendRunLog(code, false);
|
|
405
485
|
// Clean up prompt file
|
|
406
486
|
try {
|
|
407
487
|
fs.unlinkSync(promptFile);
|
|
@@ -411,6 +491,7 @@ proc.on("close", (code) => {
|
|
|
411
491
|
|
|
412
492
|
proc.on("error", (err) => {
|
|
413
493
|
fs.appendFileSync(outputFile, \`\\n---\\nError: \${err.message}\\nFinished: \${new Date().toISOString()}\\nExit Code: 1\\n\`);
|
|
494
|
+
appendRunLog(1, false);
|
|
414
495
|
try {
|
|
415
496
|
fs.unlinkSync(promptFile);
|
|
416
497
|
} catch {}
|
|
@@ -423,7 +504,7 @@ proc.on("error", (err) => {
|
|
|
423
504
|
* Uses a Node.js wrapper script for cross-platform compatibility
|
|
424
505
|
*/
|
|
425
506
|
export function spawnAgentBackground(options) {
|
|
426
|
-
const { agent, prompt, projectPath } = options;
|
|
507
|
+
const { agent, prompt, projectPath, role, storyId } = options;
|
|
427
508
|
// Ensure registry is initialized for this project
|
|
428
509
|
if (!registryFile)
|
|
429
510
|
initAgentRegistry(projectPath);
|
|
@@ -441,7 +522,7 @@ export function spawnAgentBackground(options) {
|
|
|
441
522
|
// Write prompt to file
|
|
442
523
|
fs.writeFileSync(promptFile, prompt, "utf-8");
|
|
443
524
|
// Create wrapper script
|
|
444
|
-
const wrapperScript = createWrapperScript(agent, cmd, args, promptFile, outputFile, promptDelivery, promptFlag);
|
|
525
|
+
const wrapperScript = createWrapperScript(agent, cmd, args, promptFile, outputFile, promptDelivery, promptFlag, role, storyId);
|
|
445
526
|
fs.writeFileSync(wrapperFile, wrapperScript, "utf-8");
|
|
446
527
|
// Spawn Node.js to run the wrapper script
|
|
447
528
|
const proc = spawn("node", [wrapperFile], {
|
|
@@ -462,6 +543,8 @@ export function spawnAgentBackground(options) {
|
|
|
462
543
|
pid: proc.pid,
|
|
463
544
|
outputFile,
|
|
464
545
|
startTime: Date.now(),
|
|
546
|
+
role,
|
|
547
|
+
storyId,
|
|
465
548
|
prompt: prompt.substring(0, 500),
|
|
466
549
|
});
|
|
467
550
|
// Schedule cleanup of wrapper file after a delay (agent should have read it by then)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-spawner.js","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-spawner.js","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -16,10 +16,10 @@ interface DaemonConfig {
|
|
|
16
16
|
agents: AgentType[];
|
|
17
17
|
verbose: boolean;
|
|
18
18
|
dryRun: boolean;
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
healthThreshold: number;
|
|
20
|
+
healthCooldownMs: number;
|
|
21
21
|
}
|
|
22
|
-
type
|
|
22
|
+
type HealthState = "CLOSED" | "OPEN" | "HALF_OPEN";
|
|
23
23
|
export declare class NightShiftDaemon {
|
|
24
24
|
private config;
|
|
25
25
|
private ralph;
|
|
@@ -29,7 +29,7 @@ export declare class NightShiftDaemon {
|
|
|
29
29
|
private running;
|
|
30
30
|
private activeAgents;
|
|
31
31
|
private storyStates;
|
|
32
|
-
private
|
|
32
|
+
private agentHealth;
|
|
33
33
|
private availableAgents;
|
|
34
34
|
private agentIndex;
|
|
35
35
|
private prdWatcher;
|
|
@@ -63,7 +63,7 @@ export declare class NightShiftDaemon {
|
|
|
63
63
|
private releaseProbe;
|
|
64
64
|
private getHealthyAgents;
|
|
65
65
|
getCircuitStatus(): Record<string, {
|
|
66
|
-
state:
|
|
66
|
+
state: HealthState;
|
|
67
67
|
failures: number;
|
|
68
68
|
successes: number;
|
|
69
69
|
consecutiveFailures: number;
|
|
@@ -71,6 +71,20 @@ export declare class NightShiftDaemon {
|
|
|
71
71
|
private reconcile;
|
|
72
72
|
private getNextAgent;
|
|
73
73
|
private spawnAgentForStory;
|
|
74
|
+
/**
|
|
75
|
+
* Run a multi-step pipeline for a story.
|
|
76
|
+
* Earlier steps run foreground (capturing output as context),
|
|
77
|
+
* the final step runs background (non-blocking for the daemon).
|
|
78
|
+
*/
|
|
79
|
+
private runPipelineForStory;
|
|
80
|
+
/**
|
|
81
|
+
* Build prompt for a pipeline step with role-specific instructions.
|
|
82
|
+
*/
|
|
83
|
+
private buildPipelineStepPrompt;
|
|
84
|
+
/**
|
|
85
|
+
* Original single-agent spawn (used when pipeline has 0-1 steps)
|
|
86
|
+
*/
|
|
87
|
+
private spawnSingleAgentForStory;
|
|
74
88
|
private buildAgentPrompt;
|
|
75
89
|
private monitorAgent;
|
|
76
90
|
private onAgentExit;
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":";AACA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAS5B,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAmBD,KAAK,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAiBnD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,EAAE,CAAe;IAGzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,eAAe,CAAQ;IAG/B,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,cAAc,CAA0C;IAGhE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IA0BnE,OAAO,CAAC,GAAG;IAwBX,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,QAAQ;YAkBF,YAAY;YAKZ,aAAa;YAwBb,cAAc;IA2B5B,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,kBAAkB;IAyB1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAexB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;YAiB9G,SAAS;IA6CvB,OAAO,CAAC,YAAY;YAQN,kBAAkB;IA4BhC;;;;OAIG;YACW,mBAAmB;IA+JjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;OAEG;YACW,wBAAwB;IAkEtC,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,YAAY;YAaN,WAAW;IA2CzB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;YAOT,WAAW;IAgDnB,KAAK;IA0CL,QAAQ;CAuBf"}
|