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 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ /**
3
+ * Configuration for gthinking v2.0.0
4
+ * Centralized configuration management
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.configManager = exports.ConfigManager = exports.defaultConfig = exports.GThinkingConfigSchema = exports.PipelineConfigSchema = exports.StageConfigSchema = exports.LoggingConfigSchema = exports.CacheConfigSchema = exports.SearchConfigSchema = exports.LLMProviderConfigSchema = void 0;
8
+ const zod_1 = require("zod");
9
+ const errors_1 = require("./errors");
10
+ /**
11
+ * LLM Provider configuration schema
12
+ */
13
+ exports.LLMProviderConfigSchema = zod_1.z.object({
14
+ provider: zod_1.z.enum(['gemini', 'claude', 'openai', 'kimi', 'custom', 'cli']),
15
+ apiKey: zod_1.z.string().optional(), // Made optional for CLI mode
16
+ baseUrl: zod_1.z.string().url().optional(),
17
+ model: zod_1.z.string().optional(),
18
+ cliCommand: zod_1.z.string().default('gemini'),
19
+ cliArgs: zod_1.z.array(zod_1.z.string()).default([]), // Extra args e.g. ['--temperature', '0.7']
20
+ cliPromptPassingMethod: zod_1.z.enum(['stdin', 'arg']).default('stdin'),
21
+ cliPromptFlag: zod_1.z.string().optional(), // e.g. '-p' if method is 'arg'
22
+ timeout: zod_1.z.number().positive().default(30000),
23
+ maxRetries: zod_1.z.number().nonnegative().default(3),
24
+ rateLimitPerMinute: zod_1.z.number().positive().default(60),
25
+ });
26
+ /**
27
+ * Search configuration schema
28
+ */
29
+ exports.SearchConfigSchema = zod_1.z.object({
30
+ enabled: zod_1.z.boolean().default(true),
31
+ providers: zod_1.z.array(zod_1.z.enum(['google', 'bing', 'brave', 'duckduckgo'])).default(['google']),
32
+ apiKeys: zod_1.z.record(zod_1.z.string()).default({}),
33
+ maxResults: zod_1.z.number().positive().max(100).default(10),
34
+ timeout: zod_1.z.number().positive().default(30000),
35
+ cacheResults: zod_1.z.boolean().default(true),
36
+ cacheTTL: zod_1.z.number().positive().default(3600000), // 1 hour
37
+ });
38
+ /**
39
+ * Cache configuration schema
40
+ */
41
+ exports.CacheConfigSchema = zod_1.z.object({
42
+ enabled: zod_1.z.boolean().default(true),
43
+ maxSize: zod_1.z.number().positive().default(1000),
44
+ defaultTTL: zod_1.z.number().positive().default(3600000), // 1 hour
45
+ checkInterval: zod_1.z.number().positive().default(60000), // 1 minute
46
+ persistence: zod_1.z.enum(['none', 'file', 'redis']).default('none'),
47
+ persistencePath: zod_1.z.string().optional(),
48
+ });
49
+ /**
50
+ * Logging configuration schema
51
+ */
52
+ exports.LoggingConfigSchema = zod_1.z.object({
53
+ level: zod_1.z.enum(['debug', 'info', 'warn', 'error']).default('info'),
54
+ enableConsole: zod_1.z.boolean().default(true),
55
+ enableFile: zod_1.z.boolean().default(false),
56
+ logDir: zod_1.z.string().default('./logs'),
57
+ maxFiles: zod_1.z.number().positive().default(5),
58
+ maxSize: zod_1.z.string().default('10m'),
59
+ });
60
+ /**
61
+ * Stage configuration schema
62
+ */
63
+ exports.StageConfigSchema = zod_1.z.object({
64
+ enabled: zod_1.z.boolean().default(true),
65
+ timeout: zod_1.z.number().positive().default(60000),
66
+ maxRetries: zod_1.z.number().nonnegative().default(2),
67
+ parallel: zod_1.z.boolean().default(false),
68
+ required: zod_1.z.boolean().default(false),
69
+ });
70
+ /**
71
+ * Pipeline configuration schema
72
+ */
73
+ exports.PipelineConfigSchema = zod_1.z.object({
74
+ stages: zod_1.z.object({
75
+ search: exports.StageConfigSchema.default({}),
76
+ analysis: exports.StageConfigSchema.default({}),
77
+ reasoning: exports.StageConfigSchema.default({}),
78
+ learning: exports.StageConfigSchema.default({}),
79
+ planning: exports.StageConfigSchema.default({}),
80
+ creativity: exports.StageConfigSchema.default({}),
81
+ synthesis: exports.StageConfigSchema.default({}),
82
+ evaluation: exports.StageConfigSchema.default({}),
83
+ }).default({}),
84
+ enableDynamicPipeline: zod_1.z.boolean().default(true),
85
+ enableStreaming: zod_1.z.boolean().default(false),
86
+ maxConcurrentStages: zod_1.z.number().positive().default(3),
87
+ defaultTimeout: zod_1.z.number().positive().default(300000), // 5 minutes
88
+ errorHandling: zod_1.z.enum(['stop', 'continue']).default('stop'),
89
+ });
90
+ /**
91
+ * Main configuration schema
92
+ */
93
+ exports.GThinkingConfigSchema = zod_1.z.object({
94
+ version: zod_1.z.string().default('2.0.0'),
95
+ llm: exports.LLMProviderConfigSchema.default({ provider: 'gemini' }),
96
+ search: exports.SearchConfigSchema.default({}),
97
+ cache: exports.CacheConfigSchema.default({}),
98
+ logging: exports.LoggingConfigSchema.default({}),
99
+ pipeline: exports.PipelineConfigSchema.default({}),
100
+ security: zod_1.z.object({
101
+ enableInputSanitization: zod_1.z.boolean().default(true),
102
+ enableRateLimiting: zod_1.z.boolean().default(true),
103
+ maxRequestsPerMinute: zod_1.z.number().positive().default(100),
104
+ maxQueryLength: zod_1.z.number().positive().default(10000),
105
+ }).default({}),
106
+ session: zod_1.z.object({
107
+ maxSessions: zod_1.z.number().positive().default(1000),
108
+ sessionTTL: zod_1.z.number().positive().default(3600000), // 1 hour
109
+ enablePersistence: zod_1.z.boolean().default(false),
110
+ persistencePath: zod_1.z.string().optional(),
111
+ }).default({}),
112
+ metrics: zod_1.z.object({
113
+ enabled: zod_1.z.boolean().default(true),
114
+ collectDetailedMetrics: zod_1.z.boolean().default(false),
115
+ metricsInterval: zod_1.z.number().positive().default(60000),
116
+ }).default({}),
117
+ });
118
+ /**
119
+ * Default configuration
120
+ */
121
+ exports.defaultConfig = {
122
+ version: '2.0.0',
123
+ llm: {
124
+ provider: 'gemini',
125
+ timeout: 30000,
126
+ maxRetries: 3,
127
+ rateLimitPerMinute: 60,
128
+ cliCommand: 'gemini',
129
+ cliArgs: [],
130
+ cliPromptPassingMethod: 'stdin',
131
+ },
132
+ search: {
133
+ enabled: true,
134
+ providers: ['google'],
135
+ apiKeys: {},
136
+ maxResults: 10,
137
+ timeout: 30000,
138
+ cacheResults: true,
139
+ cacheTTL: 3600000,
140
+ },
141
+ cache: {
142
+ enabled: true,
143
+ maxSize: 1000,
144
+ defaultTTL: 3600000,
145
+ checkInterval: 60000,
146
+ persistence: 'none',
147
+ },
148
+ logging: {
149
+ level: 'info',
150
+ enableConsole: true,
151
+ enableFile: false,
152
+ logDir: './logs',
153
+ maxFiles: 5,
154
+ maxSize: '10m',
155
+ },
156
+ pipeline: {
157
+ stages: {
158
+ search: { enabled: true, timeout: 60000, maxRetries: 2, parallel: false, required: false },
159
+ analysis: { enabled: true, timeout: 60000, maxRetries: 2, parallel: false, required: false },
160
+ reasoning: { enabled: true, timeout: 120000, maxRetries: 2, parallel: false, required: false },
161
+ learning: { enabled: true, timeout: 30000, maxRetries: 1, parallel: true, required: false },
162
+ planning: { enabled: true, timeout: 60000, maxRetries: 2, parallel: false, required: false },
163
+ creativity: { enabled: true, timeout: 120000, maxRetries: 2, parallel: false, required: false },
164
+ synthesis: { enabled: true, timeout: 60000, maxRetries: 2, parallel: false, required: true },
165
+ evaluation: { enabled: true, timeout: 30000, maxRetries: 1, parallel: true, required: false },
166
+ },
167
+ enableDynamicPipeline: true,
168
+ enableStreaming: false,
169
+ maxConcurrentStages: 3,
170
+ defaultTimeout: 300000,
171
+ errorHandling: 'stop',
172
+ },
173
+ security: {
174
+ enableInputSanitization: true,
175
+ enableRateLimiting: true,
176
+ maxRequestsPerMinute: 100,
177
+ maxQueryLength: 10000,
178
+ },
179
+ session: {
180
+ maxSessions: 1000,
181
+ sessionTTL: 3600000,
182
+ enablePersistence: false,
183
+ },
184
+ metrics: {
185
+ enabled: true,
186
+ collectDetailedMetrics: false,
187
+ metricsInterval: 60000,
188
+ },
189
+ };
190
+ /**
191
+ * Configuration manager class
192
+ */
193
+ class ConfigManager {
194
+ config;
195
+ validators = new Map();
196
+ constructor(initialConfig = {}) {
197
+ this.config = this.mergeConfig(exports.defaultConfig, initialConfig);
198
+ this.validateConfig();
199
+ }
200
+ /**
201
+ * Get the current configuration
202
+ * @returns The current configuration
203
+ */
204
+ getConfig() {
205
+ return { ...this.config };
206
+ }
207
+ /**
208
+ * Get a specific configuration value
209
+ * @param path - The configuration path (e.g., 'llm.provider')
210
+ * @returns The configuration value
211
+ */
212
+ get(path) {
213
+ const parts = path.split('.');
214
+ let current = this.config;
215
+ for (const part of parts) {
216
+ if (current === null || current === undefined) {
217
+ return undefined;
218
+ }
219
+ current = current[part];
220
+ }
221
+ return current;
222
+ }
223
+ /**
224
+ * Update the configuration
225
+ * @param updates - Configuration updates
226
+ */
227
+ updateConfig(updates) {
228
+ this.config = this.mergeConfig(this.config, updates);
229
+ this.validateConfig();
230
+ }
231
+ /**
232
+ * Update a specific configuration value
233
+ * @param path - The configuration path
234
+ * @param value - The new value
235
+ */
236
+ set(path, value) {
237
+ const parts = path.split('.');
238
+ let current = this.config;
239
+ for (let i = 0; i < parts.length - 1; i++) {
240
+ const part = parts[i];
241
+ if (!(part in current)) {
242
+ current[part] = {};
243
+ }
244
+ current = current[part];
245
+ }
246
+ current[parts[parts.length - 1]] = value;
247
+ this.validateConfig();
248
+ }
249
+ /**
250
+ * Load configuration from environment variables
251
+ */
252
+ loadFromEnvironment() {
253
+ const envConfig = {};
254
+ // LLM configuration
255
+ if (process.env.GTHINKING_LLM_PROVIDER) {
256
+ envConfig.llm = {
257
+ ...this.config.llm,
258
+ provider: process.env.GTHINKING_LLM_PROVIDER,
259
+ };
260
+ }
261
+ if (process.env.GTHINKING_LLM_API_KEY) {
262
+ envConfig.llm = {
263
+ ...envConfig.llm,
264
+ ...this.config.llm,
265
+ apiKey: process.env.GTHINKING_LLM_API_KEY,
266
+ };
267
+ }
268
+ if (process.env.GTHINKING_LLM_CLI_COMMAND) {
269
+ envConfig.llm = {
270
+ ...envConfig.llm,
271
+ ...this.config.llm,
272
+ cliCommand: process.env.GTHINKING_LLM_CLI_COMMAND,
273
+ };
274
+ }
275
+ if (process.env.GTHINKING_LLM_CLI_ARGS) {
276
+ // Expect comma-separated args
277
+ const args = process.env.GTHINKING_LLM_CLI_ARGS.split(',').map(s => s.trim());
278
+ envConfig.llm = { ...envConfig.llm, ...this.config.llm, cliArgs: args };
279
+ }
280
+ if (process.env.GTHINKING_LLM_CLI_PROMPT_METHOD) {
281
+ envConfig.llm = {
282
+ ...envConfig.llm,
283
+ ...this.config.llm,
284
+ cliPromptPassingMethod: process.env.GTHINKING_LLM_CLI_PROMPT_METHOD
285
+ };
286
+ }
287
+ if (process.env.GTHINKING_LLM_CLI_PROMPT_FLAG) {
288
+ envConfig.llm = { ...envConfig.llm, ...this.config.llm, cliPromptFlag: process.env.GTHINKING_LLM_CLI_PROMPT_FLAG };
289
+ }
290
+ // Search configuration
291
+ if (process.env.GTHINKING_SEARCH_API_KEY) {
292
+ envConfig.search = {
293
+ ...this.config.search,
294
+ apiKeys: { google: process.env.GTHINKING_SEARCH_API_KEY },
295
+ };
296
+ }
297
+ // Logging configuration
298
+ if (process.env.GTHINKING_LOG_LEVEL) {
299
+ envConfig.logging = {
300
+ ...this.config.logging,
301
+ level: process.env.GTHINKING_LOG_LEVEL,
302
+ };
303
+ }
304
+ this.updateConfig(envConfig);
305
+ }
306
+ /**
307
+ * Register a custom validator
308
+ * @param path - The configuration path
309
+ * @param validator - The validator function
310
+ */
311
+ registerValidator(path, validator) {
312
+ this.validators.set(path, validator);
313
+ }
314
+ /**
315
+ * Merge configurations
316
+ * @param base - Base configuration
317
+ * @param override - Override configuration
318
+ * @returns Merged configuration
319
+ */
320
+ mergeConfig(base, override) {
321
+ return {
322
+ ...base,
323
+ ...override,
324
+ llm: { ...base.llm, ...override.llm },
325
+ search: { ...base.search, ...override.search },
326
+ cache: { ...base.cache, ...override.cache },
327
+ logging: { ...base.logging, ...override.logging },
328
+ pipeline: {
329
+ ...base.pipeline,
330
+ ...override.pipeline,
331
+ stages: {
332
+ ...base.pipeline.stages,
333
+ ...override.pipeline?.stages,
334
+ },
335
+ },
336
+ security: { ...base.security, ...override.security },
337
+ session: { ...base.session, ...override.session },
338
+ metrics: { ...base.metrics, ...override.metrics },
339
+ };
340
+ }
341
+ /**
342
+ * Validate the configuration
343
+ */
344
+ validateConfig() {
345
+ const result = exports.GThinkingConfigSchema.safeParse(this.config);
346
+ if (!result.success) {
347
+ throw new errors_1.ConfigurationError('Invalid configuration: ' + result.error.message, { errors: result.error.errors });
348
+ }
349
+ // Run custom validators
350
+ for (const [path, validator] of this.validators) {
351
+ const value = this.get(path);
352
+ if (!validator(value)) {
353
+ throw new errors_1.ConfigurationError(`Validation failed for ${path}`);
354
+ }
355
+ }
356
+ }
357
+ }
358
+ exports.ConfigManager = ConfigManager;
359
+ // Export a singleton instance
360
+ exports.configManager = new ConfigManager();
361
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Sequential Thinking Engine - Core Engine for gthinking v2.0.0
3
+ * Main orchestrator that coordinates all thinking stages
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ import { ThinkingStage, ThinkingRequest, StageResult, SynthesisResult, CreativeResult, Plan } from '../types';
7
+ import { GThinkingConfig } from './config';
8
+ import { Cache } from '../utils/cache';
9
+ /**
10
+ * Sequential Thinking Engine - Main orchestrator
11
+ */
12
+ export declare class SequentialThinkingEngine extends EventEmitter {
13
+ private config;
14
+ private configManager;
15
+ private cache;
16
+ private sessions;
17
+ private stageExecutors;
18
+ private initialized;
19
+ private llmService;
20
+ private analysisEngine;
21
+ /**
22
+ * Create a new SequentialThinkingEngine
23
+ * @param config - Optional configuration
24
+ */
25
+ constructor(config?: Partial<GThinkingConfig>);
26
+ /**
27
+ * Initialize all stage engines
28
+ */
29
+ private initializeEngines;
30
+ /**
31
+ * Execute the full thinking pipeline
32
+ * @param request - The thinking request
33
+ * @returns The synthesis result
34
+ */
35
+ think(request: unknown): Promise<SynthesisResult>;
36
+ /**
37
+ * Quick search with minimal stages
38
+ * @param query - The search query
39
+ * @returns Synthesis result
40
+ */
41
+ quickSearch(query: string): Promise<SynthesisResult>;
42
+ /**
43
+ * Deep analysis with all stages
44
+ * @param query - The analysis query
45
+ * @returns Synthesis result
46
+ */
47
+ deepAnalysis(query: string): Promise<SynthesisResult>;
48
+ /**
49
+ * Creative problem solving
50
+ * @param challenge - The creative challenge
51
+ * @returns Creative result
52
+ */
53
+ creativeSolve(challenge: string): Promise<CreativeResult>;
54
+ /**
55
+ * Create an execution plan
56
+ * @param goal - The planning goal
57
+ * @returns Execution plan
58
+ */
59
+ createPlan(goal: string): Promise<Plan>;
60
+ /**
61
+ * Determine which stages to execute based on the request
62
+ * @param request - The thinking request
63
+ * @returns Array of stages to execute
64
+ */
65
+ private determineStages;
66
+ /**
67
+ * Analyze query and select appropriate stages
68
+ * @param query - The query to analyze
69
+ * @returns Array of selected stages
70
+ */
71
+ private analyzeQueryAndSelectStages;
72
+ /**
73
+ * Execute thinking stages
74
+ * @param stages - Stages to execute
75
+ * @param request - The thinking request
76
+ * @param session - The session
77
+ * @returns Map of stage results
78
+ */
79
+ private executeStages;
80
+ /**
81
+ * Execute a single stage
82
+ * @param stage - The stage to execute
83
+ * @param request - The thinking request
84
+ * @param context - The stage context
85
+ * @returns Stage result
86
+ */
87
+ private executeStage;
88
+ /**
89
+ * Execute stage with timeout
90
+ * @param stage - The stage to execute
91
+ * @param request - The thinking request
92
+ * @param context - The stage context
93
+ * @param timeout - Timeout in milliseconds
94
+ * @returns Stage result
95
+ */
96
+ private executeStageWithTimeout;
97
+ /**
98
+ * Execute stage logic
99
+ * @param stage - The stage to execute
100
+ * @param request - The thinking request
101
+ * @param context - The stage context
102
+ * @returns Stage result
103
+ */
104
+ private executeStageLogic;
105
+ /**
106
+ * Synthesize stage results into final output
107
+ * @param request - The thinking request
108
+ * @param stageResults - Map of stage results
109
+ * @param sessionId - The session ID
110
+ * @returns Synthesis result
111
+ */
112
+ private synthesizeResults;
113
+ /**
114
+ * Generate cache key for a request
115
+ * @param request - The thinking request
116
+ * @returns Cache key
117
+ */
118
+ private generateCacheKey;
119
+ /**
120
+ * Start session cleanup interval
121
+ */
122
+ private startSessionCleanup;
123
+ /**
124
+ * Get session by ID
125
+ * @param sessionId - The session ID
126
+ * @returns The session or undefined
127
+ */
128
+ getSession(sessionId: string): Session | undefined;
129
+ /**
130
+ * Get all active sessions
131
+ * @returns Array of active sessions
132
+ */
133
+ getActiveSessions(): Session[];
134
+ /**
135
+ * Cancel a running session
136
+ * @param sessionId - The session ID
137
+ * @returns True if cancelled
138
+ */
139
+ cancelSession(sessionId: string): boolean;
140
+ /**
141
+ * Get engine statistics
142
+ * @returns Engine statistics
143
+ */
144
+ getStats(): {
145
+ sessions: number;
146
+ activeSessions: number;
147
+ cacheStats: ReturnType<Cache<unknown>['getStats']>;
148
+ };
149
+ /**
150
+ * Dispose of the engine
151
+ */
152
+ dispose(): void;
153
+ }
154
+ /**
155
+ * Session interface
156
+ */
157
+ interface Session {
158
+ id: string;
159
+ request: ThinkingRequest;
160
+ stageResults: Map<ThinkingStage, StageResult>;
161
+ startTime: number;
162
+ endTime?: number;
163
+ status: 'running' | 'completed' | 'failed' | 'cancelled';
164
+ result?: SynthesisResult;
165
+ error?: Error;
166
+ metadata: Record<string, unknown>;
167
+ }
168
+ /**
169
+ * Create a new SequentialThinkingEngine instance
170
+ * @param config - Optional configuration
171
+ * @returns New engine instance
172
+ */
173
+ export declare function createEngine(config?: Partial<GThinkingConfig>): SequentialThinkingEngine;
174
+ export declare const thinkingEngine: SequentialThinkingEngine;
175
+ export {};
176
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}