@defai.digital/mcp-server 13.0.3

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 (178) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +7 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +89 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +161 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +17 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/middleware/rate-limiter.d.ts +136 -0
  15. package/dist/middleware/rate-limiter.d.ts.map +1 -0
  16. package/dist/middleware/rate-limiter.js +262 -0
  17. package/dist/middleware/rate-limiter.js.map +1 -0
  18. package/dist/prompts/agent-guide.d.ts +16 -0
  19. package/dist/prompts/agent-guide.d.ts.map +1 -0
  20. package/dist/prompts/agent-guide.js +391 -0
  21. package/dist/prompts/agent-guide.js.map +1 -0
  22. package/dist/prompts/explain-workflow.d.ts +15 -0
  23. package/dist/prompts/explain-workflow.d.ts.map +1 -0
  24. package/dist/prompts/explain-workflow.js +157 -0
  25. package/dist/prompts/explain-workflow.js.map +1 -0
  26. package/dist/prompts/index.d.ts +39 -0
  27. package/dist/prompts/index.d.ts.map +1 -0
  28. package/dist/prompts/index.js +83 -0
  29. package/dist/prompts/index.js.map +1 -0
  30. package/dist/prompts/review-changes.d.ts +15 -0
  31. package/dist/prompts/review-changes.d.ts.map +1 -0
  32. package/dist/prompts/review-changes.js +102 -0
  33. package/dist/prompts/review-changes.js.map +1 -0
  34. package/dist/prompts/troubleshoot-session.d.ts +15 -0
  35. package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
  36. package/dist/prompts/troubleshoot-session.js +156 -0
  37. package/dist/prompts/troubleshoot-session.js.map +1 -0
  38. package/dist/registry-accessor.d.ts +83 -0
  39. package/dist/registry-accessor.d.ts.map +1 -0
  40. package/dist/registry-accessor.js +153 -0
  41. package/dist/registry-accessor.js.map +1 -0
  42. package/dist/resources/agents.d.ts +40 -0
  43. package/dist/resources/agents.d.ts.map +1 -0
  44. package/dist/resources/agents.js +123 -0
  45. package/dist/resources/agents.js.map +1 -0
  46. package/dist/resources/config.d.ts +57 -0
  47. package/dist/resources/config.d.ts.map +1 -0
  48. package/dist/resources/config.js +222 -0
  49. package/dist/resources/config.js.map +1 -0
  50. package/dist/resources/index.d.ts +38 -0
  51. package/dist/resources/index.d.ts.map +1 -0
  52. package/dist/resources/index.js +132 -0
  53. package/dist/resources/index.js.map +1 -0
  54. package/dist/resources/policies.d.ts +40 -0
  55. package/dist/resources/policies.d.ts.map +1 -0
  56. package/dist/resources/policies.js +122 -0
  57. package/dist/resources/policies.js.map +1 -0
  58. package/dist/resources/sessions.d.ts +30 -0
  59. package/dist/resources/sessions.d.ts.map +1 -0
  60. package/dist/resources/sessions.js +64 -0
  61. package/dist/resources/sessions.js.map +1 -0
  62. package/dist/resources/workflows.d.ts +40 -0
  63. package/dist/resources/workflows.d.ts.map +1 -0
  64. package/dist/resources/workflows.js +143 -0
  65. package/dist/resources/workflows.js.map +1 -0
  66. package/dist/schema-registry.d.ts +23 -0
  67. package/dist/schema-registry.d.ts.map +1 -0
  68. package/dist/schema-registry.js +225 -0
  69. package/dist/schema-registry.js.map +1 -0
  70. package/dist/server.d.ts +63 -0
  71. package/dist/server.d.ts.map +1 -0
  72. package/dist/server.js +393 -0
  73. package/dist/server.js.map +1 -0
  74. package/dist/session-accessor.d.ts +23 -0
  75. package/dist/session-accessor.d.ts.map +1 -0
  76. package/dist/session-accessor.js +39 -0
  77. package/dist/session-accessor.js.map +1 -0
  78. package/dist/shared-registry.d.ts +23 -0
  79. package/dist/shared-registry.d.ts.map +1 -0
  80. package/dist/shared-registry.js +235 -0
  81. package/dist/shared-registry.js.map +1 -0
  82. package/dist/stdio.d.ts +6 -0
  83. package/dist/stdio.d.ts.map +1 -0
  84. package/dist/stdio.js +152 -0
  85. package/dist/stdio.js.map +1 -0
  86. package/dist/tool-namespacing.d.ts +28 -0
  87. package/dist/tool-namespacing.d.ts.map +1 -0
  88. package/dist/tool-namespacing.js +80 -0
  89. package/dist/tool-namespacing.js.map +1 -0
  90. package/dist/tools/ability.d.ts +55 -0
  91. package/dist/tools/ability.d.ts.map +1 -0
  92. package/dist/tools/ability.js +560 -0
  93. package/dist/tools/ability.js.map +1 -0
  94. package/dist/tools/agent.d.ts +73 -0
  95. package/dist/tools/agent.d.ts.map +1 -0
  96. package/dist/tools/agent.js +895 -0
  97. package/dist/tools/agent.js.map +1 -0
  98. package/dist/tools/config.d.ts +36 -0
  99. package/dist/tools/config.d.ts.map +1 -0
  100. package/dist/tools/config.js +265 -0
  101. package/dist/tools/config.js.map +1 -0
  102. package/dist/tools/design.d.ts +42 -0
  103. package/dist/tools/design.d.ts.map +1 -0
  104. package/dist/tools/design.js +736 -0
  105. package/dist/tools/design.js.map +1 -0
  106. package/dist/tools/discuss.d.ts +40 -0
  107. package/dist/tools/discuss.d.ts.map +1 -0
  108. package/dist/tools/discuss.js +331 -0
  109. package/dist/tools/discuss.js.map +1 -0
  110. package/dist/tools/file-system.d.ts +63 -0
  111. package/dist/tools/file-system.d.ts.map +1 -0
  112. package/dist/tools/file-system.js +513 -0
  113. package/dist/tools/file-system.js.map +1 -0
  114. package/dist/tools/guard.d.ts +29 -0
  115. package/dist/tools/guard.d.ts.map +1 -0
  116. package/dist/tools/guard.js +311 -0
  117. package/dist/tools/guard.js.map +1 -0
  118. package/dist/tools/index.d.ts +35 -0
  119. package/dist/tools/index.d.ts.map +1 -0
  120. package/dist/tools/index.js +178 -0
  121. package/dist/tools/index.js.map +1 -0
  122. package/dist/tools/memory.d.ts +101 -0
  123. package/dist/tools/memory.d.ts.map +1 -0
  124. package/dist/tools/memory.js +704 -0
  125. package/dist/tools/memory.js.map +1 -0
  126. package/dist/tools/orchestration.d.ts +58 -0
  127. package/dist/tools/orchestration.d.ts.map +1 -0
  128. package/dist/tools/orchestration.js +714 -0
  129. package/dist/tools/orchestration.js.map +1 -0
  130. package/dist/tools/review.d.ts +40 -0
  131. package/dist/tools/review.d.ts.map +1 -0
  132. package/dist/tools/review.js +319 -0
  133. package/dist/tools/review.js.map +1 -0
  134. package/dist/tools/scaffold.d.ts +27 -0
  135. package/dist/tools/scaffold.d.ts.map +1 -0
  136. package/dist/tools/scaffold.js +495 -0
  137. package/dist/tools/scaffold.js.map +1 -0
  138. package/dist/tools/session.d.ts +75 -0
  139. package/dist/tools/session.d.ts.map +1 -0
  140. package/dist/tools/session.js +749 -0
  141. package/dist/tools/session.js.map +1 -0
  142. package/dist/tools/telemetry.d.ts +58 -0
  143. package/dist/tools/telemetry.d.ts.map +1 -0
  144. package/dist/tools/telemetry.js +638 -0
  145. package/dist/tools/telemetry.js.map +1 -0
  146. package/dist/tools/trace.d.ts +29 -0
  147. package/dist/tools/trace.d.ts.map +1 -0
  148. package/dist/tools/trace.js +191 -0
  149. package/dist/tools/trace.js.map +1 -0
  150. package/dist/tools/workflow.d.ts +26 -0
  151. package/dist/tools/workflow.d.ts.map +1 -0
  152. package/dist/tools/workflow.js +269 -0
  153. package/dist/tools/workflow.js.map +1 -0
  154. package/dist/trace-wrapper.d.ts +79 -0
  155. package/dist/trace-wrapper.d.ts.map +1 -0
  156. package/dist/trace-wrapper.js +151 -0
  157. package/dist/trace-wrapper.js.map +1 -0
  158. package/dist/types.d.ts +185 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +11 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/artifact-store.d.ts +49 -0
  163. package/dist/utils/artifact-store.d.ts.map +1 -0
  164. package/dist/utils/artifact-store.js +102 -0
  165. package/dist/utils/artifact-store.js.map +1 -0
  166. package/dist/utils/index.d.ts +6 -0
  167. package/dist/utils/index.d.ts.map +1 -0
  168. package/dist/utils/index.js +10 -0
  169. package/dist/utils/index.js.map +1 -0
  170. package/dist/utils/response.d.ts +139 -0
  171. package/dist/utils/response.d.ts.map +1 -0
  172. package/dist/utils/response.js +293 -0
  173. package/dist/utils/response.js.map +1 -0
  174. package/dist/validation.d.ts +223 -0
  175. package/dist/validation.d.ts.map +1 -0
  176. package/dist/validation.js +372 -0
  177. package/dist/validation.js.map +1 -0
  178. package/package.json +67 -0
