nightshift-mcp 2.1.2 → 2.2.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.
- package/README.md +364 -379
- package/dist/daemon-manager.d.ts +18 -0
- package/dist/daemon-manager.d.ts.map +1 -1
- package/dist/daemon-manager.js +151 -3
- package/dist/daemon-manager.js.map +1 -1
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +104 -9
- package/dist/daemon.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +5 -3
- package/dist/orchestrator.js.map +1 -1
- package/dist/tools/agents.d.ts.map +1 -1
- package/dist/tools/agents.js +8 -5
- package/dist/tools/agents.js.map +1 -1
- package/dist/tools/prd.d.ts +2 -0
- package/dist/tools/prd.d.ts.map +1 -1
- package/dist/tools/prd.js +120 -0
- package/dist/tools/prd.js.map +1 -1
- package/dist/vision.d.ts +67 -0
- package/dist/vision.d.ts.map +1 -0
- package/dist/vision.js +315 -0
- package/dist/vision.js.map +1 -0
- package/package.json +1 -1
package/dist/tools/prd.js
CHANGED
|
@@ -4,6 +4,7 @@ import { ChatManager } from "../chat-manager.js";
|
|
|
4
4
|
import { RalphManager } from "../ralph-manager.js";
|
|
5
5
|
import { WorkflowManager } from "../workflow-manager.js";
|
|
6
6
|
import { validateProjectPath } from "../project-context.js";
|
|
7
|
+
import { generateStories, loadVisionConfig, approveGeneratedStories } from "../vision.js";
|
|
7
8
|
function getPrdManagers(ctx, projectPath) {
|
|
8
9
|
if (!projectPath) {
|
|
9
10
|
return {
|
|
@@ -299,6 +300,123 @@ export const completeStory = defineTool({
|
|
|
299
300
|
}
|
|
300
301
|
},
|
|
301
302
|
});
|
|
303
|
+
export const generateStoriesFromVision = defineTool({
|
|
304
|
+
name: "generate_stories",
|
|
305
|
+
category: "prd",
|
|
306
|
+
description: "Generate new user stories from project vision",
|
|
307
|
+
fullDescription: `Generate new user stories by comparing the project vision against the current codebase state.
|
|
308
|
+
|
|
309
|
+
Uses an AI agent (default: gemini) to analyze the codebase, identify gaps between the vision and what's been built, and produce new stories with acceptance criteria.
|
|
310
|
+
|
|
311
|
+
Requires either a vision configured in nightshift.config.json or an inline vision parameter.
|
|
312
|
+
|
|
313
|
+
Config format (nightshift.config.json):
|
|
314
|
+
{
|
|
315
|
+
"vision": "Description of the end-state goal",
|
|
316
|
+
"autoGenerateWhenBelow": 5,
|
|
317
|
+
"taskGenerationAgent": "gemini",
|
|
318
|
+
"maxAutoGenerated": 10,
|
|
319
|
+
"requireApproval": false
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
When autoGenerateWhenBelow is set, the daemon will automatically trigger generation when incomplete story count drops below the threshold.`,
|
|
323
|
+
inputSchema: z.object({
|
|
324
|
+
vision: z.string().optional().describe("Project vision/goal (overrides config file vision)"),
|
|
325
|
+
maxStories: z.number().optional().describe("Maximum stories to generate (default: 10)"),
|
|
326
|
+
agent: z.string().optional().describe("Agent to use for generation (default: gemini)"),
|
|
327
|
+
requireApproval: z.boolean().optional().describe("Require human approval before stories are activated (default: false)"),
|
|
328
|
+
projectPath: z.string().optional().describe("Optional project path override"),
|
|
329
|
+
}),
|
|
330
|
+
handler: async (params, ctx) => {
|
|
331
|
+
try {
|
|
332
|
+
const { projectPath, chatManager, ralphManager } = getPrdManagers(ctx, params.projectPath);
|
|
333
|
+
if (!ralphManager.hasPRD()) {
|
|
334
|
+
return {
|
|
335
|
+
content: [{ type: "text", text: "No prd.json found. Create a PRD first before generating stories." }],
|
|
336
|
+
isError: true,
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
// Build config from params + config file
|
|
340
|
+
const fileConfig = loadVisionConfig(projectPath);
|
|
341
|
+
const vision = params.vision || fileConfig?.vision;
|
|
342
|
+
if (!vision) {
|
|
343
|
+
return {
|
|
344
|
+
content: [{
|
|
345
|
+
type: "text",
|
|
346
|
+
text: JSON.stringify({
|
|
347
|
+
error: "No vision configured",
|
|
348
|
+
hint: "Either pass a 'vision' parameter or add a 'vision' field to nightshift.config.json",
|
|
349
|
+
example: {
|
|
350
|
+
vision: "Build an AI-powered task manager with real-time collaboration",
|
|
351
|
+
autoGenerateWhenBelow: 5,
|
|
352
|
+
taskGenerationAgent: "gemini",
|
|
353
|
+
maxAutoGenerated: 10,
|
|
354
|
+
},
|
|
355
|
+
}, null, 2),
|
|
356
|
+
}],
|
|
357
|
+
isError: true,
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
const config = {
|
|
361
|
+
vision,
|
|
362
|
+
autoGenerateWhenBelow: fileConfig?.autoGenerateWhenBelow ?? 5,
|
|
363
|
+
taskGenerationAgent: params.agent ?? fileConfig?.taskGenerationAgent ?? "gemini",
|
|
364
|
+
maxAutoGenerated: params.maxStories ?? fileConfig?.maxAutoGenerated ?? 10,
|
|
365
|
+
requireApproval: params.requireApproval ?? fileConfig?.requireApproval ?? false,
|
|
366
|
+
};
|
|
367
|
+
const result = await generateStories(projectPath, ralphManager, chatManager, config);
|
|
368
|
+
return {
|
|
369
|
+
content: [{
|
|
370
|
+
type: "text",
|
|
371
|
+
text: JSON.stringify(result, null, 2),
|
|
372
|
+
}],
|
|
373
|
+
isError: !result.success,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
return {
|
|
378
|
+
content: [{ type: "text", text: `Error generating stories: ${error instanceof Error ? error.message : String(error)}` }],
|
|
379
|
+
isError: true,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
});
|
|
384
|
+
export const approveStories = defineTool({
|
|
385
|
+
name: "approve_stories",
|
|
386
|
+
category: "prd",
|
|
387
|
+
description: "Approve auto-generated stories for execution",
|
|
388
|
+
fullDescription: `Approve auto-generated stories so the daemon will pick them up for execution.
|
|
389
|
+
|
|
390
|
+
When stories are generated with requireApproval=true, they get a "pending_approval" tag and the daemon skips them. Use this tool to approve specific stories or all pending stories at once.`,
|
|
391
|
+
inputSchema: z.object({
|
|
392
|
+
storyIds: z.array(z.string()).optional().describe("Specific story IDs to approve (omit to approve all pending)"),
|
|
393
|
+
projectPath: z.string().optional().describe("Optional project path override"),
|
|
394
|
+
}),
|
|
395
|
+
handler: async (params, ctx) => {
|
|
396
|
+
try {
|
|
397
|
+
const { ralphManager } = getPrdManagers(ctx, params.projectPath);
|
|
398
|
+
const result = approveGeneratedStories(ralphManager, params.storyIds);
|
|
399
|
+
return {
|
|
400
|
+
content: [{
|
|
401
|
+
type: "text",
|
|
402
|
+
text: JSON.stringify({
|
|
403
|
+
approved: result.approved,
|
|
404
|
+
notFound: result.notFound,
|
|
405
|
+
message: result.approved.length > 0
|
|
406
|
+
? `Approved ${result.approved.length} stories: ${result.approved.join(", ")}`
|
|
407
|
+
: "No stories to approve",
|
|
408
|
+
}, null, 2),
|
|
409
|
+
}],
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
catch (error) {
|
|
413
|
+
return {
|
|
414
|
+
content: [{ type: "text", text: `Error approving stories: ${error instanceof Error ? error.message : String(error)}` }],
|
|
415
|
+
isError: true,
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
});
|
|
302
420
|
// Export all PRD tools as an array
|
|
303
421
|
export const prdTools = [
|
|
304
422
|
readPrd,
|
|
@@ -307,5 +425,7 @@ export const prdTools = [
|
|
|
307
425
|
getIncompleteStories,
|
|
308
426
|
claimStory,
|
|
309
427
|
completeStory,
|
|
428
|
+
generateStoriesFromVision,
|
|
429
|
+
approveStories,
|
|
310
430
|
];
|
|
311
431
|
//# sourceMappingURL=prd.js.map
|
package/dist/tools/prd.js.map
CHANGED
|
@@ -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":"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"}
|
package/dist/vision.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NightShift Vision - Auto-Task Generation
|
|
3
|
+
*
|
|
4
|
+
* When a project vision/goal is defined, automatically generates new stories
|
|
5
|
+
* when incomplete story count drops below a configurable threshold.
|
|
6
|
+
* Uses an agent (typically Gemini) to compare vision vs current codebase state
|
|
7
|
+
* and identify gaps that become new user stories.
|
|
8
|
+
*/
|
|
9
|
+
import { RalphManager } from "./ralph-manager.js";
|
|
10
|
+
import { ChatManager } from "./chat-manager.js";
|
|
11
|
+
import { type AgentType } from "./agent-spawner.js";
|
|
12
|
+
export interface VisionConfig {
|
|
13
|
+
/** The project vision / end-state goal description */
|
|
14
|
+
vision: string;
|
|
15
|
+
/** Generate new stories when incomplete count drops below this (default: 5) */
|
|
16
|
+
autoGenerateWhenBelow: number;
|
|
17
|
+
/** Agent to use for story generation (default: "gemini") */
|
|
18
|
+
taskGenerationAgent: AgentType;
|
|
19
|
+
/** Max stories to generate per cycle (default: 10) */
|
|
20
|
+
maxAutoGenerated: number;
|
|
21
|
+
/** Require human approval before generated stories are activated (default: false) */
|
|
22
|
+
requireApproval: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface GeneratedStory {
|
|
25
|
+
id: string;
|
|
26
|
+
title: string;
|
|
27
|
+
description: string;
|
|
28
|
+
acceptanceCriteria: string[];
|
|
29
|
+
priority: number;
|
|
30
|
+
tags?: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface GenerationResult {
|
|
33
|
+
success: boolean;
|
|
34
|
+
storiesGenerated: number;
|
|
35
|
+
storyIds: string[];
|
|
36
|
+
error?: string;
|
|
37
|
+
/** Whether stories need approval before being worked on */
|
|
38
|
+
pendingApproval: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load vision config from nightshift.config.json.
|
|
42
|
+
* Returns null if no vision is configured.
|
|
43
|
+
*/
|
|
44
|
+
export declare function loadVisionConfig(projectPath: string): VisionConfig | null;
|
|
45
|
+
/**
|
|
46
|
+
* Generate new stories based on the project vision.
|
|
47
|
+
*
|
|
48
|
+
* Spawns an agent to analyze the codebase and vision, then parses
|
|
49
|
+
* the generated stories and adds them to prd.json.
|
|
50
|
+
*/
|
|
51
|
+
export declare function generateStories(projectPath: string, ralph: RalphManager, chat: ChatManager, config: VisionConfig): Promise<GenerationResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Check if vision-based story generation should be triggered.
|
|
54
|
+
* Called by the daemon after each reconciliation cycle.
|
|
55
|
+
*
|
|
56
|
+
* Returns true if generation was triggered (caller should re-reconcile).
|
|
57
|
+
*/
|
|
58
|
+
export declare function checkVisionThreshold(projectPath: string, ralph: RalphManager, chat: ChatManager): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Approve auto-generated stories so the daemon will pick them up.
|
|
61
|
+
* Removes the "pending_approval" tag and updates notes.
|
|
62
|
+
*/
|
|
63
|
+
export declare function approveGeneratedStories(ralph: RalphManager, storyIds?: string[]): {
|
|
64
|
+
approved: string[];
|
|
65
|
+
notFound: string[];
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=vision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOhE,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,mBAAmB,EAAE,SAAS,CAAC;IAC/B,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,eAAe,EAAE,OAAO,CAAC;CAC1B;AAQD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoBzE;AA2ID;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAiG3B;AAMD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkC5C"}
|
package/dist/vision.js
ADDED
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NightShift Vision - Auto-Task Generation
|
|
3
|
+
*
|
|
4
|
+
* When a project vision/goal is defined, automatically generates new stories
|
|
5
|
+
* when incomplete story count drops below a configurable threshold.
|
|
6
|
+
* Uses an agent (typically Gemini) to compare vision vs current codebase state
|
|
7
|
+
* and identify gaps that become new user stories.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from "fs";
|
|
10
|
+
import * as path from "path";
|
|
11
|
+
import { spawnAgent } from "./agent-spawner.js";
|
|
12
|
+
// ============================================
|
|
13
|
+
// Config Loading
|
|
14
|
+
// ============================================
|
|
15
|
+
const CONFIG_FILENAME = "nightshift.config.json";
|
|
16
|
+
/**
|
|
17
|
+
* Load vision config from nightshift.config.json.
|
|
18
|
+
* Returns null if no vision is configured.
|
|
19
|
+
*/
|
|
20
|
+
export function loadVisionConfig(projectPath) {
|
|
21
|
+
const configFile = path.join(projectPath, CONFIG_FILENAME);
|
|
22
|
+
if (!fs.existsSync(configFile))
|
|
23
|
+
return null;
|
|
24
|
+
try {
|
|
25
|
+
const raw = JSON.parse(fs.readFileSync(configFile, "utf-8"));
|
|
26
|
+
if (!raw.vision || typeof raw.vision !== "string")
|
|
27
|
+
return null;
|
|
28
|
+
return {
|
|
29
|
+
vision: raw.vision,
|
|
30
|
+
autoGenerateWhenBelow: raw.autoGenerateWhenBelow ?? 5,
|
|
31
|
+
taskGenerationAgent: raw.taskGenerationAgent ?? "gemini",
|
|
32
|
+
maxAutoGenerated: raw.maxAutoGenerated ?? 10,
|
|
33
|
+
requireApproval: raw.requireApproval ?? false,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ============================================
|
|
41
|
+
// Story ID Generation
|
|
42
|
+
// ============================================
|
|
43
|
+
/**
|
|
44
|
+
* Compute the next story ID based on existing stories.
|
|
45
|
+
* Finds the highest US-NNN and increments from there.
|
|
46
|
+
*/
|
|
47
|
+
function getNextStoryId(existingStories, count) {
|
|
48
|
+
let maxNum = 0;
|
|
49
|
+
for (const story of existingStories) {
|
|
50
|
+
const match = story.id.match(/^US-(\d+)$/);
|
|
51
|
+
if (match) {
|
|
52
|
+
const num = parseInt(match[1], 10);
|
|
53
|
+
if (num > maxNum)
|
|
54
|
+
maxNum = num;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const ids = [];
|
|
58
|
+
for (let i = 1; i <= count; i++) {
|
|
59
|
+
ids.push(`US-${String(maxNum + i).padStart(3, "0")}`);
|
|
60
|
+
}
|
|
61
|
+
return ids;
|
|
62
|
+
}
|
|
63
|
+
// ============================================
|
|
64
|
+
// Story Generation
|
|
65
|
+
// ============================================
|
|
66
|
+
/**
|
|
67
|
+
* Build the prompt sent to the generation agent.
|
|
68
|
+
*/
|
|
69
|
+
function buildGenerationPrompt(vision, prd, maxStories, projectPath) {
|
|
70
|
+
const completedStories = prd.userStories.filter(s => s.passes);
|
|
71
|
+
const incompleteStories = prd.userStories.filter(s => !s.passes);
|
|
72
|
+
const existingIds = prd.userStories.map(s => s.id);
|
|
73
|
+
// Build a concise summary of what's been done
|
|
74
|
+
const completedSummary = completedStories.length > 0
|
|
75
|
+
? completedStories.map(s => `- ${s.id}: ${s.title}`).join("\n")
|
|
76
|
+
: "(none yet)";
|
|
77
|
+
const incompleteSummary = incompleteStories.length > 0
|
|
78
|
+
? incompleteStories.map(s => `- ${s.id}: ${s.title}`).join("\n")
|
|
79
|
+
: "(none)";
|
|
80
|
+
return `You are a product manager and technical lead. Your job is to identify the most important work that needs to be done to achieve the project vision.
|
|
81
|
+
|
|
82
|
+
## Project Vision
|
|
83
|
+
${vision}
|
|
84
|
+
|
|
85
|
+
## Project Description
|
|
86
|
+
${prd.description || "(no description)"}
|
|
87
|
+
|
|
88
|
+
## Completed Stories (${completedStories.length})
|
|
89
|
+
${completedSummary}
|
|
90
|
+
|
|
91
|
+
## In-Progress / Remaining Stories (${incompleteStories.length})
|
|
92
|
+
${incompleteSummary}
|
|
93
|
+
|
|
94
|
+
## Existing Story IDs (do NOT reuse these)
|
|
95
|
+
${existingIds.join(", ")}
|
|
96
|
+
|
|
97
|
+
## Your Task
|
|
98
|
+
|
|
99
|
+
1. Read the codebase in the current directory to understand what has been built so far.
|
|
100
|
+
2. Compare the current state against the project vision.
|
|
101
|
+
3. Identify the top ${maxStories} most important gaps, features, or improvements needed.
|
|
102
|
+
4. For each gap, create a user story.
|
|
103
|
+
|
|
104
|
+
## Output Format
|
|
105
|
+
|
|
106
|
+
You MUST output ONLY a JSON array of story objects, with NO surrounding text or markdown:
|
|
107
|
+
|
|
108
|
+
[
|
|
109
|
+
{
|
|
110
|
+
"title": "Short descriptive title",
|
|
111
|
+
"description": "Detailed description of what needs to be built",
|
|
112
|
+
"acceptanceCriteria": ["AC 1", "AC 2", "AC 3"],
|
|
113
|
+
"priority": 1,
|
|
114
|
+
"tags": ["relevant", "tags"]
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
|
|
118
|
+
Rules:
|
|
119
|
+
- Priority 1 = highest priority, increment from there
|
|
120
|
+
- Each story should be independently completable by a single agent
|
|
121
|
+
- Stories should be specific and actionable, not vague
|
|
122
|
+
- Include 2-5 acceptance criteria per story
|
|
123
|
+
- Tags help route to the right pipeline (e.g., "frontend", "backend", "api", "research")
|
|
124
|
+
- Do NOT include an "id" field — IDs will be assigned automatically
|
|
125
|
+
- Output valid JSON only — no markdown fences, no explanatory text`;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Parse the agent's output into story objects.
|
|
129
|
+
* Handles common issues: markdown fences, explanatory text around JSON.
|
|
130
|
+
*/
|
|
131
|
+
function parseGeneratedStories(output) {
|
|
132
|
+
// Strip markdown fences if present
|
|
133
|
+
let cleaned = output.trim();
|
|
134
|
+
cleaned = cleaned.replace(/^```(?:json)?\s*\n?/i, "").replace(/\n?\s*```\s*$/i, "");
|
|
135
|
+
// Try to find a JSON array in the output
|
|
136
|
+
const arrayMatch = cleaned.match(/\[[\s\S]*\]/);
|
|
137
|
+
if (!arrayMatch) {
|
|
138
|
+
throw new Error("No JSON array found in agent output");
|
|
139
|
+
}
|
|
140
|
+
const parsed = JSON.parse(arrayMatch[0]);
|
|
141
|
+
if (!Array.isArray(parsed)) {
|
|
142
|
+
throw new Error("Parsed output is not an array");
|
|
143
|
+
}
|
|
144
|
+
// Validate each story has required fields
|
|
145
|
+
const stories = [];
|
|
146
|
+
for (const item of parsed) {
|
|
147
|
+
if (!item.title || typeof item.title !== "string")
|
|
148
|
+
continue;
|
|
149
|
+
stories.push({
|
|
150
|
+
id: "", // assigned later
|
|
151
|
+
title: item.title,
|
|
152
|
+
description: item.description || "",
|
|
153
|
+
acceptanceCriteria: Array.isArray(item.acceptanceCriteria) ? item.acceptanceCriteria : [],
|
|
154
|
+
priority: typeof item.priority === "number" ? item.priority : 999,
|
|
155
|
+
tags: Array.isArray(item.tags) ? item.tags : undefined,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return stories;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Generate new stories based on the project vision.
|
|
162
|
+
*
|
|
163
|
+
* Spawns an agent to analyze the codebase and vision, then parses
|
|
164
|
+
* the generated stories and adds them to prd.json.
|
|
165
|
+
*/
|
|
166
|
+
export async function generateStories(projectPath, ralph, chat, config) {
|
|
167
|
+
const prd = ralph.readPRD();
|
|
168
|
+
if (!prd) {
|
|
169
|
+
return { success: false, storiesGenerated: 0, storyIds: [], error: "No prd.json found", pendingApproval: false };
|
|
170
|
+
}
|
|
171
|
+
const prompt = buildGenerationPrompt(config.vision, prd, config.maxAutoGenerated, projectPath);
|
|
172
|
+
// Spawn the generation agent
|
|
173
|
+
chat.writeMessage({
|
|
174
|
+
agent: "NightShift",
|
|
175
|
+
type: "INFO",
|
|
176
|
+
content: `Vision auto-generation triggered (${prd.userStories.filter(s => !s.passes).length} incomplete stories, threshold: ${config.autoGenerateWhenBelow}). Spawning ${config.taskGenerationAgent} to generate up to ${config.maxAutoGenerated} new stories.`,
|
|
177
|
+
});
|
|
178
|
+
const result = await spawnAgent({
|
|
179
|
+
agent: config.taskGenerationAgent,
|
|
180
|
+
prompt,
|
|
181
|
+
projectPath,
|
|
182
|
+
timeout: 600_000, // 10 minutes
|
|
183
|
+
role: "vision-generator",
|
|
184
|
+
});
|
|
185
|
+
if (!result.success || !result.output) {
|
|
186
|
+
const error = `Story generation failed: ${result.error || "no output from agent"}`;
|
|
187
|
+
chat.writeMessage({ agent: "NightShift", type: "ERROR", content: error });
|
|
188
|
+
return { success: false, storiesGenerated: 0, storyIds: [], error, pendingApproval: false };
|
|
189
|
+
}
|
|
190
|
+
// Parse the agent's output
|
|
191
|
+
let generated;
|
|
192
|
+
try {
|
|
193
|
+
generated = parseGeneratedStories(result.output);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
const error = `Failed to parse generated stories: ${err instanceof Error ? err.message : String(err)}`;
|
|
197
|
+
chat.writeMessage({ agent: "NightShift", type: "ERROR", content: error });
|
|
198
|
+
return { success: false, storiesGenerated: 0, storyIds: [], error, pendingApproval: false };
|
|
199
|
+
}
|
|
200
|
+
if (generated.length === 0) {
|
|
201
|
+
chat.writeMessage({ agent: "NightShift", type: "INFO", content: "Vision agent returned no new stories — vision may be complete." });
|
|
202
|
+
return { success: true, storiesGenerated: 0, storyIds: [], pendingApproval: false };
|
|
203
|
+
}
|
|
204
|
+
// Cap at maxAutoGenerated
|
|
205
|
+
generated = generated.slice(0, config.maxAutoGenerated);
|
|
206
|
+
// Assign IDs
|
|
207
|
+
const newIds = getNextStoryId(prd.userStories, generated.length);
|
|
208
|
+
for (let i = 0; i < generated.length; i++) {
|
|
209
|
+
generated[i].id = newIds[i];
|
|
210
|
+
}
|
|
211
|
+
// Re-read PRD to avoid race conditions with concurrent story completions
|
|
212
|
+
const freshPrd = ralph.readPRD();
|
|
213
|
+
if (!freshPrd) {
|
|
214
|
+
return { success: false, storiesGenerated: 0, storyIds: [], error: "PRD disappeared during generation", pendingApproval: false };
|
|
215
|
+
}
|
|
216
|
+
// Add stories to PRD
|
|
217
|
+
const pendingApproval = config.requireApproval;
|
|
218
|
+
for (const story of generated) {
|
|
219
|
+
const newStory = {
|
|
220
|
+
id: story.id,
|
|
221
|
+
title: story.title,
|
|
222
|
+
description: story.description,
|
|
223
|
+
acceptanceCriteria: story.acceptanceCriteria,
|
|
224
|
+
priority: story.priority,
|
|
225
|
+
passes: false,
|
|
226
|
+
notes: pendingApproval ? "AUTO_GENERATED — awaiting approval" : "AUTO_GENERATED",
|
|
227
|
+
tags: [...(story.tags || []), "auto_generated"],
|
|
228
|
+
};
|
|
229
|
+
// If approval required, mark with a special tag so daemon skips them
|
|
230
|
+
if (pendingApproval) {
|
|
231
|
+
newStory.tags = [...(newStory.tags || []), "pending_approval"];
|
|
232
|
+
}
|
|
233
|
+
freshPrd.userStories.push(newStory);
|
|
234
|
+
}
|
|
235
|
+
ralph.writePRD(freshPrd);
|
|
236
|
+
const storyIds = generated.map(s => s.id);
|
|
237
|
+
const summaryLines = generated.map(s => ` ${s.id}: ${s.title}`).join("\n");
|
|
238
|
+
chat.writeMessage({
|
|
239
|
+
agent: "NightShift",
|
|
240
|
+
type: "INFO",
|
|
241
|
+
content: `Vision auto-generation complete. Added ${generated.length} stories:\n${summaryLines}${pendingApproval ? "\nStories are pending human approval." : ""}`,
|
|
242
|
+
});
|
|
243
|
+
return {
|
|
244
|
+
success: true,
|
|
245
|
+
storiesGenerated: generated.length,
|
|
246
|
+
storyIds,
|
|
247
|
+
pendingApproval,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
// ============================================
|
|
251
|
+
// Daemon Integration
|
|
252
|
+
// ============================================
|
|
253
|
+
/**
|
|
254
|
+
* Check if vision-based story generation should be triggered.
|
|
255
|
+
* Called by the daemon after each reconciliation cycle.
|
|
256
|
+
*
|
|
257
|
+
* Returns true if generation was triggered (caller should re-reconcile).
|
|
258
|
+
*/
|
|
259
|
+
export async function checkVisionThreshold(projectPath, ralph, chat) {
|
|
260
|
+
const config = loadVisionConfig(projectPath);
|
|
261
|
+
if (!config)
|
|
262
|
+
return false;
|
|
263
|
+
const prd = ralph.readPRD();
|
|
264
|
+
if (!prd)
|
|
265
|
+
return false;
|
|
266
|
+
const incomplete = prd.userStories.filter(s => {
|
|
267
|
+
if (s.passes)
|
|
268
|
+
return false;
|
|
269
|
+
// Don't count pending_approval stories as "available work"
|
|
270
|
+
if (s.tags?.includes("pending_approval"))
|
|
271
|
+
return false;
|
|
272
|
+
return true;
|
|
273
|
+
});
|
|
274
|
+
if (incomplete.length >= config.autoGenerateWhenBelow) {
|
|
275
|
+
return false; // Enough stories remain, no generation needed
|
|
276
|
+
}
|
|
277
|
+
// Trigger generation
|
|
278
|
+
const result = await generateStories(projectPath, ralph, chat, config);
|
|
279
|
+
return result.success && result.storiesGenerated > 0;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Approve auto-generated stories so the daemon will pick them up.
|
|
283
|
+
* Removes the "pending_approval" tag and updates notes.
|
|
284
|
+
*/
|
|
285
|
+
export function approveGeneratedStories(ralph, storyIds) {
|
|
286
|
+
const prd = ralph.readPRD();
|
|
287
|
+
if (!prd)
|
|
288
|
+
return { approved: [], notFound: [] };
|
|
289
|
+
const approved = [];
|
|
290
|
+
const notFound = [];
|
|
291
|
+
const targetStories = storyIds
|
|
292
|
+
? prd.userStories.filter(s => storyIds.includes(s.id))
|
|
293
|
+
: prd.userStories.filter(s => s.tags?.includes("pending_approval"));
|
|
294
|
+
if (storyIds) {
|
|
295
|
+
for (const id of storyIds) {
|
|
296
|
+
if (!prd.userStories.find(s => s.id === id)) {
|
|
297
|
+
notFound.push(id);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
for (const story of targetStories) {
|
|
302
|
+
if (story.tags) {
|
|
303
|
+
story.tags = story.tags.filter(t => t !== "pending_approval");
|
|
304
|
+
}
|
|
305
|
+
if (story.notes === "AUTO_GENERATED — awaiting approval") {
|
|
306
|
+
story.notes = "AUTO_GENERATED — approved";
|
|
307
|
+
}
|
|
308
|
+
approved.push(story.id);
|
|
309
|
+
}
|
|
310
|
+
if (approved.length > 0) {
|
|
311
|
+
ralph.writePRD(prd);
|
|
312
|
+
}
|
|
313
|
+
return { approved, notFound };
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=vision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.js","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nightshift-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Agent teams and multi-agent orchestration across AI models via MCP. Coordinate Claude, Codex, Gemini, Vibe, and Goose with delegation, failovers, and autonomous workflows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|