olympus-ai 3.4.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +631 -630
  2. package/dist/__tests__/workflow-engine/checkpoint.test.d.ts +7 -0
  3. package/dist/__tests__/workflow-engine/checkpoint.test.d.ts.map +1 -0
  4. package/dist/__tests__/workflow-engine/checkpoint.test.js +373 -0
  5. package/dist/__tests__/workflow-engine/checkpoint.test.js.map +1 -0
  6. package/dist/agents/definitions.d.ts.map +1 -1
  7. package/dist/agents/definitions.js +8 -0
  8. package/dist/agents/definitions.js.map +1 -1
  9. package/dist/agents/idea-intake.d.ts +20 -0
  10. package/dist/agents/idea-intake.d.ts.map +1 -0
  11. package/dist/agents/idea-intake.js +255 -0
  12. package/dist/agents/idea-intake.js.map +1 -0
  13. package/dist/agents/index.d.ts +4 -0
  14. package/dist/agents/index.d.ts.map +1 -1
  15. package/dist/agents/index.js +4 -0
  16. package/dist/agents/index.js.map +1 -1
  17. package/dist/agents/intent-generator.d.ts +19 -0
  18. package/dist/agents/intent-generator.d.ts.map +1 -0
  19. package/dist/agents/intent-generator.js +303 -0
  20. package/dist/agents/intent-generator.js.map +1 -0
  21. package/dist/agents/prd-writer.d.ts +19 -0
  22. package/dist/agents/prd-writer.d.ts.map +1 -0
  23. package/dist/agents/prd-writer.js +236 -0
  24. package/dist/agents/prd-writer.js.map +1 -0
  25. package/dist/agents/prometheus.d.ts.map +1 -1
  26. package/dist/agents/prometheus.js +96 -2
  27. package/dist/agents/prometheus.js.map +1 -1
  28. package/dist/agents/spec-writer.d.ts +19 -0
  29. package/dist/agents/spec-writer.d.ts.map +1 -0
  30. package/dist/agents/spec-writer.js +528 -0
  31. package/dist/agents/spec-writer.js.map +1 -0
  32. package/dist/features/index.d.ts +1 -0
  33. package/dist/features/index.d.ts.map +1 -1
  34. package/dist/features/index.js +6 -0
  35. package/dist/features/index.js.map +1 -1
  36. package/dist/features/workflow-engine/artifacts.d.ts +96 -0
  37. package/dist/features/workflow-engine/artifacts.d.ts.map +1 -0
  38. package/dist/features/workflow-engine/artifacts.js +399 -0
  39. package/dist/features/workflow-engine/artifacts.js.map +1 -0
  40. package/dist/features/workflow-engine/checkpoint.d.ts +67 -0
  41. package/dist/features/workflow-engine/checkpoint.d.ts.map +1 -0
  42. package/dist/features/workflow-engine/checkpoint.js +249 -0
  43. package/dist/features/workflow-engine/checkpoint.js.map +1 -0
  44. package/dist/features/workflow-engine/engine.d.ts +128 -0
  45. package/dist/features/workflow-engine/engine.d.ts.map +1 -0
  46. package/dist/features/workflow-engine/engine.js +600 -0
  47. package/dist/features/workflow-engine/engine.js.map +1 -0
  48. package/dist/features/workflow-engine/execution.d.ts +99 -0
  49. package/dist/features/workflow-engine/execution.d.ts.map +1 -0
  50. package/dist/features/workflow-engine/execution.js +493 -0
  51. package/dist/features/workflow-engine/execution.js.map +1 -0
  52. package/dist/features/workflow-engine/hooks.d.ts +78 -0
  53. package/dist/features/workflow-engine/hooks.d.ts.map +1 -0
  54. package/dist/features/workflow-engine/hooks.js +188 -0
  55. package/dist/features/workflow-engine/hooks.js.map +1 -0
  56. package/dist/features/workflow-engine/index.d.ts +17 -0
  57. package/dist/features/workflow-engine/index.d.ts.map +1 -0
  58. package/dist/features/workflow-engine/index.js +19 -0
  59. package/dist/features/workflow-engine/index.js.map +1 -0
  60. package/dist/features/workflow-engine/types.d.ts +220 -0
  61. package/dist/features/workflow-engine/types.d.ts.map +1 -0
  62. package/dist/features/workflow-engine/types.js +8 -0
  63. package/dist/features/workflow-engine/types.js.map +1 -0
  64. package/dist/features/workflow-engine/validation.d.ts +128 -0
  65. package/dist/features/workflow-engine/validation.d.ts.map +1 -0
  66. package/dist/features/workflow-engine/validation.js +746 -0
  67. package/dist/features/workflow-engine/validation.js.map +1 -0
  68. package/dist/hooks/ascent-verifier/index.d.ts +52 -0
  69. package/dist/hooks/ascent-verifier/index.d.ts.map +1 -1
  70. package/dist/hooks/ascent-verifier/index.js +146 -0
  71. package/dist/hooks/ascent-verifier/index.js.map +1 -1
  72. package/dist/hooks/registrations/learning-capture.d.ts.map +1 -1
  73. package/dist/hooks/registrations/learning-capture.js +32 -9
  74. package/dist/hooks/registrations/learning-capture.js.map +1 -1
  75. package/dist/hooks/registrations/user-prompt-submit.d.ts.map +1 -1
  76. package/dist/hooks/registrations/user-prompt-submit.js +85 -0
  77. package/dist/hooks/registrations/user-prompt-submit.js.map +1 -1
  78. package/dist/installer/index.d.ts.map +1 -1
  79. package/dist/installer/index.js +310 -1
  80. package/dist/installer/index.js.map +1 -1
  81. package/dist/learning/session-state.d.ts.map +1 -1
  82. package/dist/learning/session-state.js +17 -0
  83. package/dist/learning/session-state.js.map +1 -1
  84. package/dist/learning/types.d.ts +3 -0
  85. package/dist/learning/types.d.ts.map +1 -1
  86. package/dist/shared/types.d.ts +17 -0
  87. package/dist/shared/types.d.ts.map +1 -1
  88. package/package.json +3 -1
  89. package/scripts/dist/hooks/olympus-hooks.cjs +208 -97
  90. package/scripts/rebrand.mjs +0 -206
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Workflow Engine Hooks
3
+ *
4
+ * Helper functions for generating workflow prompts that guide Claude through
5
+ * multi-stage feature development workflows.
6
+ */
7
+ import type { WorkflowCheckpoint, WorkflowStage } from './types.js';
8
+ /**
9
+ * Generate initial workflow instructions for Claude when starting structured workflow.
10
+ *
11
+ * Tells Claude which agent to invoke for the current stage and provides
12
+ * feature context and stage information.
13
+ *
14
+ * @param featureName - Name of the feature being developed
15
+ * @param checkpoint - Current workflow checkpoint state
16
+ * @returns Formatted prompt string with clear instructions
17
+ *
18
+ * @example
19
+ * const prompt = buildStructuredWorkflowPrompt('user-auth', checkpoint);
20
+ * // Returns:
21
+ * // You are beginning a structured workflow for feature: user-auth
22
+ * //
23
+ * // Current stage: idea
24
+ * // Status: in_progress
25
+ * //
26
+ * // Next step: Invoke the idea-intake agent to capture and validate the initial feature concept
27
+ * //
28
+ * // Use: Task(subagent_type="idea-intake", prompt="...")
29
+ */
30
+ export declare function buildStructuredWorkflowPrompt(featureName: string, checkpoint: WorkflowCheckpoint): string;
31
+ /**
32
+ * Generate resume instructions for interrupted workflow.
33
+ *
34
+ * Indicates which stage was interrupted and what to do next.
35
+ * Includes resume context if available from the checkpoint.
36
+ *
37
+ * @param featureName - Name of the feature being developed
38
+ * @param checkpoint - Current workflow checkpoint state
39
+ * @returns Formatted prompt string for resuming work
40
+ *
41
+ * @example
42
+ * const prompt = buildWorkflowResumptionPrompt('user-auth', checkpoint);
43
+ * // Returns:
44
+ * // Resuming workflow for feature: user-auth
45
+ * //
46
+ * // You were interrupted during: prd
47
+ * // Last update: 2024-01-15T12:00:00Z
48
+ * //
49
+ * // Resume context: [checkpoint data if available]
50
+ * //
51
+ * // Continue from where you left off: create a comprehensive Product Requirements Document
52
+ */
53
+ export declare function buildWorkflowResumptionPrompt(featureName: string, checkpoint: WorkflowCheckpoint): string;
54
+ /**
55
+ * Generate transition instructions between workflow stages.
56
+ *
57
+ * Tells Claude what was completed and what's next, providing context
58
+ * for validation gates and artifact status.
59
+ *
60
+ * @param checkpoint - Current workflow checkpoint state
61
+ * @param nextStage - The stage to transition to
62
+ * @returns Formatted prompt string for stage transition
63
+ *
64
+ * @example
65
+ * const prompt = buildWorkflowTransitionPrompt(checkpoint, 'spec');
66
+ * // Returns:
67
+ * // Stage prd complete! ✓
68
+ * //
69
+ * // Completed artifacts:
70
+ * // - PRD-001: .olympus/workflows/user-auth/prd.md (validated: true)
71
+ * //
72
+ * // Next stage: spec
73
+ * // Validation required: Technical specification review
74
+ * //
75
+ * // Proceed with: Invoke the spec-writer agent to write a detailed technical specification
76
+ */
77
+ export declare function buildWorkflowTransitionPrompt(checkpoint: WorkflowCheckpoint, nextStage: WorkflowStage): string;
78
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiCpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,GAC7B,MAAM,CAgBR;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,GAC7B,MAAM,CAsBR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,aAAa,GACvB,MAAM,CAoCR"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Workflow Engine Hooks
3
+ *
4
+ * Helper functions for generating workflow prompts that guide Claude through
5
+ * multi-stage feature development workflows.
6
+ */
7
+ /**
8
+ * Map workflow stages to their corresponding agent types.
9
+ */
10
+ const STAGE_AGENT_MAP = {
11
+ idea: 'idea-intake',
12
+ prd: 'prd-writer',
13
+ spec: 'spec-writer',
14
+ intents: 'intent-generator',
15
+ complete: null, // No agent needed for complete stage
16
+ };
17
+ /**
18
+ * Get human-readable task description for a workflow stage.
19
+ */
20
+ function getStageTaskDescription(stage) {
21
+ switch (stage) {
22
+ case 'idea':
23
+ return 'capture and validate the initial feature concept';
24
+ case 'prd':
25
+ return 'create a comprehensive Product Requirements Document';
26
+ case 'spec':
27
+ return 'write a detailed technical specification';
28
+ case 'intents':
29
+ return 'generate implementation intent files';
30
+ case 'complete':
31
+ return 'finalize and validate all workflow artifacts';
32
+ default:
33
+ return 'proceed with the next stage';
34
+ }
35
+ }
36
+ /**
37
+ * Generate initial workflow instructions for Claude when starting structured workflow.
38
+ *
39
+ * Tells Claude which agent to invoke for the current stage and provides
40
+ * feature context and stage information.
41
+ *
42
+ * @param featureName - Name of the feature being developed
43
+ * @param checkpoint - Current workflow checkpoint state
44
+ * @returns Formatted prompt string with clear instructions
45
+ *
46
+ * @example
47
+ * const prompt = buildStructuredWorkflowPrompt('user-auth', checkpoint);
48
+ * // Returns:
49
+ * // You are beginning a structured workflow for feature: user-auth
50
+ * //
51
+ * // Current stage: idea
52
+ * // Status: in_progress
53
+ * //
54
+ * // Next step: Invoke the idea-intake agent to capture and validate the initial feature concept
55
+ * //
56
+ * // Use: Task(subagent_type="idea-intake", prompt="...")
57
+ */
58
+ export function buildStructuredWorkflowPrompt(featureName, checkpoint) {
59
+ const agent = STAGE_AGENT_MAP[checkpoint.current_stage];
60
+ const taskDescription = getStageTaskDescription(checkpoint.current_stage);
61
+ let prompt = `You are beginning a structured workflow for feature: ${featureName}\n\n`;
62
+ prompt += `Current stage: ${checkpoint.current_stage}\n`;
63
+ prompt += `Status: ${checkpoint.status}\n\n`;
64
+ if (agent) {
65
+ prompt += `Next step: Invoke the ${agent} agent to ${taskDescription}\n\n`;
66
+ prompt += `Use: Task(subagent_type="${agent}", prompt="...")\n`;
67
+ }
68
+ else {
69
+ prompt += `Next step: ${taskDescription}\n`;
70
+ }
71
+ return prompt;
72
+ }
73
+ /**
74
+ * Generate resume instructions for interrupted workflow.
75
+ *
76
+ * Indicates which stage was interrupted and what to do next.
77
+ * Includes resume context if available from the checkpoint.
78
+ *
79
+ * @param featureName - Name of the feature being developed
80
+ * @param checkpoint - Current workflow checkpoint state
81
+ * @returns Formatted prompt string for resuming work
82
+ *
83
+ * @example
84
+ * const prompt = buildWorkflowResumptionPrompt('user-auth', checkpoint);
85
+ * // Returns:
86
+ * // Resuming workflow for feature: user-auth
87
+ * //
88
+ * // You were interrupted during: prd
89
+ * // Last update: 2024-01-15T12:00:00Z
90
+ * //
91
+ * // Resume context: [checkpoint data if available]
92
+ * //
93
+ * // Continue from where you left off: create a comprehensive Product Requirements Document
94
+ */
95
+ export function buildWorkflowResumptionPrompt(featureName, checkpoint) {
96
+ const agent = STAGE_AGENT_MAP[checkpoint.current_stage];
97
+ const taskDescription = getStageTaskDescription(checkpoint.current_stage);
98
+ let prompt = `Resuming workflow for feature: ${featureName}\n\n`;
99
+ prompt += `You were interrupted during: ${checkpoint.current_stage}\n`;
100
+ prompt += `Last update: ${checkpoint.updated_at}\n\n`;
101
+ if (checkpoint.resume_context) {
102
+ prompt += `Resume context: ${JSON.stringify(checkpoint.resume_context, null, 2)}\n\n`;
103
+ }
104
+ else {
105
+ prompt += `Resume context: No additional context available\n\n`;
106
+ }
107
+ if (agent) {
108
+ prompt += `Continue from where you left off: Invoke the ${agent} agent to ${taskDescription}\n\n`;
109
+ prompt += `Use: Task(subagent_type="${agent}", prompt="...")\n`;
110
+ }
111
+ else {
112
+ prompt += `Continue from where you left off: ${taskDescription}\n`;
113
+ }
114
+ return prompt;
115
+ }
116
+ /**
117
+ * Generate transition instructions between workflow stages.
118
+ *
119
+ * Tells Claude what was completed and what's next, providing context
120
+ * for validation gates and artifact status.
121
+ *
122
+ * @param checkpoint - Current workflow checkpoint state
123
+ * @param nextStage - The stage to transition to
124
+ * @returns Formatted prompt string for stage transition
125
+ *
126
+ * @example
127
+ * const prompt = buildWorkflowTransitionPrompt(checkpoint, 'spec');
128
+ * // Returns:
129
+ * // Stage prd complete! ✓
130
+ * //
131
+ * // Completed artifacts:
132
+ * // - PRD-001: .olympus/workflows/user-auth/prd.md (validated: true)
133
+ * //
134
+ * // Next stage: spec
135
+ * // Validation required: Technical specification review
136
+ * //
137
+ * // Proceed with: Invoke the spec-writer agent to write a detailed technical specification
138
+ */
139
+ export function buildWorkflowTransitionPrompt(checkpoint, nextStage) {
140
+ const currentStage = checkpoint.current_stage;
141
+ const nextAgent = STAGE_AGENT_MAP[nextStage];
142
+ const nextTaskDescription = getStageTaskDescription(nextStage);
143
+ let prompt = `Stage ${currentStage} complete! ✓\n\n`;
144
+ prompt += `Completed artifacts:\n`;
145
+ // List artifacts for the current stage
146
+ const currentArtifact = checkpoint.artifacts[currentStage];
147
+ if (currentArtifact) {
148
+ const validationStatus = checkpoint.validation_results[currentStage]?.passed ?? false;
149
+ prompt += `- ${currentArtifact.id}: ${currentArtifact.path} (validated: ${validationStatus})\n`;
150
+ }
151
+ else {
152
+ prompt += `- No artifacts recorded for ${currentStage} stage\n`;
153
+ }
154
+ prompt += `\n`;
155
+ prompt += `Next stage: ${nextStage}\n`;
156
+ // Add validation context based on next stage
157
+ const validationType = getValidationType(nextStage);
158
+ if (validationType) {
159
+ prompt += `Validation required: ${validationType}\n`;
160
+ }
161
+ prompt += `\n`;
162
+ if (nextAgent) {
163
+ prompt += `Proceed with: Invoke the ${nextAgent} agent to ${nextTaskDescription}\n\n`;
164
+ prompt += `Use: Task(subagent_type="${nextAgent}", prompt="...")\n`;
165
+ }
166
+ else {
167
+ prompt += `Proceed with: ${nextTaskDescription}\n`;
168
+ }
169
+ return prompt;
170
+ }
171
+ /**
172
+ * Get the validation type description for a workflow stage.
173
+ */
174
+ function getValidationType(stage) {
175
+ switch (stage) {
176
+ case 'prd':
177
+ return 'Product requirements completeness review';
178
+ case 'spec':
179
+ return 'Technical specification review';
180
+ case 'intents':
181
+ return 'Intent file validation';
182
+ case 'complete':
183
+ return 'Final workflow validation';
184
+ default:
185
+ return null;
186
+ }
187
+ }
188
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,eAAe,GAAyC;IAC5D,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EAAE,IAAI,EAAE,qCAAqC;CACtD,CAAC;AAEF;;GAEG;AACH,SAAS,uBAAuB,CAAC,KAAoB;IACnD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,kDAAkD,CAAC;QAC5D,KAAK,KAAK;YACR,OAAO,sDAAsD,CAAC;QAChE,KAAK,MAAM;YACT,OAAO,0CAA0C,CAAC;QACpD,KAAK,SAAS;YACZ,OAAO,sCAAsC,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,8CAA8C,CAAC;QACxD;YACE,OAAO,6BAA6B,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,WAAmB,EACnB,UAA8B;IAE9B,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1E,IAAI,MAAM,GAAG,wDAAwD,WAAW,MAAM,CAAC;IACvF,MAAM,IAAI,kBAAkB,UAAU,CAAC,aAAa,IAAI,CAAC;IACzD,MAAM,IAAI,WAAW,UAAU,CAAC,MAAM,MAAM,CAAC;IAE7C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,yBAAyB,KAAK,aAAa,eAAe,MAAM,CAAC;QAC3E,MAAM,IAAI,4BAA4B,KAAK,oBAAoB,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,cAAc,eAAe,IAAI,CAAC;IAC9C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,WAAmB,EACnB,UAA8B;IAE9B,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1E,IAAI,MAAM,GAAG,kCAAkC,WAAW,MAAM,CAAC;IACjE,MAAM,IAAI,gCAAgC,UAAU,CAAC,aAAa,IAAI,CAAC;IACvE,MAAM,IAAI,gBAAgB,UAAU,CAAC,UAAU,MAAM,CAAC;IAEtD,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC9B,MAAM,IAAI,mBAAmB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,qDAAqD,CAAC;IAClE,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,gDAAgD,KAAK,aAAa,eAAe,MAAM,CAAC;QAClG,MAAM,IAAI,4BAA4B,KAAK,oBAAoB,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,qCAAqC,eAAe,IAAI,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA8B,EAC9B,SAAwB;IAExB,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;IAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE/D,IAAI,MAAM,GAAG,SAAS,YAAY,kBAAkB,CAAC;IACrD,MAAM,IAAI,wBAAwB,CAAC;IAEnC,uCAAuC;IACvC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,gBAAgB,GAAG,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC;QACtF,MAAM,IAAI,KAAK,eAAe,CAAC,EAAE,KAAK,eAAe,CAAC,IAAI,gBAAgB,gBAAgB,KAAK,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,+BAA+B,YAAY,UAAU,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,eAAe,SAAS,IAAI,CAAC;IAEvC,6CAA6C;IAC7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,wBAAwB,cAAc,IAAI,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,IAAI,CAAC;IAEf,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,4BAA4B,SAAS,aAAa,mBAAmB,MAAM,CAAC;QACtF,MAAM,IAAI,4BAA4B,SAAS,oBAAoB,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,iBAAiB,mBAAmB,IAAI,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,KAAK;YACR,OAAO,0CAA0C,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,gCAAgC,CAAC;QAC1C,KAAK,SAAS;YACZ,OAAO,wBAAwB,CAAC;QAClC,KAAK,UAAU;YACb,OAAO,2BAA2B,CAAC;QACrC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Workflow Engine Module
3
+ *
4
+ * Provides structured workflow system for plan execution with:
5
+ * - IDEA → PRD → SPEC → INTENTS stage progression
6
+ * - Checkpoint persistence and resume capability
7
+ * - Validation gates (Momus, Metis reviews)
8
+ * - Artifact generation and management
9
+ */
10
+ export type { WorkflowStage, WorkflowStatus, ArtifactReference, ValidationResult, RequirementMapping, WorkflowCheckpoint, IntentTask, IntentNode, DependencyGraph, } from './types.js';
11
+ export { saveCheckpoint, loadCheckpoint, listWorkflows, deleteWorkflow, } from './checkpoint.js';
12
+ export { ensureWorkflowDir, getArtifactPath, writeArtifact, readArtifact, generateDependencyGraph, validateDependencyGraph, getExecutionOrder, linkMasterPlan, } from './artifacts.js';
13
+ export type { TaskStatus, TaskStatusRecord } from './execution.js';
14
+ export { updateTaskStatus, getTaskStatus, getBlockedTasks, getNextReadyTask, updateMasterPlanProgress, } from './execution.js';
15
+ export { validateIdea, validatePrd, validateSpec, validateTasks } from './validation.js';
16
+ export { WorkflowEngine, WorkflowStatusResponse } from './engine.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Workflow Engine Module
3
+ *
4
+ * Provides structured workflow system for plan execution with:
5
+ * - IDEA → PRD → SPEC → INTENTS stage progression
6
+ * - Checkpoint persistence and resume capability
7
+ * - Validation gates (Momus, Metis reviews)
8
+ * - Artifact generation and management
9
+ */
10
+ // Checkpoint persistence
11
+ export { saveCheckpoint, loadCheckpoint, listWorkflows, deleteWorkflow, } from './checkpoint.js';
12
+ // Artifact management
13
+ export { ensureWorkflowDir, getArtifactPath, writeArtifact, readArtifact, generateDependencyGraph, validateDependencyGraph, getExecutionOrder, linkMasterPlan, } from './artifacts.js';
14
+ export { updateTaskStatus, getTaskStatus, getBlockedTasks, getNextReadyTask, updateMasterPlanProgress, } from './execution.js';
15
+ // Validation
16
+ export { validateIdea, validatePrd, validateSpec, validateTasks } from './validation.js';
17
+ // Engine
18
+ export { WorkflowEngine } from './engine.js';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEzF,SAAS;AACT,OAAO,EAAE,cAAc,EAA0B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Workflow Engine Type Definitions
3
+ *
4
+ * Comprehensive types for the multi-stage workflow system that guides features
5
+ * through idea → PRD → spec → intents → implementation stages.
6
+ */
7
+ /**
8
+ * Workflow stages representing the progression of feature development.
9
+ * Each stage produces artifacts that feed into the next stage.
10
+ *
11
+ * - idea: Initial feature concept and requirements
12
+ * - prd: Product Requirements Document
13
+ * - spec: Technical specification
14
+ * - intents: Intent files for implementation
15
+ * - complete: All stages finished and validated
16
+ */
17
+ export type WorkflowStage = 'idea' | 'prd' | 'spec' | 'intents' | 'complete';
18
+ /**
19
+ * Current status of a workflow or workflow stage.
20
+ *
21
+ * - not_started: Stage hasn't begun yet
22
+ * - in_progress: Currently working on this stage
23
+ * - paused: Temporarily halted, can resume
24
+ * - blocked: Cannot proceed due to validation failures or dependencies
25
+ * - complete: Stage is finished and validated
26
+ */
27
+ export type WorkflowStatus = 'not_started' | 'in_progress' | 'paused' | 'blocked' | 'complete';
28
+ /**
29
+ * Reference to a workflow artifact (file produced by a stage).
30
+ * Each stage creates artifacts that are tracked and validated.
31
+ *
32
+ * @example
33
+ * {
34
+ * id: "IDEA-001",
35
+ * path: ".olympus/workflows/user-auth/idea.md",
36
+ * created_at: "2024-01-15T10:30:00Z",
37
+ * validation_passed: true
38
+ * }
39
+ */
40
+ export interface ArtifactReference {
41
+ /** Unique artifact identifier (e.g., "IDEA-001", "PRD-001") */
42
+ id: string;
43
+ /** Relative path to the artifact file from project root */
44
+ path: string;
45
+ /** ISO timestamp when artifact was created */
46
+ created_at: string;
47
+ /** Whether this artifact passed validation */
48
+ validation_passed: boolean;
49
+ }
50
+ /**
51
+ * Results from validating a workflow stage's artifacts.
52
+ * Used by reviewers (Momus, Metis) to assess completeness and quality.
53
+ *
54
+ * @example
55
+ * {
56
+ * passed: true,
57
+ * coverage_percentage: 95,
58
+ * blocking_issues: [],
59
+ * reviewer: 'momus',
60
+ * timestamp: "2024-01-15T11:00:00Z"
61
+ * }
62
+ */
63
+ export interface ValidationResult {
64
+ /** Overall validation pass/fail */
65
+ passed: boolean;
66
+ /** Percentage of requirements covered (0-100) */
67
+ coverage_percentage: number;
68
+ /** Critical issues that must be resolved before proceeding */
69
+ blocking_issues: string[];
70
+ /** Name of the agent that performed validation (e.g., 'momus', 'metis') */
71
+ reviewer?: string;
72
+ /** ISO timestamp when validation was performed */
73
+ timestamp: string;
74
+ }
75
+ /**
76
+ * Mapping between requirements across workflow stages.
77
+ * Ensures traceability from initial idea through to implementation.
78
+ *
79
+ * @example
80
+ * {
81
+ * requirement_id: "REQ-001",
82
+ * source_artifact: "IDEA-001",
83
+ * target_artifact: "PRD-001",
84
+ * covered: true,
85
+ * notes: "Authentication requirement fully specified in PRD section 3.2"
86
+ * }
87
+ */
88
+ export interface RequirementMapping {
89
+ /** Unique requirement identifier */
90
+ requirement_id: string;
91
+ /** Source artifact ID (e.g., "IDEA-001") */
92
+ source_artifact: string;
93
+ /** Target artifact ID that should cover this requirement (e.g., "PRD-001") */
94
+ target_artifact: string;
95
+ /** Whether the requirement is adequately covered in the target */
96
+ covered: boolean;
97
+ /** Additional notes about the mapping or coverage */
98
+ notes?: string;
99
+ }
100
+ /**
101
+ * Complete workflow checkpoint representing the state of a feature's development.
102
+ * This checkpoint is persisted to disk and can be resumed at any time.
103
+ *
104
+ * The checkpoint tracks:
105
+ * - Which stage the workflow is currently in
106
+ * - All artifacts produced at each stage
107
+ * - Validation results for each stage
108
+ * - Context needed to resume interrupted workflows
109
+ *
110
+ * @example
111
+ * {
112
+ * schema_version: "1.0.0",
113
+ * workflow_id: "wf-2024-01-15-user-auth",
114
+ * feature_name: "user-authentication",
115
+ * created_at: "2024-01-15T10:00:00Z",
116
+ * updated_at: "2024-01-15T12:00:00Z",
117
+ * current_stage: "prd",
118
+ * status: "in_progress",
119
+ * artifacts: {
120
+ * idea: { id: "IDEA-001", path: ".olympus/workflows/user-auth/idea.md", ... },
121
+ * prd: null,
122
+ * spec: null,
123
+ * intents: null,
124
+ * complete: null
125
+ * },
126
+ * validation_results: {
127
+ * idea: { passed: true, coverage_percentage: 100, ... },
128
+ * prd: null,
129
+ * spec: null,
130
+ * intents: null,
131
+ * complete: null
132
+ * }
133
+ * }
134
+ */
135
+ export interface WorkflowCheckpoint {
136
+ /** Version of the checkpoint format for migration compatibility */
137
+ schema_version: string;
138
+ /** Unique identifier for this workflow instance */
139
+ workflow_id: string;
140
+ /** Name of the feature being developed */
141
+ feature_name: string;
142
+ /** ISO timestamp when workflow was created */
143
+ created_at: string;
144
+ /** ISO timestamp of last update to this checkpoint */
145
+ updated_at: string;
146
+ /** Current stage of the workflow */
147
+ current_stage: WorkflowStage;
148
+ /** Overall status of the workflow */
149
+ status: WorkflowStatus;
150
+ /** Artifacts produced at each stage (null if stage not yet complete) */
151
+ artifacts: Record<WorkflowStage, ArtifactReference | null>;
152
+ /** Validation results for each stage (null if not yet validated) */
153
+ validation_results: Record<WorkflowStage, ValidationResult | null>;
154
+ /** Context data needed to resume interrupted workflows */
155
+ resume_context?: any;
156
+ }
157
+ /**
158
+ * Task definition for intent files.
159
+ * Represents a single task with dependencies and effort estimates.
160
+ *
161
+ * @example
162
+ * {
163
+ * id: "TASK-001",
164
+ * title: "Implement user authentication",
165
+ * component: "AuthService",
166
+ * estimated_effort: 5,
167
+ * dependencies: ["TASK-002", "TASK-003"]
168
+ * }
169
+ */
170
+ export interface IntentTask {
171
+ /** Unique task identifier */
172
+ id: string;
173
+ /** Human-readable task title */
174
+ title: string;
175
+ /** Component or module this task belongs to */
176
+ component: string;
177
+ /** Estimated effort in story points or hours */
178
+ estimated_effort: number;
179
+ /** Array of task IDs this task depends on */
180
+ dependencies: string[];
181
+ }
182
+ /**
183
+ * Node in a dependency graph.
184
+ * Represents a task without its dependency relationships.
185
+ */
186
+ export interface IntentNode {
187
+ /** Unique task identifier */
188
+ id: string;
189
+ /** Human-readable task title */
190
+ title: string;
191
+ /** Component or module this task belongs to */
192
+ component: string;
193
+ /** Estimated effort in story points or hours */
194
+ estimated_effort: number;
195
+ }
196
+ /**
197
+ * Dependency graph representing task relationships.
198
+ * Used for topological sorting and cycle detection.
199
+ *
200
+ * @example
201
+ * {
202
+ * nodes: [
203
+ * { id: "TASK-001", title: "Setup database", component: "DB", estimated_effort: 3 },
204
+ * { id: "TASK-002", title: "Create schema", component: "DB", estimated_effort: 2 }
205
+ * ],
206
+ * edges: [
207
+ * { from: "TASK-001", to: "TASK-002" } // TASK-002 depends on TASK-001
208
+ * ]
209
+ * }
210
+ */
211
+ export interface DependencyGraph {
212
+ /** Array of task nodes */
213
+ nodes: IntentNode[];
214
+ /** Array of directed edges (from -> to means 'to' depends on 'from') */
215
+ edges: {
216
+ from: string;
217
+ to: string;
218
+ }[];
219
+ }
220
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Workflow Engine Type Definitions
3
+ *
4
+ * Comprehensive types for the multi-stage workflow system that guides features
5
+ * through idea → PRD → spec → intents → implementation stages.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}