@gotza02/seq-thinking 1.1.2 → 1.1.4

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 (75) hide show
  1. package/README.md +64 -95
  2. package/data/agents/1770106504306-dljh9ef.json +68 -0
  3. package/data/agents/1770106504310-4oarrst.json +58 -0
  4. package/data/agents/1770106540588-pvitt55.json +68 -0
  5. package/data/agents/1770106540595-z2ya871.json +58 -0
  6. package/data/agents/1770106710890-0e2naq1.json +68 -0
  7. package/data/agents/1770106710893-r076yxx.json +58 -0
  8. package/data/agents/1770109212161-4ybd0i7.json +68 -0
  9. package/data/agents/1770109212166-gkhya8h.json +58 -0
  10. package/data/agents/1770117726716-lrnm415.json +68 -0
  11. package/data/agents/1770117726719-w6hsf3v.json +58 -0
  12. package/data/sessions/1770100622009-5afiuyv.json +499 -0
  13. package/data/sessions/1770106504312-75zk750.json +107 -0
  14. package/data/sessions/1770106540597-z8e8soo.json +150 -0
  15. package/data/sessions/1770106710894-0kxgy5x.json +150 -0
  16. package/data/sessions/1770109212169-zpddeb9.json +150 -0
  17. package/data/sessions/1770117726720-frcwj99.json +150 -0
  18. package/dist/__tests__/sequential-thinking.test.js +21 -21
  19. package/dist/__tests__/sequential-thinking.test.js.map +1 -1
  20. package/dist/agents/base-agent.d.ts +1 -0
  21. package/dist/agents/base-agent.d.ts.map +1 -1
  22. package/dist/agents/base-agent.js +5 -3
  23. package/dist/agents/base-agent.js.map +1 -1
  24. package/dist/agents/meta-reasoning-agent.d.ts +4 -55
  25. package/dist/agents/meta-reasoning-agent.d.ts.map +1 -1
  26. package/dist/agents/meta-reasoning-agent.js +41 -333
  27. package/dist/agents/meta-reasoning-agent.js.map +1 -1
  28. package/dist/agents/synthesizer-agent.d.ts +3 -17
  29. package/dist/agents/synthesizer-agent.d.ts.map +1 -1
  30. package/dist/agents/synthesizer-agent.js +41 -139
  31. package/dist/agents/synthesizer-agent.js.map +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/mcp-server.d.ts.map +1 -1
  35. package/dist/mcp-server.js +10 -7
  36. package/dist/mcp-server.js.map +1 -1
  37. package/dist/real_world_test.d.ts +2 -0
  38. package/dist/real_world_test.d.ts.map +1 -0
  39. package/dist/real_world_test.js +78 -0
  40. package/dist/real_world_test.js.map +1 -0
  41. package/dist/sequential-thinking.d.ts +5 -5
  42. package/dist/sequential-thinking.d.ts.map +1 -1
  43. package/dist/sequential-thinking.js +68 -32
  44. package/dist/sequential-thinking.js.map +1 -1
  45. package/dist/swarm-coordinator.d.ts +1 -1
  46. package/dist/swarm-coordinator.d.ts.map +1 -1
  47. package/dist/swarm-coordinator.js +39 -13
  48. package/dist/swarm-coordinator.js.map +1 -1
  49. package/dist/utils/llm-adapter.d.ts +2 -2
  50. package/dist/utils/llm-adapter.d.ts.map +1 -1
  51. package/dist/utils/llm-adapter.js +57 -33
  52. package/dist/utils/llm-adapter.js.map +1 -1
  53. package/dist/utils/logger.d.ts +20 -0
  54. package/dist/utils/logger.d.ts.map +1 -0
  55. package/dist/utils/logger.js +49 -0
  56. package/dist/utils/logger.js.map +1 -0
  57. package/dist/utils/persistence.d.ts.map +1 -1
  58. package/dist/utils/persistence.js +4 -3
  59. package/dist/utils/persistence.js.map +1 -1
  60. package/package.json +1 -1
  61. package/real_world_test.log +200 -0
  62. package/real_world_test_dynamic.log +184 -0
  63. package/real_world_test_real.log +184 -0
  64. package/src/__tests__/sequential-thinking.test.ts +21 -21
  65. package/src/agents/base-agent.ts +6 -3
  66. package/src/agents/meta-reasoning-agent.ts +45 -403
  67. package/src/agents/synthesizer-agent.ts +48 -165
  68. package/src/index.ts +1 -1
  69. package/src/mcp-server.ts +10 -7
  70. package/src/real_world_test.ts +89 -0
  71. package/src/sequential-thinking.ts +87 -33
  72. package/src/swarm-coordinator.ts +41 -13
  73. package/src/utils/llm-adapter.ts +66 -32
  74. package/src/utils/logger.ts +56 -0
  75. package/src/utils/persistence.ts +4 -3
