olympus-ai 4.4.0 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/features/workflow-engine/completion-messages.d.ts +5 -5
- package/dist/features/workflow-engine/completion-messages.d.ts.map +1 -1
- package/dist/features/workflow-engine/completion-messages.js +25 -27
- package/dist/features/workflow-engine/completion-messages.js.map +1 -1
- package/dist/features/workflow-engine/inception/response-formatter.d.ts +1 -0
- package/dist/features/workflow-engine/inception/response-formatter.d.ts.map +1 -1
- package/dist/features/workflow-engine/inception/response-formatter.js +39 -28
- package/dist/features/workflow-engine/inception/response-formatter.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/mcp-cleanup/index.d.ts +23 -0
- package/dist/hooks/mcp-cleanup/index.d.ts.map +1 -0
- package/dist/hooks/mcp-cleanup/index.js +104 -0
- package/dist/hooks/mcp-cleanup/index.js.map +1 -0
- package/dist/hooks/olympus-hooks.cjs +194 -186
- package/dist/hooks/registrations/session-start.d.ts.map +1 -1
- package/dist/hooks/registrations/session-start.js +2 -0
- package/dist/hooks/registrations/session-start.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/resources/rules/construction/code-generation.md +18 -13
- package/resources/rules/construction/functional-design.md +17 -11
- package/resources/rules/construction/infrastructure-design.md +17 -11
- package/resources/rules/construction/nfr-design.md +17 -11
- package/resources/rules/construction/nfr-requirements.md +17 -11
- package/resources/rules/inception/application-design.md +18 -11
- package/resources/rules/inception/requirements-analysis.md +19 -13
- package/resources/rules/inception/reverse-engineering.md +18 -9
- package/resources/rules/inception/units-generation.md +18 -9
- package/resources/rules/inception/user-stories.md +19 -11
- package/resources/rules/inception/workflow-planning.md +20 -11
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { formatStageCompletion, formatInceptionComplete } from './inception/response-formatter.js';
|
|
1
|
+
import { formatStageCompletion, formatInceptionComplete, formatFieldsetBox } from './inception/response-formatter.js';
|
|
2
2
|
import type { InceptionStage } from './phase-types.js';
|
|
3
|
-
export { formatStageCompletion, formatInceptionComplete };
|
|
3
|
+
export { formatStageCompletion, formatInceptionComplete, formatFieldsetBox };
|
|
4
4
|
export declare const INCEPTION_STAGE_REVIEW_ITEMS: Record<InceptionStage, string[]>;
|
|
5
5
|
export declare function buildInceptionStageCompletionMessage(stage: InceptionStage, artifacts: string[], nextStage: InceptionStage | null, depth?: string): string;
|
|
6
|
-
export declare const INCEPTION_COMPLETION_FORMAT: "## Stage Complete: {stage}\n\n{summary}\n\n
|
|
7
|
-
export declare const CONSTRUCTION_COMPLETION_FORMAT: "## Stage Complete: {stage}\n\n{summary}\n\n
|
|
6
|
+
export declare const INCEPTION_COMPLETION_FORMAT: "## Stage Complete: {stage}\n\n{summary}\n\n\u250C\u2500 \u26A0 REVIEW REQUIRED \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502\n\u2502 Please review the artifacts at: `{reviewPath}` \u2502\n\u2502 \u2502\n\u2502 **What would you like to do?** \u2502\n\u2502 1. \uD83D\uDD27 **Request Changes** \u2014 I'll revise based on feedback \u2502\n\u2502 2. \u2795 **Add Skipped Stage** \u2014 Include excluded stage \u2502\n\u2502 3. \u2705 **Approve & Continue** \u2014 Proceed to next stage \u2502\n\u2502 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518";
|
|
7
|
+
export declare const CONSTRUCTION_COMPLETION_FORMAT: "## Stage Complete: {stage}\n\n{summary}\n\n\u250C\u2500 \u26A0 REVIEW REQUIRED \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502\n\u2502 Please review the artifacts at: `{reviewPath}` \u2502\n\u2502 \u2502\n\u2502 **What would you like to do?** \u2502\n\u2502 1. \uD83D\uDD27 **Request Changes** \u2014 I'll revise based on feedback \u2502\n\u2502 2. \u2705 **Continue to Next Stage** \u2014 Approve and proceed \u2502\n\u2502 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518";
|
|
8
8
|
/**
|
|
9
9
|
* Build a standardized completion message for a stage.
|
|
10
10
|
*
|
|
@@ -27,5 +27,5 @@ export declare function formatSummaryBullets(bullets: string[]): string;
|
|
|
27
27
|
/**
|
|
28
28
|
* Completion message rules for skill template injection.
|
|
29
29
|
*/
|
|
30
|
-
export declare const COMPLETION_MESSAGE_RULES = "## Completion Message Rules\n\nAt the end of EVERY stage:\n1. Display the stage completion header
|
|
30
|
+
export declare const COMPLETION_MESSAGE_RULES = "## Completion Message Rules\n\nAt the end of EVERY stage:\n1. Display the stage completion header with factual summary\n2. Display the REVIEW REQUIRED fieldset box using Unicode box-drawing characters\n3. Box format: \u250C\u2500 \u26A0 REVIEW REQUIRED \u2500\u2500\u2500\u2510 with \u2502 side borders \u2502 and \u2514\u2500\u2500\u2500\u2518 bottom\n4. Show options inside the box:\n - Inception stages: 3 options (Request Changes / Add Skipped Stage / Approve & Continue)\n - Construction stages: 2 options ONLY (Request Changes / Continue to Next Stage)\n5. WAIT for user selection before proceeding";
|
|
31
31
|
//# sourceMappingURL=completion-messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-messages.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/completion-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-messages.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/completion-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;AAE7E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAmCzE,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,cAAc,GAAG,IAAI,EAChC,KAAK,GAAE,MAAmB,GACzB,MAAM,CAIR;AAED,eAAO,MAAM,2BAA2B,spDAakD,CAAC;AAE3F,eAAO,MAAM,8BAA8B,ijDAY+C,CAAC;AAE3F;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GAAG,cAAc,EACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,qmBASQ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { formatStageCompletion, formatInceptionComplete } from './inception/response-formatter.js';
|
|
2
|
-
export { formatStageCompletion, formatInceptionComplete };
|
|
1
|
+
import { formatStageCompletion, formatInceptionComplete, formatFieldsetBox } from './inception/response-formatter.js';
|
|
2
|
+
export { formatStageCompletion, formatInceptionComplete, formatFieldsetBox };
|
|
3
3
|
export const INCEPTION_STAGE_REVIEW_ITEMS = {
|
|
4
4
|
'workspace-detection': [
|
|
5
5
|
'Verify the detected pathway type (greenfield/brownfield) is correct',
|
|
@@ -45,31 +45,29 @@ export const INCEPTION_COMPLETION_FORMAT = `## Stage Complete: {stage}
|
|
|
45
45
|
|
|
46
46
|
{summary}
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
`;
|
|
48
|
+
┌─ ⚠ REVIEW REQUIRED ──────────────────────────────────────────────────────────┐
|
|
49
|
+
│ │
|
|
50
|
+
│ Please review the artifacts at: \`{reviewPath}\` │
|
|
51
|
+
│ │
|
|
52
|
+
│ **What would you like to do?** │
|
|
53
|
+
│ 1. 🔧 **Request Changes** — I'll revise based on feedback │
|
|
54
|
+
│ 2. ➕ **Add Skipped Stage** — Include excluded stage │
|
|
55
|
+
│ 3. ✅ **Approve & Continue** — Proceed to next stage │
|
|
56
|
+
│ │
|
|
57
|
+
└──────────────────────────────────────────────────────────────────────────────┘`;
|
|
59
58
|
export const CONSTRUCTION_COMPLETION_FORMAT = `## Stage Complete: {stage}
|
|
60
59
|
|
|
61
60
|
{summary}
|
|
62
61
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
`;
|
|
62
|
+
┌─ ⚠ REVIEW REQUIRED ──────────────────────────────────────────────────────────┐
|
|
63
|
+
│ │
|
|
64
|
+
│ Please review the artifacts at: \`{reviewPath}\` │
|
|
65
|
+
│ │
|
|
66
|
+
│ **What would you like to do?** │
|
|
67
|
+
│ 1. 🔧 **Request Changes** — I'll revise based on feedback │
|
|
68
|
+
│ 2. ✅ **Continue to Next Stage** — Approve and proceed │
|
|
69
|
+
│ │
|
|
70
|
+
└──────────────────────────────────────────────────────────────────────────────┘`;
|
|
73
71
|
/**
|
|
74
72
|
* Build a standardized completion message for a stage.
|
|
75
73
|
*
|
|
@@ -107,10 +105,10 @@ export function formatSummaryBullets(bullets) {
|
|
|
107
105
|
export const COMPLETION_MESSAGE_RULES = `## Completion Message Rules
|
|
108
106
|
|
|
109
107
|
At the end of EVERY stage:
|
|
110
|
-
1. Display the stage completion header
|
|
111
|
-
2.
|
|
112
|
-
3.
|
|
113
|
-
4. Show options:
|
|
108
|
+
1. Display the stage completion header with factual summary
|
|
109
|
+
2. Display the REVIEW REQUIRED fieldset box using Unicode box-drawing characters
|
|
110
|
+
3. Box format: ┌─ ⚠ REVIEW REQUIRED ───┐ with │ side borders │ and └───┘ bottom
|
|
111
|
+
4. Show options inside the box:
|
|
114
112
|
- Inception stages: 3 options (Request Changes / Add Skipped Stage / Approve & Continue)
|
|
115
113
|
- Construction stages: 2 options ONLY (Request Changes / Continue to Next Stage)
|
|
116
114
|
5. WAIT for user selection before proceeding`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-messages.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/completion-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-messages.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/completion-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtH,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;AAE7E,MAAM,CAAC,MAAM,4BAA4B,GAAqC;IAC5E,qBAAqB,EAAE;QACrB,qEAAqE;QACrE,gEAAgE;KACjE;IACD,qBAAqB,EAAE;QACrB,iDAAiD;QACjD,kDAAkD;QAClD,8DAA8D;KAC/D;IACD,uBAAuB,EAAE;QACvB,gDAAgD;QAChD,qDAAqD;QACrD,uCAAuC;KACxC;IACD,cAAc,EAAE;QACd,yDAAyD;QACzD,sDAAsD;QACtD,kDAAkD;KACnD;IACD,mBAAmB,EAAE;QACnB,4CAA4C;QAC5C,+DAA+D;QAC/D,wDAAwD;KACzD;IACD,oBAAoB,EAAE;QACpB,qDAAqD;QACrD,0DAA0D;QAC1D,4DAA4D;KAC7D;IACD,kBAAkB,EAAE;QAClB,yDAAyD;QACzD,+CAA+C;QAC/C,uDAAuD;KACxD;CACF,CAAC;AAEF,MAAM,UAAU,oCAAoC,CAClD,KAAqB,EACrB,SAAmB,EACnB,SAAgC,EAChC,QAAgB,UAAU;IAE1B,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,OAAO,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;iFAa+C,CAAC;AAE3F,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;iFAY4C,CAAC;AAE3F;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,KAAmC,EACnC,OAAe,EACf,UAAkB,EAClB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW;QACpC,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,8BAA8B,CAAC;IAEnC,OAAO,QAAQ;SACZ,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;SACzB,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;SAC7B,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAiB;IACpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,yBAAyB,CAAC;IAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;6CASK,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare function formatFieldsetBox(label: string, lines: string[]): string;
|
|
1
2
|
export declare function formatStageCompletion(stageName: string, artifacts: string[], reviewItems: string[], nextStage: string | null, nextStageDescription: string, depth?: string): string;
|
|
2
3
|
export declare function formatInceptionComplete(workflowId: string, totalStages: number, artifactCount: number): string;
|
|
3
4
|
//# sourceMappingURL=response-formatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/inception/response-formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/inception/response-formatter.ts"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBxE;AA0CD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,oBAAoB,EAAE,MAAM,EAC5B,KAAK,GAAE,MAAmB,GACzB,MAAM,CA2DR;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAsBR"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
const BOX_WIDTH = 80;
|
|
2
|
+
const CONTENT_WIDTH = BOX_WIDTH - 4;
|
|
3
|
+
export function formatFieldsetBox(label, lines) {
|
|
4
|
+
const labelPart = `─ ${label} `;
|
|
5
|
+
const topFillLen = Math.max(0, BOX_WIDTH - 2 - labelPart.length);
|
|
6
|
+
const top = `┌${labelPart}${'─'.repeat(topFillLen)}┐`;
|
|
7
|
+
const formatted = lines.map(line => {
|
|
8
|
+
if (line === '') {
|
|
9
|
+
return `│${' '.repeat(BOX_WIDTH - 2)}│`;
|
|
10
|
+
}
|
|
11
|
+
const pad = Math.max(0, CONTENT_WIDTH - line.length);
|
|
12
|
+
return `│ ${line}${' '.repeat(pad)} │`;
|
|
13
|
+
});
|
|
14
|
+
const bottom = `└${'─'.repeat(BOX_WIDTH - 2)}┘`;
|
|
15
|
+
return [top, ...formatted, bottom].join('\n');
|
|
16
|
+
}
|
|
1
17
|
const STAGE_LABELS = {
|
|
2
18
|
'workspace-detection': 'Workspace Detection',
|
|
3
19
|
'reverse-engineering': 'Reverse Engineering',
|
|
@@ -38,25 +54,22 @@ export function formatStageCompletion(stageName, artifacts, reviewItems, nextSta
|
|
|
38
54
|
const label = STAGE_LABELS[stageName] ?? stageName;
|
|
39
55
|
const description = STAGE_DESCRIPTIONS[stageName]
|
|
40
56
|
?? `Stage '${stageName}' completed`;
|
|
41
|
-
const
|
|
42
|
-
? artifacts.map(a => `- \`${a}\``)
|
|
43
|
-
: '- _(no artifacts generated)_';
|
|
44
|
-
const
|
|
45
|
-
? reviewItems.map(item => `- [ ] ${item}`)
|
|
46
|
-
: '- [ ] Review the generated artifacts for accuracy and completeness';
|
|
47
|
-
const
|
|
48
|
-
'---',
|
|
57
|
+
const artifactLines = artifacts.length > 0
|
|
58
|
+
? artifacts.map(a => `- \`${a}\``)
|
|
59
|
+
: ['- _(no artifacts generated)_'];
|
|
60
|
+
const reviewLines = reviewItems.length > 0
|
|
61
|
+
? reviewItems.map(item => `- [ ] ${item}`)
|
|
62
|
+
: ['- [ ] Review the generated artifacts for accuracy and completeness'];
|
|
63
|
+
const contentLines = [
|
|
49
64
|
'',
|
|
50
|
-
'
|
|
51
|
-
'',
|
|
52
|
-
`### What was completed`,
|
|
65
|
+
'**What was completed**',
|
|
53
66
|
`- **${label}**: ${description}`,
|
|
54
67
|
'',
|
|
55
|
-
'
|
|
56
|
-
|
|
68
|
+
'**Artifacts generated**',
|
|
69
|
+
...artifactLines,
|
|
57
70
|
'',
|
|
58
|
-
'
|
|
59
|
-
|
|
71
|
+
'**What needs your review**',
|
|
72
|
+
...reviewLines,
|
|
60
73
|
'',
|
|
61
74
|
'---',
|
|
62
75
|
'',
|
|
@@ -68,34 +81,32 @@ export function formatStageCompletion(stageName, artifacts, reviewItems, nextSta
|
|
|
68
81
|
|| `Execute the ${nextStage} stage`;
|
|
69
82
|
const timeHints = STAGE_TIME_HINTS[nextStage];
|
|
70
83
|
const timeHint = timeHints ? timeHints[depth] ?? timeHints['standard'] : 'a few minutes';
|
|
71
|
-
|
|
84
|
+
contentLines.push(`**📋 WHAT'S NEXT**`, `After your review, proceed to: **${nextLabel}**`, `- ${effectiveNextDesc}`, `- Estimated time: ${timeHint}`, '', 'To proceed: `continue` or `approve`', 'To request changes: `revise [specific feedback]`', '');
|
|
72
85
|
}
|
|
73
86
|
else {
|
|
74
|
-
|
|
87
|
+
contentLines.push(`**📋 WHAT'S NEXT**`, 'Inception phase is complete.', '- All inception stages have been executed and artifacts are ready for construction', '- Review the execution plan at `aidlc-docs/{workflow-id}/inception/plans/execution-plan.md`', '', 'To proceed to Construction: `continue` or `approve`', '');
|
|
75
88
|
}
|
|
76
|
-
return
|
|
89
|
+
return formatFieldsetBox('⚠ REVIEW REQUIRED', contentLines);
|
|
77
90
|
}
|
|
78
91
|
export function formatInceptionComplete(workflowId, totalStages, artifactCount) {
|
|
79
92
|
const artifactPath = `aidlc-docs/${workflowId}/inception/`;
|
|
80
|
-
|
|
81
|
-
'---',
|
|
93
|
+
const contentLines = [
|
|
82
94
|
'',
|
|
83
|
-
|
|
84
|
-
'',
|
|
85
|
-
`All ${totalStages} inception stage(s) have completed successfully.`,
|
|
95
|
+
`All ${totalStages} inception stage(s) completed successfully.`,
|
|
86
96
|
`${artifactCount} artifact(s) generated in \`${artifactPath}\``,
|
|
87
97
|
'',
|
|
88
|
-
'
|
|
98
|
+
'**What was accomplished**',
|
|
89
99
|
'- Requirements captured and structured',
|
|
90
100
|
'- User stories and personas defined',
|
|
91
101
|
'- Workflow execution plan created',
|
|
92
102
|
'- Units of work defined and mapped',
|
|
93
103
|
'',
|
|
94
|
-
|
|
95
|
-
'The Construction phase will execute design
|
|
104
|
+
`**📋 Next Phase: Construction**`,
|
|
105
|
+
'The Construction phase will execute design/implementation.',
|
|
96
106
|
'',
|
|
97
107
|
'To begin Construction: `continue` or `/ascent`',
|
|
98
|
-
'
|
|
99
|
-
]
|
|
108
|
+
'',
|
|
109
|
+
];
|
|
110
|
+
return formatFieldsetBox('✅ INCEPTION COMPLETE', contentLines);
|
|
100
111
|
}
|
|
101
112
|
//# sourceMappingURL=response-formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/inception/response-formatter.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAmC;IACnD,qBAAqB,EAAE,qBAAqB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,uBAAuB,EAAE,uBAAuB;IAChD,cAAc,EAAE,cAAc;IAC9B,mBAAmB,EAAE,mBAAmB;IACxC,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,kBAAkB;CACvC,CAAC;AAEF,MAAM,kBAAkB,GAAmC;IACzD,qBAAqB,EAAE,8FAA8F;IACrH,qBAAqB,EAAE,wEAAwE;IAC/F,uBAAuB,EAAE,uDAAuD;IAChF,cAAc,EAAE,mEAAmE;IACnF,mBAAmB,EAAE,sDAAsD;IAC3E,oBAAoB,EAAE,iEAAiE;IACvF,kBAAkB,EAAE,2EAA2E;CAChG,CAAC;AAEF,MAAM,uBAAuB,GAAmC;IAC9D,qBAAqB,EAAE,mFAAmF;IAC1G,qBAAqB,EAAE,gEAAgE;IACvF,uBAAuB,EAAE,qFAAqF;IAC9G,cAAc,EAAE,4EAA4E;IAC5F,mBAAmB,EAAE,4EAA4E;IACjG,oBAAoB,EAAE,mFAAmF;IACzG,kBAAkB,EAAE,qFAAqF;CAC1G,CAAC;AAEF,MAAM,gBAAgB,GAAmD;IACvE,qBAAqB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;IAC5F,qBAAqB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IAC/F,uBAAuB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE;IACnG,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IACxF,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE;IAC3F,oBAAoB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IAC9F,kBAAkB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;CAC7F,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,SAAmB,EACnB,WAAqB,EACrB,SAAwB,EACxB,oBAA4B,EAC5B,QAAgB,UAAU;IAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAA2B,CAAC,IAAI,SAAS,CAAC;IACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAA2B,CAAC;WAC9D,UAAU,SAAS,aAAa,CAAC;IAEtC,MAAM,
|
|
1
|
+
{"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/inception/response-formatter.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,aAAa,GAAG,SAAS,GAAG,CAAC,CAAC;AAEpC,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAe;IAC9D,MAAM,SAAS,GAAG,KAAK,KAAK,GAAG,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;IAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;IAEhD,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,YAAY,GAAmC;IACnD,qBAAqB,EAAE,qBAAqB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,uBAAuB,EAAE,uBAAuB;IAChD,cAAc,EAAE,cAAc;IAC9B,mBAAmB,EAAE,mBAAmB;IACxC,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,kBAAkB;CACvC,CAAC;AAEF,MAAM,kBAAkB,GAAmC;IACzD,qBAAqB,EAAE,8FAA8F;IACrH,qBAAqB,EAAE,wEAAwE;IAC/F,uBAAuB,EAAE,uDAAuD;IAChF,cAAc,EAAE,mEAAmE;IACnF,mBAAmB,EAAE,sDAAsD;IAC3E,oBAAoB,EAAE,iEAAiE;IACvF,kBAAkB,EAAE,2EAA2E;CAChG,CAAC;AAEF,MAAM,uBAAuB,GAAmC;IAC9D,qBAAqB,EAAE,mFAAmF;IAC1G,qBAAqB,EAAE,gEAAgE;IACvF,uBAAuB,EAAE,qFAAqF;IAC9G,cAAc,EAAE,4EAA4E;IAC5F,mBAAmB,EAAE,4EAA4E;IACjG,oBAAoB,EAAE,mFAAmF;IACzG,kBAAkB,EAAE,qFAAqF;CAC1G,CAAC;AAEF,MAAM,gBAAgB,GAAmD;IACvE,qBAAqB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;IAC5F,qBAAqB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IAC/F,uBAAuB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE;IACnG,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IACxF,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE;IAC3F,oBAAoB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;IAC9F,kBAAkB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;CAC7F,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,SAAmB,EACnB,WAAqB,EACrB,SAAwB,EACxB,oBAA4B,EAC5B,QAAgB,UAAU;IAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAA2B,CAAC,IAAI,SAAS,CAAC;IACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAA2B,CAAC;WAC9D,UAAU,SAAS,aAAa,CAAC;IAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC;IAE3E,MAAM,YAAY,GAAa;QAC7B,EAAE;QACF,wBAAwB;QACxB,OAAO,KAAK,OAAO,WAAW,EAAE;QAChC,EAAE;QACF,yBAAyB;QACzB,GAAG,aAAa;QAChB,EAAE;QACF,4BAA4B;QAC5B,GAAG,WAAW;QACd,EAAE;QACF,KAAK;QACL,EAAE;KACH,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,YAAY,CAAC,SAA2B,CAAC,IAAI,SAAS,CAAC;QACzE,MAAM,iBAAiB,GAAG,oBAAoB;eACzC,uBAAuB,CAAC,SAA2B,CAAC;eACpD,eAAe,SAAS,QAAQ,CAAC;QACtC,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAA2B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAEzF,YAAY,CAAC,IAAI,CACf,oBAAoB,EACpB,oCAAoC,SAAS,IAAI,EACjD,KAAK,iBAAiB,EAAE,EACxB,qBAAqB,QAAQ,EAAE,EAC/B,EAAE,EACF,qCAAqC,EACrC,kDAAkD,EAClD,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,IAAI,CACf,oBAAoB,EACpB,8BAA8B,EAC9B,oFAAoF,EACpF,6FAA6F,EAC7F,EAAE,EACF,qDAAqD,EACrD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,WAAmB,EACnB,aAAqB;IAErB,MAAM,YAAY,GAAG,cAAc,UAAU,aAAa,CAAC;IAE3D,MAAM,YAAY,GAAa;QAC7B,EAAE;QACF,OAAO,WAAW,6CAA6C;QAC/D,GAAG,aAAa,+BAA+B,YAAY,IAAI;QAC/D,EAAE;QACF,2BAA2B;QAC3B,wCAAwC;QACxC,qCAAqC;QACrC,mCAAmC;QACnC,oCAAoC;QACpC,EAAE;QACF,iCAAiC;QACjC,4DAA4D;QAC5D,EAAE;QACF,gDAAgD;QAChD,EAAE;KACH,CAAC;IAEF,OAAO,iBAAiB,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { detectKeywordsWithType, extractPromptText, removeCodeBlocks, type Detec
|
|
|
13
13
|
export { createAscentLoopHook, readAscentState, writeAscentState, clearAscentState, type AscentLoopState, type AscentLoopHook } from './ascent/index.js';
|
|
14
14
|
export { createTodoContinuationHook, checkIncompleteTodos, type TodoContinuationHook } from './todo-continuation/index.js';
|
|
15
15
|
export { processHook, type HookInput, type HookOutput } from './bridge.js';
|
|
16
|
+
export { createMcpCleanupHook, cleanupOrphanedMcpProcesses, findOrphanedMcpProcesses, killOrphanedProcesses, isMcpProcess, HOOK_NAME as MCP_CLEANUP_HOOK_NAME, MCP_COMMAND_PATTERN, MCP_SPECIFIC_PATTERNS, type ProcessInfo as McpProcessInfo } from './mcp-cleanup/index.js';
|
|
16
17
|
export { createEditErrorRecoveryHook, detectEditError, injectEditErrorRecovery, processEditOutput, EDIT_ERROR_PATTERNS, EDIT_ERROR_REMINDER, type ToolExecuteInput, type ToolExecuteOutput } from './edit-error-recovery/index.js';
|
|
17
18
|
export { createThinkModeHook, detectThinkKeyword, detectUltrathinkKeyword, extractPromptText as extractThinkPromptText, removeCodeBlocks as removeThinkCodeBlocks, getHighVariant, isAlreadyHighVariant, getThinkingConfig, getClaudeThinkingConfig, clearThinkModeState, getThinkModeState, isThinkModeActive, processThinkMode, shouldActivateThinkMode, shouldActivateUltrathink, THINKING_CONFIGS, type ThinkModeState, type ModelRef, type MessageWithModel, type ThinkModeInput, type ClaudeThinkingConfig, type ThinkingConfig } from './think-mode/index.js';
|
|
18
19
|
export { createRulesInjectorHook, getRulesForPath, findProjectRoot, findRuleFiles, parseRuleFrontmatter, shouldApplyRule, createContentHash, isDuplicateByRealPath, isDuplicateByContentHash, loadInjectedRules, saveInjectedRules, clearInjectedRules, RULES_INJECTOR_STORAGE, PROJECT_MARKERS, PROJECT_RULE_SUBDIRS, PROJECT_RULE_FILES, USER_RULE_DIR, RULE_EXTENSIONS, TRACKED_TOOLS, type RuleMetadata, type RuleInfo, type RuleFileCandidate, type InjectedRulesData, type RuleToInject, type MatchResult, type RuleFrontmatterResult } from './rules-injector/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -21,6 +21,7 @@ createTodoContinuationHook, checkIncompleteTodos } from './todo-continuation/ind
|
|
|
21
21
|
export {
|
|
22
22
|
// Hook Bridge (main entry point for shell scripts)
|
|
23
23
|
processHook } from './bridge.js';
|
|
24
|
+
export { createMcpCleanupHook, cleanupOrphanedMcpProcesses, findOrphanedMcpProcesses, killOrphanedProcesses, isMcpProcess, HOOK_NAME as MCP_CLEANUP_HOOK_NAME, MCP_COMMAND_PATTERN, MCP_SPECIFIC_PATTERNS } from './mcp-cleanup/index.js';
|
|
24
25
|
export {
|
|
25
26
|
// Edit Error Recovery
|
|
26
27
|
createEditErrorRecoveryHook, detectEditError, injectEditErrorRecovery, processEditOutput, EDIT_ERROR_PATTERNS, EDIT_ERROR_REMINDER } from './edit-error-recovery/index.js';
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Process Cleanup Hook
|
|
3
|
+
*
|
|
4
|
+
* Kills orphaned MCP server processes from previous Claude Code sessions.
|
|
5
|
+
* Only kills processes whose parent process no longer exists (safe for
|
|
6
|
+
* multiple simultaneous Claude Code sessions).
|
|
7
|
+
*
|
|
8
|
+
* Windows-only for now — gracefully skips on other platforms.
|
|
9
|
+
*/
|
|
10
|
+
export declare const HOOK_NAME = "mcpProcessCleanup";
|
|
11
|
+
export declare const MCP_COMMAND_PATTERN: RegExp;
|
|
12
|
+
export declare const MCP_SPECIFIC_PATTERNS: RegExp[];
|
|
13
|
+
export interface ProcessInfo {
|
|
14
|
+
ProcessId: number;
|
|
15
|
+
ParentProcessId: number;
|
|
16
|
+
CommandLine: string | null;
|
|
17
|
+
}
|
|
18
|
+
export declare function isMcpProcess(commandLine: string | null): boolean;
|
|
19
|
+
export declare function findOrphanedMcpProcesses(processes: ProcessInfo[], allRunningPids: Set<number>): ProcessInfo[];
|
|
20
|
+
export declare function killOrphanedProcesses(orphaned: ProcessInfo[]): number;
|
|
21
|
+
export declare function cleanupOrphanedMcpProcesses(): number;
|
|
22
|
+
export declare function createMcpCleanupHook(): void;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcp-cleanup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAG7C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,eAAO,MAAM,qBAAqB,UAOjC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGhE;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,WAAW,EAAE,EACxB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,WAAW,EAAE,CAMf;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAerE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAsCpD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAqB3C"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Process Cleanup Hook
|
|
3
|
+
*
|
|
4
|
+
* Kills orphaned MCP server processes from previous Claude Code sessions.
|
|
5
|
+
* Only kills processes whose parent process no longer exists (safe for
|
|
6
|
+
* multiple simultaneous Claude Code sessions).
|
|
7
|
+
*
|
|
8
|
+
* Windows-only for now — gracefully skips on other platforms.
|
|
9
|
+
*/
|
|
10
|
+
import { execSync } from 'child_process';
|
|
11
|
+
import { registerHook } from '../registry.js';
|
|
12
|
+
export const HOOK_NAME = 'mcpProcessCleanup';
|
|
13
|
+
// Matches npx invocations or direct node runs of MCP packages
|
|
14
|
+
export const MCP_COMMAND_PATTERN = /mcp/i;
|
|
15
|
+
export const MCP_SPECIFIC_PATTERNS = [
|
|
16
|
+
/server-filesystem/i,
|
|
17
|
+
/context7/i,
|
|
18
|
+
/playwright.*mcp|mcp.*playwright/i,
|
|
19
|
+
/perplexity/i,
|
|
20
|
+
/shadcn/i,
|
|
21
|
+
/mcp-local-rag/i,
|
|
22
|
+
];
|
|
23
|
+
export function isMcpProcess(commandLine) {
|
|
24
|
+
if (!commandLine)
|
|
25
|
+
return false;
|
|
26
|
+
return MCP_COMMAND_PATTERN.test(commandLine);
|
|
27
|
+
}
|
|
28
|
+
export function findOrphanedMcpProcesses(processes, allRunningPids) {
|
|
29
|
+
return processes.filter(p => {
|
|
30
|
+
if (!isMcpProcess(p.CommandLine))
|
|
31
|
+
return false;
|
|
32
|
+
// Parent is dead — this process is orphaned
|
|
33
|
+
return !allRunningPids.has(p.ParentProcessId);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export function killOrphanedProcesses(orphaned) {
|
|
37
|
+
let killed = 0;
|
|
38
|
+
for (const proc of orphaned) {
|
|
39
|
+
try {
|
|
40
|
+
execSync(`taskkill /T /F /PID ${proc.ProcessId}`, {
|
|
41
|
+
encoding: 'utf8',
|
|
42
|
+
timeout: 5000,
|
|
43
|
+
stdio: 'pipe'
|
|
44
|
+
});
|
|
45
|
+
killed++;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Process may have already exited — not an error
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return killed;
|
|
52
|
+
}
|
|
53
|
+
export function cleanupOrphanedMcpProcesses() {
|
|
54
|
+
if (process.platform !== 'win32') {
|
|
55
|
+
return 0; // Only Windows for now
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const psScript = `
|
|
59
|
+
$nodeProcs = Get-CimInstance Win32_Process -Filter "Name='node.exe'" |
|
|
60
|
+
Select-Object ProcessId, ParentProcessId, CommandLine;
|
|
61
|
+
$allPids = (Get-Process -ErrorAction SilentlyContinue).Id;
|
|
62
|
+
@{
|
|
63
|
+
nodeProcesses = @($nodeProcs | ForEach-Object { @{ ProcessId=$_.ProcessId; ParentProcessId=$_.ParentProcessId; CommandLine=$_.CommandLine } });
|
|
64
|
+
allPids = @($allPids)
|
|
65
|
+
} | ConvertTo-Json -Depth 3
|
|
66
|
+
`.replace(/\n/g, ' ');
|
|
67
|
+
const output = execSync(`powershell -NoProfile -Command "${psScript}"`, { encoding: 'utf8', timeout: 15000, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
68
|
+
const data = JSON.parse(output);
|
|
69
|
+
const processes = Array.isArray(data.nodeProcesses)
|
|
70
|
+
? data.nodeProcesses
|
|
71
|
+
: data.nodeProcesses ? [data.nodeProcesses] : [];
|
|
72
|
+
const allPids = new Set(Array.isArray(data.allPids) ? data.allPids : data.allPids ? [data.allPids] : []);
|
|
73
|
+
const orphaned = findOrphanedMcpProcesses(processes, allPids);
|
|
74
|
+
if (orphaned.length === 0)
|
|
75
|
+
return 0;
|
|
76
|
+
return killOrphanedProcesses(orphaned);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
// Never block session start
|
|
80
|
+
console.error('[Olympus MCP Cleanup] Error:', error);
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export function createMcpCleanupHook() {
|
|
85
|
+
registerHook({
|
|
86
|
+
name: HOOK_NAME,
|
|
87
|
+
event: 'SessionStart',
|
|
88
|
+
priority: 1, // Run FIRST — before any other session hooks
|
|
89
|
+
handler: (_ctx) => {
|
|
90
|
+
const killed = cleanupOrphanedMcpProcesses();
|
|
91
|
+
if (killed > 0) {
|
|
92
|
+
return {
|
|
93
|
+
continue: true,
|
|
94
|
+
hookSpecificOutput: {
|
|
95
|
+
hookEventName: 'SessionStart',
|
|
96
|
+
additionalContext: `[MCP Cleanup] Removed ${killed} orphaned MCP server process${killed === 1 ? '' : 'es'} from previous session(s).`
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return { continue: true };
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/mcp-cleanup/index.ts"],"names":[],"mappings":"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"}
|