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.
Files changed (50) hide show
  1. package/README.md +46 -15
  2. package/dist/agent-spawner.d.ts +9 -0
  3. package/dist/agent-spawner.d.ts.map +1 -1
  4. package/dist/agent-spawner.js +88 -5
  5. package/dist/agent-spawner.js.map +1 -1
  6. package/dist/daemon.d.ts +19 -5
  7. package/dist/daemon.d.ts.map +1 -1
  8. package/dist/daemon.js +220 -36
  9. package/dist/daemon.js.map +1 -1
  10. package/dist/database.d.ts +2 -2
  11. package/dist/database.d.ts.map +1 -1
  12. package/dist/database.js +4 -4
  13. package/dist/database.js.map +1 -1
  14. package/dist/index.js +219 -1146
  15. package/dist/index.js.map +1 -1
  16. package/dist/orchestrator.d.ts +12 -1
  17. package/dist/orchestrator.d.ts.map +1 -1
  18. package/dist/orchestrator.js +245 -15
  19. package/dist/orchestrator.js.map +1 -1
  20. package/dist/pipeline.d.ts +61 -0
  21. package/dist/pipeline.d.ts.map +1 -0
  22. package/dist/pipeline.js +227 -0
  23. package/dist/pipeline.js.map +1 -0
  24. package/dist/project-context.d.ts +28 -0
  25. package/dist/project-context.d.ts.map +1 -0
  26. package/dist/project-context.js +45 -0
  27. package/dist/project-context.js.map +1 -0
  28. package/dist/run-logger.d.ts +61 -0
  29. package/dist/run-logger.d.ts.map +1 -0
  30. package/dist/run-logger.js +219 -0
  31. package/dist/run-logger.js.map +1 -0
  32. package/dist/tools/agents.d.ts +3 -0
  33. package/dist/tools/agents.d.ts.map +1 -1
  34. package/dist/tools/agents.js +148 -5
  35. package/dist/tools/agents.js.map +1 -1
  36. package/dist/tools/bugs.d.ts.map +1 -1
  37. package/dist/tools/bugs.js +48 -22
  38. package/dist/tools/bugs.js.map +1 -1
  39. package/dist/tools/chat.d.ts.map +1 -1
  40. package/dist/tools/chat.js +47 -20
  41. package/dist/tools/chat.js.map +1 -1
  42. package/dist/tools/prd.d.ts.map +1 -1
  43. package/dist/tools/prd.js +67 -31
  44. package/dist/tools/prd.js.map +1 -1
  45. package/dist/tools/progress.d.ts.map +1 -1
  46. package/dist/tools/progress.js +22 -7
  47. package/dist/tools/progress.js.map +1 -1
  48. package/dist/tools/utility.js +2 -2
  49. package/dist/tools/utility.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { defineTool } from "../tool-registry.js";
3
+ import { ChatManager } from "../chat-manager.js";
4
+ import { validateProjectPath } from "../project-context.js";
3
5
  // Valid message types for schema validation
