@gotza02/seq-thinking 1.1.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 (106) hide show
  1. package/README.md +149 -0
  2. package/SYSTEM_INSTRUCTIONS.md +50 -0
  3. package/agents_test.log +15 -0
  4. package/dist/__tests__/agents.test.d.ts +2 -0
  5. package/dist/__tests__/agents.test.d.ts.map +1 -0
  6. package/dist/__tests__/agents.test.js +673 -0
  7. package/dist/__tests__/agents.test.js.map +1 -0
  8. package/dist/__tests__/mcp-server.test.d.ts +2 -0
  9. package/dist/__tests__/mcp-server.test.d.ts.map +1 -0
  10. package/dist/__tests__/mcp-server.test.js +315 -0
  11. package/dist/__tests__/mcp-server.test.js.map +1 -0
  12. package/dist/__tests__/sequential-thinking.test.d.ts +2 -0
  13. package/dist/__tests__/sequential-thinking.test.d.ts.map +1 -0
  14. package/dist/__tests__/sequential-thinking.test.js +545 -0
  15. package/dist/__tests__/sequential-thinking.test.js.map +1 -0
  16. package/dist/__tests__/swarm-coordinator.test.d.ts +2 -0
  17. package/dist/__tests__/swarm-coordinator.test.d.ts.map +1 -0
  18. package/dist/__tests__/swarm-coordinator.test.js +606 -0
  19. package/dist/__tests__/swarm-coordinator.test.js.map +1 -0
  20. package/dist/__tests__/types.test.d.ts +2 -0
  21. package/dist/__tests__/types.test.d.ts.map +1 -0
  22. package/dist/__tests__/types.test.js +741 -0
  23. package/dist/__tests__/types.test.js.map +1 -0
  24. package/dist/__tests__/utils.test.d.ts +2 -0
  25. package/dist/__tests__/utils.test.d.ts.map +1 -0
  26. package/dist/__tests__/utils.test.js +264 -0
  27. package/dist/__tests__/utils.test.js.map +1 -0
  28. package/dist/agents/base-agent.d.ts +126 -0
  29. package/dist/agents/base-agent.d.ts.map +1 -0
  30. package/dist/agents/base-agent.js +214 -0
  31. package/dist/agents/base-agent.js.map +1 -0
  32. package/dist/agents/critic-agent.d.ts +134 -0
  33. package/dist/agents/critic-agent.d.ts.map +1 -0
  34. package/dist/agents/critic-agent.js +484 -0
  35. package/dist/agents/critic-agent.js.map +1 -0
  36. package/dist/agents/index.d.ts +11 -0
  37. package/dist/agents/index.d.ts.map +1 -0
  38. package/dist/agents/index.js +11 -0
  39. package/dist/agents/index.js.map +1 -0
  40. package/dist/agents/meta-reasoning-agent.d.ts +143 -0
  41. package/dist/agents/meta-reasoning-agent.d.ts.map +1 -0
  42. package/dist/agents/meta-reasoning-agent.js +532 -0
  43. package/dist/agents/meta-reasoning-agent.js.map +1 -0
  44. package/dist/agents/reasoner-agent.d.ts +75 -0
  45. package/dist/agents/reasoner-agent.d.ts.map +1 -0
  46. package/dist/agents/reasoner-agent.js +226 -0
  47. package/dist/agents/reasoner-agent.js.map +1 -0
  48. package/dist/agents/synthesizer-agent.d.ts +174 -0
  49. package/dist/agents/synthesizer-agent.d.ts.map +1 -0
  50. package/dist/agents/synthesizer-agent.js +583 -0
  51. package/dist/agents/synthesizer-agent.js.map +1 -0
  52. package/dist/index.d.ts +21 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +27 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/mcp-server.d.ts +823 -0
  57. package/dist/mcp-server.d.ts.map +1 -0
  58. package/dist/mcp-server.js +377 -0
  59. package/dist/mcp-server.js.map +1 -0
  60. package/dist/sequential-thinking.d.ts +91 -0
  61. package/dist/sequential-thinking.d.ts.map +1 -0
  62. package/dist/sequential-thinking.js +540 -0
  63. package/dist/sequential-thinking.js.map +1 -0
  64. package/dist/swarm-coordinator.d.ts +188 -0
  65. package/dist/swarm-coordinator.d.ts.map +1 -0
  66. package/dist/swarm-coordinator.js +627 -0
  67. package/dist/swarm-coordinator.js.map +1 -0
  68. package/dist/types/index.d.ts +806 -0
  69. package/dist/types/index.d.ts.map +1 -0
  70. package/dist/types/index.js +279 -0
  71. package/dist/types/index.js.map +1 -0
  72. package/dist/utils/index.d.ts +421 -0
  73. package/dist/utils/index.d.ts.map +1 -0
  74. package/dist/utils/index.js +864 -0
  75. package/dist/utils/index.js.map +1 -0
  76. package/dist/utils/llm-adapter.d.ts +23 -0
  77. package/dist/utils/llm-adapter.d.ts.map +1 -0
  78. package/dist/utils/llm-adapter.js +68 -0
  79. package/dist/utils/llm-adapter.js.map +1 -0
  80. package/dist/utils/persistence.d.ts +33 -0
  81. package/dist/utils/persistence.d.ts.map +1 -0
  82. package/dist/utils/persistence.js +108 -0
  83. package/dist/utils/persistence.js.map +1 -0
  84. package/package.json +41 -0
  85. package/src/__tests__/agents.test.ts +858 -0
  86. package/src/__tests__/mcp-server.test.ts +380 -0
  87. package/src/__tests__/sequential-thinking.test.ts +687 -0
  88. package/src/__tests__/swarm-coordinator.test.ts +903 -0
  89. package/src/__tests__/types.test.ts +839 -0
  90. package/src/__tests__/utils.test.ts +322 -0
  91. package/src/agents/base-agent.ts +285 -0
  92. package/src/agents/critic-agent.ts +582 -0
  93. package/src/agents/index.ts +11 -0
  94. package/src/agents/meta-reasoning-agent.ts +672 -0
  95. package/src/agents/reasoner-agent.ts +312 -0
  96. package/src/agents/synthesizer-agent.ts +758 -0
  97. package/src/index.ts +118 -0
  98. package/src/mcp-server.ts +387 -0
  99. package/src/sequential-thinking.ts +560 -0
  100. package/src/swarm-coordinator.ts +744 -0
  101. package/src/types/index.ts +915 -0
  102. package/src/utils/index.ts +1004 -0
  103. package/src/utils/llm-adapter.ts +76 -0
  104. package/src/utils/persistence.ts +108 -0
  105. package/test_output.log +0 -0
  106. package/tsconfig.json +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAmD,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAkD,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAgF1J,qBAAa,SAAS;IAClB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAC;IACP,cAAc,iBAAC;IACf,gBAAgB,mBAAC;IACjB,gBAAgB,gBAAa;IAC7B,OAAO,CAAC,OAAO,CAAY;;IASrB,UAAU;IAIhB,aAAa;IAyBP,wBAAwB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgJlC,uBAAuB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoGjC,KAAK;CAKd"}