@@ -0,0 +1,391 @@
1
+ /**
2
+ * Agent Guide MCP Prompt
3
+ *
4
+ * Provides comprehensive documentation for using the AutomatosX agent system.
5
+ * Teaches Claude Code (and other consumers) how to effectively use agents.
6
+ */
7
+ /**
8
+ * Agent guide prompt definition
9
+ */
10
+ export const agentGuidePrompt = {
11
+ name: 'agent-guide',
12
+ description: 'Comprehensive guide for using the AutomatosX agent system - registration, execution, multi-agent workflows, and parallel processing',
13
+ arguments: [
14
+ {
15
+ name: 'topic',
16
+ description: 'Specific topic to focus on: overview, registration, execution, workflows, parallel, delegation, or all',
17
+ required: false,
18
+ },
19
+ ],
20
+ };
21
+ /**
22
+ * Handler for agent-guide prompt
23
+ */
24
+ export const handleAgentGuide = async (args) => {
25
+ const topic = (args.topic) ?? 'all';
26
+ const sections = [];
27
+ // Overview section
28
+ if (topic === 'all' || topic === 'overview') {
29
+ sections.push(`
30
+ # AutomatosX Agent System Guide
31
+
32
+ ## Overview
33
+
34
+ AutomatosX provides a powerful multi-agent orchestration system that enables:
35
+ - **Specialized Agents**: Domain-specific AI assistants (backend, frontend, security, etc.)
36
+ - **Workflow Execution**: Step-by-step task processing with dependencies
37
+ - **Multi-Agent Delegation**: Agents can delegate to other specialists
38
+ - **Parallel Processing**: Independent steps run concurrently
39
+ - **Checkpointing**: Resumable workflows with automatic state persistence
40
+ - **Real LLM Integration**: Agents call actual providers (Claude, Gemini, etc.)
41
+
42
+ ## Quick Start
43
+
44
+ 1. **List available agents**:
45
+ \`\`\`
46
+ agent_list
47
+ \`\`\`
48
+
49
+ 2. **Run an agent**:
50
+ \`\`\`
51
+ agent_run { agentId: "backend", input: { task: "Design REST API" } }
52
+ \`\`\`
53
+
54
+ 3. **Get agent details**:
55
+ \`\`\`
56
+ agent_get { agentId: "backend" }
57
+ \`\`\`
58
+ `);
59
+ }
60
+ // Registration section
61
+ if (topic === 'all' || topic === 'registration') {
62
+ sections.push(`
63
+ ## Registering Agents
64
+
65
+ Agents are registered with profiles that define their capabilities and workflows.
66
+
67
+ ### Basic Registration
68
+
69
+ \`\`\`json
70
+ {
71
+ "agentId": "my-reviewer",
72
+ "description": "Code review specialist",
73
+ "systemPrompt": "You are an expert code reviewer...",
74
+ "capabilities": ["code-review", "best-practices"],
75
+ "team": "engineering",
76
+ "enabled": true
77
+ }
78
+ \`\`\`
79
+
80
+ ### Registration with Workflow
81
+
82
+ For agents to execute actual tasks, they need workflow steps:
83
+
84
+ \`\`\`json
85
+ {
86
+ "agentId": "doc-reviewer",
87
+ "description": "Documentation reviewer",
88
+ "systemPrompt": "You are a technical documentation expert. Review documents for completeness, clarity, and accuracy.",
89
+ "workflow": [
90
+ {
91
+ "stepId": "analyze",
92
+ "name": "Analyze Document",
93
+ "type": "prompt",
94
+ "config": {
95
+ "prompt": "Review this document for completeness and clarity:\\n\\n\${input}"
96
+ }
97
+ },
98
+ {
99
+ "stepId": "suggest",
100
+ "name": "Suggest Improvements",
101
+ "type": "prompt",
102
+ "config": {
103
+ "prompt": "Based on the analysis, suggest specific improvements:\\n\\n\${previousOutputs.analyze.content}"
104
+ },
105
+ "dependencies": ["analyze"]
106
+ }
107
+ ]
108
+ }
109
+ \`\`\`
110
+
111
+ ### MCP Tool Usage
112
+
113
+ \`\`\`
114
+ agent_register {
115
+ agentId: "reviewer",
116
+ description: "Code reviewer",
117
+ systemPrompt: "You are an expert...",
118
+ workflow: [
119
+ { stepId: "review", name: "Review", type: "prompt", config: { prompt: "Review: \${input}" } }
120
+ ]
121
+ }
122
+ \`\`\`
123
+ `);
124
+ }
125
+ // Execution section
126
+ if (topic === 'all' || topic === 'execution') {
127
+ sections.push(`
128
+ ## Executing Agents
129
+
130
+ ### Basic Execution
131
+
132
+ \`\`\`
133
+ agent_run {
134
+ agentId: "backend",
135
+ input: { task: "Implement user authentication" }
136
+ }
137
+ \`\`\`
138
+
139
+ ### With Session Tracking
140
+
141
+ \`\`\`
142
+ agent_run {
143
+ agentId: "backend",
144
+ input: { task: "Continue the API work" },
145
+ sessionId: "session-uuid-here"
146
+ }
147
+ \`\`\`
148
+
149
+ ### Execution Result
150
+
151
+ Agents return structured results:
152
+
153
+ \`\`\`json
154
+ {
155
+ "success": true,
156
+ "agentId": "backend",
157
+ "output": {
158
+ "analyze": { "content": "..." },
159
+ "implement": { "content": "..." }
160
+ },
161
+ "stepResults": [
162
+ { "stepId": "analyze", "success": true, "durationMs": 1234 },
163
+ { "stepId": "implement", "success": true, "durationMs": 5678 }
164
+ ],
165
+ "totalDurationMs": 6912
166
+ }
167
+ \`\`\`
168
+ `);
169
+ }
170
+ // Workflows section
171
+ if (topic === 'all' || topic === 'workflows') {
172
+ sections.push(`
173
+ ## Workflow Step Types
174
+
175
+ ### prompt - LLM Generation
176
+
177
+ Execute prompts via LLM providers:
178
+
179
+ \`\`\`json
180
+ {
181
+ "stepId": "generate",
182
+ "name": "Generate Code",
183
+ "type": "prompt",
184
+ "config": {
185
+ "prompt": "Write a function that \${input.task}",
186
+ "systemPrompt": "You are an expert programmer",
187
+ "provider": "claude",
188
+ "temperature": 0.7,
189
+ "maxTokens": 4096
190
+ },
191
+ "keyQuestions": [
192
+ "What edge cases should be handled?",
193
+ "What's the time complexity?"
194
+ ]
195
+ }
196
+ \`\`\`
197
+
198
+ ### Variable Substitution
199
+
200
+ Templates support these variables:
201
+ - \`\${input}\` - The full input object or string
202
+ - \`\${input.fieldName}\` - Specific input field
203
+ - \`\${previousOutputs.stepId}\` - Output from a previous step
204
+ - \`\${previousOutputs.stepId.content}\` - Nested field from previous step
205
+ - \`\${agent.description}\` - Agent profile fields
206
+
207
+ ### delegate - Multi-Agent
208
+
209
+ Delegate to another agent:
210
+
211
+ \`\`\`json
212
+ {
213
+ "stepId": "security-check",
214
+ "name": "Security Review",
215
+ "type": "delegate",
216
+ "config": {
217
+ "targetAgentId": "security",
218
+ "input": { "code": "\${previousOutputs.generate.content}" }
219
+ },
220
+ "dependencies": ["generate"]
221
+ }
222
+ \`\`\`
223
+
224
+ ### conditional - Branching
225
+
226
+ Execute based on conditions:
227
+
228
+ \`\`\`json
229
+ {
230
+ "stepId": "optimize",
231
+ "name": "Optimize if Needed",
232
+ "type": "conditional",
233
+ "condition": "\${previousOutputs.analyze.needsOptimization}",
234
+ "config": {
235
+ "thenSteps": ["run-optimizer"],
236
+ "elseSteps": ["skip-optimization"]
237
+ }
238
+ }
239
+ \`\`\`
240
+
241
+ ### loop - Iteration
242
+
243
+ Process arrays of items:
244
+
245
+ \`\`\`json
246
+ {
247
+ "stepId": "process-files",
248
+ "name": "Process Each File",
249
+ "type": "loop",
250
+ "config": {
251
+ "itemsPath": "previousOutputs.scan.files",
252
+ "maxIterations": 100
253
+ }
254
+ }
255
+ \`\`\`
256
+ `);
257
+ }
258
+ // Parallel section
259
+ if (topic === 'all' || topic === 'parallel') {
260
+ sections.push(`
261
+ ## Parallel Execution
262
+
263
+ ### How It Works
264
+
265
+ AutomatosX uses DAG-based (Directed Acyclic Graph) parallel execution:
266
+
267
+ 1. Steps with no dependencies run concurrently
268
+ 2. Steps wait for their dependencies to complete
269
+ 3. Concurrency is limited (default: 5 concurrent steps)
270
+
271
+ ### Enabling Parallel Execution
272
+
273
+ \`\`\`
274
+ agent_run {
275
+ agentId: "analyzer",
276
+ input: { ... },
277
+ parallel: true
278
+ }
279
+ \`\`\`
280
+
281
+ ### Workflow with Parallel Steps
282
+
283
+ \`\`\`json
284
+ {
285
+ "workflow": [
286
+ { "stepId": "parse", "name": "Parse Input", "type": "prompt", "config": {...} },
287
+ { "stepId": "analyze-security", "name": "Security Analysis", "type": "prompt", "dependencies": ["parse"] },
288
+ { "stepId": "analyze-performance", "name": "Perf Analysis", "type": "prompt", "dependencies": ["parse"] },
289
+ { "stepId": "analyze-style", "name": "Style Analysis", "type": "prompt", "dependencies": ["parse"] },
290
+ { "stepId": "combine", "name": "Combine Results", "type": "prompt", "dependencies": ["analyze-security", "analyze-performance", "analyze-style"] }
291
+ ]
292
+ }
293
+ \`\`\`
294
+
295
+ Execution order:
296
+ 1. \`parse\` runs first
297
+ 2. \`analyze-security\`, \`analyze-performance\`, \`analyze-style\` run in parallel
298
+ 3. \`combine\` runs after all analyses complete
299
+
300
+ ### Failure Strategies
301
+
302
+ - **failFast** (default): Stop on first failure
303
+ - **failSafe**: Wait for all, collect errors
304
+ - **continueOnError**: Continue despite failures
305
+ `);
306
+ }
307
+ // Delegation section
308
+ if (topic === 'all' || topic === 'delegation') {
309
+ sections.push(`
310
+ ## Multi-Agent Delegation
311
+
312
+ ### How Delegation Works
313
+
314
+ Agents can delegate tasks to specialized agents using the \`delegate\` step type.
315
+
316
+ **Invariants Enforced:**
317
+ - **INV-DT-001**: Maximum delegation depth (default: 5) prevents infinite chains
318
+ - **INV-DT-002**: Circular delegation is prevented (agent can't delegate to itself or ancestors)
319
+
320
+ ### Example: Orchestrator Pattern
321
+
322
+ \`\`\`json
323
+ {
324
+ "agentId": "orchestrator",
325
+ "description": "Coordinates complex tasks across specialists",
326
+ "workflow": [
327
+ {
328
+ "stepId": "plan",
329
+ "name": "Create Plan",
330
+ "type": "prompt",
331
+ "config": { "prompt": "Create a plan for: \${input.task}" }
332
+ },
333
+ {
334
+ "stepId": "backend-work",
335
+ "name": "Backend Implementation",
336
+ "type": "delegate",
337
+ "config": {
338
+ "targetAgentId": "backend",
339
+ "input": { "spec": "\${previousOutputs.plan.content}" }
340
+ },
341
+ "dependencies": ["plan"]
342
+ },
343
+ {
344
+ "stepId": "frontend-work",
345
+ "name": "Frontend Implementation",
346
+ "type": "delegate",
347
+ "config": {
348
+ "targetAgentId": "frontend",
349
+ "input": { "spec": "\${previousOutputs.plan.content}" }
350
+ },
351
+ "dependencies": ["plan"]
352
+ },
353
+ {
354
+ "stepId": "integrate",
355
+ "name": "Integration",
356
+ "type": "prompt",
357
+ "config": {
358
+ "prompt": "Integrate backend and frontend: \${previousOutputs.backend-work.result} \${previousOutputs.frontend-work.result}"
359
+ },
360
+ "dependencies": ["backend-work", "frontend-work"]
361
+ }
362
+ ]
363
+ }
364
+ \`\`\`
365
+
366
+ ### Delegation Context
367
+
368
+ When delegating, the context tracks:
369
+ - Current depth in the delegation chain
370
+ - Maximum allowed depth
371
+ - Full chain of agent IDs (for circular detection)
372
+ - Root task ID for correlation
373
+ `);
374
+ }
375
+ // Build the response
376
+ const content = sections.join('\n');
377
+ const messages = [
378
+ {
379
+ role: 'user',
380
+ content: {
381
+ type: 'text',
382
+ text: content,
383
+ },
384
+ },
385
+ ];
386
+ return {
387
+ description: 'AutomatosX Agent System Guide',
388
+ messages,
389
+ };
390
+ };
391
+ //# sourceMappingURL=agent-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../src/prompts/agent-guide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,qIAAqI;IAClJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,wGAAwG;YACrH,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB,KAAK,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAEpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,mBAAmB;IACnB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjB,CAAC,CAAC;IACD,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DjB,CAAC,CAAC;IACD,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjB,CAAC,CAAC;IACD,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFjB,CAAC,CAAC;IACD,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CjB,CAAC,CAAC;IACD,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEjB,CAAC,CAAC;IACD,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAuB;QACnC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,+BAA+B;QAC5C,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Explain Workflow Prompt
3
+ *
4
+ * User-controlled prompt template for explaining workflow execution.
5
+ */
6
+ import type { MCPPrompt, PromptHandler } from '../types.js';
7
+ /**
8
+ * Explain workflow prompt definition
9
+ */
10
+ export declare const explainWorkflowPrompt: MCPPrompt;
11
+ /**
12
+ * Handler for explain-workflow prompt
13
+ */
14
+ export declare const handleExplainWorkflow: PromptHandler;
15
+ //# sourceMappingURL=explain-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain-workflow.d.ts","sourceRoot":"","sources":["../../src/prompts/explain-workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AA4C9E;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAenC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,aA+FnC,CAAC"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Explain Workflow Prompt
3
+ *
4
+ * User-controlled prompt template for explaining workflow execution.
5
+ */
6
+ // ============================================================================
7
+ // Sample Workflow Data
8
+ // ============================================================================
9
+ const SAMPLE_WORKFLOWS = {
10
+ 'data-pipeline': {
11
+ name: 'Data Pipeline',
12
+ description: 'Automated data processing pipeline for ETL operations',
13
+ steps: [
14
+ { stepId: 'step-1', name: 'Extract', type: 'tool', description: 'Extract data from source systems' },
15
+ { stepId: 'step-2', name: 'Transform', type: 'tool', description: 'Apply transformations and validations' },
16
+ { stepId: 'step-3', name: 'Load', type: 'tool', description: 'Load data into target systems' },
17
+ ],
18
+ },
19
+ 'code-review': {
20
+ name: 'Code Review',
21
+ description: 'Automated code review workflow with agent assistance',
22
+ steps: [
23
+ { stepId: 'step-1', name: 'Lint', type: 'tool', description: 'Run linting checks on changed files' },
24
+ { stepId: 'step-2', name: 'Test', type: 'tool', description: 'Execute test suite for affected code' },
25
+ { stepId: 'step-3', name: 'Review', type: 'agent', description: 'AI-powered code review and suggestions' },
26
+ ],
27
+ },
28
+ 'deploy-staging': {
29
+ name: 'Deploy to Staging',
30
+ description: 'Deployment workflow for staging environment',
31
+ steps: [
32
+ { stepId: 'step-1', name: 'Build', type: 'tool', description: 'Build application artifacts' },
33
+ { stepId: 'step-2', name: 'Test', type: 'tool', description: 'Run integration tests' },
34
+ { stepId: 'step-3', name: 'Deploy', type: 'tool', description: 'Deploy to staging environment' },
35
+ ],
36
+ },
37
+ };
38
+ // ============================================================================
39
+ // Prompt Definition
40
+ // ============================================================================
41
+ /**
42
+ * Explain workflow prompt definition
43
+ */
44
+ export const explainWorkflowPrompt = {
45
+ name: 'explain-workflow',
46
+ description: 'Generate a prompt to explain how a workflow executes',
47
+ arguments: [
48
+ {
49
+ name: 'workflowId',
50
+ description: 'ID of the workflow to explain',
51
+ required: true,
52
+ },
53
+ {
54
+ name: 'detail',
55
+ description: 'Level of detail: "brief", "standard", or "detailed"',
56
+ required: false,
57
+ },
58
+ ],
59
+ };
60
+ // ============================================================================
61
+ // Prompt Handler
62
+ // ============================================================================
63
+ /**
64
+ * Handler for explain-workflow prompt
65
+ */
66
+ export const handleExplainWorkflow = async (args) => {
67
+ const workflowId = args.workflowId;
68
+ const detail = args.detail ?? 'standard';
69
+ // Explicit validation for required workflowId
70
+ if (workflowId === undefined || workflowId === null || workflowId === '') {
71
+ const availableWorkflows = Object.keys(SAMPLE_WORKFLOWS).join(', ');
72
+ const messages = [
73
+ {
74
+ role: 'user',
75
+ content: {
76
+ type: 'text',
77
+ text: `Error: workflowId is required. Please provide a workflow ID. Available workflows: ${availableWorkflows}`,
78
+ },
79
+ },
80
+ ];
81
+ return { description: 'Missing required workflowId parameter', messages };
82
+ }
83
+ const workflow = SAMPLE_WORKFLOWS[workflowId];
84
+ if (workflow === undefined) {
85
+ const availableWorkflows = Object.keys(SAMPLE_WORKFLOWS).join(', ');
86
+ const messages = [
87
+ {
88
+ role: 'user',
89
+ content: {
90
+ type: 'text',
91
+ text: `Error: Workflow "${workflowId}" not found. Available workflows: ${availableWorkflows}`,
92
+ },
93
+ },
94
+ ];
95
+ return { description: 'Workflow not found', messages };
96
+ }
97
+ let promptText = `# Explain Workflow: ${workflow.name}
98
+
99
+ ## Overview
100
+ ${workflow.description}
101
+
102
+ ## Workflow Steps (${workflow.steps.length} steps)
103
+
104
+ `;
105
+ if (detail === 'brief') {
106
+ promptText += workflow.steps
107
+ .map((s, i) => `${i + 1}. **${s.name}** (${s.type})`)
108
+ .join('\n');
109
+ promptText += `
110
+
111
+ Please provide a brief explanation of what this workflow does and when it should be used.`;
112
+ }
113
+ else if (detail === 'detailed') {
114
+ workflow.steps.forEach((step, index) => {
115
+ promptText += `### Step ${index + 1}: ${step.name}
116
+ - **ID:** ${step.stepId}
117
+ - **Type:** ${step.type}
118
+ - **Description:** ${step.description}
119
+
120
+ `;
121
+ });
122
+ promptText += `## Questions to Answer
123
+
124
+ 1. What is the purpose of this workflow?
125
+ 2. When should this workflow be triggered?
126
+ 3. What are the inputs and outputs of each step?
127
+ 4. What happens if a step fails?
128
+ 5. Are there any dependencies between steps?
129
+ 6. What permissions or resources does this workflow need?
130
+
131
+ Please provide a comprehensive explanation covering all these aspects.`;
132
+ }
133
+ else {
134
+ // standard detail
135
+ workflow.steps.forEach((step, index) => {
136
+ promptText += `### ${index + 1}. ${step.name} (${step.type})
137
+ ${step.description}
138
+
139
+ `;
140
+ });
141
+ promptText += `Please explain how this workflow operates, including the purpose of each step and how they work together.`;
142
+ }
143
+ const messages = [
144
+ {
145
+ role: 'user',
146
+ content: {
147
+ type: 'text',
148
+ text: promptText,
149
+ },
150
+ },
151
+ ];
152
+ return {
153
+ description: `Explanation prompt for "${workflow.name}" workflow (${detail} detail)`,
154
+ messages,
155
+ };
156
+ };
157
+ //# sourceMappingURL=explain-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain-workflow.js","sourceRoot":"","sources":["../../src/prompts/explain-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * MCP Prompts Registry
3
+ *
4
+ * Combines all prompt definitions and handlers.
5
+ *
6
+ * MCP Prompts are user-controlled templates that generate
7
+ * structured prompts with context from the system.
8
+ */
9
+ import type { MCPPrompt, MCPPromptMessage, PromptHandler } from '../types.js';
10
+ /**
11
+ * All MCP prompts
12
+ */
13
+ export declare const ALL_PROMPTS: MCPPrompt[];
14
+ /**
15
+ * All prompt handlers
16
+ */
17
+ export declare const PROMPT_HANDLERS: Record<string, PromptHandler>;
18
+ /**
19
+ * Gets a prompt by name
20
+ */
21
+ export declare function getPrompt(name: string): MCPPrompt | undefined;
22
+ /**
23
+ * Gets a prompt handler by name
24
+ */
25
+ export declare function getPromptHandler(name: string): PromptHandler | undefined;
26
+ /**
27
+ * Executes a prompt with the given arguments
28
+ */
29
+ export declare function executePrompt(name: string, args: Record<string, string>): Promise<{
30
+ description?: string;
31
+ messages: MCPPromptMessage[];
32
+ } | {
33
+ error: string;
34
+ message: string;
35
+ }>;
36
+ export * from './review-changes.js';
37
+ export * from './explain-workflow.js';
38
+ export * from './troubleshoot-session.js';
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwB9E;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,EAKlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAKzD,CAAC;AAMF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAExE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BtC;AAGD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}