4
6
  const MESSAGE_TYPES = [
5
7
  "FAILOVER_NEEDED",
@@ -19,6 +21,12 @@ const MESSAGE_TYPES = [
19
21
  "BUG_CLAIMED",
20
22
  "BUG_FIXED",
21
23
  ];
24
+ function getChatManager(ctx, projectPath) {
25
+ if (!projectPath) {
26
+ return ctx.chatManager;
27
+ }
28
+ return new ChatManager(validateProjectPath(projectPath));
29
+ }
22
30
  export const readRobotChat = defineTool({
23
31
  name: "read_robot_chat",
24
32
  category: "chat",
@@ -28,10 +36,12 @@ export const readRobotChat = defineTool({
28
36
  limit: z.number().optional().describe("Maximum number of messages to return (default: 20)"),
29
37
  agent: z.string().optional().describe("Filter messages by agent name (e.g., 'Claude', 'Codex', 'Gemini')"),
30
38
  type: z.enum(MESSAGE_TYPES).optional().describe("Filter messages by type"),
39
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
31
40
  }),
32
- handler: async ({ limit, agent, type }, ctx) => {
41
+ handler: async ({ limit, agent, type, projectPath }, ctx) => {
33
42
  try {
34
- const messages = ctx.chatManager.readMessages({
43
+ const chatManager = getChatManager(ctx, projectPath);
44
+ const messages = chatManager.readMessages({
35
45
  limit: limit ?? 20,
36
46
  agent,
37
47
  type: type,
@@ -69,10 +79,12 @@ export const writeRobotChat = defineTool({
69
79
  agent: z.string().describe("Your agent name (e.g., 'Claude', 'Codex', 'Gemini')"),
70
80
  type: z.enum(MESSAGE_TYPES).describe("Message type (e.g., 'STATUS_UPDATE', 'FAILOVER_NEEDED', 'TASK_COMPLETE')"),
71
81
  content: z.string().describe("Message content. For FAILOVER_NEEDED, include: Status, Current Task, Progress, Files Modified."),
82
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
72
83
  }),
73
- handler: async ({ agent, type, content }, ctx) => {
84
+ handler: async ({ agent, type, content, projectPath }, ctx) => {
74
85
  try {
75
- const message = await ctx.chatManager.writeMessage({
86
+ const chatManager = getChatManager(ctx, projectPath);
87
+ const message = await chatManager.writeMessage({
76
88
  agent,
77
89
  type: type,
78
90
  content,
@@ -94,10 +106,13 @@ export const checkFailovers = defineTool({
94
106
  category: "chat",
95
107
  description: "Find unclaimed FAILOVER_NEEDED messages",
96
108
  fullDescription: "Find unclaimed FAILOVER_NEEDED messages. Use this to see if another agent needs help continuing a task.",
97
- inputSchema: z.object({}),
98
- handler: async (_params, ctx) => {
109
+ inputSchema: z.object({
110
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
111
+ }),
112
+ handler: async ({ projectPath }, ctx) => {
99
113
  try {
100
- const failovers = ctx.chatManager.findUnclaimedFailovers();
114
+ const chatManager = getChatManager(ctx, projectPath);
115
+ const failovers = chatManager.findUnclaimedFailovers();
101
116
  if (failovers.length === 0) {
102
117
  return {
103
118
  content: [{ type: "text", text: "No unclaimed failovers found." }],
@@ -132,10 +147,12 @@ export const claimFailover = defineTool({
132
147
  agent: z.string().describe("Your agent name (the one claiming the failover)"),
133
148
  originalAgent: z.string().describe("The agent who requested the failover"),
134
149
  task: z.string().optional().describe("Description of the task you're continuing (optional)"),
150
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
135
151
  }),
136
- handler: async ({ agent, originalAgent, task }, ctx) => {
152
+ handler: async ({ agent, originalAgent, task, projectPath }, ctx) => {
137
153
  try {
138
- const message = await ctx.chatManager.claimFailover(agent, originalAgent, task);
154
+ const chatManager = getChatManager(ctx, projectPath);
155
+ const message = await chatManager.claimFailover(agent, originalAgent, task);
139
156
  return {
140
157
  content: [{ type: "text", text: `Failover claimed successfully:\n\n${message.raw}` }],
141
158
  };
@@ -153,10 +170,13 @@ export const getChatPath = defineTool({
153
170
  category: "chat",
154
171
  description: "Get the path to the robot chat file",
155
172
  fullDescription: "Get the path to the robot chat file. Useful for debugging or manual inspection.",
156
- inputSchema: z.object({}),
157
- handler: async (_params, ctx) => {
173
+ inputSchema: z.object({
174
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
175
+ }),
176
+ handler: async ({ projectPath }, ctx) => {
158
177
  try {
159
- const chatPath = ctx.chatManager.getChatFilePath();
178
+ const chatManager = getChatManager(ctx, projectPath);
179
+ const chatPath = chatManager.getChatFilePath();
160
180
  return {
161
181
  content: [{ type: "text", text: `Robot chat file: ${chatPath}` }],
162
182
  };
@@ -174,10 +194,13 @@ export const listAgents = defineTool({
174
194
  category: "chat",
175
195
  description: "List all agents who have posted to the chat",
176
196
  fullDescription: "List all agents who have posted to the chat, with their last activity time and message count.",
177
- inputSchema: z.object({}),
178
- handler: async (_params, ctx) => {
197
+ inputSchema: z.object({
198
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
199
+ }),
200
+ handler: async ({ projectPath }, ctx) => {
179
201
  try {
180
- const agents = ctx.chatManager.listAgents();
202
+ const chatManager = getChatManager(ctx, projectPath);
203
+ const agents = chatManager.listAgents();
181
204
  if (agents.length === 0) {
182
205
  return {
183
206
  content: [{ type: "text", text: "No agents have posted yet." }],
@@ -202,10 +225,12 @@ export const watchChat = defineTool({
202
225
  fullDescription: "Get new messages since a specific cursor (line number). Use this for polling/watching the chat. Returns new messages and the updated cursor.",
203
226
  inputSchema: z.object({
204
227
  cursor: z.number().optional().describe("Line number cursor from previous watch call. Omit to get current cursor without messages."),
228
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
205
229
  }),
206
- handler: async ({ cursor }, ctx) => {
230
+ handler: async ({ cursor, projectPath }, ctx) => {
207
231
  try {
208
- const currentCursor = ctx.chatManager.getLastLineNumber();
232
+ const chatManager = getChatManager(ctx, projectPath);
233
+ const currentCursor = chatManager.getLastLineNumber();
209
234
  if (cursor === undefined) {
210
235
  return {
211
236
  content: [{
@@ -218,7 +243,7 @@ export const watchChat = defineTool({
218
243
  }],
219
244
  };
220
245
  }
221
- const newMessages = ctx.chatManager.getMessagesSince(cursor);
246
+ const newMessages = chatManager.getMessagesSince(cursor);
222
247
  const formatted = newMessages.map((m) => ({
223
248
  agent: m.agent,
224
249
  timestamp: m.timestamp,
@@ -252,10 +277,12 @@ export const archiveChat = defineTool({
252
277
  fullDescription: "Archive old messages to a separate file, keeping only recent messages in the main chat. Useful for managing chat file size.",
253
278
  inputSchema: z.object({
254
279
  keepRecent: z.number().optional().describe("Number of recent messages to keep in main chat (default: 50)"),
280
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
255
281
  }),
256
- handler: async ({ keepRecent }, ctx) => {
282
+ handler: async ({ keepRecent, projectPath }, ctx) => {
257
283
  try {
258
- const result = await ctx.chatManager.archiveMessages(keepRecent ?? 50);
284
+ const chatManager = getChatManager(ctx, projectPath);
285
+ const result = await chatManager.archiveMessages(keepRecent ?? 50);
259
286
  if (result.archived === 0) {
260
287
  return {
261
288
  content: [{ type: "text", text: "No messages to archive. Chat file is small enough." }],
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/tools/prd.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,8CA2BlB,CAAC;AAEH,eAAO,MAAM,YAAY,8CAgCvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,8CAmC5B,CAAC;AAEH,eAAO,MAAM,oBAAoB,8CA0B/B,CAAC;AAEH,eAAO,MAAM,UAAU,8CA+DrB,CAAC;AAEH,eAAO,MAAM,aAAa,8CA8FxB,CAAC;AAGH,eAAO,MAAM,QAAQ,gDAOpB,CAAC"}
1
+ {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/tools/prd.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,OAAO,8CA+BlB,CAAC;AAEH,eAAO,MAAM,YAAY,8CAmCvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,8CAqC5B,CAAC;AAEH,eAAO,MAAM,oBAAoB,8CA6B/B,CAAC;AAEH,eAAO,MAAM,UAAU,8CAiErB,CAAC;AAEH,eAAO,MAAM,aAAa,8CAiGxB,CAAC;AAGH,eAAO,MAAM,QAAQ,gDAOpB,CAAC"}
package/dist/tools/prd.js CHANGED
@@ -1,20 +1,44 @@
1
1
  import { z } from "zod";
2
2
  import { defineTool } from "../tool-registry.js";
3
+ import { ChatManager } from "../chat-manager.js";
4
+ import { RalphManager } from "../ralph-manager.js";
5
+ import { WorkflowManager } from "../workflow-manager.js";
6
+ import { validateProjectPath } from "../project-context.js";
7
+ function getPrdManagers(ctx, projectPath) {
8
+ if (!projectPath) {
9
+ return {
10
+ projectPath: ctx.projectPath,
11
+ chatManager: ctx.chatManager,
12
+ ralphManager: ctx.ralphManager,
13
+ workflowManager: ctx.workflowManager,
14
+ };
15
+ }
16
+ const resolvedPath = validateProjectPath(projectPath);
17
+ return {
18
+ projectPath: resolvedPath,
19
+ chatManager: new ChatManager(resolvedPath),
20
+ ralphManager: new RalphManager(resolvedPath),
21
+ workflowManager: new WorkflowManager(resolvedPath),
22
+ };
23
+ }
3
24
  export const readPrd = defineTool({
4
25
  name: "read_prd",
5
26
  category: "prd",
6
27
  description: "Read the PRD file with user stories",
7
28
  fullDescription: "Read the PRD (Product Requirements Document) file. Returns structured task list with user stories and their completion status.",
8
- inputSchema: z.object({}),
9
- handler: async (_params, ctx) => {
29
+ inputSchema: z.object({
30
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
31
+ }),
32
+ handler: async ({ projectPath }, ctx) => {
10
33
  try {
11
- if (!ctx.ralphManager.hasPRD()) {
34
+ const { ralphManager } = getPrdManagers(ctx, projectPath);
35
+ if (!ralphManager.hasPRD()) {
12
36
  return {
13
37
  content: [{ type: "text", text: "No prd.json found in project. Create one to use Ralph-style task management." }],
14
38
  };
15
39
  }
16
- const prd = ctx.ralphManager.readPRD();
17
- const summary = ctx.ralphManager.getCompletionSummary();
40
+ const prd = ralphManager.readPRD();
41
+ const summary = ralphManager.getCompletionSummary();
18
42
  return {
19
43
  content: [{ type: "text", text: JSON.stringify({ prd, summary }, null, 2) }],
20
44
  };
@@ -32,12 +56,15 @@ export const getNextStory = defineTool({
32
56
  category: "prd",
33
57
  description: "Get the next story to work on (highest priority)",
34
58
  fullDescription: "Get the next user story to work on (highest priority incomplete story). Use this to claim your next task.",
35
- inputSchema: z.object({}),
36
- handler: async (_params, ctx) => {
59
+ inputSchema: z.object({
60
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
61
+ }),
62
+ handler: async ({ projectPath }, ctx) => {
37
63
  try {
38
- const story = ctx.ralphManager.getNextStory();
64
+ const { ralphManager } = getPrdManagers(ctx, projectPath);
65
+ const story = ralphManager.getNextStory();
39
66
  if (!story) {
40
- const summary = ctx.ralphManager.getCompletionSummary();
67
+ const summary = ralphManager.getCompletionSummary();
41
68
  if (summary.total === 0) {
42
69
  return {
43
70
  content: [{ type: "text", text: "No PRD found or no stories defined." }],
@@ -67,17 +94,19 @@ export const markStoryComplete = defineTool({
67
94
  inputSchema: z.object({
68
95
  storyId: z.string().describe("The story ID to mark complete (e.g., 'US-001')"),
69
96
  notes: z.string().optional().describe("Optional notes about the implementation"),
97
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
70
98
  }),
71
- handler: async ({ storyId, notes }, ctx) => {
99
+ handler: async ({ storyId, notes, projectPath }, ctx) => {
72
100
  try {
73
- const story = ctx.ralphManager.markStoryComplete(storyId, notes);
101
+ const { ralphManager } = getPrdManagers(ctx, projectPath);
102
+ const story = ralphManager.markStoryComplete(storyId, notes);
74
103
  if (!story) {
75
104
  return {
76
105
  content: [{ type: "text", text: `Story ${storyId} not found in PRD.` }],
77
106
  isError: true,
78
107
  };
79
108
  }
80
- const summary = ctx.ralphManager.getCompletionSummary();
109
+ const summary = ralphManager.getCompletionSummary();
81
110
  return {
82
111
  content: [{
83
112
  type: "text",
@@ -98,10 +127,13 @@ export const getIncompleteStories = defineTool({
98
127
  category: "prd",
99
128
  description: "Get all incomplete stories sorted by priority",
100
129
  fullDescription: "Get all incomplete stories from the PRD, sorted by priority.",
101
- inputSchema: z.object({}),
102
- handler: async (_params, ctx) => {
130
+ inputSchema: z.object({
131
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
132
+ }),
133
+ handler: async ({ projectPath }, ctx) => {
103
134
  try {
104
- const stories = ctx.ralphManager.getIncompleteStories();
135
+ const { ralphManager } = getPrdManagers(ctx, projectPath);
136
+ const stories = ralphManager.getIncompleteStories();
105
137
  if (stories.length === 0) {
106
138
  return {
107
139
  content: [{ type: "text", text: "No incomplete stories found. All done!" }],
@@ -127,12 +159,14 @@ export const claimStory = defineTool({
127
159
  inputSchema: z.object({
128
160
  agent: z.string().describe("Your agent name (e.g., 'Claude', 'Codex', 'Gemini')"),
129
161
  storyId: z.string().optional().describe("Specific story ID to claim (optional - defaults to next available)"),
162
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
130
163
  }),
131
- handler: async ({ agent, storyId }, ctx) => {
164
+ handler: async ({ agent, storyId, projectPath }, ctx) => {
132
165
  try {
166
+ const { chatManager, ralphManager, workflowManager } = getPrdManagers(ctx, projectPath);
133
167
  let story;
134
168
  if (storyId) {
135
- const prd = ctx.ralphManager.readPRD();
169
+ const prd = ralphManager.readPRD();
136
170
  story = prd?.userStories.find((s) => s.id === storyId && !s.passes);
137
171
  if (!story) {
138
172
  return {
@@ -142,7 +176,7 @@ export const claimStory = defineTool({
142
176
  }
143
177
  }
144
178
  else {
145
- story = ctx.ralphManager.getNextStory();
179
+ story = ralphManager.getNextStory();
146
180
  }
147
181
  if (!story) {
148
182
  return {
@@ -150,7 +184,7 @@ export const claimStory = defineTool({
150
184
  };
151
185
  }
152
186
  // Assign in workflow state (atomic operation to prevent race conditions)
153
- const assignResult = await ctx.workflowManager.assignStory(story.id, agent);
187
+ const assignResult = await workflowManager.assignStory(story.id, agent);
154
188
  if (!assignResult.success) {
155
189
  return {
156
190
  content: [{
@@ -163,7 +197,7 @@ export const claimStory = defineTool({
163
197
  };
164
198
  }
165
199
  // Post claim message to chat
166
- await ctx.chatManager.writeMessage({
200
+ await chatManager.writeMessage({
167
201
  agent,
168
202
  type: "STORY_CLAIMED",
169
203
  content: `Claiming story: ${story.id} - ${story.title}\n\nDescription: ${story.description}\n\nAcceptance Criteria:\n${story.acceptanceCriteria.map((c) => `- ${c}`).join("\n")}`,
@@ -191,19 +225,21 @@ export const completeStory = defineTool({
191
225
  summary: z.string().describe("Brief summary of what was implemented"),
192
226
  filesModified: z.array(z.string()).optional().describe("List of files modified"),
193
227
  learnings: z.string().optional().describe("Learnings/gotchas for future iterations"),
228
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
194
229
  }),
195
- handler: async ({ agent, storyId, summary, filesModified, learnings }, ctx) => {
230
+ handler: async ({ agent, storyId, summary, filesModified, learnings, projectPath }, ctx) => {
196
231
  try {
232
+ const { chatManager, ralphManager, workflowManager } = getPrdManagers(ctx, projectPath);
197
233
  // Validate that this agent owns the story assignment
198
- const isOwner = ctx.workflowManager.isAgentOwner(storyId, agent);
199
- const existingAssignment = ctx.workflowManager.isStoryAssigned(storyId);
234
+ const isOwner = workflowManager.isAgentOwner(storyId, agent);
235
+ const existingAssignment = workflowManager.isStoryAssigned(storyId);
200
236
  if (existingAssignment && !isOwner) {
201
237
  return {
202
238
  content: [{ type: "text", text: `Cannot complete story ${storyId} - it is assigned to ${existingAssignment.agent}, not ${agent}.` }],
203
239
  isError: true,
204
240
  };
205
241
  }
206
- const story = ctx.ralphManager.markStoryComplete(storyId, summary);
242
+ const story = ralphManager.markStoryComplete(storyId, summary);
207
243
  if (!story) {
208
244
  return {
209
245
  content: [{ type: "text", text: `Story ${storyId} not found.` }],
@@ -211,7 +247,7 @@ export const completeStory = defineTool({
211
247
  };
212
248
  }
213
249
  // Mark assignment as completed in workflow state
214
- await ctx.workflowManager.completeAssignment(storyId);
250
+ await workflowManager.completeAssignment(storyId);
215
251
  // Build progress entry
216
252
  let progressEntry = `Story: ${storyId} - ${story.title}\nAgent: ${agent}\n\n${summary}`;
217
253
  if (filesModified && filesModified.length > 0) {
@@ -221,24 +257,24 @@ export const completeStory = defineTool({
221
257
  progressEntry += `\n\n**Learnings for future iterations:**\n${learnings}`;
222
258
  }
223
259
  // Append to progress file
224
- ctx.ralphManager.appendProgress(progressEntry);
260
+ ralphManager.appendProgress(progressEntry);
225
261
  // Post completion message to chat
226
262
  let chatContent = `Completed: ${storyId} - ${story.title}\n\n${summary}`;
227
263
  if (filesModified && filesModified.length > 0) {
228
264
  chatContent += `\n\nFiles: ${filesModified.join(", ")}`;
229
265
  }
230
- await ctx.chatManager.writeMessage({
266
+ await chatManager.writeMessage({
231
267
  agent,
232
268
  type: "STORY_COMPLETE",
233
269
  content: chatContent,
234
270
  });
235
271
  // Auto-create savepoint
236
- const savepoint = ctx.ralphManager.createSavepoint(storyId, `Completed: ${storyId} - ${story.title}`);
237
- const prdSummary = ctx.ralphManager.getCompletionSummary();
238
- const allWorkDone = ctx.ralphManager.isAllWorkComplete();
272
+ const savepoint = ralphManager.createSavepoint(storyId, `Completed: ${storyId} - ${story.title}`);
273
+ const prdSummary = ralphManager.getCompletionSummary();
274
+ const allWorkDone = ralphManager.isAllWorkComplete();
239
275
  // If all work is done, notify READY_TO_TEST
240
276
  if (allWorkDone) {
241
- await ctx.chatManager.writeMessage({
277
+ await chatManager.writeMessage({
242
278
  agent: "NightShift",
243
279
  type: "READY_TO_TEST",
244
280
  content: `All stories and bugs complete!\n\nStories: ${prdSummary.complete}/${prdSummary.total}\n\nReady for human review and testing.`,
@@ -1 +1 @@
1
- {"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/tools/prd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/tools/prd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAqC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,SAAS,cAAc,CAAC,GAAgB,EAAE,WAAoB;IAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,IAAI,WAAW,CAAC,YAAY,CAAC;QAC1C,YAAY,EAAE,IAAI,YAAY,CAAC,YAAY,CAAC;QAC5C,eAAe,EAAE,IAAI,eAAe,CAAC,YAAY,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,qCAAqC;IAClD,eAAe,EAAE,gIAAgI;IACjJ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAE1D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8EAA8E,EAAE,CAAC;iBAClH,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;YAEpD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,kDAAkD;IAC/D,eAAe,EAAE,2GAA2G;IAC5H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC;qBACzE,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;iBAC5F,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACxH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,+BAA+B;IAC5C,eAAe,EAAE,6GAA6G;IAC9H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACxF,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE7D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,oBAAoB,EAAE,CAAC;oBACvE,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;YAEpD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,OAAO,kCAAkC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,EAAE,EAAE;qBACzN,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC5H,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,+CAA+C;IAC5D,eAAe,EAAE,8DAA8D;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;YAEpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC;iBAC5E,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAChI,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,uCAAuC;IACpD,eAAe,EAAE,2HAA2H;IAC5I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;QAC7G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACxF,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACxF,IAAI,KAAK,CAAC;YAEV,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;gBACnC,KAAK,GAAG,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,iCAAiC,EAAE,CAAC;wBACpF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;iBAC5F,CAAC;YACJ,CAAC;YAED,yEAAyE;YACzE,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,YAAY,CAAC,aAAa;gCAC9B,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,kCAAkC,YAAY,CAAC,aAAa,GAAG;gCAClF,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,0BAA0B,KAAK,CAAC,EAAE,+CAA+C;yBAC5G,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,WAAW,CAAC,YAAY,CAAC;gBAC7B,KAAK;gBACL,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,mBAAmB,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,KAAK,oBAAoB,KAAK,CAAC,WAAW,6BAA6B,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC1L,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aACpH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACpH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,yCAAyC;IACtD,eAAe,EAAE,uHAAuH;IACxI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACrE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACjG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,GAAgB,EAAuB,EAAE;QAC3H,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAExF,qDAAqD;YACrD,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEpE,IAAI,kBAAkB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,OAAO,wBAAwB,kBAAkB,CAAC,KAAK,SAAS,KAAK,GAAG,EAAE,CAAC;oBACpI,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,aAAa,EAAE,CAAC;oBAChE,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,MAAM,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAElD,uBAAuB;YACvB,IAAI,aAAa,GAAG,UAAU,OAAO,MAAM,KAAK,CAAC,KAAK,YAAY,KAAK,OAAO,OAAO,EAAE,CAAC;YACxF,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,aAAa,IAAI,wBAAwB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,IAAI,6CAA6C,SAAS,EAAE,CAAC;YAC5E,CAAC;YAED,0BAA0B;YAC1B,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAE3C,kCAAkC;YAClC,IAAI,WAAW,GAAG,cAAc,OAAO,MAAM,KAAK,CAAC,KAAK,OAAO,OAAO,EAAE,CAAC;YACzE,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,WAAW,IAAI,cAAc,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,CAAC;YAED,MAAM,WAAW,CAAC,YAAY,CAAC;gBAC7B,KAAK;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAElG,MAAM,UAAU,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAErD,4CAA4C;YAC5C,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,WAAW,CAAC,YAAY,CAAC;oBAC7B,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,8CAA8C,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,yCAAyC;iBACxI,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,GAAG,SAAS,OAAO,4BAA4B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,eAAe,IAAI,CAAC;YACtI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,QAAQ,IAAI,gBAAgB,SAAS,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,IAAI,oEAAoE,CAAC;YACnF,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO;IACP,YAAY;IACZ,iBAAiB;IACjB,oBAAoB;IACpB,UAAU;IACV,aAAa;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tools/progress.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,8CA0BvB,CAAC;AAEH,eAAO,MAAM,cAAc,8CAsBzB,CAAC;AAEH,eAAO,MAAM,kBAAkB,8CAsB7B,CAAC;AAGH,eAAO,MAAM,aAAa,gDAIzB,CAAC"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tools/progress.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,8CA6BvB,CAAC;AAEH,eAAO,MAAM,cAAc,8CAwBzB,CAAC;AAEH,eAAO,MAAM,kBAAkB,8CAwB7B,CAAC;AAGH,eAAO,MAAM,aAAa,gDAIzB,CAAC"}
@@ -1,14 +1,25 @@
1
1
  import { z } from "zod";
2
2
  import { defineTool } from "../tool-registry.js";
3
+ import { RalphManager } from "../ralph-manager.js";
4
+ import { validateProjectPath } from "../project-context.js";
5
+ function getRalphManager(ctx, projectPath) {
6
+ if (!projectPath) {
7
+ return ctx.ralphManager;
8
+ }
9
+ return new RalphManager(validateProjectPath(projectPath));
10
+ }
3
11
  export const readProgress = defineTool({
4
12
  name: "read_progress",
5
13
  category: "progress",
6
14
  description: "Read progress.txt with learnings and patterns",
7
15
  fullDescription: "Read the progress.txt file containing learnings and patterns from previous iterations.",
8
- inputSchema: z.object({}),
9
- handler: async (_params, ctx) => {
16
+ inputSchema: z.object({
17
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
18
+ }),
19
+ handler: async ({ projectPath }, ctx) => {
10
20
  try {
11
- const content = ctx.ralphManager.readProgress();
21
+ const ralphManager = getRalphManager(ctx, projectPath);
22
+ const content = ralphManager.readProgress();
12
23
  if (!content) {
13
24
  return {
14
25
  content: [{ type: "text", text: "No progress.txt found. One will be created when you append progress." }],
@@ -33,10 +44,12 @@ export const appendProgress = defineTool({
33
44
  fullDescription: "Append a progress entry to progress.txt. Include what was implemented, files changed, and learnings for future iterations.",
34
45
  inputSchema: z.object({
35
46
  content: z.string().describe("Progress entry content including: what was implemented, files changed, learnings/gotchas discovered"),
47
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
36
48
  }),
37
- handler: async ({ content }, ctx) => {
49
+ handler: async ({ content, projectPath }, ctx) => {
38
50
  try {
39
- ctx.ralphManager.appendProgress(content);
51
+ const ralphManager = getRalphManager(ctx, projectPath);
52
+ ralphManager.appendProgress(content);
40
53
  return {
41
54
  content: [{ type: "text", text: "Progress entry added successfully." }],
42
55
  };
@@ -56,10 +69,12 @@ export const addCodebasePattern = defineTool({
56
69
  fullDescription: "Add a reusable pattern to the Codebase Patterns section of progress.txt. Use for general patterns future iterations should know.",
57
70
  inputSchema: z.object({
58
71
  pattern: z.string().describe("A reusable pattern (e.g., 'Use sql<number> template for aggregations')"),
72
+ projectPath: z.string().optional().describe("Optional project path override for this call only"),
59
73
  }),
60
- handler: async ({ pattern }, ctx) => {
74
+ handler: async ({ pattern, projectPath }, ctx) => {
61
75
  try {
62
- ctx.ralphManager.addCodebasePattern(pattern);
76
+ const ralphManager = getRalphManager(ctx, projectPath);
77
+ ralphManager.addCodebasePattern(pattern);
63
78
  return {
64
79
  content: [{ type: "text", text: `Pattern added: ${pattern}` }],
65
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/tools/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAqC,MAAM,qBAAqB,CAAC;AAEpF,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,+CAA+C;IAC5D,eAAe,EAAE,wFAAwF;IACzG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAgB,EAAuB,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sEAAsE,EAAE,CAAC;iBAC1G,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,yCAAyC;IACtD,eAAe,EAAE,4HAA4H;IAC7I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qGAAqG,CAAC;KACpI,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACpE,IAAI,CAAC;YACH,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACxH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,wCAAwC;IACrD,eAAe,EAAE,kIAAkI;IACnJ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;KACvG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAgB,EAAuB,EAAE;QACpE,IAAI,CAAC;YACH,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAE7C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACpH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,YAAY;IACZ,cAAc;IACd,kBAAkB;CACnB,CAAC"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/tools/progress.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export const nightshiftSetup = defineTool({
26
26
  const issues = [];
27
27
  const suggestions = [];
28
28
  // Check project path
29
- checks.push(`Project path: ${ctx.projectPath}`);
29
+ checks.push(`Current project path: ${ctx.projectPath}`);
30
30
  // Check for prd.json
31
31
  if (ctx.ralphManager.hasPRD()) {
32
32
  const summary = ctx.ralphManager.getCompletionSummary();
@@ -215,7 +215,7 @@ export const nightshiftDebug = defineTool({
215
215
  const fixes = [];
216
216
  diagnostics.push(`# NightShift Debug Report\n`);
217
217
  diagnostics.push(`Timestamp: ${new Date().toISOString()}`);
218
- diagnostics.push(`Project: ${ctx.projectPath}\n`);
218
+ diagnostics.push(`Current project path: ${ctx.projectPath}\n`);
219
219
  // 1. Check file system
220
220
  diagnostics.push(`## File System Checks`);
221
221
  // Check project directory exists and is writable