nightshift-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +670 -0
  2. package/dist/agent-spawner.d.ts +55 -0
  3. package/dist/agent-spawner.d.ts.map +1 -0
  4. package/dist/agent-spawner.js +468 -0
  5. package/dist/agent-spawner.js.map +1 -0
  6. package/dist/chat-manager.d.ts +72 -0
  7. package/dist/chat-manager.d.ts.map +1 -0
  8. package/dist/chat-manager.js +331 -0
  9. package/dist/chat-manager.js.map +1 -0
  10. package/dist/daemon.d.ts +65 -0
  11. package/dist/daemon.d.ts.map +1 -0
  12. package/dist/daemon.js +563 -0
  13. package/dist/daemon.js.map +1 -0
  14. package/dist/file-lock.d.ts +41 -0
  15. package/dist/file-lock.d.ts.map +1 -0
  16. package/dist/file-lock.js +157 -0
  17. package/dist/file-lock.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +2433 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/ralph-manager.d.ts +148 -0
  23. package/dist/ralph-manager.d.ts.map +1 -0
  24. package/dist/ralph-manager.js +399 -0
  25. package/dist/ralph-manager.js.map +1 -0
  26. package/dist/tool-registry.d.ts +130 -0
  27. package/dist/tool-registry.d.ts.map +1 -0
  28. package/dist/tool-registry.js +280 -0
  29. package/dist/tool-registry.js.map +1 -0
  30. package/dist/tools/agents.d.ts +7 -0
  31. package/dist/tools/agents.d.ts.map +1 -0
  32. package/dist/tools/agents.js +366 -0
  33. package/dist/tools/agents.js.map +1 -0
  34. package/dist/tools/bugs.d.ts +6 -0
  35. package/dist/tools/bugs.d.ts.map +1 -0
  36. package/dist/tools/bugs.js +184 -0
  37. package/dist/tools/bugs.js.map +1 -0
  38. package/dist/tools/chat.d.ts +10 -0
  39. package/dist/tools/chat.d.ts.map +1 -0
  40. package/dist/tools/chat.js +287 -0
  41. package/dist/tools/chat.js.map +1 -0
  42. package/dist/tools/index.d.ts +33 -0
  43. package/dist/tools/index.d.ts.map +1 -0
  44. package/dist/tools/index.js +51 -0
  45. package/dist/tools/index.js.map +1 -0
  46. package/dist/tools/prd.d.ts +8 -0
  47. package/dist/tools/prd.d.ts.map +1 -0
  48. package/dist/tools/prd.js +275 -0
  49. package/dist/tools/prd.js.map +1 -0
  50. package/dist/tools/progress.d.ts +5 -0
  51. package/dist/tools/progress.d.ts.map +1 -0
  52. package/dist/tools/progress.js +81 -0
  53. package/dist/tools/progress.js.map +1 -0
  54. package/dist/tools/savepoints.d.ts +5 -0
  55. package/dist/tools/savepoints.d.ts.map +1 -0
  56. package/dist/tools/savepoints.js +100 -0
  57. package/dist/tools/savepoints.js.map +1 -0
  58. package/dist/tools/utility.d.ts +4 -0
  59. package/dist/tools/utility.d.ts.map +1 -0
  60. package/dist/tools/utility.js +375 -0
  61. package/dist/tools/utility.js.map +1 -0
  62. package/dist/tools/workflow.d.ts +10 -0
  63. package/dist/tools/workflow.d.ts.map +1 -0
  64. package/dist/tools/workflow.js +321 -0
  65. package/dist/tools/workflow.js.map +1 -0
  66. package/dist/types.d.ts +105 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +2 -0
  69. package/dist/types.js.map +1 -0
  70. package/dist/workflow-manager.d.ts +154 -0
  71. package/dist/workflow-manager.d.ts.map +1 -0
  72. package/dist/workflow-manager.js +356 -0
  73. package/dist/workflow-manager.js.map +1 -0
  74. package/package.json +48 -0
