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.
Files changed (271) hide show
  1. package/.eslintrc.js +34 -0
  2. package/ANALYSIS_SUMMARY.md +363 -0
  3. package/README.md +230 -250
  4. package/dist/analysis/analysis-engine.d.ts +63 -0
  5. package/dist/analysis/analysis-engine.d.ts.map +1 -0
  6. package/dist/analysis/analysis-engine.js +322 -0
  7. package/dist/analysis/analysis-engine.js.map +1 -0
  8. package/dist/core/config.d.ts +1419 -0
  9. package/dist/core/config.d.ts.map +1 -0
  10. package/dist/core/config.js +361 -0
  11. package/dist/core/config.js.map +1 -0
  12. package/dist/core/engine.d.ts +176 -0
  13. package/dist/core/engine.d.ts.map +1 -0
  14. package/dist/core/engine.js +604 -0
  15. package/dist/core/engine.js.map +1 -0
  16. package/dist/core/errors.d.ts +153 -0
  17. package/dist/core/errors.d.ts.map +1 -0
  18. package/dist/core/errors.js +287 -0
  19. package/dist/core/errors.js.map +1 -0
  20. package/dist/core/index.d.ts +7 -0
  21. package/dist/core/index.d.ts.map +1 -0
  22. package/dist/{types.js → core/index.js} +8 -4
  23. package/dist/core/index.js.map +1 -0
  24. package/dist/core/pipeline.d.ts +121 -0
  25. package/dist/core/pipeline.d.ts.map +1 -0
  26. package/dist/core/pipeline.js +289 -0
  27. package/dist/core/pipeline.js.map +1 -0
  28. package/dist/core/rate-limiter.d.ts +58 -0
  29. package/dist/core/rate-limiter.d.ts.map +1 -0
  30. package/dist/core/rate-limiter.js +133 -0
  31. package/dist/core/rate-limiter.js.map +1 -0
  32. package/dist/core/session-manager.d.ts +96 -0
  33. package/dist/core/session-manager.d.ts.map +1 -0
  34. package/dist/core/session-manager.js +223 -0
  35. package/dist/core/session-manager.js.map +1 -0
  36. package/dist/creativity/creativity-engine.d.ts +6 -0
  37. package/dist/creativity/creativity-engine.d.ts.map +1 -0
  38. package/dist/creativity/creativity-engine.js +17 -0
  39. package/dist/creativity/creativity-engine.js.map +1 -0
  40. package/dist/index.d.ts +24 -32
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +130 -104
  43. package/dist/index.js.map +1 -1
  44. package/dist/learning/learning-engine.d.ts +6 -0
  45. package/dist/learning/learning-engine.d.ts.map +1 -0
  46. package/dist/learning/learning-engine.js +17 -0
  47. package/dist/learning/learning-engine.js.map +1 -0
  48. package/dist/llm/index.d.ts +10 -0
  49. package/dist/llm/index.d.ts.map +1 -0
  50. package/dist/llm/index.js +26 -0
  51. package/dist/llm/index.js.map +1 -0
  52. package/dist/llm/llm-service.d.ts +109 -0
  53. package/dist/llm/llm-service.d.ts.map +1 -0
  54. package/dist/llm/llm-service.js +224 -0
  55. package/dist/llm/llm-service.js.map +1 -0
  56. package/dist/llm/providers/base.d.ts +85 -0
  57. package/dist/llm/providers/base.d.ts.map +1 -0
  58. package/dist/llm/providers/base.js +57 -0
  59. package/dist/llm/providers/base.js.map +1 -0
  60. package/dist/llm/providers/cli.d.ts +23 -0
  61. package/dist/llm/providers/cli.d.ts.map +1 -0
  62. package/dist/llm/providers/cli.js +158 -0
  63. package/dist/llm/providers/cli.js.map +1 -0
  64. package/dist/llm/providers/gemini.d.ts +30 -0
  65. package/dist/llm/providers/gemini.d.ts.map +1 -0
  66. package/dist/llm/providers/gemini.js +168 -0
  67. package/dist/llm/providers/gemini.js.map +1 -0
  68. package/dist/llm/sanitization.d.ts +50 -0
  69. package/dist/llm/sanitization.d.ts.map +1 -0
  70. package/dist/llm/sanitization.js +149 -0
  71. package/dist/llm/sanitization.js.map +1 -0
  72. package/dist/{server.d.ts.map → mcp/server.d.ts.map} +1 -1
  73. package/dist/mcp/server.js +108 -0
  74. package/dist/mcp/server.js.map +1 -0
  75. package/dist/planning/planning-engine.d.ts +6 -0
  76. package/dist/planning/planning-engine.d.ts.map +1 -0
  77. package/dist/planning/planning-engine.js +17 -0
  78. package/dist/planning/planning-engine.js.map +1 -0
  79. package/dist/reasoning/reasoning-engine.d.ts +6 -0
  80. package/dist/reasoning/reasoning-engine.d.ts.map +1 -0
  81. package/dist/reasoning/reasoning-engine.js +17 -0
  82. package/dist/reasoning/reasoning-engine.js.map +1 -0
  83. package/dist/search/search-engine.d.ts +99 -0
  84. package/dist/search/search-engine.d.ts.map +1 -0
  85. package/dist/search/search-engine.js +271 -0
  86. package/dist/search/search-engine.js.map +1 -0
  87. package/dist/synthesis/synthesis-engine.d.ts +6 -0
  88. package/dist/synthesis/synthesis-engine.d.ts.map +1 -0
  89. package/dist/synthesis/synthesis-engine.js +17 -0
  90. package/dist/synthesis/synthesis-engine.js.map +1 -0
  91. package/dist/types/analysis.d.ts +1534 -49
  92. package/dist/types/analysis.d.ts.map +1 -1
  93. package/dist/types/analysis.js +250 -0
  94. package/dist/types/analysis.js.map +1 -1
  95. package/dist/types/core.d.ts +257 -30
  96. package/dist/types/core.d.ts.map +1 -1
  97. package/dist/types/core.js +148 -18
  98. package/dist/types/core.js.map +1 -1
  99. package/dist/types/creativity.d.ts +2871 -56
  100. package/dist/types/creativity.d.ts.map +1 -1
  101. package/dist/types/creativity.js +195 -0
  102. package/dist/types/creativity.js.map +1 -1
  103. package/dist/types/index.d.ts +6 -2
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/dist/types/index.js +17 -2
  106. package/dist/types/index.js.map +1 -1
  107. package/dist/types/learning.d.ts +851 -61
  108. package/dist/types/learning.d.ts.map +1 -1
  109. package/dist/types/learning.js +155 -0
  110. package/dist/types/learning.js.map +1 -1
  111. package/dist/types/planning.d.ts +2223 -71
  112. package/dist/types/planning.d.ts.map +1 -1
  113. package/dist/types/planning.js +190 -0
  114. package/dist/types/planning.js.map +1 -1
  115. package/dist/types/reasoning.d.ts +2209 -72
  116. package/dist/types/reasoning.d.ts.map +1 -1
  117. package/dist/types/reasoning.js +200 -1
  118. package/dist/types/reasoning.js.map +1 -1
  119. package/dist/types/search.d.ts +981 -53
  120. package/dist/types/search.d.ts.map +1 -1
  121. package/dist/types/search.js +137 -0
  122. package/dist/types/search.js.map +1 -1
  123. package/dist/types/synthesis.d.ts +583 -38
  124. package/dist/types/synthesis.d.ts.map +1 -1
  125. package/dist/types/synthesis.js +138 -0
  126. package/dist/types/synthesis.js.map +1 -1
  127. package/dist/utils/cache.d.ts +144 -0
  128. package/dist/utils/cache.d.ts.map +1 -0
  129. package/dist/utils/cache.js +288 -0
  130. package/dist/utils/cache.js.map +1 -0
  131. package/dist/utils/id-generator.d.ts +89 -0
  132. package/dist/utils/id-generator.d.ts.map +1 -0
  133. package/dist/utils/id-generator.js +132 -0
  134. package/dist/utils/id-generator.js.map +1 -0
  135. package/dist/utils/index.d.ts +11 -0
  136. package/dist/utils/index.d.ts.map +1 -0
  137. package/dist/utils/index.js +33 -0
  138. package/dist/utils/index.js.map +1 -0
  139. package/dist/utils/logger.d.ts +142 -0
  140. package/dist/utils/logger.d.ts.map +1 -0
  141. package/dist/utils/logger.js +248 -0
  142. package/dist/utils/logger.js.map +1 -0
  143. package/dist/utils/metrics.d.ts +149 -0
  144. package/dist/utils/metrics.d.ts.map +1 -0
  145. package/dist/utils/metrics.js +296 -0
  146. package/dist/utils/metrics.js.map +1 -0
  147. package/dist/utils/timer.d.ts +7 -0
  148. package/dist/utils/timer.d.ts.map +1 -0
  149. package/dist/utils/timer.js +17 -0
  150. package/dist/utils/timer.js.map +1 -0
  151. package/dist/utils/validation.d.ts +147 -0
  152. package/dist/utils/validation.d.ts.map +1 -0
  153. package/dist/utils/validation.js +275 -0
  154. package/dist/utils/validation.js.map +1 -0
  155. package/docs/API.md +411 -0
  156. package/docs/ARCHITECTURE.md +271 -0
  157. package/docs/CHANGELOG.md +283 -0
  158. package/jest.config.js +28 -0
  159. package/package.json +43 -30
  160. package/src/analysis/analysis-engine.ts +383 -0
  161. package/src/core/config.ts +406 -0
  162. package/src/core/engine.ts +785 -0
  163. package/src/core/errors.ts +349 -0
  164. package/src/core/index.ts +12 -0
  165. package/src/core/pipeline.ts +424 -0
  166. package/src/core/rate-limiter.ts +155 -0
  167. package/src/core/session-manager.ts +269 -0
  168. package/src/creativity/creativity-engine.ts +14 -0
  169. package/src/index.ts +178 -0
  170. package/src/learning/learning-engine.ts +14 -0
  171. package/src/llm/index.ts +10 -0
  172. package/src/llm/llm-service.ts +285 -0
  173. package/src/llm/providers/base.ts +146 -0
  174. package/src/llm/providers/cli.ts +186 -0
  175. package/src/llm/providers/gemini.ts +201 -0
  176. package/src/llm/sanitization.ts +178 -0
  177. package/src/mcp/server.ts +117 -0
  178. package/src/planning/planning-engine.ts +14 -0
  179. package/src/reasoning/reasoning-engine.ts +14 -0
  180. package/src/search/search-engine.ts +333 -0
  181. package/src/synthesis/synthesis-engine.ts +14 -0
  182. package/src/types/analysis.ts +337 -0
  183. package/src/types/core.ts +342 -0
  184. package/src/types/creativity.ts +268 -0
  185. package/src/types/index.ts +31 -0
  186. package/src/types/learning.ts +215 -0
  187. package/src/types/planning.ts +251 -0
  188. package/src/types/reasoning.ts +288 -0
  189. package/src/types/search.ts +192 -0
  190. package/src/types/synthesis.ts +187 -0
  191. package/src/utils/cache.ts +363 -0
  192. package/src/utils/id-generator.ts +135 -0
  193. package/src/utils/index.ts +22 -0
  194. package/src/utils/logger.ts +290 -0
  195. package/src/utils/metrics.ts +380 -0
  196. package/src/utils/timer.ts +15 -0
  197. package/src/utils/validation.ts +297 -0
  198. package/tests/setup.ts +22 -0
  199. package/tests/unit/cache.test.ts +189 -0
  200. package/tests/unit/engine.test.ts +179 -0
  201. package/tests/unit/validation.test.ts +218 -0
  202. package/tsconfig.json +17 -12
  203. package/GEMINI.md +0 -68
  204. package/analysis.ts +0 -1063
  205. package/creativity.ts +0 -1055
  206. package/dist/analysis.d.ts +0 -54
  207. package/dist/analysis.d.ts.map +0 -1
  208. package/dist/analysis.js +0 -866
  209. package/dist/analysis.js.map +0 -1
  210. package/dist/creativity.d.ts +0 -81
  211. package/dist/creativity.d.ts.map +0 -1
  212. package/dist/creativity.js +0 -828
  213. package/dist/creativity.js.map +0 -1
  214. package/dist/engine.d.ts +0 -90
  215. package/dist/engine.d.ts.map +0 -1
  216. package/dist/engine.js +0 -720
  217. package/dist/engine.js.map +0 -1
  218. package/dist/examples.d.ts +0 -7
  219. package/dist/examples.d.ts.map +0 -1
  220. package/dist/examples.js +0 -506
  221. package/dist/examples.js.map +0 -1
  222. package/dist/learning.d.ts +0 -72
  223. package/dist/learning.d.ts.map +0 -1
  224. package/dist/learning.js +0 -615
  225. package/dist/learning.js.map +0 -1
  226. package/dist/llm-service.d.ts +0 -21
  227. package/dist/llm-service.d.ts.map +0 -1
  228. package/dist/llm-service.js +0 -100
  229. package/dist/llm-service.js.map +0 -1
  230. package/dist/planning.d.ts +0 -62
  231. package/dist/planning.d.ts.map +0 -1
  232. package/dist/planning.js +0 -886
  233. package/dist/planning.js.map +0 -1
  234. package/dist/reasoning.d.ts +0 -73
  235. package/dist/reasoning.d.ts.map +0 -1
  236. package/dist/reasoning.js +0 -845
  237. package/dist/reasoning.js.map +0 -1
  238. package/dist/search-discovery.d.ts +0 -73
  239. package/dist/search-discovery.d.ts.map +0 -1
  240. package/dist/search-discovery.js +0 -548
  241. package/dist/search-discovery.js.map +0 -1
  242. package/dist/server.js +0 -113
  243. package/dist/server.js.map +0 -1
  244. package/dist/types/engine.d.ts +0 -55
  245. package/dist/types/engine.d.ts.map +0 -1
  246. package/dist/types/engine.js +0 -3
  247. package/dist/types/engine.js.map +0 -1
  248. package/dist/types.d.ts +0 -6
  249. package/dist/types.d.ts.map +0 -1
  250. package/dist/types.js.map +0 -1
  251. package/engine.ts +0 -1009
  252. package/examples.ts +0 -717
  253. package/index.ts +0 -106
  254. package/learning.ts +0 -779
  255. package/llm-service.ts +0 -120
  256. package/planning.ts +0 -1101
  257. package/reasoning.ts +0 -1079
  258. package/search-discovery.ts +0 -700
  259. package/server.ts +0 -115
  260. package/types/analysis.ts +0 -69
  261. package/types/core.ts +0 -90
  262. package/types/creativity.ts +0 -72
  263. package/types/engine.ts +0 -60
  264. package/types/index.ts +0 -9
  265. package/types/learning.ts +0 -69
  266. package/types/planning.ts +0 -85
  267. package/types/reasoning.ts +0 -92
  268. package/types/search.ts +0 -58
  269. package/types/synthesis.ts +0 -43
  270. package/types.ts +0 -6
  271. /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,6 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare class PlanningEngine extends EventEmitter {
3
+ constructor();
4
+ }
5
+ export declare function createPlanningEngine(): PlanningEngine;
6
+ //# sourceMappingURL=planning-engine.d.ts.map
@@ -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,6 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare class ReasoningEngine extends EventEmitter {
3
+ constructor();
4
+ }
5
+ export declare function createReasoningEngine(): ReasoningEngine;
6
+ //# sourceMappingURL=reasoning-engine.d.ts.map
@@ -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,6 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare class SynthesisEngine extends EventEmitter {
3
+ constructor();
4
+ }
5
+ export declare function createSynthesisEngine(): SynthesisEngine;
6
+ //# sourceMappingURL=synthesis-engine.d.ts.map
@@ -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"}