@@ -2,58 +2,82 @@
2
2
  * LLM Adapter to call external CLI tools via child_process
3
3
  * @module utils/llm-adapter
4
4
  */
5
- import { execSync } from 'child_process';
5
+ import { exec } from 'child_process';
6
+ import { promisify } from 'util';
7
+ import { Logger } from './logger.js';
8
+ const execAsync = promisify(exec);
6
9
  export class LLMAdapter {
7
10
  /**
8
- * Main entry point to call an LLM based on provider
11
+ * Main entry point to call an LLM based on provider pool
9
12
  */
10
- static async call(prompt, systemPrompt) {
11
- const provider = process.env.provider || 'gemini';
12
- const combinedPrompt = systemPrompt ? `${systemPrompt}\n\nUser: ${prompt}` : prompt;
13
- // For testing/development: If MOCK_LLM is set, return mock data
14
- if (process.env.MOCK_LLM === 'true') {
15
- return { content: `[MOCK RESPONSE from ${provider}] I have analyzed your request: ${prompt.substring(0, 50)}...` };
16
- }
17
- try {
18
- switch (provider.toLowerCase()) {
19
- case 'gemini':
20
- return this.safeExec(`gemini ask ${this.escapeShell(combinedPrompt)}`);
21
- case 'claude':
22
- return this.safeExec(`claude ${this.escapeShell(combinedPrompt)} --non-interactive`);
23
- case 'kimi':
24
- return this.safeExec(`kimi chat ${this.escapeShell(combinedPrompt)}`);
25
- case 'opencode':
26
- return this.safeExec(`opencode ask ${this.escapeShell(combinedPrompt)}`);
27
- default:
28
- return { content: '', error: `Unsupported provider: ${provider}` };
13
+ static async call(prompt, systemPrompt, providerOverride) {
14
+ const providerEnv = process.env.provider || 'gemini';
15
+ const providers = providerOverride ? [providerOverride] : providerEnv.split(',').map(p => p.trim());
16
+ let lastError = '';
17
+ for (const provider of providers) {
18
+ const combinedPrompt = systemPrompt ? `${systemPrompt}\n\nUser: ${prompt}` : prompt;
19
+ // For testing/development: If MOCK_LLM is set, return mock data
20
+ if (process.env.MOCK_LLM === 'true') {
21
+ Logger.debug('LLM Mock Call', { provider, promptLength: prompt.length });
22
+ return { content: `[MOCK RESPONSE from ${provider}] I have analyzed your request: ${prompt.substring(0, 50)}...` };
23
+ }
24
+ Logger.info('LLM Call initiated', { provider });
25
+ try {
26
+ let response;
27
+ switch (provider.toLowerCase()) {
28
+ case 'gemini':
29
+ response = await this.safeExec(`gemini ask ${this.escapeShell(combinedPrompt)}`);
30
+ break;
31
+ case 'claude':
32
+ response = await this.safeExec(`claude ${this.escapeShell(combinedPrompt)} --non-interactive`);
33
+ break;
34
+ case 'kimi':
35
+ response = await this.safeExec(`kimi chat ${this.escapeShell(combinedPrompt)}`);
36
+ break;
37
+ case 'opencode':
38
+ response = await this.safeExec(`opencode ask ${this.escapeShell(combinedPrompt)}`);
39
+ break;
40
+ default:
41
+ response = { content: '', error: `Unsupported provider: ${provider}` };
42
+ }
43
+ if (response.content && !response.error) {
44
+ return response; // Success!
45
+ }
46
+ lastError = response.error || 'Unknown error';
47
+ Logger.warn(`Provider ${provider} failed, trying next...`, { error: lastError });
48
+ }
49
+ catch (error) {
50
+ lastError = error.message;
51
+ Logger.error(`LLM Adapter Error with ${provider}`, { error: lastError });
29
52
  }
30
53
  }
31
- catch (error) {
32
- console.error(`LLM Call Error (${provider}):`, error.message);
33
- return { content: '', error: error.message };
34
- }
54
+ return { content: '', error: `All providers failed. Last error: ${lastError}` };
35
55
  }
36
56
  /**
37
57
  * Safely execute CLI command with timeout and existence check
38
58
  */
39
- static safeExec(cmd) {
59
+ static async safeExec(cmd) {
40
60
  try {
41
61
  // Check if command base exists (first word)
42
62
  const baseCmd = cmd.split(' ')[0];
43
63
  try {
44
- execSync(`command -v ${baseCmd}`, { stdio: 'ignore' });
64
+ await execAsync(`command -v ${baseCmd}`);
45
65
  }
46
66
  catch {
47
- return { content: '', error: `CLI tool '${baseCmd}' not found or not in PATH. Please install and login.` };
67
+ const error = `CLI tool '${baseCmd}' not found or not in PATH. Please install and login.`;
68
+ Logger.warn('CLI tool missing', { baseCmd });
69
+ return { content: '', error };
48
70
  }
49
- const output = execSync(cmd, {
50
- encoding: 'utf8',
51
- stdio: ['ignore', 'pipe', 'pipe'],
52
- timeout: 30000 // 30 second timeout
71
+ const { stdout, stderr } = await execAsync(cmd, {
72
+ timeout: 60000 // 60 second timeout
53
73
  });
54
- return { content: output.trim() };
74
+ if (stderr && stderr.trim()) {
75
+ Logger.debug('CLI Stderr output', { baseCmd, stderr: stderr.substring(0, 100) });
76
+ }
77
+ return { content: stdout.trim() };
55
78
  }
56
79
  catch (error) {
80
+ Logger.error('Execution failed', { command: cmd.substring(0, 50), error: error.message });
57
81
  return { content: '', error: error.message };
58
82
  }
59
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm-adapter.js","sourceRoot":"","sources":["../../src/utils/llm-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-adapter.js","sourceRoot":"","sources":["../../src/utils/llm-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Simple Structured Logging Utility
3
+ * @module utils/logger
4
+ */
5
+ export declare enum LogLevel {
6
+ DEBUG = 0,
7
+ INFO = 1,
8
+ WARN = 2,
9
+ ERROR = 3
10
+ }
11
+ export declare class Logger {
12
+ private static level;
13
+ static setLevel(level: LogLevel): void;
14
+ static debug(message: string, context?: any): void;
15
+ static info(message: string, context?: any): void;
16
+ static warn(message: string, context?: any): void;
17
+ static error(message: string, context?: any): void;
18
+ private static log;
19
+ }
20
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA2B;IAE/C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAI/B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAM/C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAM9C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAM9C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAM/C,OAAO,CAAC,MAAM,CAAC,GAAG;CAYnB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Simple Structured Logging Utility
3
+ * @module utils/logger
4
+ */
5
+ export var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
8
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
9
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
10
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
11
+ })(LogLevel || (LogLevel = {}));
12
+ export class Logger {
13
+ static level = LogLevel.INFO;
14
+ static setLevel(level) {
15
+ this.level = level;
16
+ }
17
+ static debug(message, context = {}) {
18
+ if (this.level <= LogLevel.DEBUG) {
19
+ this.log('DEBUG', message, context);
20
+ }
21
+ }
22
+ static info(message, context = {}) {
23
+ if (this.level <= LogLevel.INFO) {
24
+ this.log('INFO', message, context);
25
+ }
26
+ }
27
+ static warn(message, context = {}) {
28
+ if (this.level <= LogLevel.WARN) {
29
+ this.log('WARN', message, context);
30
+ }
31
+ }
32
+ static error(message, context = {}) {
33
+ if (this.level <= LogLevel.ERROR) {
34
+ this.log('ERROR', message, context);
35
+ }
36
+ }
37
+ static log(level, message, context) {
38
+ const timestamp = new Date().toISOString();
39
+ const logEntry = {
40
+ timestamp,
41
+ level,
42
+ message,
43
+ ...context
44
+ };
45
+ // Write to stderr to avoid interfering with MCP stdio protocol
46
+ process.stderr.write(JSON.stringify(logEntry) + '\n');
47
+ }
48
+ }
49
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,OAAO,MAAM;IACT,MAAM,CAAC,KAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAE/C,MAAM,CAAC,QAAQ,CAAC,KAAe;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,UAAe,EAAE;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,UAAe,EAAE;QAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,UAAe,EAAE;QAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,UAAe,EAAE;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,OAAY;QAC7D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACf,SAAS;YACT,KAAK;YACL,OAAO;YACP,GAAG,OAAO;SACX,CAAC;QAEF,+DAA+D;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/utils/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAiB;IAItC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,MAAM,EAAoC;IAYpE;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAYpD;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAYhE;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajD;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAS3C;;OAEG;IACH,OAAO,CAAC,SAAS;CAgBlB"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/utils/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAiB;IAItC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,MAAM,EAAoC;IAYpE;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAYpD;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAYhE;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajD;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAS3C;;OAEG;IACH,OAAO,CAAC,SAAS;CAgBlB"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as fs from 'fs/promises';
6
6
  import * as path from 'path';
7
+ import { Logger } from './logger.js';
7
8
  export class PersistenceManager {
8
9
  baseDir;
9
10
  constructor(baseDir = './data') {
@@ -20,7 +21,7 @@ export class PersistenceManager {
20
21
  }
21
22
  }
22
23
  catch (error) {
23
- console.error('Failed to initialize persistence directory:', error);
24
+ Logger.error('Failed to initialize persistence directory', { error });
24
25
  throw error;
25
26
  }
26
27
  }
@@ -35,7 +36,7 @@ export class PersistenceManager {
35
36
  await fs.writeFile(filePath, JSON.stringify(serializedData, null, 2), 'utf8');
36
37
  }
37
38
  catch (error) {
38
- console.error(`Failed to save ${collection}/${id}:`, error);
39
+ Logger.error(`Failed to save ${collection}/${id}`, { error });
39
40
  throw error;
40
41
  }
41
42
  }
@@ -51,7 +52,7 @@ export class PersistenceManager {
51
52
  catch (error) {
52
53
  if (error.code === 'ENOENT')
53
54
  return null;
54
- console.error(`Failed to load ${collection}/${id}:`, error);
55
+ Logger.error(`Failed to load ${collection}/${id}`, { error });
55
56
  throw error;
56
57
  }
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/utils/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/utils/persistence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gotza02/seq-thinking",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Advanced Sequential Thinking MCP Tool with Swarm Agent Coordination",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,200 @@
1
+ --- Starting Real World Scenario Test ---
2
+ [System] Server Initialized
3
+
4
+ [Step 1] Registering Agents...
5
+ Registered Reasoner: {
6
+ "success": true,
7
+ "agentId": "1770106540588-pvitt55",
8
+ "name": "LogicMaster",
9
+ "type": "reasoner",
10
+ "capabilities": [
11
+ "chain_of_thought",
12
+ "tree_of_thought",
13
+ "analogical_reasoning",
14
+ "abductive_reasoning",
15
+ "problem_solving"
16
+ ]
17
+ }
18
+ Registered Critic: {
19
+ "success": true,
20
+ "agentId": "1770106540595-z2ya871",
21
+ "name": "SafetyCheck",
22
+ "type": "critic",
23
+ "capabilities": [
24
+ "evaluation",
25
+ "validation",
26
+ "feedback",
27
+ "logical_analysis"
28
+ ]
29
+ }
30
+
31
+ [Step 2] Initializing Thinking Session...
32
+ Session Created: {
33
+ "success": true,
34
+ "sessionId": "1770106540597-z8e8soo",
35
+ "topic": "Architecting a scalable microservices system",
36
+ "status": "initializing",
37
+ "settings": {
38
+ "maxBranches": 5,
39
+ "maxDepth": 20,
40
+ "confidenceThreshold": 0.6,
41
+ "enableSelfCorrection": true,
42
+ "enableMetaReasoning": true,
43
+ "enableParallelHypotheses": true,
44
+ "adaptiveGranularity": true,
45
+ "granularitySettings": {
46
+ "minStepDetail": 0.1,
47
+ "maxStepDetail": 1,
48
+ "complexityThreshold": 0.7
49
+ }
50
+ }
51
+ }
52
+
53
+ [Step 3] Adding Initial Thought...
54
+ Thought Added: {
55
+ "success": true,
56
+ "thought": {
57
+ "id": "1770106540598-485j13o",
58
+ "stepNumber": 1,
59
+ "thoughtType": "analysis",
60
+ "confidence": {
61
+ "overall": 0.8,
62
+ "components": {
63
+ "logicalConsistency": 0.5,
64
+ "factualAccuracy": 0.5,
65
+ "reasoningQuality": 0.5,
66
+ "evidenceStrength": 0.5
67
+ },
68
+ "uncertaintyBounds": [
69
+ 0.3,
70
+ 0.7
71
+ ],
72
+ "calibrationHistory": []
73
+ },
74
+ "branchId": "main"
75
+ },
76
+ "issuesDetected": [
77
+ {
78
+ "type": "assumption",
79
+ "severity": "low",
80
+ "description": "No explicit assumptions",
81
+ "suggestion": "Document assumptions"
82
+ }
83
+ ]
84
+ }
85
+
86
+ [Step 4] Delegating to Swarm (Reasoner)...
87
+ Swarm Delegation Result: {
88
+ "success": true,
89
+ "swarmResult": {
90
+ "taskId": "1770106540600-1dmtjbj",
91
+ "agentId": "1770106540588-pvitt55",
92
+ "success": true,
93
+ "output": {
94
+ "conclusion": "[MOCK RESPONSE from gemini] I have analyzed your request: Based on these reasoning steps, provide a final co...",
95
+ "reasoningChain": [
96
+ {
97
+ "step": 1,
98
+ "content": "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
99
+ "confidence": 0.63,
100
+ "isFinal": false
101
+ },
102
+ {
103
+ "step": 2,
104
+ "content": "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
105
+ "confidence": 0.66,
106
+ "isFinal": false
107
+ },
108
+ {
109
+ "step": 3,
110
+ "content": "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
111
+ "confidence": 0.69,
112
+ "isFinal": false
113
+ },
114
+ {
115
+ "step": 4,
116
+ "content": "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
117
+ "confidence": 0.72,
118
+ "isFinal": true
119
+ }
120
+ ],
121
+ "iterations": 4,
122
+ "strategy": "chain_of_thought",
123
+ "problem": "[object Object]"
124
+ },
125
+ "confidence": 0.675,
126
+ "processingTimeMs": 0,
127
+ "metadata": {
128
+ "tokensUsed": 0,
129
+ "reasoningSteps": 4,
130
+ "intermediateResults": [
131
+ "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
132
+ "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
133
+ "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...",
134
+ "[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re..."
135
+ ]
136
+ }
137
+ },
138
+ "newThought": {
139
+ "id": "1770106540602-tb7es3b",
140
+ "sessionId": "1770106540597-z8e8soo",
141
+ "content": "{\n \"conclusion\": \"[MOCK RESPONSE from gemini] I have analyzed your request: Based on these reasoning steps, provide a final co...\",\n \"reasoningChain\": [\n {\n \"step\": 1,\n \"content\": \"[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...\",\n \"confidence\": 0.63,\n \"isFinal\": false\n },\n {\n \"step\": 2,\n \"content\": \"[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...\",\n \"confidence\": 0.66,\n \"isFinal\": false\n },\n {\n \"step\": 3,\n \"content\": \"[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...\",\n \"confidence\": 0.69,\n \"isFinal\": false\n },\n {\n \"step\": 4,\n \"content\": \"[MOCK RESPONSE from gemini] I have analyzed your request: Based on the current context, generate the next re...\",\n \"confidence\": 0.72,\n \"isFinal\": true\n }\n ],\n \"iterations\": 4,\n \"strategy\": \"chain_of_thought\",\n \"problem\": \"[object Object]\"\n}",
142
+ "stepNumber": 2,
143
+ "thoughtType": "synthesis",
144
+ "confidence": {
145
+ "overall": 0.675,
146
+ "components": {
147
+ "logicalConsistency": 0.5,
148
+ "factualAccuracy": 0.5,
149
+ "reasoningQuality": 0.5,
150
+ "evidenceStrength": 0.5
151
+ },
152
+ "uncertaintyBounds": [
153
+ 0.3,
154
+ 0.7
155
+ ],
156
+ "calibrationHistory": []
157
+ },
158
+ "parentThoughtId": "1770106540598-485j13o",
159
+ "childThoughtIds": [],
160
+ "branchId": "main",
161
+ "revisionOf": null,
162
+ "revisionHistory": [],
163
+ "metadata": {
164
+ "createdAt": "2026-02-03T08:15:40.602Z",
165
+ "modifiedAt": "2026-02-03T08:15:40.602Z",
166
+ "processingTimeMs": 0,
167
+ "tokensUsed": 0
168
+ },
169
+ "tags": [
170
+ "swarm-result",
171
+ "LogicMaster"
172
+ ],
173
+ "assumptions": [],
174
+ "dependencies": []
175
+ }
176
+ }
177
+
178
+ [Step 5] Triggering Self-Correction...
179
+ Self Correction Result: {
180
+ "success": true,
181
+ "issuesDetected": [
182
+ {
183
+ "type": "assumption",
184
+ "severity": "low",
185
+ "description": "No explicit assumptions",
186
+ "suggestion": "Document assumptions"
187
+ }
188
+ ],
189
+ "recommendations": [
190
+ "Document assumptions"
191
+ ]
192
+ }
193
+
194
+ [Step 6] Completing Session...
195
+ Completion Result: {
196
+ "success": true,
197
+ "message": "Session 1770106540597-z8e8soo completed"
198
+ }
199
+
200
+ --- Test Finished Successfully ---