@@ -0,0 +1,375 @@
1
+ import { z } from "zod";
2
+ import * as fs from "fs";
3
+ import * as path from "path";
4
+ import { defineTool } from "../tool-registry.js";
5
+ import { getAvailableAgents, getAgentStatus } from "../agent-spawner.js";
6
+ // Agent installation instructions
7
+ const AGENT_INSTALL_HINTS = {
8
+ claude: "npm install -g @anthropic-ai/claude-code",
9
+ codex: "npm install -g @openai/codex",
10
+ gemini: "npm install -g @google/gemini-cli",
11
+ vibe: "pip install mistral-vibe",
12
+ };
13
+ export const nightshiftSetup = defineTool({
14
+ name: "nightshift_setup",
15
+ category: "utility",
16
+ description: "Get setup instructions and check configuration",
17
+ fullDescription: "Get setup instructions and check project configuration for NightShift MCP. Use this to understand how to configure agents or troubleshoot setup issues.",
18
+ inputSchema: z.object({
19
+ showExamples: z.boolean().optional().describe("Include example prd.json and bugs.json templates"),
20
+ }),
21
+ handler: async ({ showExamples }, ctx) => {
22
+ try {
23
+ const checks = [];
24
+ const issues = [];
25
+ const suggestions = [];
26
+ // Check project path
27
+ checks.push(`Project path: ${ctx.projectPath}`);
28
+ // Check for prd.json
29
+ if (ctx.ralphManager.hasPRD()) {
30
+ const summary = ctx.ralphManager.getCompletionSummary();
31
+ checks.push(`✓ prd.json found (${summary.complete}/${summary.total} stories complete)`);
32
+ }
33
+ else {
34
+ issues.push("✗ No prd.json found");
35
+ suggestions.push("Create prd.json with user stories to enable task management");
36
+ }
37
+ // Check for bugs.json
38
+ if (ctx.ralphManager.hasBugs()) {
39
+ const summary = ctx.ralphManager.getBugsSummary();
40
+ checks.push(`✓ bugs.json found (${summary.fixed}/${summary.total} bugs fixed)`);
41
+ }
42
+ else {
43
+ checks.push("○ No bugs.json (optional - create when testing finds issues)");
44
+ }
45
+ // Check for .robot-chat directory
46
+ const chatPath = ctx.chatManager.getChatFilePath();
47
+ if (fs.existsSync(chatPath)) {
48
+ checks.push("✓ Chat file exists");
49
+ }
50
+ else {
51
+ checks.push("○ Chat file will be created on first message");
52
+ }
53
+ // Check for .gitignore entry
54
+ const gitignorePath = path.join(ctx.projectPath, ".gitignore");
55
+ if (fs.existsSync(gitignorePath)) {
56
+ const gitignore = fs.readFileSync(gitignorePath, "utf-8");
57
+ if (gitignore.includes(".robot-chat")) {
58
+ checks.push("✓ .robot-chat in .gitignore");
59
+ }
60
+ else {
61
+ issues.push("✗ .robot-chat not in .gitignore");
62
+ suggestions.push("Add '.robot-chat/' to .gitignore to prevent committing chat logs");
63
+ }
64
+ }
65
+ else {
66
+ issues.push("✗ No .gitignore file");
67
+ suggestions.push("Create .gitignore and add '.robot-chat/'");
68
+ }
69
+ // Check git repo
70
+ try {
71
+ const { execSync } = await import("child_process");
72
+ execSync("git rev-parse --git-dir", { cwd: ctx.projectPath, stdio: "pipe" });
73
+ checks.push("✓ Git repository initialized");
74
+ }
75
+ catch {
76
+ issues.push("✗ Not a git repository");
77
+ suggestions.push("Initialize git with 'git init' for savepoints to work");
78
+ }
79
+ // Check available agents
80
+ const agents = await getAvailableAgents();
81
+ if (agents.length > 0) {
82
+ checks.push(`✓ Available agents: ${agents.join(", ")}`);
83
+ }
84
+ else {
85
+ issues.push("✗ No agents available");
86
+ suggestions.push("Install at least one agent CLI (claude, codex, gemini, or vibe)");
87
+ }
88
+ // Build response
89
+ let response = `# NightShift Setup Status\n\n`;
90
+ response += `## Checks\n${checks.join("\n")}\n\n`;
91
+ if (issues.length > 0) {
92
+ response += `## Issues\n${issues.join("\n")}\n\n`;
93
+ }
94
+ if (suggestions.length > 0) {
95
+ response += `## Suggestions\n${suggestions.map(s => `- ${s}`).join("\n")}\n\n`;
96
+ }
97
+ response += `## Agent Configuration\n\n`;
98
+ response += `**Claude Code** (~/.claude.json):\n\`\`\`json
99
+ {
100
+ "mcpServers": {
101
+ "nightshift": {
102
+ "command": "nightshift-mcp",
103
+ "args": ["${ctx.projectPath}"]
104
+ }
105
+ }
106
+ }
107
+ \`\`\`\n\n`;
108
+ response += `**Codex** (~/.codex/config.toml):\n\`\`\`toml
109
+ [mcp_servers.nightshift]
110
+ command = "nightshift-mcp"
111
+ args = ["${ctx.projectPath}"]
112
+ \`\`\`\n\n`;
113
+ if (showExamples) {
114
+ response += `## Example Templates\n\n`;
115
+ response += `**prd.json**:\n\`\`\`json
116
+ {
117
+ "project": "MyProject",
118
+ "description": "Project description",
119
+ "userStories": [
120
+ {
121
+ "id": "US-001",
122
+ "title": "First feature",
123
+ "description": "Implement the first feature",
124
+ "acceptanceCriteria": [
125
+ "Criteria 1",
126
+ "Criteria 2"
127
+ ],
128
+ "priority": 1,
129
+ "passes": false,
130
+ "notes": ""
131
+ }
132
+ ]
133
+ }
134
+ \`\`\`\n\n`;
135
+ response += `**bugs.json**:\n\`\`\`json
136
+ {
137
+ "project": "MyProject",
138
+ "bugs": [
139
+ {
140
+ "id": "BUG-001",
141
+ "title": "Bug description",
142
+ "description": "Detailed bug description",
143
+ "stepsToReproduce": [
144
+ "Step 1",
145
+ "Step 2"
146
+ ],
147
+ "priority": 1,
148
+ "fixed": false
149
+ }
150
+ ]
151
+ }
152
+ \`\`\`\n`;
153
+ }
154
+ return {
155
+ content: [{ type: "text", text: response }],
156
+ };
157
+ }
158
+ catch (error) {
159
+ return {
160
+ content: [{ type: "text", text: `Error getting setup info: ${error instanceof Error ? error.message : String(error)}` }],
161
+ isError: true,
162
+ };
163
+ }
164
+ },
165
+ });
166
+ export const nightshiftDebug = defineTool({
167
+ name: "nightshift_debug",
168
+ category: "utility",
169
+ description: "Diagnose issues and troubleshoot problems",
170
+ fullDescription: "Diagnose issues with NightShift MCP. Checks file permissions, validates JSON files, reviews recent errors, and provides troubleshooting guidance.",
171
+ inputSchema: z.object({}),
172
+ handler: async (_params, ctx) => {
173
+ try {
174
+ const diagnostics = [];
175
+ const errors = [];
176
+ const fixes = [];
177
+ diagnostics.push(`# NightShift Debug Report\n`);
178
+ diagnostics.push(`Timestamp: ${new Date().toISOString()}`);
179
+ diagnostics.push(`Project: ${ctx.projectPath}\n`);
180
+ // 1. Check file system
181
+ diagnostics.push(`## File System Checks`);
182
+ // Check project directory exists and is writable
183
+ try {
184
+ fs.accessSync(ctx.projectPath, fs.constants.W_OK);
185
+ diagnostics.push(`✓ Project directory is writable`);
186
+ }
187
+ catch {
188
+ errors.push(`✗ Project directory is not writable`);
189
+ fixes.push(`Check permissions on ${ctx.projectPath}`);
190
+ }
191
+ // Check .robot-chat directory
192
+ const robotChatDir = path.join(ctx.projectPath, ".robot-chat");
193
+ if (fs.existsSync(robotChatDir)) {
194
+ try {
195
+ fs.accessSync(robotChatDir, fs.constants.W_OK);
196
+ diagnostics.push(`✓ .robot-chat directory is writable`);
197
+ }
198
+ catch {
199
+ errors.push(`✗ .robot-chat directory is not writable`);
200
+ fixes.push(`Run: chmod 755 ${robotChatDir}`);
201
+ }
202
+ }
203
+ else {
204
+ diagnostics.push(`○ .robot-chat directory doesn't exist (will be created)`);
205
+ }
206
+ // 2. Validate JSON files
207
+ diagnostics.push(`\n## JSON Validation`);
208
+ // Validate prd.json
209
+ if (ctx.ralphManager.hasPRD()) {
210
+ try {
211
+ const prd = ctx.ralphManager.readPRD();
212
+ if (prd && prd.userStories && Array.isArray(prd.userStories)) {
213
+ diagnostics.push(`✓ prd.json is valid (${prd.userStories.length} stories)`);
214
+ // Check for common issues
215
+ const storiesWithoutId = prd.userStories.filter((s) => !s.id);
216
+ if (storiesWithoutId.length > 0) {
217
+ errors.push(`✗ ${storiesWithoutId.length} stories missing 'id' field`);
218
+ fixes.push(`Add unique 'id' to each story (e.g., "US-001")`);
219
+ }
220
+ const storiesWithoutPriority = prd.userStories.filter((s) => s.priority === undefined);
221
+ if (storiesWithoutPriority.length > 0) {
222
+ errors.push(`✗ ${storiesWithoutPriority.length} stories missing 'priority' field`);
223
+ fixes.push(`Add 'priority' number to each story (lower = higher priority)`);
224
+ }
225
+ }
226
+ else {
227
+ errors.push(`✗ prd.json missing 'userStories' array`);
228
+ fixes.push(`Add "userStories": [] to prd.json`);
229
+ }
230
+ }
231
+ catch (e) {
232
+ errors.push(`✗ prd.json parse error: ${e instanceof Error ? e.message : String(e)}`);
233
+ fixes.push(`Check prd.json for JSON syntax errors`);
234
+ }
235
+ }
236
+ else {
237
+ diagnostics.push(`○ No prd.json found`);
238
+ }
239
+ // Validate bugs.json
240
+ if (ctx.ralphManager.hasBugs()) {
241
+ try {
242
+ const bugs = ctx.ralphManager.readBugs();
243
+ if (bugs && bugs.bugs && Array.isArray(bugs.bugs)) {
244
+ diagnostics.push(`✓ bugs.json is valid (${bugs.bugs.length} bugs)`);
245
+ }
246
+ else {
247
+ errors.push(`✗ bugs.json missing 'bugs' array`);
248
+ fixes.push(`Add "bugs": [] to bugs.json`);
249
+ }
250
+ }
251
+ catch (e) {
252
+ errors.push(`✗ bugs.json parse error: ${e instanceof Error ? e.message : String(e)}`);
253
+ fixes.push(`Check bugs.json for JSON syntax errors`);
254
+ }
255
+ }
256
+ // 3. Check daemon lock
257
+ diagnostics.push(`\n## Daemon Status`);
258
+ const lockFile = path.join(robotChatDir, "daemon.lock");
259
+ if (fs.existsSync(lockFile)) {
260
+ try {
261
+ const pid = fs.readFileSync(lockFile, "utf-8").trim();
262
+ try {
263
+ process.kill(parseInt(pid), 0);
264
+ diagnostics.push(`⚠ Daemon is running (PID: ${pid})`);
265
+ }
266
+ catch {
267
+ errors.push(`✗ Stale daemon lock file (PID ${pid} not running)`);
268
+ fixes.push(`Remove stale lock: rm ${lockFile}`);
269
+ }
270
+ }
271
+ catch {
272
+ diagnostics.push(`○ No daemon running`);
273
+ }
274
+ }
275
+ else {
276
+ diagnostics.push(`○ No daemon running`);
277
+ }
278
+ // 4. Check recent chat errors
279
+ diagnostics.push(`\n## Recent Chat Activity`);
280
+ try {
281
+ const recentMessages = ctx.chatManager.readMessages({ limit: 10 });
282
+ const errorMessages = recentMessages.filter((m) => m.type === "ERROR");
283
+ const failovers = recentMessages.filter((m) => m.type === "FAILOVER_NEEDED");
284
+ diagnostics.push(`Messages in last 10: ${recentMessages.length}`);
285
+ if (errorMessages.length > 0) {
286
+ errors.push(`✗ ${errorMessages.length} ERROR messages in recent chat`);
287
+ errorMessages.forEach((m) => {
288
+ diagnostics.push(` - [${m.agent}] ${m.content.substring(0, 100)}...`);
289
+ });
290
+ }
291
+ if (failovers.length > 0) {
292
+ diagnostics.push(`⚠ ${failovers.length} FAILOVER_NEEDED messages`);
293
+ const unclaimed = ctx.chatManager.findUnclaimedFailovers();
294
+ if (unclaimed.length > 0) {
295
+ errors.push(`✗ ${unclaimed.length} unclaimed failovers need attention`);
296
+ fixes.push(`Claim failovers with claim_failover tool`);
297
+ }
298
+ }
299
+ }
300
+ catch {
301
+ diagnostics.push(`○ No chat history yet`);
302
+ }
303
+ // 5. Agent availability
304
+ diagnostics.push(`\n## Agent Status`);
305
+ const status = await getAgentStatus();
306
+ for (const [agent, info] of Object.entries(status)) {
307
+ if (info.canRun) {
308
+ diagnostics.push(`✓ ${agent}: available`);
309
+ }
310
+ else if (info.available) {
311
+ errors.push(`✗ ${agent}: installed but cannot run`);
312
+ if (info.reason) {
313
+ fixes.push(`${agent}: ${info.reason}`);
314
+ }
315
+ }
316
+ else {
317
+ diagnostics.push(`○ ${agent}: not installed`);
318
+ fixes.push(`Install ${agent}: ${AGENT_INSTALL_HINTS[agent]}`);
319
+ }
320
+ }
321
+ // 6. Git status
322
+ diagnostics.push(`\n## Git Status`);
323
+ try {
324
+ const { execSync } = await import("child_process");
325
+ execSync("git rev-parse --git-dir", { cwd: ctx.projectPath, stdio: "pipe" });
326
+ diagnostics.push(`✓ Git repository`);
327
+ // Check for uncommitted changes
328
+ const gitStatus = execSync("git status --porcelain", {
329
+ cwd: ctx.projectPath,
330
+ encoding: "utf-8",
331
+ }).trim();
332
+ if (gitStatus) {
333
+ const lines = gitStatus.split("\n").length;
334
+ diagnostics.push(`⚠ ${lines} uncommitted changes`);
335
+ }
336
+ else {
337
+ diagnostics.push(`✓ Working directory clean`);
338
+ }
339
+ // List savepoints
340
+ const savepoints = ctx.ralphManager.listSavepoints();
341
+ diagnostics.push(`Savepoints: ${savepoints.length}`);
342
+ }
343
+ catch {
344
+ errors.push(`✗ Not a git repository`);
345
+ fixes.push(`Initialize git: git init`);
346
+ }
347
+ // Build response
348
+ let response = diagnostics.join("\n");
349
+ if (errors.length > 0) {
350
+ response += `\n\n## Errors Found (${errors.length})\n${errors.join("\n")}`;
351
+ }
352
+ if (fixes.length > 0) {
353
+ response += `\n\n## Suggested Fixes\n${fixes.map((f, i) => `${i + 1}. ${f}`).join("\n")}`;
354
+ }
355
+ if (errors.length === 0) {
356
+ response += `\n\n✅ No issues found. NightShift is ready to use.`;
357
+ }
358
+ return {
359
+ content: [{ type: "text", text: response }],
360
+ };
361
+ }
362
+ catch (error) {
363
+ return {
364
+ content: [{ type: "text", text: `Error running diagnostics: ${error instanceof Error ? error.message : String(error)}` }],
365
+ isError: true,
366
+ };
367
+ }
368
+ },
369
+ });
370
+ // Export all utility tools as an array
371
+ export const utilityTools = [
372
+ nightshiftSetup,
373
+ nightshiftDebug,
374
+ ];
375
+ //# sourceMappingURL=utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/tools/utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const initWorkflow: import("../tool-registry.js").ToolDefinition;
2
+ export declare const getWorkflowState: import("../tool-registry.js").ToolDefinition;
3
+ export declare const advancePhase: import("../tool-registry.js").ToolDefinition;
4
+ export declare const setPhase: import("../tool-registry.js").ToolDefinition;
5
+ export declare const recordDecision: import("../tool-registry.js").ToolDefinition;
6
+ export declare const getDecisions: import("../tool-registry.js").ToolDefinition;
7
+ export declare const getActiveAssignments: import("../tool-registry.js").ToolDefinition;
8
+ export declare const clearAssignment: import("../tool-registry.js").ToolDefinition;
9
+ export declare const workflowTools: import("../tool-registry.js").ToolDefinition[];
10
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,8CA0BvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,8CAiE3B,CAAC;AAEH,eAAO,MAAM,YAAY,8CAwCvB,CAAC;AAEH,eAAO,MAAM,QAAQ,8CAoCnB,CAAC;AAEH,eAAO,MAAM,cAAc,8CAwCzB,CAAC;AAEH,eAAO,MAAM,YAAY,8CA4CvB,CAAC;AAEH,eAAO,MAAM,oBAAoB,8CAgC/B,CAAC;AAEH,eAAO,MAAM,eAAe,8CA4B1B,CAAC;AAGH,eAAO,MAAM,aAAa,gDASzB,CAAC"}