musubi-sdd 5.1.0 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.ja.md +106 -48
  2. package/README.md +110 -32
  3. package/bin/musubi-analyze.js +74 -67
  4. package/bin/musubi-browser.js +27 -26
  5. package/bin/musubi-change.js +48 -47
  6. package/bin/musubi-checkpoint.js +10 -7
  7. package/bin/musubi-convert.js +25 -25
  8. package/bin/musubi-costs.js +27 -10
  9. package/bin/musubi-gui.js +52 -46
  10. package/bin/musubi-init.js +1952 -10
  11. package/bin/musubi-orchestrate.js +327 -239
  12. package/bin/musubi-remember.js +69 -56
  13. package/bin/musubi-resolve.js +53 -45
  14. package/bin/musubi-trace.js +51 -22
  15. package/bin/musubi-validate.js +39 -30
  16. package/bin/musubi-workflow.js +33 -34
  17. package/bin/musubi.js +39 -2
  18. package/package.json +1 -1
  19. package/src/agents/agent-loop.js +94 -95
  20. package/src/agents/agentic/code-generator.js +119 -109
  21. package/src/agents/agentic/code-reviewer.js +105 -108
  22. package/src/agents/agentic/index.js +4 -4
  23. package/src/agents/browser/action-executor.js +13 -13
  24. package/src/agents/browser/ai-comparator.js +11 -10
  25. package/src/agents/browser/context-manager.js +6 -6
  26. package/src/agents/browser/index.js +5 -5
  27. package/src/agents/browser/nl-parser.js +31 -46
  28. package/src/agents/browser/screenshot.js +2 -2
  29. package/src/agents/browser/test-generator.js +6 -4
  30. package/src/agents/function-tool.js +71 -65
  31. package/src/agents/index.js +7 -7
  32. package/src/agents/schema-generator.js +98 -94
  33. package/src/analyzers/ast-extractor.js +158 -146
  34. package/src/analyzers/codegraph-auto-update.js +858 -0
  35. package/src/analyzers/complexity-analyzer.js +536 -0
  36. package/src/analyzers/context-optimizer.js +241 -126
  37. package/src/analyzers/impact-analyzer.js +1 -1
  38. package/src/analyzers/large-project-analyzer.js +766 -0
  39. package/src/analyzers/repository-map.js +77 -81
  40. package/src/analyzers/security-analyzer.js +19 -11
  41. package/src/analyzers/stuck-detector.js +19 -17
  42. package/src/converters/index.js +78 -57
  43. package/src/converters/ir/types.js +12 -12
  44. package/src/converters/parsers/musubi-parser.js +134 -126
  45. package/src/converters/parsers/openapi-parser.js +70 -53
  46. package/src/converters/parsers/speckit-parser.js +239 -175
  47. package/src/converters/writers/musubi-writer.js +123 -118
  48. package/src/converters/writers/speckit-writer.js +124 -113
  49. package/src/generators/rust-migration-generator.js +512 -0
  50. package/src/gui/public/index.html +1365 -1211
  51. package/src/gui/server.js +41 -40
  52. package/src/gui/services/file-watcher.js +23 -8
  53. package/src/gui/services/project-scanner.js +26 -20
  54. package/src/gui/services/replanning-service.js +27 -23
  55. package/src/gui/services/traceability-service.js +8 -8
  56. package/src/gui/services/workflow-service.js +14 -7
  57. package/src/index.js +151 -0
  58. package/src/integrations/cicd.js +90 -104
  59. package/src/integrations/codegraph-mcp.js +643 -0
  60. package/src/integrations/documentation.js +142 -103
  61. package/src/integrations/examples.js +95 -80
  62. package/src/integrations/github-client.js +17 -17
  63. package/src/integrations/index.js +5 -5
  64. package/src/integrations/mcp/index.js +21 -21
  65. package/src/integrations/mcp/mcp-context-provider.js +76 -78
  66. package/src/integrations/mcp/mcp-discovery.js +74 -72
  67. package/src/integrations/mcp/mcp-tool-registry.js +99 -94
  68. package/src/integrations/mcp-connector.js +70 -66
  69. package/src/integrations/platforms.js +50 -49
  70. package/src/integrations/tool-discovery.js +37 -31
  71. package/src/llm-providers/anthropic-provider.js +11 -11
  72. package/src/llm-providers/base-provider.js +16 -18
  73. package/src/llm-providers/copilot-provider.js +22 -19
  74. package/src/llm-providers/index.js +26 -25
  75. package/src/llm-providers/ollama-provider.js +11 -11
  76. package/src/llm-providers/openai-provider.js +12 -12
  77. package/src/managers/agent-memory.js +36 -24
  78. package/src/managers/checkpoint-manager.js +4 -8
  79. package/src/managers/delta-spec.js +19 -19
  80. package/src/managers/index.js +13 -4
  81. package/src/managers/memory-condenser.js +35 -45
  82. package/src/managers/repo-skill-manager.js +57 -31
  83. package/src/managers/skill-loader.js +25 -22
  84. package/src/managers/skill-tools.js +36 -72
  85. package/src/managers/workflow.js +30 -22
  86. package/src/monitoring/cost-tracker.js +48 -46
  87. package/src/monitoring/incident-manager.js +116 -106
  88. package/src/monitoring/index.js +144 -134
  89. package/src/monitoring/observability.js +75 -62
  90. package/src/monitoring/quality-dashboard.js +45 -41
  91. package/src/monitoring/release-manager.js +63 -53
  92. package/src/orchestration/agent-skill-binding.js +39 -47
  93. package/src/orchestration/error-handler.js +65 -107
  94. package/src/orchestration/guardrails/base-guardrail.js +26 -24
  95. package/src/orchestration/guardrails/guardrail-rules.js +50 -64
  96. package/src/orchestration/guardrails/index.js +5 -5
  97. package/src/orchestration/guardrails/input-guardrail.js +58 -45
  98. package/src/orchestration/guardrails/output-guardrail.js +104 -81
  99. package/src/orchestration/guardrails/safety-check.js +79 -79
  100. package/src/orchestration/index.js +38 -55
  101. package/src/orchestration/mcp-tool-adapters.js +96 -99
  102. package/src/orchestration/orchestration-engine.js +21 -21
  103. package/src/orchestration/pattern-registry.js +60 -45
  104. package/src/orchestration/patterns/auto.js +34 -47
  105. package/src/orchestration/patterns/group-chat.js +59 -65
  106. package/src/orchestration/patterns/handoff.js +67 -65
  107. package/src/orchestration/patterns/human-in-loop.js +51 -72
  108. package/src/orchestration/patterns/nested.js +25 -40
  109. package/src/orchestration/patterns/sequential.js +35 -34
  110. package/src/orchestration/patterns/swarm.js +63 -56
  111. package/src/orchestration/patterns/triage.js +150 -109
  112. package/src/orchestration/reasoning/index.js +9 -9
  113. package/src/orchestration/reasoning/planning-engine.js +143 -140
  114. package/src/orchestration/reasoning/reasoning-engine.js +206 -144
  115. package/src/orchestration/reasoning/self-correction.js +121 -128
  116. package/src/orchestration/replanning/adaptive-goal-modifier.js +107 -112
  117. package/src/orchestration/replanning/alternative-generator.js +37 -42
  118. package/src/orchestration/replanning/config.js +63 -59
  119. package/src/orchestration/replanning/goal-progress-tracker.js +98 -100
  120. package/src/orchestration/replanning/index.js +24 -20
  121. package/src/orchestration/replanning/plan-evaluator.js +49 -50
  122. package/src/orchestration/replanning/plan-monitor.js +32 -28
  123. package/src/orchestration/replanning/proactive-path-optimizer.js +175 -178
  124. package/src/orchestration/replanning/replan-history.js +33 -26
  125. package/src/orchestration/replanning/replanning-engine.js +106 -108
  126. package/src/orchestration/skill-executor.js +107 -109
  127. package/src/orchestration/skill-registry.js +85 -89
  128. package/src/orchestration/workflow-examples.js +228 -231
  129. package/src/orchestration/workflow-executor.js +65 -68
  130. package/src/orchestration/workflow-orchestrator.js +72 -73
  131. package/src/phase4-integration.js +47 -40
  132. package/src/phase5-integration.js +89 -30
  133. package/src/reporters/coverage-report.js +82 -30
  134. package/src/reporters/hierarchical-reporter.js +498 -0
  135. package/src/reporters/traceability-matrix-report.js +29 -20
  136. package/src/resolvers/issue-resolver.js +43 -31
  137. package/src/steering/advanced-validation.js +133 -124
  138. package/src/steering/auto-updater.js +60 -73
  139. package/src/steering/index.js +6 -6
  140. package/src/steering/quality-metrics.js +41 -35
  141. package/src/steering/steering-auto-update.js +83 -86
  142. package/src/steering/steering-validator.js +98 -106
  143. package/src/steering/template-constraints.js +53 -54
  144. package/src/templates/agents/claude-code/CLAUDE.md +32 -32
  145. package/src/templates/agents/claude-code/skills/agent-assistant/SKILL.md +13 -5
  146. package/src/templates/agents/claude-code/skills/ai-ml-engineer/mlops-guide.md +23 -23
  147. package/src/templates/agents/claude-code/skills/ai-ml-engineer/model-card-template.md +60 -41
  148. package/src/templates/agents/claude-code/skills/api-designer/api-patterns.md +27 -19
  149. package/src/templates/agents/claude-code/skills/api-designer/openapi-template.md +11 -7
  150. package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +4 -3
  151. package/src/templates/agents/claude-code/skills/bug-hunter/root-cause-analysis.md +37 -15
  152. package/src/templates/agents/claude-code/skills/change-impact-analyzer/dependency-graph-patterns.md +36 -42
  153. package/src/templates/agents/claude-code/skills/change-impact-analyzer/impact-analysis-template.md +69 -60
  154. package/src/templates/agents/claude-code/skills/cloud-architect/aws-patterns.md +31 -38
  155. package/src/templates/agents/claude-code/skills/cloud-architect/azure-patterns.md +28 -23
  156. package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +61 -0
  157. package/src/templates/agents/claude-code/skills/code-reviewer/best-practices.md +27 -0
  158. package/src/templates/agents/claude-code/skills/code-reviewer/review-checklist.md +29 -10
  159. package/src/templates/agents/claude-code/skills/code-reviewer/review-standards.md +29 -24
  160. package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +8 -6
  161. package/src/templates/agents/claude-code/skills/constitution-enforcer/constitutional-articles.md +62 -26
  162. package/src/templates/agents/claude-code/skills/constitution-enforcer/phase-minus-one-gates.md +35 -16
  163. package/src/templates/agents/claude-code/skills/database-administrator/backup-recovery.md +27 -17
  164. package/src/templates/agents/claude-code/skills/database-administrator/tuning-guide.md +25 -20
  165. package/src/templates/agents/claude-code/skills/database-schema-designer/schema-patterns.md +39 -22
  166. package/src/templates/agents/claude-code/skills/devops-engineer/ci-cd-templates.md +25 -22
  167. package/src/templates/agents/claude-code/skills/issue-resolver/SKILL.md +24 -21
  168. package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +148 -63
  169. package/src/templates/agents/claude-code/skills/orchestrator/patterns.md +35 -16
  170. package/src/templates/agents/claude-code/skills/orchestrator/selection-matrix.md +69 -64
  171. package/src/templates/agents/claude-code/skills/performance-engineer/optimization-playbook.md +47 -47
  172. package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +69 -0
  173. package/src/templates/agents/claude-code/skills/performance-optimizer/benchmark-template.md +63 -45
  174. package/src/templates/agents/claude-code/skills/performance-optimizer/optimization-patterns.md +33 -35
  175. package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +7 -6
  176. package/src/templates/agents/claude-code/skills/project-manager/agile-ceremonies.md +47 -28
  177. package/src/templates/agents/claude-code/skills/project-manager/project-templates.md +94 -78
  178. package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +20 -17
  179. package/src/templates/agents/claude-code/skills/quality-assurance/qa-plan-template.md +63 -49
  180. package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +5 -5
  181. package/src/templates/agents/claude-code/skills/release-coordinator/feature-flag-guide.md +30 -26
  182. package/src/templates/agents/claude-code/skills/release-coordinator/release-plan-template.md +67 -35
  183. package/src/templates/agents/claude-code/skills/requirements-analyst/ears-format.md +54 -42
  184. package/src/templates/agents/claude-code/skills/requirements-analyst/validation-rules.md +36 -33
  185. package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +77 -19
  186. package/src/templates/agents/claude-code/skills/security-auditor/audit-checklists.md +24 -24
  187. package/src/templates/agents/claude-code/skills/security-auditor/owasp-top-10.md +61 -20
  188. package/src/templates/agents/claude-code/skills/security-auditor/vulnerability-patterns.md +43 -11
  189. package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +1 -0
  190. package/src/templates/agents/claude-code/skills/site-reliability-engineer/incident-response-template.md +55 -25
  191. package/src/templates/agents/claude-code/skills/site-reliability-engineer/observability-patterns.md +78 -68
  192. package/src/templates/agents/claude-code/skills/site-reliability-engineer/slo-sli-guide.md +73 -53
  193. package/src/templates/agents/claude-code/skills/software-developer/solid-principles.md +83 -37
  194. package/src/templates/agents/claude-code/skills/software-developer/test-first-workflow.md +38 -31
  195. package/src/templates/agents/claude-code/skills/steering/SKILL.md +1 -0
  196. package/src/templates/agents/claude-code/skills/steering/auto-update-rules.md +31 -0
  197. package/src/templates/agents/claude-code/skills/system-architect/adr-template.md +25 -7
  198. package/src/templates/agents/claude-code/skills/system-architect/c4-model-guide.md +74 -61
  199. package/src/templates/agents/claude-code/skills/technical-writer/doc-templates/documentation-templates.md +70 -52
  200. package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +2 -0
  201. package/src/templates/agents/claude-code/skills/test-engineer/ears-test-mapping.md +75 -71
  202. package/src/templates/agents/claude-code/skills/test-engineer/test-types.md +85 -63
  203. package/src/templates/agents/claude-code/skills/traceability-auditor/coverage-matrix-template.md +39 -36
  204. package/src/templates/agents/claude-code/skills/traceability-auditor/gap-detection-rules.md +22 -17
  205. package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1 -0
  206. package/src/templates/agents/claude-code/skills/ui-ux-designer/accessibility-guidelines.md +49 -75
  207. package/src/templates/agents/claude-code/skills/ui-ux-designer/design-system-components.md +71 -59
  208. package/src/templates/agents/codex/AGENTS.md +74 -42
  209. package/src/templates/agents/cursor/AGENTS.md +74 -42
  210. package/src/templates/agents/gemini-cli/GEMINI.md +74 -42
  211. package/src/templates/agents/github-copilot/AGENTS.md +83 -51
  212. package/src/templates/agents/qwen-code/QWEN.md +74 -42
  213. package/src/templates/agents/windsurf/AGENTS.md +74 -42
  214. package/src/templates/architectures/README.md +41 -0
  215. package/src/templates/architectures/clean-architecture/README.md +113 -0
  216. package/src/templates/architectures/event-driven/README.md +162 -0
  217. package/src/templates/architectures/hexagonal/README.md +130 -0
  218. package/src/templates/index.js +6 -1
  219. package/src/templates/locale-manager.js +16 -16
  220. package/src/templates/shared/delta-spec-template.md +20 -13
  221. package/src/templates/shared/github-actions/musubi-issue-resolver.yml +5 -5
  222. package/src/templates/shared/github-actions/musubi-security-check.yml +3 -3
  223. package/src/templates/shared/github-actions/musubi-validate.yml +4 -4
  224. package/src/templates/shared/steering/structure.md +95 -0
  225. package/src/templates/skills/browser-agent.md +21 -16
  226. package/src/templates/skills/web-gui.md +8 -0
  227. package/src/templates/template-constraints.js +50 -53
  228. package/src/validators/advanced-validation.js +30 -36
  229. package/src/validators/constitutional-validator.js +77 -73
  230. package/src/validators/critic-system.js +49 -59
  231. package/src/validators/delta-format.js +59 -55
  232. package/src/validators/traceability-validator.js +7 -11