@@ -0,0 +1,377 @@
1
+ /**
2
+ * MCP Server
3
+ */
4
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
5
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
6
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
7
+ import { SessionManager, SelfCorrectionEngine, AdaptiveGranularityEngine } from './sequential-thinking.js';
8
+ import { SwarmCoordinator } from './swarm-coordinator.js';
9
+ import { ThoughtType, AgentType, ReasoningStrategy, CriticType, SynthesizerType, ConsensusAlgorithm, ConflictResolutionStrategy } from './types/index.js';
10
+ import { ReasonerAgent, CriticAgent, SynthesizerAgent, MetaReasoningAgent } from './agents/index.js';
11
+ const SEQUENTIAL_THINKING_TOOL = {
12
+ name: 'advanced_sequential_thinking',
13
+ description: 'Advanced sequential thinking with self-correction, parallel hypotheses, meta-reasoning',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ operation: {
18
+ type: 'string',
19
+ enum: [
20
+ 'initialize', 'add_thought', 'revise_thought', 'branch_thought',
21
+ 'merge_branches', 'prune_branch', 'self_correct', 'add_meta_thought',
22
+ 'get_thinking_path', 'get_branch_comparison', 'calibrate_confidence',
23
+ 'adjust_granularity', 'get_session_state', 'complete_session',
24
+ 'delegate_to_swarm'
25
+ ]
26
+ },
27
+ sessionId: { type: 'string' },
28
+ topic: { type: 'string' },
29
+ content: { type: 'string' },
30
+ thoughtType: { type: 'string', enum: Object.values(ThoughtType) },
31
+ thoughtId: { type: 'string' },
32
+ parentThoughtId: { type: 'string' },
33
+ branchId: { type: 'string' },
34
+ confidence: { type: 'number' },
35
+ revisionReason: { type: 'string' },
36
+ branchName: { type: 'string' },
37
+ branchDescription: { type: 'string' },
38
+ tags: { type: 'array', items: { type: 'string' } },
39
+ assumptions: { type: 'array', items: { type: 'string' } },
40
+ dependencies: { type: 'array', items: { type: 'string' } },
41
+ settings: { type: 'object' }
42
+ },
43
+ required: ['operation']
44
+ }
45
+ };
46
+ const SWARM_COORDINATION_TOOL = {
47
+ name: 'swarm_agent_coordination',
48
+ description: 'Coordinate multiple AI agents in a swarm',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ operation: {
53
+ type: 'string',
54
+ enum: [
55
+ 'register_agent', 'unregister_agent', 'list_agents', 'get_agent_status',
56
+ 'assign_task', 'get_task_status', 'reach_consensus', 'identify_conflict',
57
+ 'resolve_conflict', 'broadcast_message', 'send_direct_message', 'get_swarm_stats'
58
+ ]
59
+ },
60
+ name: { type: 'string' },
61
+ agentType: { type: 'string', enum: Object.values(AgentType) },
62
+ subtype: { type: 'string' },
63
+ capabilities: { type: 'array' },
64
+ agentId: { type: 'string' },
65
+ taskType: { type: 'string' },
66
+ description: { type: 'string' },
67
+ input: {},
68
+ requiredCapabilities: { type: 'array', items: { type: 'string' } },
69
+ strategy: { type: 'string', enum: ['round_robin', 'capability_based', 'load_balanced', 'adaptive'] },
70
+ proposal: {},
71
+ options: { type: 'array' },
72
+ algorithm: { type: 'string', enum: Object.values(ConsensusAlgorithm) },
73
+ participatingAgents: { type: 'array', items: { type: 'string' } },
74
+ minAgreementRatio: { type: 'number' },
75
+ maxRounds: { type: 'number' },
76
+ conflictType: { type: 'string' },
77
+ positions: { type: 'array' },
78
+ conflictId: { type: 'string' },
79
+ resolutionStrategy: { type: 'string', enum: Object.values(ConflictResolutionStrategy) },
80
+ resolverAgentId: { type: 'string' },
81
+ senderId: { type: 'string' },
82
+ recipientId: { type: 'string' },
83
+ payload: {},
84
+ taskId: { type: 'string' }
85
+ },
86
+ required: ['operation']
87
+ }
88
+ };
89
+ export class MCPServer {
90
+ server;
91
+ sessionManager;
92
+ swarmCoordinator;
93
+ registeredAgents = new Map();
94
+ dataDir = './data';
95
+ constructor() {
96
+ this.server = new Server({ name: 'mcp-sequential-thinking', version: '1.0.0' }, { capabilities: { tools: {} } });
97
+ this.sessionManager = new SessionManager(this.dataDir);
98
+ this.swarmCoordinator = new SwarmCoordinator(this.dataDir);
99
+ this.setupHandlers();
100
+ }
101
+ async initialize() {
102
+ await this.sessionManager.initialize();
103
+ await this.swarmCoordinator.initialize();
104
+ }
105
+ setupHandlers() {
106
+ this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
107
+ tools: [SEQUENTIAL_THINKING_TOOL, SWARM_COORDINATION_TOOL]
108
+ }));
109
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
110
+ const { name, arguments: args } = request.params;
111
+ try {
112
+ if (name === 'advanced_sequential_thinking') {
113
+ const result = await this.handleSequentialThinking(args);
114
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
115
+ }
116
+ if (name === 'swarm_agent_coordination') {
117
+ const result = await this.handleSwarmCoordination(args);
118
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
119
+ }
120
+ throw new Error(`Unknown tool: ${name}`);
121
+ }
122
+ catch (error) {
123
+ return {
124
+ content: [{ type: 'text', text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : String(error) }, null, 2) }],
125
+ isError: true
126
+ };
127
+ }
128
+ });
129
+ }
130
+ async handleSequentialThinking(args) {
131
+ const operation = String(args.operation);
132
+ switch (operation) {
133
+ case 'initialize': {
134
+ const session = await this.sessionManager.createSession(String(args.topic), args.settings || {});
135
+ return { success: true, sessionId: session.id, topic: session.topic, status: session.status, settings: session.settings };
136
+ }
137
+ case 'add_thought': {
138
+ const { thought, metaNote, issues } = await this.sessionManager.addThought(String(args.sessionId), String(args.content), {
139
+ thoughtType: args.thoughtType,
140
+ parentThoughtId: args.parentThoughtId,
141
+ branchId: args.branchId,
142
+ confidence: args.confidence,
143
+ tags: args.tags,
144
+ assumptions: args.assumptions,
145
+ dependencies: args.dependencies
146
+ });
147
+ return {
148
+ success: true,
149
+ thought: { id: thought.id, stepNumber: thought.stepNumber, thoughtType: thought.thoughtType, confidence: thought.confidence, branchId: thought.branchId },
150
+ metaNote: metaNote ? { id: metaNote.id, type: metaNote.observationType, content: metaNote.content, triggeredActions: metaNote.triggeredActions } : undefined,
151
+ issuesDetected: issues
152
+ };
153
+ }
154
+ case 'revise_thought': {
155
+ const graph = this.sessionManager.getThoughtGraph();
156
+ const revision = graph.reviseThought(String(args.thoughtId), String(args.newContent), String(args.revisionReason));
157
+ return { success: true, revision: { id: revision.id, originalThoughtId: args.thoughtId, content: revision.content, revisionReason: args.revisionReason } };
158
+ }
159
+ case 'branch_thought': {
160
+ const graph = this.sessionManager.getThoughtGraph();
161
+ const { branch, thought } = graph.createBranch(String(args.sessionId), String(args.parentThoughtId), String(args.branchName), String(args.branchDescription), String(args.initialContent));
162
+ return { success: true, branch: { id: branch.id, name: branch.name, description: branch.description, parentBranchId: branch.parentBranchId }, rootThought: { id: thought.id, content: thought.content } };
163
+ }
164
+ case 'merge_branches': {
165
+ const graph = this.sessionManager.getThoughtGraph();
166
+ const mergeThought = graph.mergeBranches(String(args.targetBranchId), String(args.sourceBranchId), String(args.mergeContent));
167
+ return { success: true, mergeThought: { id: mergeThought.id, content: mergeThought.content, mergedBranches: [args.sourceBranchId] } };
168
+ }
169
+ case 'prune_branch': {
170
+ const graph = this.sessionManager.getThoughtGraph();
171
+ graph.pruneBranch(String(args.branchId), String(args.reason));
172
+ return { success: true, message: `Branch ${args.branchId} pruned: ${args.reason}` };
173
+ }
174
+ case 'self_correct': {
175
+ const session = this.sessionManager.getSession(String(args.sessionId));
176
+ if (!session)
177
+ throw new Error(`Session not found: ${args.sessionId}`);
178
+ const graph = this.sessionManager.getThoughtGraph();
179
+ const thought = graph.getThoughts().get(String(args.thoughtId));
180
+ if (!thought)
181
+ throw new Error(`Thought not found: ${args.thoughtId}`);
182
+ const correctionEngine = new SelfCorrectionEngine();
183
+ const issues = correctionEngine.detectIssues(thought, graph);
184
+ return { success: true, issuesDetected: issues, recommendations: issues.map((i) => i.suggestion) };
185
+ }
186
+ case 'add_meta_thought': {
187
+ const graph = this.sessionManager.getThoughtGraph();
188
+ const metaEngine = this.sessionManager.getMetaEngine();
189
+ const metaNote = metaEngine.generateMetaObservation(String(args.thoughtId), graph);
190
+ return { success: true, metaNote: metaNote ? { id: metaNote.id, type: metaNote.observationType, content: metaNote.content, triggeredActions: metaNote.triggeredActions } : null };
191
+ }
192
+ case 'get_thinking_path': {
193
+ const graph = this.sessionManager.getThoughtGraph();
194
+ const path = graph.getThinkingPath(String(args.thoughtId));
195
+ return { success: true, path: path.map((t) => ({ id: t.id, stepNumber: t.stepNumber, thoughtType: t.thoughtType, content: t.content.substring(0, 200), confidence: t.confidence.overall })) };
196
+ }
197
+ case 'get_branch_comparison': {
198
+ const graph = this.sessionManager.getThoughtGraph();
199
+ const branchIds = Array.isArray(args.branchIds) ? args.branchIds : [];
200
+ const comparison = graph.getBranchComparison(branchIds);
201
+ return { success: true, comparison };
202
+ }
203
+ case 'calibrate_confidence': {
204
+ const graph = this.sessionManager.getThoughtGraph();
205
+ const thought = graph.getThoughts().get(String(args.thoughtId));
206
+ if (!thought)
207
+ throw new Error(`Thought not found: ${args.thoughtId}`);
208
+ return { success: true, originalConfidence: thought.confidence, message: 'Confidence calibration would update based on feedback' };
209
+ }
210
+ case 'adjust_granularity': {
211
+ const session = this.sessionManager.getSession(String(args.sessionId));
212
+ if (!session)
213
+ throw new Error(`Session not found: ${args.sessionId}`);
214
+ const engine = new AdaptiveGranularityEngine();
215
+ const granularity = engine.calculateGranularity(session.topic, session.context, session.thoughts.size);
216
+ return { success: true, recommendedDetail: granularity.detail, reasoning: granularity.reasoning };
217
+ }
218
+ case 'get_session_state': {
219
+ const session = this.sessionManager.getSession(String(args.sessionId));
220
+ if (!session)
221
+ throw new Error(`Session not found: ${args.sessionId}`);
222
+ const graph = this.sessionManager.getThoughtGraph();
223
+ return {
224
+ success: true,
225
+ session: { id: session.id, topic: session.topic, status: session.status, totalThoughts: session.metadata.totalThoughts, totalBranches: session.metadata.totalBranches, lastActivity: session.metadata.lastActivityAt },
226
+ branches: Array.from(graph.getBranches().values()).map(b => ({ id: b.id, name: b.name, status: b.status, thoughtCount: b.thoughtIds.length, confidence: b.confidence })),
227
+ recentThoughts: Array.from(session.thoughts.values()).slice(-5).map((t) => ({ id: t.id, stepNumber: t.stepNumber, thoughtType: t.thoughtType, content: t.content.substring(0, 100) }))
228
+ };
229
+ }
230
+ case 'complete_session': {
231
+ await this.sessionManager.completeSession(String(args.sessionId));
232
+ return { success: true, message: `Session ${args.sessionId} completed` };
233
+ }
234
+ case 'delegate_to_swarm': {
235
+ const session = this.sessionManager.getSession(String(args.sessionId));
236
+ if (!session)
237
+ throw new Error(`Session not found: ${args.sessionId}`);
238
+ const graph = this.sessionManager.getThoughtGraph();
239
+ const thought = graph.getThoughts().get(String(args.thoughtId));
240
+ if (!thought)
241
+ throw new Error(`Thought not found: ${args.thoughtId}`);
242
+ const taskType = String(args.taskType || 'reasoning');
243
+ const { task, assignedAgent } = this.swarmCoordinator.submitTask(taskType, `Analyze and expand on this thought: ${thought.content}`, { thought: thought.content, context: session.context }, { requiredCapabilities: args.requiredCapabilities || [], minConfidence: 0.6, maxTimeMs: 30000 });
244
+ if (!assignedAgent) {
245
+ return { success: false, error: 'No suitable agent available in swarm' };
246
+ }
247
+ const result = await this.swarmCoordinator.executeTask(task.id);
248
+ if (result.success && result.output) {
249
+ const swarmOutput = typeof result.output === 'string' ? result.output : JSON.stringify(result.output, null, 2);
250
+ const newThought = await this.sessionManager.addThought(session.id, swarmOutput, {
251
+ thoughtType: ThoughtType.SYNTHESIS,
252
+ parentThoughtId: thought.id,
253
+ branchId: thought.branchId,
254
+ confidence: result.confidence,
255
+ tags: ['swarm-result', assignedAgent.config.name]
256
+ });
257
+ return { success: true, swarmResult: result, newThought: newThought.thought };
258
+ }
259
+ else {
260
+ return { success: false, error: 'Swarm execution failed', details: result };
261
+ }
262
+ }
263
+ default:
264
+ throw new Error(`Unknown operation: ${operation}`);
265
+ }
266
+ }
267
+ async handleSwarmCoordination(args) {
268
+ const operation = String(args.operation);
269
+ switch (operation) {
270
+ case 'register_agent': {
271
+ const agentType = String(args.agentType);
272
+ let agent;
273
+ switch (agentType) {
274
+ case AgentType.REASONER:
275
+ agent = new ReasonerAgent({ name: String(args.name), strategy: args.subtype || ReasoningStrategy.CHAIN_OF_THOUGHT });
276
+ break;
277
+ case AgentType.CRITIC:
278
+ agent = new CriticAgent({ name: String(args.name), criticType: args.subtype || CriticType.LOGICAL });
279
+ break;
280
+ case AgentType.SYNTHESIZER:
281
+ agent = new SynthesizerAgent({ name: String(args.name), synthesizerType: args.subtype || SynthesizerType.CONSENSUS });
282
+ break;
283
+ case AgentType.META_REASONING:
284
+ agent = new MetaReasoningAgent({ name: String(args.name) });
285
+ break;
286
+ default:
287
+ throw new Error(`Unsupported agent type: ${agentType}`);
288
+ }
289
+ this.registeredAgents.set(agent.id, agent);
290
+ await this.swarmCoordinator.registerAgent(agent);
291
+ return { success: true, agentId: agent.id, name: agent.config.name, type: agent.config.type, capabilities: agent.config.capabilities.map(c => c.name) };
292
+ }
293
+ case 'unregister_agent': {
294
+ const success = await this.swarmCoordinator.unregisterAgent(String(args.agentId));
295
+ this.registeredAgents.delete(String(args.agentId));
296
+ return { success, message: success ? `Agent ${args.agentId} unregistered` : 'Agent not found' };
297
+ }
298
+ case 'list_agents': {
299
+ const agents = this.swarmCoordinator.registry.getAllAgents();
300
+ return { success: true, agents: agents.map(a => ({ id: a.config.id, name: a.config.name, type: a.config.type, subtype: a.config.subtype, status: a.status, capabilities: a.config.capabilities.map(c => c.name) })) };
301
+ }
302
+ case 'get_agent_status': {
303
+ const agent = this.swarmCoordinator.registry.getAgent(String(args.agentId));
304
+ if (!agent)
305
+ throw new Error(`Agent not found: ${args.agentId}`);
306
+ return { success: true, agent: { id: agent.config.id, name: agent.config.name, type: agent.config.type, status: agent.status, currentTasks: agent.currentTasks, performanceMetrics: { tasksCompleted: agent.performanceHistory.length, averageQuality: agent.performanceHistory.length > 0 ? agent.performanceHistory.reduce((sum, p) => sum + p.quality, 0) / agent.performanceHistory.length : 0, averageTimeMs: agent.performanceHistory.length > 0 ? agent.performanceHistory.reduce((sum, p) => sum + p.timeMs, 0) / agent.performanceHistory.length : 0 } } };
307
+ }
308
+ case 'assign_task': {
309
+ const { task, assignedAgent } = this.swarmCoordinator.submitTask(String(args.taskType), String(args.description), args.input, { requiredCapabilities: Array.isArray(args.requiredCapabilities) ? args.requiredCapabilities : [], minConfidence: 0.6, maxTimeMs: 30000 }, args.strategy || 'adaptive');
310
+ let result = null;
311
+ if (assignedAgent) {
312
+ result = await this.swarmCoordinator.executeTask(task.id);
313
+ }
314
+ return {
315
+ success: true,
316
+ task: {
317
+ id: task.id,
318
+ type: task.type,
319
+ description: task.description,
320
+ status: task.status,
321
+ assignedAgentId: task.assignedAgentId
322
+ },
323
+ assignedAgent: assignedAgent ? {
324
+ id: assignedAgent.config.id,
325
+ name: assignedAgent.config.name,
326
+ type: assignedAgent.config.type
327
+ } : null,
328
+ result
329
+ };
330
+ }
331
+ case 'get_task_status': {
332
+ const task = this.swarmCoordinator.taskQueue.getTask(String(args.taskId));
333
+ if (!task)
334
+ throw new Error(`Task not found: ${args.taskId}`);
335
+ return { success: true, task: { id: task.id, type: task.type, description: task.description, status: task.status, assignedAgentId: task.assignedAgentId, result: task.result, createdAt: task.metadata.createdAt, completedAt: task.metadata.completedAt } };
336
+ }
337
+ case 'reach_consensus': {
338
+ const result = await this.swarmCoordinator.reachConsensus(args.proposal, Array.isArray(args.options) ? args.options : [], args.algorithm || ConsensusAlgorithm.WEIGHTED_VOTE, Array.isArray(args.participatingAgents) ? args.participatingAgents : undefined, typeof args.minAgreementRatio === 'number' ? args.minAgreementRatio : 0.67, typeof args.maxRounds === 'number' ? args.maxRounds : 3);
339
+ return { success: true, consensus: { proposalId: result.proposalId, algorithm: result.algorithm, winningOption: result.winningOption, confidence: result.confidence, agreementRatio: result.agreementRatio, rounds: result.metadata.rounds, dissentingOpinions: result.dissentingOpinions } };
340
+ }
341
+ case 'identify_conflict': {
342
+ const conflict = this.swarmCoordinator.identifyConflict(String(args.conflictType), String(args.description), Array.isArray(args.positions) ? args.positions : []);
343
+ return { success: true, conflict: { id: conflict.id, type: conflict.type, description: conflict.description, involvedAgents: conflict.involvedAgents, positions: conflict.conflictingPositions, status: conflict.status } };
344
+ }
345
+ case 'resolve_conflict': {
346
+ const { conflict, resolution } = this.swarmCoordinator.resolveConflict(String(args.conflictId), args.resolutionStrategy || ConflictResolutionStrategy.VOTING, args.resolverAgentId);
347
+ return { success: true, conflict: { id: conflict.id, status: conflict.status, resolutionStrategy: conflict.metadata.resolutionStrategy }, resolution };
348
+ }
349
+ case 'broadcast_message': {
350
+ const message = this.swarmCoordinator.broadcastMessage(String(args.senderId), args.payload);
351
+ return { success: true, message: { id: message.id, type: message.type, senderId: message.senderId, timestamp: message.timestamp } };
352
+ }
353
+ case 'send_direct_message': {
354
+ const message = this.swarmCoordinator.sendDirectMessage(String(args.senderId), String(args.recipientId), args.payload);
355
+ return { success: true, message: { id: message.id, type: message.type, senderId: message.senderId, recipientId: message.recipientId, timestamp: message.timestamp } };
356
+ }
357
+ case 'get_swarm_stats': {
358
+ const stats = this.swarmCoordinator.getSwarmStats();
359
+ return { success: true, stats };
360
+ }
361
+ default:
362
+ throw new Error(`Unknown operation: ${operation}`);
363
+ }
364
+ }
365
+ async start() {
366
+ const transport = new StdioServerTransport();
367
+ await this.server.connect(transport);
368
+ console.error('MCP Sequential Thinking Server running on stdio');
369
+ }
370
+ }
371
+ const isMainModule = import.meta.url === `file://${process.argv[1]}`;
372
+ if (isMainModule) {
373
+ const server = new MCPServer();
374
+ server.start().catch(console.error);
375
+ }
376
+ //# sourceMappingURL=mcp-server.js.map
377
+ //# sourceMappingURL=mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Sequential Thinking Engine
3
+ */
4
+ import { Thought, ThoughtBranch, ConfidenceScore, MetaNote, ThinkingSession, SessionStatus } from './types/index.js';
5
+ export declare class ConfidenceCalibrator {
6
+ createInitialConfidence(): ConfidenceScore;
7
+ calculateOverall(components: any): number;
8
+ }
9
+ export declare class ThoughtGraph {
10
+ thoughts: Map<string, Thought>;
11
+ branches: Map<string, ThoughtBranch>;
12
+ calibrator: ConfidenceCalibrator;
13
+ constructor();
14
+ createThought(sessionId: string, content: string, options?: any): Thought;
15
+ reviseThought(thoughtId: string, newContent: string, revisionReason: string): Thought;
16
+ createBranch(sessionId: string, parentThoughtId: string, name: string, description: string, initialContent: string): {
17
+ branch: ThoughtBranch;
18
+ thought: Thought;
19
+ };
20
+ mergeBranches(targetBranchId: string, sourceBranchId: string, mergeContent: string): Thought;
21
+ pruneBranch(branchId: string, reason: string): void;
22
+ getThinkingPath(thoughtId: string): Thought[];
23
+ getBranchComparison(branchIds: string[]): any[];
24
+ calculateStepNumber(sessionId: string, branchId: string, parentThoughtId: string | null | undefined): number;
25
+ createConfidence(override: number | undefined): ConfidenceScore;
26
+ getBranchIdForThought(thoughtId: string): string | undefined;
27
+ getBranchForThought(thoughtId: string): ThoughtBranch | undefined;
28
+ getThoughts(): Map<string, Thought>;
29
+ getBranches(): Map<string, ThoughtBranch>;
30
+ }
31
+ export declare class MetaReasoningEngine {
32
+ metaNotes: Map<string, MetaNote>;
33
+ reflect(session: ThinkingSession): {
34
+ reflectionType: string;
35
+ content: string;
36
+ insights: string[];
37
+ recommendations: string[];
38
+ };
39
+ generateMetaObservation(thoughtId: string, thoughtGraph: ThoughtGraph): MetaNote | null;
40
+ }
41
+ export declare class SelfCorrectionEngine {
42
+ detectIssues(thought: Thought, graph: ThoughtGraph): any[];
43
+ checkSessionHealth(session: ThinkingSession): {
44
+ isHealthy: boolean;
45
+ issues: string[];
46
+ suggestions: string[];
47
+ confidence: number;
48
+ };
49
+ }
50
+ export declare class AdaptiveGranularityEngine {
51
+ calculateGranularity(topic: string, context: any, currentDepth: number): {
52
+ detail: number;
53
+ reasoning: string;
54
+ };
55
+ getRecommendation(session: ThinkingSession): {
56
+ suggestedAction: string;
57
+ detail: number;
58
+ reasoning: string;
59
+ };
60
+ }
61
+ import { PersistenceManager } from './utils/persistence.js';
62
+ export declare class SessionManager {
63
+ sessions: Map<string, ThinkingSession>;
64
+ graph: ThoughtGraph;
65
+ metaEngine: MetaReasoningEngine;
66
+ correctionEngine: SelfCorrectionEngine;
67
+ granularityEngine: AdaptiveGranularityEngine;
68
+ persistence: PersistenceManager | null;
69
+ constructor(persistenceDir?: string);
70
+ initialize(): Promise<void>;
71
+ loadSessions(): Promise<void>;
72
+ createSession(topic: string, options?: any): Promise<ThinkingSession>;
73
+ addThought(sessionId: string, content: string, options?: any): Promise<{
74
+ thought: Thought;
75
+ metaNote: MetaNote | undefined;
76
+ issues: any[] | undefined;
77
+ }>;
78
+ getSession(sessionId: string): ThinkingSession | undefined;
79
+ getThoughtGraph(): ThoughtGraph;
80
+ getMetaEngine(): MetaReasoningEngine;
81
+ completeSession(sessionId: string): Promise<void>;
82
+ getSessionStatus(sessionId: string): {
83
+ id: string;
84
+ status: SessionStatus;
85
+ totalThoughts: number;
86
+ branches: string[];
87
+ averageConfidence: number;
88
+ lastActivity: Date;
89
+ };
90
+ }
91
+ //# sourceMappingURL=sequential-thinking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequential-thinking.d.ts","sourceRoot":"","sources":["../src/sequential-thinking.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAe,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAGhJ,qBAAa,oBAAoB;IAC7B,uBAAuB,IAAI,eAAe;IAa1C,gBAAgB,CAAC,UAAU,EAAE,GAAG;CAanC;AAED,qBAAa,YAAY;IACrB,QAAQ,uBAA8B;IACtC,QAAQ,6BAAoC;IAC5C,UAAU,EAAE,oBAAoB,CAAC;;IAIjC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO;IAoC7E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IA+BrF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IA+BlH,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAclF,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS5C,eAAe,CAAC,SAAS,EAAE,MAAM;IAWjC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;IAoBvC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAS5G,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe;IAO/D,qBAAqB,CAAC,SAAS,EAAE,MAAM;IAIvC,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAIrC,WAAW;IAGX,WAAW;CAGd;AAED,qBAAa,mBAAmB;IAC5B,SAAS,wBAA+B;IACxC,OAAO,CAAC,OAAO,EAAE,eAAe;;;;;;IA0BhC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;CA0BxE;AAED,qBAAa,oBAAoB;IAC7B,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY;IAoBlD,kBAAkB,CAAC,OAAO,EAAE,eAAe;;;;;;CA6B9C;AAED,qBAAa,yBAAyB;IAClC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;;;;IAKtE,iBAAiB,CAAC,OAAO,EAAE,eAAe;;;;;CAyB7C;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,cAAc;IACvB,QAAQ,+BAAsC;IAC9C,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,mBAAmB,CAAC;IAChC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAQ;gBAElC,cAAc,CAAC,EAAE,MAAM;IAU7B,UAAU;IAOV,YAAY;IA8BZ,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IA+D9C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;;;;;IA6BtE,UAAU,CAAC,SAAS,EAAE,MAAM;IAI5B,eAAe;IAIf,aAAa;IAIP,eAAe,CAAC,SAAS,EAAE,MAAM;IAYvC,gBAAgB,CAAC,SAAS,EAAE,MAAM;;;;;;;;CAkBrC"}