@gotza02/mathinking 2.9.3 โ 2.9.5
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.
- package/dist/final-demo.js +0 -3
- package/dist/final-demo.js.map +1 -1
- package/dist/index.js +25 -15
- package/dist/index.js.map +1 -1
- package/dist/schemas/brain.schema.d.ts +70 -0
- package/dist/schemas/brain.schema.d.ts.map +1 -0
- package/dist/schemas/brain.schema.js +70 -0
- package/dist/schemas/brain.schema.js.map +1 -0
- package/dist/security.test.d.ts +2 -0
- package/dist/security.test.d.ts.map +1 -0
- package/dist/security.test.js +81 -0
- package/dist/security.test.js.map +1 -0
- package/dist/sse-server.js +39 -8
- package/dist/sse-server.js.map +1 -1
- package/dist/test-all.js +0 -20
- package/dist/test-all.js.map +1 -1
- package/dist/test-extended.js +0 -9
- package/dist/test-extended.js.map +1 -1
- package/dist/test-max-intelligence.d.ts +2 -0
- package/dist/test-max-intelligence.d.ts.map +1 -0
- package/dist/test-max-intelligence.js +52 -0
- package/dist/test-max-intelligence.js.map +1 -0
- package/dist/test-memory.js +0 -2
- package/dist/test-memory.js.map +1 -1
- package/dist/test-reflective.js +0 -6
- package/dist/test-reflective.js.map +1 -1
- package/dist/test-resilience.d.ts +2 -0
- package/dist/test-resilience.d.ts.map +1 -0
- package/dist/test-resilience.js +41 -0
- package/dist/test-resilience.js.map +1 -0
- package/dist/tools/orchestrator.d.ts +2 -47
- package/dist/tools/orchestrator.d.ts.map +1 -1
- package/dist/tools/orchestrator.js +224 -215
- package/dist/tools/orchestrator.js.map +1 -1
- package/dist/tools/sequential-thinking.d.ts +16 -95
- package/dist/tools/sequential-thinking.d.ts.map +1 -1
- package/dist/tools/sequential-thinking.js +313 -781
- package/dist/tools/sequential-thinking.js.map +1 -1
- package/dist/types/index.d.ts +18 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +1 -1
- package/dist/utils/dag.d.ts +0 -20
- package/dist/utils/dag.d.ts.map +1 -1
- package/dist/utils/dag.js +8 -48
- package/dist/utils/dag.js.map +1 -1
- package/dist/utils/memory.d.ts +5 -0
- package/dist/utils/memory.d.ts.map +1 -1
- package/dist/utils/memory.js +66 -60
- package/dist/utils/memory.js.map +1 -1
- package/dist/utils/mutex.d.ts +6 -0
- package/dist/utils/mutex.d.ts.map +1 -0
- package/dist/utils/mutex.js +22 -0
- package/dist/utils/mutex.js.map +1 -0
- package/dist/utils/resilience.d.ts +23 -0
- package/dist/utils/resilience.d.ts.map +1 -0
- package/dist/utils/resilience.js +82 -0
- package/dist/utils/resilience.js.map +1 -0
- package/dist/utils/tool-cache.d.ts +9 -0
- package/dist/utils/tool-cache.d.ts.map +1 -0
- package/dist/utils/tool-cache.js +23 -0
- package/dist/utils/tool-cache.js.map +1 -0
- package/dist/utils/vector-memory.d.ts +18 -0
- package/dist/utils/vector-memory.d.ts.map +1 -0
- package/dist/utils/vector-memory.js +86 -0
- package/dist/utils/vector-memory.js.map +1 -0
- package/package.json +22 -20
package/dist/final-demo.js
CHANGED
|
@@ -2,7 +2,6 @@ import { thinkingManager } from './tools/sequential-thinking.js';
|
|
|
2
2
|
import { orchestratorManager } from './tools/orchestrator.js';
|
|
3
3
|
async function finalDemo() {
|
|
4
4
|
console.log('๐ FINAL SYSTEM DEMO (v1.5.0)\n');
|
|
5
|
-
// 1. Memory Test
|
|
6
5
|
console.log('๐ฆ Testing Memory (Save/Query/Delete)...');
|
|
7
6
|
await orchestratorManager.process({
|
|
8
7
|
action: 'execute_plan',
|
|
@@ -17,7 +16,6 @@ async function finalDemo() {
|
|
|
17
16
|
}
|
|
18
17
|
});
|
|
19
18
|
console.log(' โ
Memory tools working.\n');
|
|
20
|
-
// 2. Reflective Graph Thinking Test
|
|
21
19
|
console.log('๐ง Testing Reflective Graph Thinking...');
|
|
22
20
|
const start = await thinkingManager.process({ action: 'start_session', problemStatement: 'Should we use GoT?' });
|
|
23
21
|
const sid = start.sessionId;
|
|
@@ -30,7 +28,6 @@ async function finalDemo() {
|
|
|
30
28
|
const lastThought = history.thoughtHistory?.[history.thoughtHistory.length - 1];
|
|
31
29
|
console.log(` โ
Last Thought Type: ${lastThought?.thoughtType}`);
|
|
32
30
|
console.log(` โ
Last Thought Content: ${lastThought?.thought.substring(0, 50)}...`);
|
|
33
|
-
// 3. Web Scraper Test
|
|
34
31
|
console.log('\n๐ Testing Improved Web Scraper...');
|
|
35
32
|
const search = await orchestratorManager.process({
|
|
36
33
|
action: 'execute_plan',
|
package/dist/final-demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-demo.js","sourceRoot":"","sources":["../src/final-demo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,KAAK,UAAU,SAAS;IACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"final-demo.js","sourceRoot":"","sources":["../src/final-demo.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,9 +3,14 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
4
4
|
import { thinkingManager } from './tools/sequential-thinking.js';
|
|
5
5
|
import { orchestratorManager } from './tools/orchestrator.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { resilienceManager } from './utils/resilience.js';
|
|
7
|
+
resilienceManager.setReplanHandler(async (error, task) => {
|
|
8
|
+
return thinkingManager.process({
|
|
9
|
+
action: 'replan',
|
|
10
|
+
sessionId: 'latest',
|
|
11
|
+
thought: error
|
|
12
|
+
});
|
|
13
|
+
});
|
|
9
14
|
const SEQUENTIAL_THINKING_TOOL = {
|
|
10
15
|
name: 'mathinking_brain',
|
|
11
16
|
description: `๐ง The Brain - Reflective Graph Thinking Tool
|
|
@@ -61,7 +66,9 @@ Use this BEFORE orchestrator to plan complex tasks.`,
|
|
|
61
66
|
'self_critique',
|
|
62
67
|
'summarize_history',
|
|
63
68
|
'merge_branches',
|
|
64
|
-
'execute_conclusion'
|
|
69
|
+
'execute_conclusion',
|
|
70
|
+
'decompose',
|
|
71
|
+
'research'
|
|
65
72
|
],
|
|
66
73
|
description: 'The thinking action to perform'
|
|
67
74
|
},
|
|
@@ -260,9 +267,6 @@ BUILT-IN TOOLS:
|
|
|
260
267
|
required: ['action']
|
|
261
268
|
}
|
|
262
269
|
};
|
|
263
|
-
// ============================================
|
|
264
|
-
// Server Setup
|
|
265
|
-
// ============================================
|
|
266
270
|
const server = new Server({
|
|
267
271
|
name: 'intelligent-agent-mcp',
|
|
268
272
|
version: '1.0.0'
|
|
@@ -271,16 +275,11 @@ const server = new Server({
|
|
|
271
275
|
tools: {}
|
|
272
276
|
}
|
|
273
277
|
});
|
|
274
|
-
// ============================================
|
|
275
|
-
// Request Handlers
|
|
276
|
-
// ============================================
|
|
277
|
-
// List available tools
|
|
278
278
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
279
279
|
return {
|
|
280
280
|
tools: [SEQUENTIAL_THINKING_TOOL, ORCHESTRATOR_TOOL]
|
|
281
281
|
};
|
|
282
282
|
});
|
|
283
|
-
// Handle tool calls
|
|
284
283
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
285
284
|
const { name, arguments: args } = request.params;
|
|
286
285
|
try {
|
|
@@ -336,15 +335,26 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
336
335
|
};
|
|
337
336
|
}
|
|
338
337
|
});
|
|
339
|
-
// ============================================
|
|
340
|
-
// Main Entry Point
|
|
341
|
-
// ============================================
|
|
342
338
|
async function main() {
|
|
343
339
|
console.error('๐ Intelligent Agent MCP Server starting...');
|
|
344
340
|
console.error('๐ฆ Tools: sequential_thinking (The Brain), orchestrator (The Body)');
|
|
345
341
|
const transport = new StdioServerTransport();
|
|
346
342
|
await server.connect(transport);
|
|
347
343
|
console.error('โ
Server connected and ready!');
|
|
344
|
+
const shutdown = async () => {
|
|
345
|
+
console.error('๐ Shutting down server...');
|
|
346
|
+
try {
|
|
347
|
+
await server.close();
|
|
348
|
+
console.error('๐ Server closed.');
|
|
349
|
+
process.exit(0);
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
console.error('Error during shutdown:', error);
|
|
353
|
+
process.exit(1);
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
process.on('SIGINT', shutdown);
|
|
357
|
+
process.on('SIGTERM', shutdown);
|
|
348
358
|
}
|
|
349
359
|
main().catch((error) => {
|
|
350
360
|
console.error('Fatal error:', error);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const BrainInputSchema: z.ZodObject<{
|
|
3
|
+
action: z.ZodEnum<{
|
|
4
|
+
self_critique: "self_critique";
|
|
5
|
+
start_session: "start_session";
|
|
6
|
+
add_thought: "add_thought";
|
|
7
|
+
create_branch: "create_branch";
|
|
8
|
+
revise_thought: "revise_thought";
|
|
9
|
+
set_hypothesis: "set_hypothesis";
|
|
10
|
+
verify_hypothesis: "verify_hypothesis";
|
|
11
|
+
adjust_total_thoughts: "adjust_total_thoughts";
|
|
12
|
+
conclude: "conclude";
|
|
13
|
+
get_status: "get_status";
|
|
14
|
+
get_history: "get_history";
|
|
15
|
+
clear_history: "clear_history";
|
|
16
|
+
delete_session: "delete_session";
|
|
17
|
+
list_sessions: "list_sessions";
|
|
18
|
+
delete_thought: "delete_thought";
|
|
19
|
+
summarize_history: "summarize_history";
|
|
20
|
+
merge_branches: "merge_branches";
|
|
21
|
+
execute_conclusion: "execute_conclusion";
|
|
22
|
+
generate_options: "generate_options";
|
|
23
|
+
evaluate_options: "evaluate_options";
|
|
24
|
+
select_option: "select_option";
|
|
25
|
+
reflect: "reflect";
|
|
26
|
+
replan: "replan";
|
|
27
|
+
decompose: "decompose";
|
|
28
|
+
research: "research";
|
|
29
|
+
}>;
|
|
30
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
problemStatement: z.ZodOptional<z.ZodString>;
|
|
32
|
+
thought: z.ZodOptional<z.ZodString>;
|
|
33
|
+
thoughtType: z.ZodOptional<z.ZodEnum<{
|
|
34
|
+
initial_analysis: "initial_analysis";
|
|
35
|
+
decomposition: "decomposition";
|
|
36
|
+
hypothesis: "hypothesis";
|
|
37
|
+
verification: "verification";
|
|
38
|
+
branch_exploration: "branch_exploration";
|
|
39
|
+
synthesis: "synthesis";
|
|
40
|
+
revision: "revision";
|
|
41
|
+
self_critique: "self_critique";
|
|
42
|
+
summary: "summary";
|
|
43
|
+
conclusion: "conclusion";
|
|
44
|
+
option_generation: "option_generation";
|
|
45
|
+
option_evaluation: "option_evaluation";
|
|
46
|
+
reflection: "reflection";
|
|
47
|
+
plan: "plan";
|
|
48
|
+
}>>;
|
|
49
|
+
totalThoughts: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
branchFromThoughtId: z.ZodOptional<z.ZodString>;
|
|
51
|
+
branchLabel: z.ZodOptional<z.ZodString>;
|
|
52
|
+
reviseThoughtId: z.ZodOptional<z.ZodString>;
|
|
53
|
+
deleteThoughtId: z.ZodOptional<z.ZodString>;
|
|
54
|
+
hypothesis: z.ZodOptional<z.ZodString>;
|
|
55
|
+
verificationEvidence: z.ZodOptional<z.ZodString>;
|
|
56
|
+
verificationStatus: z.ZodOptional<z.ZodEnum<{
|
|
57
|
+
pending: "pending";
|
|
58
|
+
verified: "verified";
|
|
59
|
+
refuted: "refuted";
|
|
60
|
+
partially_verified: "partially_verified";
|
|
61
|
+
needs_more_evidence: "needs_more_evidence";
|
|
62
|
+
}>>;
|
|
63
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
executionResult: z.ZodOptional<z.ZodAny>;
|
|
66
|
+
optionId: z.ZodOptional<z.ZodString>;
|
|
67
|
+
sourceThoughtIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
68
|
+
branchIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
//# sourceMappingURL=brain.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/brain.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmE3B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const BrainInputSchema = z.object({
|
|
3
|
+
action: z.enum([
|
|
4
|
+
'start_session',
|
|
5
|
+
'add_thought',
|
|
6
|
+
'create_branch',
|
|
7
|
+
'revise_thought',
|
|
8
|
+
'set_hypothesis',
|
|
9
|
+
'verify_hypothesis',
|
|
10
|
+
'adjust_total_thoughts',
|
|
11
|
+
'conclude',
|
|
12
|
+
'get_status',
|
|
13
|
+
'get_history',
|
|
14
|
+
'clear_history',
|
|
15
|
+
'delete_session',
|
|
16
|
+
'list_sessions',
|
|
17
|
+
'delete_thought',
|
|
18
|
+
'self_critique',
|
|
19
|
+
'summarize_history',
|
|
20
|
+
'merge_branches',
|
|
21
|
+
'execute_conclusion',
|
|
22
|
+
'generate_options',
|
|
23
|
+
'evaluate_options',
|
|
24
|
+
'select_option',
|
|
25
|
+
'reflect',
|
|
26
|
+
'replan',
|
|
27
|
+
'decompose',
|
|
28
|
+
'research'
|
|
29
|
+
]),
|
|
30
|
+
sessionId: z.string().optional(),
|
|
31
|
+
problemStatement: z.string().optional(),
|
|
32
|
+
thought: z.string().max(10000).optional(),
|
|
33
|
+
thoughtType: z.enum([
|
|
34
|
+
'initial_analysis',
|
|
35
|
+
'decomposition',
|
|
36
|
+
'hypothesis',
|
|
37
|
+
'verification',
|
|
38
|
+
'branch_exploration',
|
|
39
|
+
'synthesis',
|
|
40
|
+
'revision',
|
|
41
|
+
'self_critique',
|
|
42
|
+
'summary',
|
|
43
|
+
'conclusion',
|
|
44
|
+
'option_generation',
|
|
45
|
+
'option_evaluation',
|
|
46
|
+
'reflection',
|
|
47
|
+
'plan'
|
|
48
|
+
]).optional(),
|
|
49
|
+
totalThoughts: z.number().int().min(1).optional(),
|
|
50
|
+
branchFromThoughtId: z.string().optional(),
|
|
51
|
+
branchLabel: z.string().optional(),
|
|
52
|
+
reviseThoughtId: z.string().optional(),
|
|
53
|
+
deleteThoughtId: z.string().optional(),
|
|
54
|
+
hypothesis: z.string().optional(),
|
|
55
|
+
verificationEvidence: z.string().optional(),
|
|
56
|
+
verificationStatus: z.enum([
|
|
57
|
+
'pending',
|
|
58
|
+
'verified',
|
|
59
|
+
'refuted',
|
|
60
|
+
'partially_verified',
|
|
61
|
+
'needs_more_evidence'
|
|
62
|
+
]).optional(),
|
|
63
|
+
confidence: z.number().min(0).max(100).optional(),
|
|
64
|
+
force: z.boolean().optional(),
|
|
65
|
+
executionResult: z.any().optional(),
|
|
66
|
+
optionId: z.string().optional(),
|
|
67
|
+
sourceThoughtIds: z.array(z.string()).optional(),
|
|
68
|
+
branchIds: z.array(z.string()).optional()
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=brain.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain.schema.js","sourceRoot":"","sources":["../../src/schemas/brain.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;QACb,eAAe;QACf,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,mBAAmB;QACnB,uBAAuB;QACvB,UAAU;QACV,YAAY;QACZ,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,WAAW;QACX,UAAU;KACX,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC;QAClB,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,cAAc;QACd,oBAAoB;QACpB,WAAW;QACX,UAAU;QACV,eAAe;QACf,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,mBAAmB;QACnB,YAAY;QACZ,MAAM;KACP,CAAC,CAAC,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,SAAS;QACT,UAAU;QACV,SAAS;QACT,oBAAoB;QACpB,qBAAqB;KACtB,CAAC,CAAC,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.test.d.ts","sourceRoot":"","sources":["../src/security.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { orchestratorManager } from './tools/orchestrator.js';
|
|
3
|
+
describe('Security Checks', () => {
|
|
4
|
+
it('should allow whitelisted commands', async () => {
|
|
5
|
+
const plan = {
|
|
6
|
+
planId: 'allowed-cmd',
|
|
7
|
+
name: 'Allowed Command Test',
|
|
8
|
+
tasks: [
|
|
9
|
+
{
|
|
10
|
+
id: 't1',
|
|
11
|
+
name: 'Echo Test',
|
|
12
|
+
toolName: 'shell_execute',
|
|
13
|
+
toolInput: { command: 'echo "Hello"' },
|
|
14
|
+
dependencies: []
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
const result = await orchestratorManager.process({
|
|
19
|
+
action: 'execute_plan',
|
|
20
|
+
plan
|
|
21
|
+
});
|
|
22
|
+
expect(result.success).toBe(true);
|
|
23
|
+
const t1 = result.result?.taskResults.find(r => r.taskId === 't1');
|
|
24
|
+
expect(t1?.status).toBe('completed');
|
|
25
|
+
});
|
|
26
|
+
it('should block non-whitelisted commands', async () => {
|
|
27
|
+
const plan = {
|
|
28
|
+
planId: 'blocked-cmd',
|
|
29
|
+
name: 'Blocked Command Test',
|
|
30
|
+
tasks: [
|
|
31
|
+
{
|
|
32
|
+
id: 't1',
|
|
33
|
+
name: 'Forbidden Test',
|
|
34
|
+
toolName: 'shell_execute',
|
|
35
|
+
toolInput: { command: 'curl http://example.com' },
|
|
36
|
+
dependencies: []
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
const result = await orchestratorManager.process({
|
|
41
|
+
action: 'execute_plan',
|
|
42
|
+
plan
|
|
43
|
+
});
|
|
44
|
+
expect(result.success).toBe(false);
|
|
45
|
+
const t1 = result.result?.taskResults.find(r => r.taskId === 't1');
|
|
46
|
+
expect(t1?.status).toBe('failed');
|
|
47
|
+
expect(t1?.error).toContain('not allowed');
|
|
48
|
+
});
|
|
49
|
+
it('should block command injection attempts', async () => {
|
|
50
|
+
const injectionAttempts = [
|
|
51
|
+
'echo "hello"; rm -rf /',
|
|
52
|
+
'echo "hello" && echo "hacked"',
|
|
53
|
+
'echo "hello" | grep "h"',
|
|
54
|
+
'echo $(whoami)',
|
|
55
|
+
'echo `whoami`'
|
|
56
|
+
];
|
|
57
|
+
for (const cmd of injectionAttempts) {
|
|
58
|
+
const plan = {
|
|
59
|
+
planId: `injection-${Math.random().toString(36).substring(7)}`,
|
|
60
|
+
name: 'Injection Test',
|
|
61
|
+
tasks: [
|
|
62
|
+
{
|
|
63
|
+
id: 't1',
|
|
64
|
+
name: 'Injection Attempt',
|
|
65
|
+
toolName: 'shell_execute',
|
|
66
|
+
toolInput: { command: cmd },
|
|
67
|
+
dependencies: []
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
};
|
|
71
|
+
const result = await orchestratorManager.process({
|
|
72
|
+
action: 'execute_plan',
|
|
73
|
+
plan
|
|
74
|
+
});
|
|
75
|
+
const t1 = result.result?.taskResults.find(r => r.taskId === 't1');
|
|
76
|
+
expect(t1?.status).toBe('failed');
|
|
77
|
+
expect(t1?.error).toContain('disallowed characters');
|
|
78
|
+
}
|
|
79
|
+
}, 20000);
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=security.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["../src/security.test.ts"],"names":[],"mappings":"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"}
|
package/dist/sse-server.js
CHANGED
|
@@ -4,7 +4,16 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import { thinkingManager } from './tools/sequential-thinking.js';
|
|
6
6
|
import { orchestratorManager } from './tools/orchestrator.js';
|
|
7
|
+
import { resilienceManager } from './utils/resilience.js';
|
|
8
|
+
resilienceManager.setReplanHandler(async (error, task) => {
|
|
9
|
+
return thinkingManager.process({
|
|
10
|
+
action: 'replan',
|
|
11
|
+
sessionId: 'latest',
|
|
12
|
+
thought: error
|
|
13
|
+
});
|
|
14
|
+
});
|
|
7
15
|
const app = express();
|
|
16
|
+
app.use(express.json());
|
|
8
17
|
const server = new Server({
|
|
9
18
|
name: 'mathinking-sse',
|
|
10
19
|
version: '2.3.0'
|
|
@@ -13,7 +22,6 @@ const server = new Server({
|
|
|
13
22
|
tools: {}
|
|
14
23
|
}
|
|
15
24
|
});
|
|
16
|
-
// Reuse existing tool logic
|
|
17
25
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
18
26
|
return {
|
|
19
27
|
tools: [
|
|
@@ -47,21 +55,44 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
47
55
|
return { content: [{ type: 'text', text: String(error) }], isError: true };
|
|
48
56
|
}
|
|
49
57
|
});
|
|
50
|
-
|
|
58
|
+
const transports = new Map();
|
|
51
59
|
app.get('/sse', async (req, res) => {
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
const sessionId = req.query.sessionId || Date.now().toString();
|
|
61
|
+
console.log(`New SSE connection: ${sessionId}`);
|
|
62
|
+
const transport = new SSEServerTransport('/messages', res);
|
|
63
|
+
transports.set(sessionId, transport);
|
|
64
|
+
res.on('close', () => {
|
|
65
|
+
console.log(`SSE connection closed: ${sessionId}`);
|
|
66
|
+
transports.delete(sessionId);
|
|
67
|
+
});
|
|
54
68
|
await server.connect(transport);
|
|
55
69
|
});
|
|
56
70
|
app.post('/messages', async (req, res) => {
|
|
57
|
-
|
|
58
|
-
if (
|
|
59
|
-
await
|
|
71
|
+
const sessionId = req.query.sessionId;
|
|
72
|
+
if (sessionId && transports.has(sessionId)) {
|
|
73
|
+
await transports.get(sessionId)?.handlePostMessage(req, res);
|
|
74
|
+
return;
|
|
60
75
|
}
|
|
76
|
+
console.log('Received message for unknown session');
|
|
77
|
+
res.status(400).send('Session ID required');
|
|
61
78
|
});
|
|
62
79
|
const PORT = process.env.PORT || 3000;
|
|
63
|
-
app.listen(PORT, () => {
|
|
80
|
+
const httpServer = app.listen(PORT, () => {
|
|
64
81
|
console.log(`Mathinking SSE Server running on port ${PORT}`);
|
|
65
82
|
console.log(`Endpoint: http://localhost:${PORT}/sse`);
|
|
66
83
|
});
|
|
84
|
+
const shutdown = () => {
|
|
85
|
+
console.log('๐ Shutting down SSE server...');
|
|
86
|
+
httpServer.close(() => {
|
|
87
|
+
console.log('๐ SSE Server closed.');
|
|
88
|
+
process.exit(0);
|
|
89
|
+
});
|
|
90
|
+
// Force close after timeout
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
console.error('โ ๏ธ Forcing shutdown...');
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}, 5000);
|
|
95
|
+
};
|
|
96
|
+
process.on('SIGINT', shutdown);
|
|
97
|
+
process.on('SIGTERM', shutdown);
|
|
67
98
|
//# sourceMappingURL=sse-server.js.map
|
package/dist/sse-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-server.js","sourceRoot":"","sources":["../src/sse-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sse-server.js","sourceRoot":"","sources":["../src/sse-server.ts"],"names":[],"mappings":"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"}
|
package/dist/test-all.js
CHANGED
|
@@ -2,12 +2,8 @@ import { thinkingManager } from './tools/sequential-thinking.js';
|
|
|
2
2
|
import { orchestratorManager } from './tools/orchestrator.js';
|
|
3
3
|
async function runTests() {
|
|
4
4
|
console.log('๐งช Starting System Tests...\n');
|
|
5
|
-
// ==========================================
|
|
6
|
-
// Test 1: Sequential Thinking (The Brain)
|
|
7
|
-
// ==========================================
|
|
8
5
|
console.log('๐ง Testing Sequential Thinking Manager...');
|
|
9
6
|
try {
|
|
10
|
-
// 1. Start Session
|
|
11
7
|
console.log(' 1. Starting Session...');
|
|
12
8
|
const startResult = await thinkingManager.process({
|
|
13
9
|
action: 'start_session',
|
|
@@ -18,7 +14,6 @@ async function runTests() {
|
|
|
18
14
|
throw new Error('Failed to start session');
|
|
19
15
|
const sessionId = startResult.sessionId;
|
|
20
16
|
console.log(' โ
Session started:', sessionId);
|
|
21
|
-
// 2. Add Thought
|
|
22
17
|
console.log(' 2. Adding Thought...');
|
|
23
18
|
const thoughtResult = await thinkingManager.process({
|
|
24
19
|
action: 'add_thought',
|
|
@@ -29,7 +24,6 @@ async function runTests() {
|
|
|
29
24
|
if (!thoughtResult.success)
|
|
30
25
|
throw new Error('Failed to add thought');
|
|
31
26
|
console.log(' โ
Thought added');
|
|
32
|
-
// 3. Set Hypothesis
|
|
33
27
|
console.log(' 3. Setting Hypothesis...');
|
|
34
28
|
const hypResult = await thinkingManager.process({
|
|
35
29
|
action: 'set_hypothesis',
|
|
@@ -39,7 +33,6 @@ async function runTests() {
|
|
|
39
33
|
if (!hypResult.success)
|
|
40
34
|
throw new Error('Failed to set hypothesis');
|
|
41
35
|
console.log(' โ
Hypothesis set');
|
|
42
|
-
// 4. Verify Hypothesis
|
|
43
36
|
console.log(' 4. Verifying Hypothesis...');
|
|
44
37
|
const verifyResult = await thinkingManager.process({
|
|
45
38
|
action: 'verify_hypothesis',
|
|
@@ -50,7 +43,6 @@ async function runTests() {
|
|
|
50
43
|
if (!verifyResult.success)
|
|
51
44
|
throw new Error('Failed to verify hypothesis');
|
|
52
45
|
console.log(' โ
Hypothesis verified');
|
|
53
|
-
// 5. Conclude
|
|
54
46
|
console.log(' 5. Concluding...');
|
|
55
47
|
const endResult = await thinkingManager.process({
|
|
56
48
|
action: 'conclude',
|
|
@@ -66,9 +58,6 @@ async function runTests() {
|
|
|
66
58
|
process.exit(1);
|
|
67
59
|
}
|
|
68
60
|
console.log('\n');
|
|
69
|
-
// ==========================================
|
|
70
|
-
// Test 2: Orchestrator (The Body)
|
|
71
|
-
// ==========================================
|
|
72
61
|
console.log('๐ค Testing Orchestrator Manager...');
|
|
73
62
|
try {
|
|
74
63
|
const plan = {
|
|
@@ -130,18 +119,13 @@ async function runTests() {
|
|
|
130
119
|
});
|
|
131
120
|
if (!execResult.success)
|
|
132
121
|
throw new Error(`Execution failed: ${execResult.message}`);
|
|
133
|
-
// Verify results
|
|
134
122
|
const results = execResult.result?.aggregatedResults;
|
|
135
|
-
// Task 1: Echo
|
|
136
123
|
if (results.task1.message !== 'hello world')
|
|
137
124
|
throw new Error('Task 1 failed');
|
|
138
|
-
// Task 2: Uppercase
|
|
139
125
|
if (results.task2.result !== 'HELLO WORLD')
|
|
140
126
|
throw new Error('Task 2 failed');
|
|
141
|
-
// Task 3: Delay (just check existence)
|
|
142
127
|
if (!results.task3.delayed)
|
|
143
128
|
throw new Error('Task 3 failed');
|
|
144
|
-
// Task 4: Compute (Length of "HELLO WORLD" is 11, * 2 = 22)
|
|
145
129
|
if (results.task4.result !== 22)
|
|
146
130
|
throw new Error(`Task 4 failed. Expected 22, got ${results.task4.result}`);
|
|
147
131
|
console.log(' โ
Execution successful');
|
|
@@ -153,9 +137,6 @@ async function runTests() {
|
|
|
153
137
|
process.exit(1);
|
|
154
138
|
}
|
|
155
139
|
console.log('\n');
|
|
156
|
-
// ==========================================
|
|
157
|
-
// Test 3: Resilience (Missing Dependencies)
|
|
158
|
-
// ==========================================
|
|
159
140
|
console.log('๐ก๏ธ Testing Resilience (Missing Dependencies)...');
|
|
160
141
|
try {
|
|
161
142
|
const resiliencePlan = {
|
|
@@ -167,7 +148,6 @@ async function runTests() {
|
|
|
167
148
|
name: 'No Dependencies Field',
|
|
168
149
|
toolName: 'echo',
|
|
169
150
|
toolInput: { message: 'I have no dependencies field!' }
|
|
170
|
-
// dependencies: [] is missing on purpose
|
|
171
151
|
}
|
|
172
152
|
]
|
|
173
153
|
};
|
package/dist/test-all.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-all.js","sourceRoot":"","sources":["../src/test-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"test-all.js","sourceRoot":"","sources":["../src/test-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAK7C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAEzD,IAAI,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAChD,MAAM,EAAE,eAAe;YACvB,gBAAgB,EAAE,0BAA0B;YAC5C,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QAGlD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAClD,MAAM,EAAE,aAAa;YACrB,SAAS;YACT,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAGpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAC9C,MAAM,EAAE,gBAAgB;YACxB,SAAS;YACT,UAAU,EAAE,sCAAsC;SACnD,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAGrC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YACjD,MAAM,EAAE,mBAAmB;YAC3B,SAAS;YACT,kBAAkB,EAAE,UAAU;YAC9B,oBAAoB,EAAE,eAAe;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAG1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YAC9C,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAKlB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,IAAI,GAAkB;YAC1B,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;oBACrC,YAAY,EAAE,EAAE;iBACjB;gBACD;oBACE,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE;wBACT,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,WAAW;qBACvB;oBACD,YAAY,EAAE,CAAC,OAAO,CAAC;iBACxB;gBACD;oBACE,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;oBAChC,YAAY,EAAE,EAAE;iBACjB;gBACD;oBACE,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE;wBACT,UAAU,EAAE,YAAY;wBACxB,SAAS,EAAE;4BACT,MAAM,EAAE,wBAAwB;yBACjC;qBACF;oBACD,YAAY,EAAE,CAAC,OAAO,CAAC;iBACxB;aACF;SACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YACnD,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,aAAa;YACrB,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAGpF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,iBAAwB,CAAC;QAG5D,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5G,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAKlB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,cAAc,GAAQ;YAC1B,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,MAAM;oBAChB,SAAS,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE;iBAExD;aACF;SACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAExE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC;AAED,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
package/dist/test-extended.js
CHANGED
|
@@ -2,9 +2,6 @@ import { thinkingManager } from './tools/sequential-thinking.js';
|
|
|
2
2
|
import { orchestratorManager } from './tools/orchestrator.js';
|
|
3
3
|
async function runExtendedTests() {
|
|
4
4
|
console.log('๐งช Starting Extended System Tests...\n');
|
|
5
|
-
// ==========================================
|
|
6
|
-
// Test 1: Session Management & Cleanup
|
|
7
|
-
// ==========================================
|
|
8
5
|
console.log('๐ง Testing Session Management & Cleanup...');
|
|
9
6
|
try {
|
|
10
7
|
console.log(' 1. Testing clear_history...');
|
|
@@ -34,9 +31,6 @@ async function runExtendedTests() {
|
|
|
34
31
|
console.error(' โ Session Test Failed:', error);
|
|
35
32
|
process.exit(1);
|
|
36
33
|
}
|
|
37
|
-
// ==========================================
|
|
38
|
-
// Test 2: Orchestrator Memory & FS Tools
|
|
39
|
-
// ==========================================
|
|
40
34
|
console.log('\n๐ค Testing Orchestrator Memory & FS Tools...');
|
|
41
35
|
try {
|
|
42
36
|
const plan = {
|
|
@@ -101,9 +95,6 @@ async function runExtendedTests() {
|
|
|
101
95
|
console.error(' โ Extended Tools Test Failed:', error);
|
|
102
96
|
process.exit(1);
|
|
103
97
|
}
|
|
104
|
-
// ==========================================
|
|
105
|
-
// Test 3: Web Scraper (Simulated/Real check)
|
|
106
|
-
// ==========================================
|
|
107
98
|
console.log('\n๐ Testing Web Scraper...');
|
|
108
99
|
try {
|
|
109
100
|
console.log(' 1. Executing Web Search...');
|