@@ -2,7 +2,7 @@
2
2
  * @fileoverview MCP (Model Context Protocol) Connector
3
3
  * @description Base MCP client integration for tool ecosystem connectivity
4
4
  * @version 3.11.0
5
- *
5
+ *
6
6
  * Supports:
7
7
  * - Standard MCP server connections (stdio, SSE, HTTP)
8
8
  * - Tool discovery and invocation
@@ -23,7 +23,7 @@ const ConnectionState = {
23
23
  CONNECTING: 'connecting',
24
24
  CONNECTED: 'connected',
25
25
  RECONNECTING: 'reconnecting',
26
- ERROR: 'error'
26
+ ERROR: 'error',
27
27
  };
28
28
 
29
29
  /**
@@ -33,7 +33,7 @@ const TransportType = {
33
33
  STDIO: 'stdio',
34
34
  SSE: 'sse',
35
35
  HTTP: 'http',
36
- WEBSOCKET: 'websocket'
36
+ WEBSOCKET: 'websocket',
37
37
  };
38
38
 
39
39
  /**
@@ -46,7 +46,7 @@ const DEFAULT_CONFIG = {
46
46
  keepAlive: true,
47
47
  keepAliveInterval: 30000,
48
48
  maxConcurrentRequests: 10,
49
- enableLogging: false
49
+ enableLogging: false,
50
50
  };
51
51
 
52
52
  /**
@@ -94,7 +94,7 @@ class MCPTool {
94
94
 
95
95
  return {
96
96
  valid: errors.length === 0,
97
- errors
97
+ errors,
98
98
  };
99
99
  }
100
100
 
@@ -103,7 +103,7 @@ class MCPTool {
103
103
  name: this.name,
104
104
  description: this.description,
105
105
  inputSchema: this.inputSchema,
106
- annotations: this.annotations
106
+ annotations: this.annotations,
107
107
  };
108
108
  }
109
109
  }
@@ -126,7 +126,7 @@ class MCPResource {
126
126
  name: this.name,
127
127
  description: this.description,
128
128
  mimeType: this.mimeType,
129
- annotations: this.annotations
129
+ annotations: this.annotations,
130
130
  };
131
131
  }
132
132
  }
@@ -145,7 +145,7 @@ class MCPPrompt {
145
145
  return {
146
146
  name: this.name,
147
147
  description: this.description,
148
- arguments: this.arguments
148
+ arguments: this.arguments,
149
149
  };
150
150
  }
151
151
  }
@@ -199,7 +199,7 @@ class MCPServerConnection extends EventEmitter {
199
199
  await this._initializeTransport();
200
200
  await this._initialize();
201
201
  await this._discoverCapabilities();
202
-
202
+
203
203
  this.state = ConnectionState.CONNECTED;
204
204
  this.emit('connected', this.serverInfo);
205
205
 
@@ -245,12 +245,12 @@ class MCPServerConnection extends EventEmitter {
245
245
  this.transport = {
246
246
  type: this.transportType,
247
247
  connected: true,
248
- send: async (message) => {
248
+ send: async message => {
249
249
  if (this.options.enableLogging) {
250
250
  console.log(`[MCP ${this.name}] Sending:`, JSON.stringify(message));
251
251
  }
252
252
  return this._handleMessage(message);
253
- }
253
+ },
254
254
  };
255
255
  }
256
256
 
@@ -274,12 +274,12 @@ class MCPServerConnection extends EventEmitter {
274
274
  protocolVersion: '2024-11-05',
275
275
  capabilities: {
276
276
  roots: { listChanged: true },
277
- sampling: {}
277
+ sampling: {},
278
278
  },
279
279
  clientInfo: {
280
280
  name: 'musubi-sdd',
281
- version: '3.11.0'
282
- }
281
+ version: '3.11.0',
282
+ },
283
283
  });
284
284
 
285
285
  this.serverInfo = response.serverInfo || {};
@@ -329,7 +329,7 @@ class MCPServerConnection extends EventEmitter {
329
329
  jsonrpc: '2.0',
330
330
  id,
331
331
  method,
332
- params
332
+ params,
333
333
  };
334
334
 
335
335
  return new Promise((resolve, reject) => {
@@ -341,19 +341,22 @@ class MCPServerConnection extends EventEmitter {
341
341
  this.pendingRequests.set(id, { resolve, reject, timeout });
342
342
 
343
343
  if (this.transport) {
344
- this.transport.send(message).then(response => {
345
- clearTimeout(timeout);
346
- this.pendingRequests.delete(id);
347
- if (response.error) {
348
- reject(new Error(response.error.message || 'Unknown error'));
349
- } else {
350
- resolve(response.result || {});
351
- }
352
- }).catch(error => {
353
- clearTimeout(timeout);
354
- this.pendingRequests.delete(id);
355
- reject(error);
356
- });
344
+ this.transport
345
+ .send(message)
346
+ .then(response => {
347
+ clearTimeout(timeout);
348
+ this.pendingRequests.delete(id);
349
+ if (response.error) {
350
+ reject(new Error(response.error.message || 'Unknown error'));
351
+ } else {
352
+ resolve(response.result || {});
353
+ }
354
+ })
355
+ .catch(error => {
356
+ clearTimeout(timeout);
357
+ this.pendingRequests.delete(id);
358
+ reject(error);
359
+ });
357
360
  } else {
358
361
  clearTimeout(timeout);
359
362
  this.pendingRequests.delete(id);
@@ -370,7 +373,7 @@ class MCPServerConnection extends EventEmitter {
370
373
  const message = {
371
374
  jsonrpc: '2.0',
372
375
  method,
373
- params
376
+ params,
374
377
  };
375
378
 
376
379
  if (this.transport) {
@@ -385,7 +388,7 @@ class MCPServerConnection extends EventEmitter {
385
388
  async _handleMessage(message) {
386
389
  // Mock responses for testing
387
390
  const method = message.method;
388
-
391
+
389
392
  if (method === 'initialize') {
390
393
  return {
391
394
  result: {
@@ -393,37 +396,37 @@ class MCPServerConnection extends EventEmitter {
393
396
  capabilities: {
394
397
  tools: { listChanged: true },
395
398
  resources: { subscribe: true, listChanged: true },
396
- prompts: { listChanged: true }
399
+ prompts: { listChanged: true },
397
400
  },
398
401
  serverInfo: {
399
402
  name: this.config.name || 'mock-server',
400
- version: '1.0.0'
401
- }
402
- }
403
+ version: '1.0.0',
404
+ },
405
+ },
403
406
  };
404
407
  }
405
408
 
406
409
  if (method === 'tools/list') {
407
410
  return {
408
411
  result: {
409
- tools: this.config.mockTools || []
410
- }
412
+ tools: this.config.mockTools || [],
413
+ },
411
414
  };
412
415
  }
413
416
 
414
417
  if (method === 'resources/list') {
415
418
  return {
416
419
  result: {
417
- resources: this.config.mockResources || []
418
- }
420
+ resources: this.config.mockResources || [],
421
+ },
419
422
  };
420
423
  }
421
424
 
422
425
  if (method === 'prompts/list') {
423
426
  return {
424
427
  result: {
425
- prompts: this.config.mockPrompts || []
426
- }
428
+ prompts: this.config.mockPrompts || [],
429
+ },
427
430
  };
428
431
  }
429
432
 
@@ -433,10 +436,10 @@ class MCPServerConnection extends EventEmitter {
433
436
  content: [
434
437
  {
435
438
  type: 'text',
436
- text: `Tool ${message.params.name} executed successfully`
437
- }
438
- ]
439
- }
439
+ text: `Tool ${message.params.name} executed successfully`,
440
+ },
441
+ ],
442
+ },
440
443
  };
441
444
  }
442
445
 
@@ -447,10 +450,10 @@ class MCPServerConnection extends EventEmitter {
447
450
  {
448
451
  uri: message.params.uri,
449
452
  mimeType: 'text/plain',
450
- text: `Content of ${message.params.uri}`
451
- }
452
- ]
453
- }
453
+ text: `Content of ${message.params.uri}`,
454
+ },
455
+ ],
456
+ },
454
457
  };
455
458
  }
456
459
 
@@ -462,11 +465,11 @@ class MCPServerConnection extends EventEmitter {
462
465
  role: 'user',
463
466
  content: {
464
467
  type: 'text',
465
- text: `Prompt: ${message.params.name}`
466
- }
467
- }
468
- ]
469
- }
468
+ text: `Prompt: ${message.params.name}`,
469
+ },
470
+ },
471
+ ],
472
+ },
470
473
  };
471
474
  }
472
475
 
@@ -522,7 +525,7 @@ class MCPServerConnection extends EventEmitter {
522
525
 
523
526
  const response = await this._sendRequest('tools/call', {
524
527
  name: toolName,
525
- arguments: args
528
+ arguments: args,
526
529
  });
527
530
 
528
531
  return response;
@@ -547,7 +550,7 @@ class MCPServerConnection extends EventEmitter {
547
550
  async getPrompt(promptName, args = {}) {
548
551
  const response = await this._sendRequest('prompts/get', {
549
552
  name: promptName,
550
- arguments: args
553
+ arguments: args,
551
554
  });
552
555
  return response;
553
556
  }
@@ -565,7 +568,7 @@ class MCPServerConnection extends EventEmitter {
565
568
  resourceCount: this.resources.size,
566
569
  promptCount: this.prompts.size,
567
570
  serverInfo: this.serverInfo,
568
- capabilities: this.capabilities
571
+ capabilities: this.capabilities,
569
572
  };
570
573
  }
571
574
  }
@@ -596,9 +599,9 @@ class MCPConnector extends EventEmitter {
596
599
  const connection = new MCPServerConnection(serverConfig, this.options);
597
600
 
598
601
  // Forward events
599
- connection.on('connected', (info) => this.emit('serverConnected', name, info));
602
+ connection.on('connected', info => this.emit('serverConnected', name, info));
600
603
  connection.on('disconnected', () => this.emit('serverDisconnected', name));
601
- connection.on('error', (error) => this.emit('serverError', name, error));
604
+ connection.on('error', error => this.emit('serverError', name, error));
602
605
 
603
606
  this.servers.set(name, connection);
604
607
  return connection;
@@ -640,7 +643,7 @@ class MCPConnector extends EventEmitter {
640
643
  async connectAll() {
641
644
  const results = {
642
645
  success: [],
643
- failed: []
646
+ failed: [],
644
647
  };
645
648
 
646
649
  for (const [name, connection] of this.servers) {
@@ -735,7 +738,7 @@ class MCPConnector extends EventEmitter {
735
738
 
736
739
  const connection = this.servers.get(serverName);
737
740
  const tool = connection?.tools.get(toolName);
738
-
741
+
739
742
  return tool ? { tool, server: serverName } : null;
740
743
  }
741
744
 
@@ -767,10 +770,11 @@ class MCPConnector extends EventEmitter {
767
770
 
768
771
  return {
769
772
  serverCount: this.servers.size,
770
- connectedCount: Array.from(this.servers.values())
771
- .filter(c => c.state === ConnectionState.CONNECTED).length,
773
+ connectedCount: Array.from(this.servers.values()).filter(
774
+ c => c.state === ConnectionState.CONNECTED
775
+ ).length,
772
776
  totalTools: this.toolIndex.size,
773
- servers
777
+ servers,
774
778
  };
775
779
  }
776
780
 
@@ -781,7 +785,7 @@ class MCPConnector extends EventEmitter {
781
785
  */
782
786
  loadConfig(config) {
783
787
  const servers = config.mcpServers || config.servers || {};
784
-
788
+
785
789
  for (const [name, serverConfig] of Object.entries(servers)) {
786
790
  this.addServer(name, serverConfig);
787
791
  }
@@ -798,7 +802,7 @@ class MCPConnector extends EventEmitter {
798
802
  for (const [name, connection] of this.servers) {
799
803
  servers[name] = {
800
804
  transport: connection.transportType,
801
- ...connection.config
805
+ ...connection.config,
802
806
  };
803
807
  }
804
808
 
@@ -814,5 +818,5 @@ module.exports = {
814
818
  MCPPrompt,
815
819
  ConnectionState,
816
820
  TransportType,
817
- DEFAULT_CONFIG
821
+ DEFAULT_CONFIG,
818
822
  };