gthinking 1.3.0 → 2.1.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.
- package/.eslintrc.js +34 -0
- package/ANALYSIS_SUMMARY.md +363 -0
- package/README.md +230 -250
- package/dist/analysis/analysis-engine.d.ts +63 -0
- package/dist/analysis/analysis-engine.d.ts.map +1 -0
- package/dist/analysis/analysis-engine.js +322 -0
- package/dist/analysis/analysis-engine.js.map +1 -0
- package/dist/core/config.d.ts +1419 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +361 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/engine.d.ts +176 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +604 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/errors.d.ts +153 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +287 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/{types.js → core/index.js} +8 -4
- package/dist/core/index.js.map +1 -0
- package/dist/core/pipeline.d.ts +121 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +289 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +58 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +133 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/session-manager.d.ts +96 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +223 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/creativity/creativity-engine.d.ts +6 -0
- package/dist/creativity/creativity-engine.d.ts.map +1 -0
- package/dist/creativity/creativity-engine.js +17 -0
- package/dist/creativity/creativity-engine.js.map +1 -0
- package/dist/index.d.ts +24 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +130 -104
- package/dist/index.js.map +1 -1
- package/dist/learning/learning-engine.d.ts +6 -0
- package/dist/learning/learning-engine.d.ts.map +1 -0
- package/dist/learning/learning-engine.js +17 -0
- package/dist/learning/learning-engine.js.map +1 -0
- package/dist/llm/index.d.ts +10 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +26 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/llm-service.d.ts +109 -0
- package/dist/llm/llm-service.d.ts.map +1 -0
- package/dist/llm/llm-service.js +224 -0
- package/dist/llm/llm-service.js.map +1 -0
- package/dist/llm/providers/base.d.ts +85 -0
- package/dist/llm/providers/base.d.ts.map +1 -0
- package/dist/llm/providers/base.js +57 -0
- package/dist/llm/providers/base.js.map +1 -0
- package/dist/llm/providers/cli.d.ts +23 -0
- package/dist/llm/providers/cli.d.ts.map +1 -0
- package/dist/llm/providers/cli.js +158 -0
- package/dist/llm/providers/cli.js.map +1 -0
- package/dist/llm/providers/gemini.d.ts +30 -0
- package/dist/llm/providers/gemini.d.ts.map +1 -0
- package/dist/llm/providers/gemini.js +168 -0
- package/dist/llm/providers/gemini.js.map +1 -0
- package/dist/llm/sanitization.d.ts +50 -0
- package/dist/llm/sanitization.d.ts.map +1 -0
- package/dist/llm/sanitization.js +149 -0
- package/dist/llm/sanitization.js.map +1 -0
- package/dist/{server.d.ts.map → mcp/server.d.ts.map} +1 -1
- package/dist/mcp/server.js +108 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/planning/planning-engine.d.ts +6 -0
- package/dist/planning/planning-engine.d.ts.map +1 -0
- package/dist/planning/planning-engine.js +17 -0
- package/dist/planning/planning-engine.js.map +1 -0
- package/dist/reasoning/reasoning-engine.d.ts +6 -0
- package/dist/reasoning/reasoning-engine.d.ts.map +1 -0
- package/dist/reasoning/reasoning-engine.js +17 -0
- package/dist/reasoning/reasoning-engine.js.map +1 -0
- package/dist/search/search-engine.d.ts +99 -0
- package/dist/search/search-engine.d.ts.map +1 -0
- package/dist/search/search-engine.js +271 -0
- package/dist/search/search-engine.js.map +1 -0
- package/dist/synthesis/synthesis-engine.d.ts +6 -0
- package/dist/synthesis/synthesis-engine.d.ts.map +1 -0
- package/dist/synthesis/synthesis-engine.js +17 -0
- package/dist/synthesis/synthesis-engine.js.map +1 -0
- package/dist/types/analysis.d.ts +1534 -49
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/analysis.js +250 -0
- package/dist/types/analysis.js.map +1 -1
- package/dist/types/core.d.ts +257 -30
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +148 -18
- package/dist/types/core.js.map +1 -1
- package/dist/types/creativity.d.ts +2871 -56
- package/dist/types/creativity.d.ts.map +1 -1
- package/dist/types/creativity.js +195 -0
- package/dist/types/creativity.js.map +1 -1
- package/dist/types/index.d.ts +6 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +17 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/learning.d.ts +851 -61
- package/dist/types/learning.d.ts.map +1 -1
- package/dist/types/learning.js +155 -0
- package/dist/types/learning.js.map +1 -1
- package/dist/types/planning.d.ts +2223 -71
- package/dist/types/planning.d.ts.map +1 -1
- package/dist/types/planning.js +190 -0
- package/dist/types/planning.js.map +1 -1
- package/dist/types/reasoning.d.ts +2209 -72
- package/dist/types/reasoning.d.ts.map +1 -1
- package/dist/types/reasoning.js +200 -1
- package/dist/types/reasoning.js.map +1 -1
- package/dist/types/search.d.ts +981 -53
- package/dist/types/search.d.ts.map +1 -1
- package/dist/types/search.js +137 -0
- package/dist/types/search.js.map +1 -1
- package/dist/types/synthesis.d.ts +583 -38
- package/dist/types/synthesis.d.ts.map +1 -1
- package/dist/types/synthesis.js +138 -0
- package/dist/types/synthesis.js.map +1 -1
- package/dist/utils/cache.d.ts +144 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +288 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/id-generator.d.ts +89 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/id-generator.js +132 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +33 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +142 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +248 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metrics.d.ts +149 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +296 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/timer.d.ts +7 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.js +17 -0
- package/dist/utils/timer.js.map +1 -0
- package/dist/utils/validation.d.ts +147 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +275 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/API.md +411 -0
- package/docs/ARCHITECTURE.md +271 -0
- package/docs/CHANGELOG.md +283 -0
- package/jest.config.js +28 -0
- package/package.json +43 -30
- package/src/analysis/analysis-engine.ts +383 -0
- package/src/core/config.ts +406 -0
- package/src/core/engine.ts +785 -0
- package/src/core/errors.ts +349 -0
- package/src/core/index.ts +12 -0
- package/src/core/pipeline.ts +424 -0
- package/src/core/rate-limiter.ts +155 -0
- package/src/core/session-manager.ts +269 -0
- package/src/creativity/creativity-engine.ts +14 -0
- package/src/index.ts +178 -0
- package/src/learning/learning-engine.ts +14 -0
- package/src/llm/index.ts +10 -0
- package/src/llm/llm-service.ts +285 -0
- package/src/llm/providers/base.ts +146 -0
- package/src/llm/providers/cli.ts +186 -0
- package/src/llm/providers/gemini.ts +201 -0
- package/src/llm/sanitization.ts +178 -0
- package/src/mcp/server.ts +117 -0
- package/src/planning/planning-engine.ts +14 -0
- package/src/reasoning/reasoning-engine.ts +14 -0
- package/src/search/search-engine.ts +333 -0
- package/src/synthesis/synthesis-engine.ts +14 -0
- package/src/types/analysis.ts +337 -0
- package/src/types/core.ts +342 -0
- package/src/types/creativity.ts +268 -0
- package/src/types/index.ts +31 -0
- package/src/types/learning.ts +215 -0
- package/src/types/planning.ts +251 -0
- package/src/types/reasoning.ts +288 -0
- package/src/types/search.ts +192 -0
- package/src/types/synthesis.ts +187 -0
- package/src/utils/cache.ts +363 -0
- package/src/utils/id-generator.ts +135 -0
- package/src/utils/index.ts +22 -0
- package/src/utils/logger.ts +290 -0
- package/src/utils/metrics.ts +380 -0
- package/src/utils/timer.ts +15 -0
- package/src/utils/validation.ts +297 -0
- package/tests/setup.ts +22 -0
- package/tests/unit/cache.test.ts +189 -0
- package/tests/unit/engine.test.ts +179 -0
- package/tests/unit/validation.test.ts +218 -0
- package/tsconfig.json +17 -12
- package/GEMINI.md +0 -68
- package/analysis.ts +0 -1063
- package/creativity.ts +0 -1055
- package/dist/analysis.d.ts +0 -54
- package/dist/analysis.d.ts.map +0 -1
- package/dist/analysis.js +0 -866
- package/dist/analysis.js.map +0 -1
- package/dist/creativity.d.ts +0 -81
- package/dist/creativity.d.ts.map +0 -1
- package/dist/creativity.js +0 -828
- package/dist/creativity.js.map +0 -1
- package/dist/engine.d.ts +0 -90
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -720
- package/dist/engine.js.map +0 -1
- package/dist/examples.d.ts +0 -7
- package/dist/examples.d.ts.map +0 -1
- package/dist/examples.js +0 -506
- package/dist/examples.js.map +0 -1
- package/dist/learning.d.ts +0 -72
- package/dist/learning.d.ts.map +0 -1
- package/dist/learning.js +0 -615
- package/dist/learning.js.map +0 -1
- package/dist/llm-service.d.ts +0 -21
- package/dist/llm-service.d.ts.map +0 -1
- package/dist/llm-service.js +0 -100
- package/dist/llm-service.js.map +0 -1
- package/dist/planning.d.ts +0 -62
- package/dist/planning.d.ts.map +0 -1
- package/dist/planning.js +0 -886
- package/dist/planning.js.map +0 -1
- package/dist/reasoning.d.ts +0 -73
- package/dist/reasoning.d.ts.map +0 -1
- package/dist/reasoning.js +0 -845
- package/dist/reasoning.js.map +0 -1
- package/dist/search-discovery.d.ts +0 -73
- package/dist/search-discovery.d.ts.map +0 -1
- package/dist/search-discovery.js +0 -548
- package/dist/search-discovery.js.map +0 -1
- package/dist/server.js +0 -113
- package/dist/server.js.map +0 -1
- package/dist/types/engine.d.ts +0 -55
- package/dist/types/engine.d.ts.map +0 -1
- package/dist/types/engine.js +0 -3
- package/dist/types/engine.js.map +0 -1
- package/dist/types.d.ts +0 -6
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/engine.ts +0 -1009
- package/examples.ts +0 -717
- package/index.ts +0 -106
- package/learning.ts +0 -779
- package/llm-service.ts +0 -120
- package/planning.ts +0 -1101
- package/reasoning.ts +0 -1079
- package/search-discovery.ts +0 -700
- package/server.ts +0 -115
- package/types/analysis.ts +0 -69
- package/types/core.ts +0 -90
- package/types/creativity.ts +0 -72
- package/types/engine.ts +0 -60
- package/types/index.ts +0 -9
- package/types/learning.ts +0 -69
- package/types/planning.ts +0 -85
- package/types/reasoning.ts +0 -92
- package/types/search.ts +0 -58
- package/types/synthesis.ts +0 -43
- package/types.ts +0 -6
- /package/dist/{server.d.ts → mcp/server.d.ts} +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
5
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
|
+
const engine_1 = require("../core/engine");
|
|
8
|
+
const logger_1 = require("../utils/logger");
|
|
9
|
+
const logger = new logger_1.Logger('MCPServer');
|
|
10
|
+
const engine = new engine_1.SequentialThinkingEngine();
|
|
11
|
+
const server = new index_js_1.Server({
|
|
12
|
+
name: "gthinking",
|
|
13
|
+
version: "2.0.0",
|
|
14
|
+
}, {
|
|
15
|
+
capabilities: {
|
|
16
|
+
tools: {},
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
20
|
+
return {
|
|
21
|
+
tools: [
|
|
22
|
+
{
|
|
23
|
+
name: "think",
|
|
24
|
+
description: "Execute full thinking pipeline",
|
|
25
|
+
inputSchema: {
|
|
26
|
+
type: "object",
|
|
27
|
+
properties: {
|
|
28
|
+
query: { type: "string" },
|
|
29
|
+
preferredStages: {
|
|
30
|
+
type: "array",
|
|
31
|
+
items: { type: "string" }
|
|
32
|
+
},
|
|
33
|
+
options: { type: "object" }
|
|
34
|
+
},
|
|
35
|
+
required: ["query"]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "quick_search",
|
|
40
|
+
description: "Execute quick search",
|
|
41
|
+
inputSchema: {
|
|
42
|
+
type: "object",
|
|
43
|
+
properties: {
|
|
44
|
+
query: { type: "string" }
|
|
45
|
+
},
|
|
46
|
+
required: ["query"]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "creative_solve",
|
|
51
|
+
description: "Solve problem creatively",
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
challenge: { type: "string" },
|
|
56
|
+
techniques: {
|
|
57
|
+
type: "array",
|
|
58
|
+
items: { type: "string" }
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
required: ["challenge"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
68
|
+
const { name, arguments: args } = request.params;
|
|
69
|
+
try {
|
|
70
|
+
if (name === "think") {
|
|
71
|
+
const result = await engine.think(args);
|
|
72
|
+
return {
|
|
73
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
else if (name === "quick_search") {
|
|
77
|
+
const query = args.query;
|
|
78
|
+
const result = await engine.quickSearch(query);
|
|
79
|
+
return {
|
|
80
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
else if (name === "creative_solve") {
|
|
84
|
+
const challenge = args.challenge;
|
|
85
|
+
const result = await engine.creativeSolve(challenge);
|
|
86
|
+
return {
|
|
87
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
return {
|
|
94
|
+
content: [{ type: "text", text: `Error: ${error.message}` }],
|
|
95
|
+
isError: true
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
async function run() {
|
|
100
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
101
|
+
await server.connect(transport);
|
|
102
|
+
logger.info("MCP Server running on stdio");
|
|
103
|
+
}
|
|
104
|
+
run().catch((error) => {
|
|
105
|
+
console.error("Fatal error running server:", error);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-engine.d.ts","sourceRoot":"","sources":["../../src/planning/planning-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,qBAAa,cAAe,SAAQ,YAAY;;CAI/C;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlanningEngine = void 0;
|
|
4
|
+
exports.createPlanningEngine = createPlanningEngine;
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
const logger = new logger_1.Logger('PlanningEngine');
|
|
8
|
+
class PlanningEngine extends events_1.EventEmitter {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.PlanningEngine = PlanningEngine;
|
|
14
|
+
function createPlanningEngine() {
|
|
15
|
+
return new PlanningEngine();
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=planning-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../../src/planning/planning-engine.ts"],"names":[],"mappings":";;;AAWA,oDAEC;AAbD,mCAAsC;AACtC,4CAAyC;AAEzC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5C,MAAa,cAAe,SAAQ,qBAAY;IAC9C;QACE,KAAK,EAAE,CAAC;IACV,CAAC;CACF;AAJD,wCAIC;AAED,SAAgB,oBAAoB;IAClC,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-engine.d.ts","sourceRoot":"","sources":["../../src/reasoning/reasoning-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,qBAAa,eAAgB,SAAQ,YAAY;;CAIhD;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReasoningEngine = void 0;
|
|
4
|
+
exports.createReasoningEngine = createReasoningEngine;
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
const logger = new logger_1.Logger('ReasoningEngine');
|
|
8
|
+
class ReasoningEngine extends events_1.EventEmitter {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ReasoningEngine = ReasoningEngine;
|
|
14
|
+
function createReasoningEngine() {
|
|
15
|
+
return new ReasoningEngine();
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=reasoning-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-engine.js","sourceRoot":"","sources":["../../src/reasoning/reasoning-engine.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAbD,mCAAsC;AACtC,4CAAyC;AAEzC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAa,eAAgB,SAAQ,qBAAY;IAC/C;QACE,KAAK,EAAE,CAAC;IACV,CAAC;CACF;AAJD,0CAIC;AAED,SAAgB,qBAAqB;IACnC,OAAO,IAAI,eAAe,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Discovery Engine for gthinking v2.0.0
|
|
3
|
+
* Multi-provider search with aggregation and ranking
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
import { SearchQuery, SearchResult, SearchResultItem, AggregatedResult } from '../types';
|
|
7
|
+
import { Cache } from '../utils/cache';
|
|
8
|
+
/**
|
|
9
|
+
* Search Provider Interface
|
|
10
|
+
*/
|
|
11
|
+
interface ISearchProvider {
|
|
12
|
+
name: string;
|
|
13
|
+
search(query: SearchQuery): Promise<SearchResultItem[]>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Search Discovery Engine
|
|
17
|
+
*/
|
|
18
|
+
export declare class SearchDiscoveryEngine extends EventEmitter {
|
|
19
|
+
private providers;
|
|
20
|
+
private cache;
|
|
21
|
+
constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Register a search provider
|
|
24
|
+
* @param provider - The search provider
|
|
25
|
+
*/
|
|
26
|
+
registerProvider(provider: ISearchProvider): void;
|
|
27
|
+
/**
|
|
28
|
+
* Search using registered providers
|
|
29
|
+
* @param query - The search query
|
|
30
|
+
* @returns Search result
|
|
31
|
+
*/
|
|
32
|
+
search(query: SearchQuery): Promise<SearchResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Rank search results
|
|
35
|
+
* @param results - Raw search results
|
|
36
|
+
* @param query - Search query for context
|
|
37
|
+
* @returns Ranked results
|
|
38
|
+
*/
|
|
39
|
+
private rankResults;
|
|
40
|
+
/**
|
|
41
|
+
* Calculate relevance score for a result
|
|
42
|
+
* @param item - Search result item
|
|
43
|
+
* @returns Score (0-1)
|
|
44
|
+
*/
|
|
45
|
+
private calculateScore;
|
|
46
|
+
/**
|
|
47
|
+
* Aggregate results by topic
|
|
48
|
+
* @param results - Search results
|
|
49
|
+
* @returns Aggregated results
|
|
50
|
+
*/
|
|
51
|
+
aggregateResults(results: SearchResultItem[]): AggregatedResult[];
|
|
52
|
+
/**
|
|
53
|
+
* Extract topic from text
|
|
54
|
+
* @param text - Text to extract topic from
|
|
55
|
+
* @returns Topic string
|
|
56
|
+
*/
|
|
57
|
+
private extractTopic;
|
|
58
|
+
/**
|
|
59
|
+
* Generate summary from search results
|
|
60
|
+
* @param items - Search result items
|
|
61
|
+
* @returns Summary string
|
|
62
|
+
*/
|
|
63
|
+
private generateSummary;
|
|
64
|
+
/**
|
|
65
|
+
* Calculate consensus score
|
|
66
|
+
* @param items - Search result items
|
|
67
|
+
* @returns Consensus score (0-1)
|
|
68
|
+
*/
|
|
69
|
+
private calculateConsensus;
|
|
70
|
+
/**
|
|
71
|
+
* Detect conflicts between sources
|
|
72
|
+
* @param items - Search result items
|
|
73
|
+
* @returns Array of conflicts
|
|
74
|
+
*/
|
|
75
|
+
private detectConflicts;
|
|
76
|
+
/**
|
|
77
|
+
* Extract key insights from search results
|
|
78
|
+
* @param items - Search result items
|
|
79
|
+
* @returns Array of insights
|
|
80
|
+
*/
|
|
81
|
+
private extractInsights;
|
|
82
|
+
/**
|
|
83
|
+
* Get cache statistics
|
|
84
|
+
* @returns Cache stats
|
|
85
|
+
*/
|
|
86
|
+
getCacheStats(): ReturnType<Cache<SearchResult>['getStats']>;
|
|
87
|
+
/**
|
|
88
|
+
* Clear search cache
|
|
89
|
+
*/
|
|
90
|
+
clearCache(): void;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a new SearchDiscoveryEngine instance
|
|
94
|
+
* @returns New engine instance
|
|
95
|
+
*/
|
|
96
|
+
export declare function createSearchEngine(): SearchDiscoveryEngine;
|
|
97
|
+
export declare const searchEngine: SearchDiscoveryEngine;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=search-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-engine.d.ts","sourceRoot":"","sources":["../../src/search/search-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAKjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAOvC;;GAEG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACzD;AAuCD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,KAAK,CAAsB;;IAOnC;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKxD;;;;OAIG;IACU,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAsE9D;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IA2BxE;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACI,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IAInE;;OAEG;IACI,UAAU,IAAI,IAAI;CAI1B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,qBAAqB,CAE1D;AAGD,eAAO,MAAM,YAAY,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Search Discovery Engine for gthinking v2.0.0
|
|
4
|
+
* Multi-provider search with aggregation and ranking
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.searchEngine = exports.SearchDiscoveryEngine = void 0;
|
|
8
|
+
exports.createSearchEngine = createSearchEngine;
|
|
9
|
+
const events_1 = require("events");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
const logger_1 = require("../utils/logger");
|
|
12
|
+
const cache_1 = require("../utils/cache");
|
|
13
|
+
const id_generator_1 = require("../utils/id-generator");
|
|
14
|
+
const errors_1 = require("../core/errors");
|
|
15
|
+
const logger = new logger_1.Logger('SearchDiscoveryEngine');
|
|
16
|
+
/**
|
|
17
|
+
* Google Search Provider
|
|
18
|
+
*/
|
|
19
|
+
class GoogleSearchProvider {
|
|
20
|
+
name = 'google';
|
|
21
|
+
apiKey;
|
|
22
|
+
baseUrl = 'https://www.googleapis.com/customsearch/v1';
|
|
23
|
+
constructor(apiKey) {
|
|
24
|
+
this.apiKey = apiKey;
|
|
25
|
+
}
|
|
26
|
+
async search(query) {
|
|
27
|
+
// Implementation would go here
|
|
28
|
+
logger.info(`Searching Google: ${query.query}`);
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Bing Search Provider
|
|
34
|
+
*/
|
|
35
|
+
class BingSearchProvider {
|
|
36
|
+
name = 'bing';
|
|
37
|
+
apiKey;
|
|
38
|
+
baseUrl = 'https://api.bing.microsoft.com/v7.0/search';
|
|
39
|
+
constructor(apiKey) {
|
|
40
|
+
this.apiKey = apiKey;
|
|
41
|
+
}
|
|
42
|
+
async search(query) {
|
|
43
|
+
logger.info(`Searching Bing: ${query.query}`);
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Search Discovery Engine
|
|
49
|
+
*/
|
|
50
|
+
class SearchDiscoveryEngine extends events_1.EventEmitter {
|
|
51
|
+
providers = new Map();
|
|
52
|
+
cache;
|
|
53
|
+
constructor() {
|
|
54
|
+
super();
|
|
55
|
+
this.cache = new cache_1.Cache({ maxSize: 500, defaultTTL: 3600000 });
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Register a search provider
|
|
59
|
+
* @param provider - The search provider
|
|
60
|
+
*/
|
|
61
|
+
registerProvider(provider) {
|
|
62
|
+
this.providers.set(provider.name, provider);
|
|
63
|
+
logger.info(`Registered search provider: ${provider.name}`);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Search using registered providers
|
|
67
|
+
* @param query - The search query
|
|
68
|
+
* @returns Search result
|
|
69
|
+
*/
|
|
70
|
+
async search(query) {
|
|
71
|
+
const startTime = Date.now();
|
|
72
|
+
const cacheKey = `search:${JSON.stringify(query)}`;
|
|
73
|
+
// Check cache
|
|
74
|
+
const cached = this.cache.get(cacheKey);
|
|
75
|
+
if (cached) {
|
|
76
|
+
logger.info(`Cache hit for search: ${query.query}`);
|
|
77
|
+
return cached;
|
|
78
|
+
}
|
|
79
|
+
logger.info(`Starting search: ${query.query}`);
|
|
80
|
+
this.emit('search:start', { query });
|
|
81
|
+
try {
|
|
82
|
+
const allResults = [];
|
|
83
|
+
// Search with each provider
|
|
84
|
+
for (const providerName of query.sources) {
|
|
85
|
+
const provider = this.providers.get(providerName);
|
|
86
|
+
if (!provider) {
|
|
87
|
+
logger.warn(`Provider not found: ${providerName}`);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const results = await (0, errors_1.withRetry)(() => provider.search(query), { maxRetries: 2 });
|
|
92
|
+
allResults.push(...results);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
logger.error(`Provider ${providerName} failed:`, error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Rank and deduplicate results
|
|
99
|
+
const rankedResults = this.rankResults(allResults, query);
|
|
100
|
+
const result = {
|
|
101
|
+
success: true,
|
|
102
|
+
confidence: 0.8,
|
|
103
|
+
timestamp: new Date(),
|
|
104
|
+
duration: Date.now() - startTime,
|
|
105
|
+
errors: [],
|
|
106
|
+
query,
|
|
107
|
+
items: rankedResults.slice(0, query.maxResults),
|
|
108
|
+
totalResults: rankedResults.length,
|
|
109
|
+
searchTime: Date.now() - startTime,
|
|
110
|
+
provider: query.sources[0] || types_1.SearchProvider.GOOGLE,
|
|
111
|
+
};
|
|
112
|
+
// Cache result
|
|
113
|
+
this.cache.set(cacheKey, result);
|
|
114
|
+
this.emit('search:complete', { query, result });
|
|
115
|
+
logger.info(`Search completed: ${query.query}`);
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
logger.error(`Search failed: ${query.query}`, error);
|
|
120
|
+
this.emit('search:error', { query, error });
|
|
121
|
+
throw new errors_1.SearchError(`Search failed: ${error.message}`, query.sources[0] || 'unknown');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Rank search results
|
|
126
|
+
* @param results - Raw search results
|
|
127
|
+
* @param query - Search query for context
|
|
128
|
+
* @returns Ranked results
|
|
129
|
+
*/
|
|
130
|
+
rankResults(results, query) {
|
|
131
|
+
// Calculate composite score for each result
|
|
132
|
+
const scored = results.map(item => ({
|
|
133
|
+
item,
|
|
134
|
+
score: this.calculateScore(item),
|
|
135
|
+
}));
|
|
136
|
+
// Sort by score descending
|
|
137
|
+
scored.sort((a, b) => b.score - a.score);
|
|
138
|
+
// Deduplicate by URL
|
|
139
|
+
const seen = new Set();
|
|
140
|
+
return scored
|
|
141
|
+
.map(s => s.item)
|
|
142
|
+
.filter(item => {
|
|
143
|
+
if (seen.has(item.url))
|
|
144
|
+
return false;
|
|
145
|
+
seen.add(item.url);
|
|
146
|
+
return true;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Calculate relevance score for a result
|
|
151
|
+
* @param item - Search result item
|
|
152
|
+
* @returns Score (0-1)
|
|
153
|
+
*/
|
|
154
|
+
calculateScore(item) {
|
|
155
|
+
const relevanceWeight = 0.4;
|
|
156
|
+
const credibilityWeight = 0.3;
|
|
157
|
+
const freshnessWeight = 0.15;
|
|
158
|
+
const engagementWeight = 0.15;
|
|
159
|
+
const freshness = item.publishedDate
|
|
160
|
+
? Math.max(0, 1 - (Date.now() - item.publishedDate.getTime()) / (30 * 24 * 60 * 60 * 1000))
|
|
161
|
+
: 0.5;
|
|
162
|
+
return (item.relevance * relevanceWeight +
|
|
163
|
+
item.credibility * credibilityWeight +
|
|
164
|
+
freshness * freshnessWeight +
|
|
165
|
+
item.engagement * engagementWeight);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Aggregate results by topic
|
|
169
|
+
* @param results - Search results
|
|
170
|
+
* @returns Aggregated results
|
|
171
|
+
*/
|
|
172
|
+
aggregateResults(results) {
|
|
173
|
+
// Group by topic
|
|
174
|
+
const topicMap = new Map();
|
|
175
|
+
for (const item of results) {
|
|
176
|
+
// Extract topic from title/snippet
|
|
177
|
+
const topic = this.extractTopic(item.title);
|
|
178
|
+
if (!topicMap.has(topic)) {
|
|
179
|
+
topicMap.set(topic, []);
|
|
180
|
+
}
|
|
181
|
+
topicMap.get(topic).push(item);
|
|
182
|
+
}
|
|
183
|
+
// Create aggregated results
|
|
184
|
+
return Array.from(topicMap.entries()).map(([topic, items]) => ({
|
|
185
|
+
id: (0, id_generator_1.generateUUID)(),
|
|
186
|
+
topic,
|
|
187
|
+
summary: this.generateSummary(items),
|
|
188
|
+
sources: items,
|
|
189
|
+
consensusScore: this.calculateConsensus(items),
|
|
190
|
+
conflicts: this.detectConflicts(items),
|
|
191
|
+
keyInsights: this.extractInsights(items),
|
|
192
|
+
confidence: items.reduce((sum, item) => sum + item.credibility, 0) / items.length,
|
|
193
|
+
timestamp: new Date(),
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Extract topic from text
|
|
198
|
+
* @param text - Text to extract topic from
|
|
199
|
+
* @returns Topic string
|
|
200
|
+
*/
|
|
201
|
+
extractTopic(text) {
|
|
202
|
+
// Simple topic extraction - would use NLP in production
|
|
203
|
+
const words = text.toLowerCase().split(/\s+/);
|
|
204
|
+
const stopWords = new Set(['the', 'a', 'an', 'in', 'on', 'at', 'to', 'for', 'of', 'and']);
|
|
205
|
+
const keywords = words.filter(w => w.length > 3 && !stopWords.has(w));
|
|
206
|
+
return keywords.slice(0, 3).join(' ');
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Generate summary from search results
|
|
210
|
+
* @param items - Search result items
|
|
211
|
+
* @returns Summary string
|
|
212
|
+
*/
|
|
213
|
+
generateSummary(items) {
|
|
214
|
+
return items.map(i => i.snippet).join(' ').slice(0, 500);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Calculate consensus score
|
|
218
|
+
* @param items - Search result items
|
|
219
|
+
* @returns Consensus score (0-1)
|
|
220
|
+
*/
|
|
221
|
+
calculateConsensus(items) {
|
|
222
|
+
if (items.length < 2)
|
|
223
|
+
return 1;
|
|
224
|
+
// Simple consensus calculation
|
|
225
|
+
return items.reduce((sum, item) => sum + item.credibility, 0) / items.length;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Detect conflicts between sources
|
|
229
|
+
* @param items - Search result items
|
|
230
|
+
* @returns Array of conflicts
|
|
231
|
+
*/
|
|
232
|
+
detectConflicts(items) {
|
|
233
|
+
// Simplified conflict detection
|
|
234
|
+
const conflicts = [];
|
|
235
|
+
// Would implement actual conflict detection in production
|
|
236
|
+
return conflicts;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Extract key insights from search results
|
|
240
|
+
* @param items - Search result items
|
|
241
|
+
* @returns Array of insights
|
|
242
|
+
*/
|
|
243
|
+
extractInsights(items) {
|
|
244
|
+
return items.slice(0, 3).map(i => i.snippet.slice(0, 100));
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get cache statistics
|
|
248
|
+
* @returns Cache stats
|
|
249
|
+
*/
|
|
250
|
+
getCacheStats() {
|
|
251
|
+
return this.cache.getStats();
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Clear search cache
|
|
255
|
+
*/
|
|
256
|
+
clearCache() {
|
|
257
|
+
this.cache.clear();
|
|
258
|
+
logger.info('Search cache cleared');
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
exports.SearchDiscoveryEngine = SearchDiscoveryEngine;
|
|
262
|
+
/**
|
|
263
|
+
* Create a new SearchDiscoveryEngine instance
|
|
264
|
+
* @returns New engine instance
|
|
265
|
+
*/
|
|
266
|
+
function createSearchEngine() {
|
|
267
|
+
return new SearchDiscoveryEngine();
|
|
268
|
+
}
|
|
269
|
+
// Export singleton instance
|
|
270
|
+
exports.searchEngine = new SearchDiscoveryEngine();
|
|
271
|
+
//# sourceMappingURL=search-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-engine.js","sourceRoot":"","sources":["../../src/search/search-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesis-engine.d.ts","sourceRoot":"","sources":["../../src/synthesis/synthesis-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,qBAAa,eAAgB,SAAQ,YAAY;;CAIhD;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SynthesisEngine = void 0;
|
|
4
|
+
exports.createSynthesisEngine = createSynthesisEngine;
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
const logger = new logger_1.Logger('SynthesisEngine');
|
|
8
|
+
class SynthesisEngine extends events_1.EventEmitter {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SynthesisEngine = SynthesisEngine;
|
|
14
|
+
function createSynthesisEngine() {
|
|
15
|
+
return new SynthesisEngine();
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=synthesis-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesis-engine.js","sourceRoot":"","sources":["../../src/synthesis/synthesis-engine.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAbD,mCAAsC;AACtC,4CAAyC;AAEzC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAa,eAAgB,SAAQ,qBAAY;IAC/C;QACE,KAAK,EAAE,CAAC;IACV,CAAC;CACF;AAJD,0CAIC;AAED,SAAgB,qBAAqB;IACnC,OAAO,IAAI,eAAe,EAAE,CAAC;AAC/B,CAAC"}
|