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,153 @@
1
+ /**
2
+ * Core Error Classes for gthinking v2.0.0
3
+ * Comprehensive error handling
4
+ */
5
+ import { ThinkingStage } from '../types';
6
+ /**
7
+ * Base error class for all gthinking errors
8
+ */
9
+ export declare class GThinkingError extends Error {
10
+ readonly code: string;
11
+ readonly timestamp: Date;
12
+ readonly details: Record<string, unknown>;
13
+ constructor(message: string, code: string, details?: Record<string, unknown>);
14
+ toJSON(): Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Validation error for invalid input
18
+ */
19
+ export declare class ValidationError extends GThinkingError {
20
+ constructor(message: string, details?: Record<string, unknown>);
21
+ }
22
+ /**
23
+ * Timeout error for operations that exceed time limit
24
+ */
25
+ export declare class TimeoutError extends GThinkingError {
26
+ readonly stage?: ThinkingStage;
27
+ constructor(message: string, stage?: ThinkingStage);
28
+ }
29
+ /**
30
+ * Cache error for caching operations
31
+ */
32
+ export declare class CacheError extends GThinkingError {
33
+ constructor(message: string, details?: Record<string, unknown>);
34
+ }
35
+ /**
36
+ * Stage error for thinking stage failures
37
+ */
38
+ export declare class StageError extends GThinkingError {
39
+ readonly stage: ThinkingStage;
40
+ readonly retryable: boolean;
41
+ constructor(message: string, stage: ThinkingStage, retryable?: boolean, details?: Record<string, unknown>);
42
+ }
43
+ /**
44
+ * LLM error for LLM service failures
45
+ */
46
+ export declare class LLMError extends GThinkingError {
47
+ readonly provider: string;
48
+ readonly statusCode?: number;
49
+ constructor(message: string, provider: string, statusCode?: number, details?: Record<string, unknown>);
50
+ }
51
+ /**
52
+ * Search error for search operation failures
53
+ */
54
+ export declare class SearchError extends GThinkingError {
55
+ readonly provider: string;
56
+ constructor(message: string, provider: string, details?: Record<string, unknown>);
57
+ }
58
+ /**
59
+ * Configuration error for invalid configuration
60
+ */
61
+ export declare class ConfigurationError extends GThinkingError {
62
+ constructor(message: string, details?: Record<string, unknown>);
63
+ }
64
+ /**
65
+ * Security error for security-related issues
66
+ */
67
+ export declare class SecurityError extends GThinkingError {
68
+ constructor(message: string, details?: Record<string, unknown>);
69
+ }
70
+ /**
71
+ * Rate limit error for rate limiting
72
+ */
73
+ export declare class RateLimitError extends GThinkingError {
74
+ readonly retryAfter: number;
75
+ constructor(message: string, retryAfter: number);
76
+ }
77
+ /**
78
+ * Error codes enum
79
+ */
80
+ export declare enum ErrorCode {
81
+ VALIDATION_ERROR = "VALIDATION_ERROR",
82
+ TIMEOUT_ERROR = "TIMEOUT_ERROR",
83
+ CACHE_ERROR = "CACHE_ERROR",
84
+ STAGE_ERROR = "STAGE_ERROR",
85
+ LLM_ERROR = "LLM_ERROR",
86
+ SEARCH_ERROR = "SEARCH_ERROR",
87
+ CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
88
+ SECURITY_ERROR = "SECURITY_ERROR",
89
+ RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR",
90
+ UNKNOWN_ERROR = "UNKNOWN_ERROR"
91
+ }
92
+ /**
93
+ * Error handler function type
94
+ */
95
+ export type ErrorHandler = (error: Error) => void | Promise<void>;
96
+ /**
97
+ * Global error handler registry
98
+ */
99
+ declare class ErrorHandlerRegistry {
100
+ private handlers;
101
+ /**
102
+ * Register an error handler
103
+ * @param errorCode - The error code to handle
104
+ * @param handler - The error handler function
105
+ */
106
+ register(errorCode: string, handler: ErrorHandler): void;
107
+ /**
108
+ * Unregister an error handler
109
+ * @param errorCode - The error code
110
+ * @param handler - The handler to remove
111
+ */
112
+ unregister(errorCode: string, handler: ErrorHandler): void;
113
+ /**
114
+ * Handle an error
115
+ * @param error - The error to handle
116
+ */
117
+ handle(error: Error): Promise<void>;
118
+ /**
119
+ * Clear all handlers
120
+ */
121
+ clear(): void;
122
+ }
123
+ export declare const errorHandlerRegistry: ErrorHandlerRegistry;
124
+ /**
125
+ * Retry configuration interface
126
+ */
127
+ export interface RetryConfig {
128
+ maxRetries: number;
129
+ retryDelay: number;
130
+ backoffMultiplier: number;
131
+ maxDelay: number;
132
+ retryableErrors: string[];
133
+ }
134
+ /**
135
+ * Default retry configuration
136
+ */
137
+ export declare const defaultRetryConfig: RetryConfig;
138
+ /**
139
+ * Retry a function with exponential backoff
140
+ * @param fn - The function to retry
141
+ * @param config - Retry configuration
142
+ * @returns Function result
143
+ */
144
+ export declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>): Promise<T>;
145
+ /**
146
+ * Wrap a function with error handling
147
+ * @param fn - The function to wrap
148
+ * @param errorHandler - Custom error handler
149
+ * @returns Wrapped function
150
+ */
151
+ export declare function withErrorHandling<T extends (...args: unknown[]) => unknown>(fn: T, errorHandler?: (error: Error) => void): T;
152
+ export {};
153
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAUvC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,SAAgB,KAAK,CAAC,EAAE,aAAa,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa;CAKnD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,cAAc;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC5C,SAAgB,KAAK,EAAE,aAAa,CAAC;IACrC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EACpB,SAAS,UAAQ,EACjB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAOxC;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,cAAc;IAC1C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAOxC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,cAAc;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAG/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAMxC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,cAAc;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE;;GAEG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,QAAQ,CAA0C;IAE1D;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAO/D;;;;OAIG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAUjE;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAehD;;OAEG;IACI,KAAK,IAAI,IAAI;CAGrB;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAWhC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,CAAC,CAAC,CAgCZ;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACzE,EAAE,EAAE,CAAC,EACL,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACpC,CAAC,CAsBH"}
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ /**
3
+ * Core Error Classes for gthinking v2.0.0
4
+ * Comprehensive error handling
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.defaultRetryConfig = exports.errorHandlerRegistry = exports.ErrorCode = exports.RateLimitError = exports.SecurityError = exports.ConfigurationError = exports.SearchError = exports.LLMError = exports.StageError = exports.CacheError = exports.TimeoutError = exports.ValidationError = exports.GThinkingError = void 0;
8
+ exports.withRetry = withRetry;
9
+ exports.withErrorHandling = withErrorHandling;
10
+ /**
11
+ * Base error class for all gthinking errors
12
+ */
13
+ class GThinkingError extends Error {
14
+ code;
15
+ timestamp;
16
+ details;
17
+ constructor(message, code, details = {}) {
18
+ super(message);
19
+ this.name = 'GThinkingError';
20
+ this.code = code;
21
+ this.timestamp = new Date();
22
+ this.details = details;
23
+ Error.captureStackTrace(this, this.constructor);
24
+ }
25
+ toJSON() {
26
+ return {
27
+ name: this.name,
28
+ message: this.message,
29
+ code: this.code,
30
+ timestamp: this.timestamp,
31
+ details: this.details,
32
+ stack: this.stack,
33
+ };
34
+ }
35
+ }
36
+ exports.GThinkingError = GThinkingError;
37
+ /**
38
+ * Validation error for invalid input
39
+ */
40
+ class ValidationError extends GThinkingError {
41
+ constructor(message, details = {}) {
42
+ super(message, 'VALIDATION_ERROR', details);
43
+ this.name = 'ValidationError';
44
+ }
45
+ }
46
+ exports.ValidationError = ValidationError;
47
+ /**
48
+ * Timeout error for operations that exceed time limit
49
+ */
50
+ class TimeoutError extends GThinkingError {
51
+ stage;
52
+ constructor(message, stage) {
53
+ super(message, 'TIMEOUT_ERROR', { stage });
54
+ this.name = 'TimeoutError';
55
+ this.stage = stage;
56
+ }
57
+ }
58
+ exports.TimeoutError = TimeoutError;
59
+ /**
60
+ * Cache error for caching operations
61
+ */
62
+ class CacheError extends GThinkingError {
63
+ constructor(message, details = {}) {
64
+ super(message, 'CACHE_ERROR', details);
65
+ this.name = 'CacheError';
66
+ }
67
+ }
68
+ exports.CacheError = CacheError;
69
+ /**
70
+ * Stage error for thinking stage failures
71
+ */
72
+ class StageError extends GThinkingError {
73
+ stage;
74
+ retryable;
75
+ constructor(message, stage, retryable = false, details = {}) {
76
+ super(message, 'STAGE_ERROR', { stage, retryable, ...details });
77
+ this.name = 'StageError';
78
+ this.stage = stage;
79
+ this.retryable = retryable;
80
+ }
81
+ }
82
+ exports.StageError = StageError;
83
+ /**
84
+ * LLM error for LLM service failures
85
+ */
86
+ class LLMError extends GThinkingError {
87
+ provider;
88
+ statusCode;
89
+ constructor(message, provider, statusCode, details = {}) {
90
+ super(message, 'LLM_ERROR', { provider, statusCode, ...details });
91
+ this.name = 'LLMError';
92
+ this.provider = provider;
93
+ this.statusCode = statusCode;
94
+ }
95
+ }
96
+ exports.LLMError = LLMError;
97
+ /**
98
+ * Search error for search operation failures
99
+ */
100
+ class SearchError extends GThinkingError {
101
+ provider;
102
+ constructor(message, provider, details = {}) {
103
+ super(message, 'SEARCH_ERROR', { provider, ...details });
104
+ this.name = 'SearchError';
105
+ this.provider = provider;
106
+ }
107
+ }
108
+ exports.SearchError = SearchError;
109
+ /**
110
+ * Configuration error for invalid configuration
111
+ */
112
+ class ConfigurationError extends GThinkingError {
113
+ constructor(message, details = {}) {
114
+ super(message, 'CONFIGURATION_ERROR', details);
115
+ this.name = 'ConfigurationError';
116
+ }
117
+ }
118
+ exports.ConfigurationError = ConfigurationError;
119
+ /**
120
+ * Security error for security-related issues
121
+ */
122
+ class SecurityError extends GThinkingError {
123
+ constructor(message, details = {}) {
124
+ super(message, 'SECURITY_ERROR', details);
125
+ this.name = 'SecurityError';
126
+ }
127
+ }
128
+ exports.SecurityError = SecurityError;
129
+ /**
130
+ * Rate limit error for rate limiting
131
+ */
132
+ class RateLimitError extends GThinkingError {
133
+ retryAfter;
134
+ constructor(message, retryAfter) {
135
+ super(message, 'RATE_LIMIT_ERROR', { retryAfter });
136
+ this.name = 'RateLimitError';
137
+ this.retryAfter = retryAfter;
138
+ }
139
+ }
140
+ exports.RateLimitError = RateLimitError;
141
+ /**
142
+ * Error codes enum
143
+ */
144
+ var ErrorCode;
145
+ (function (ErrorCode) {
146
+ ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
147
+ ErrorCode["TIMEOUT_ERROR"] = "TIMEOUT_ERROR";
148
+ ErrorCode["CACHE_ERROR"] = "CACHE_ERROR";
149
+ ErrorCode["STAGE_ERROR"] = "STAGE_ERROR";
150
+ ErrorCode["LLM_ERROR"] = "LLM_ERROR";
151
+ ErrorCode["SEARCH_ERROR"] = "SEARCH_ERROR";
152
+ ErrorCode["CONFIGURATION_ERROR"] = "CONFIGURATION_ERROR";
153
+ ErrorCode["SECURITY_ERROR"] = "SECURITY_ERROR";
154
+ ErrorCode["RATE_LIMIT_ERROR"] = "RATE_LIMIT_ERROR";
155
+ ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
156
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
157
+ /**
158
+ * Global error handler registry
159
+ */
160
+ class ErrorHandlerRegistry {
161
+ handlers = new Map();
162
+ /**
163
+ * Register an error handler
164
+ * @param errorCode - The error code to handle
165
+ * @param handler - The error handler function
166
+ */
167
+ register(errorCode, handler) {
168
+ if (!this.handlers.has(errorCode)) {
169
+ this.handlers.set(errorCode, []);
170
+ }
171
+ this.handlers.get(errorCode).push(handler);
172
+ }
173
+ /**
174
+ * Unregister an error handler
175
+ * @param errorCode - The error code
176
+ * @param handler - The handler to remove
177
+ */
178
+ unregister(errorCode, handler) {
179
+ const handlers = this.handlers.get(errorCode);
180
+ if (handlers) {
181
+ const index = handlers.indexOf(handler);
182
+ if (index > -1) {
183
+ handlers.splice(index, 1);
184
+ }
185
+ }
186
+ }
187
+ /**
188
+ * Handle an error
189
+ * @param error - The error to handle
190
+ */
191
+ async handle(error) {
192
+ const gError = error;
193
+ const errorCode = gError.code || ErrorCode.UNKNOWN_ERROR;
194
+ const handlers = this.handlers.get(errorCode) || [];
195
+ for (const handler of handlers) {
196
+ try {
197
+ await handler(error);
198
+ }
199
+ catch (handlerError) {
200
+ console.error('Error handler failed:', handlerError);
201
+ }
202
+ }
203
+ }
204
+ /**
205
+ * Clear all handlers
206
+ */
207
+ clear() {
208
+ this.handlers.clear();
209
+ }
210
+ }
211
+ // Export singleton instance
212
+ exports.errorHandlerRegistry = new ErrorHandlerRegistry();
213
+ /**
214
+ * Default retry configuration
215
+ */
216
+ exports.defaultRetryConfig = {
217
+ maxRetries: 3,
218
+ retryDelay: 1000,
219
+ backoffMultiplier: 2,
220
+ maxDelay: 30000,
221
+ retryableErrors: [
222
+ ErrorCode.TIMEOUT_ERROR,
223
+ ErrorCode.LLM_ERROR,
224
+ ErrorCode.SEARCH_ERROR,
225
+ ErrorCode.CACHE_ERROR,
226
+ ],
227
+ };
228
+ /**
229
+ * Retry a function with exponential backoff
230
+ * @param fn - The function to retry
231
+ * @param config - Retry configuration
232
+ * @returns Function result
233
+ */
234
+ async function withRetry(fn, config = {}) {
235
+ const mergedConfig = { ...exports.defaultRetryConfig, ...config };
236
+ let lastError;
237
+ for (let attempt = 0; attempt <= mergedConfig.maxRetries; attempt++) {
238
+ try {
239
+ return await fn();
240
+ }
241
+ catch (error) {
242
+ lastError = error;
243
+ const gError = error;
244
+ // Check if error is retryable
245
+ if (!mergedConfig.retryableErrors.includes(gError.code)) {
246
+ throw error;
247
+ }
248
+ // Don't retry on last attempt
249
+ if (attempt === mergedConfig.maxRetries) {
250
+ break;
251
+ }
252
+ // Calculate delay with exponential backoff
253
+ const delay = Math.min(mergedConfig.retryDelay * Math.pow(mergedConfig.backoffMultiplier, attempt), mergedConfig.maxDelay);
254
+ await new Promise(resolve => setTimeout(resolve, delay));
255
+ }
256
+ }
257
+ throw lastError;
258
+ }
259
+ /**
260
+ * Wrap a function with error handling
261
+ * @param fn - The function to wrap
262
+ * @param errorHandler - Custom error handler
263
+ * @returns Wrapped function
264
+ */
265
+ function withErrorHandling(fn, errorHandler) {
266
+ return function (...args) {
267
+ try {
268
+ const result = fn(...args);
269
+ if (result instanceof Promise) {
270
+ return result.catch(error => {
271
+ if (errorHandler) {
272
+ errorHandler(error);
273
+ }
274
+ throw error;
275
+ });
276
+ }
277
+ return result;
278
+ }
279
+ catch (error) {
280
+ if (errorHandler) {
281
+ errorHandler(error);
282
+ }
283
+ throw error;
284
+ }
285
+ };
286
+ }
287
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Core Module Index for gthinking v2.0.0
3
+ */
4
+ export * from './errors';
5
+ export * from './config';
6
+ export * from './engine';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Sequential Thinking System - Core Types and Interfaces
4
- * A comprehensive intelligent thinking framework for complex problem solving
3
+ * Core Module Index for gthinking v2.0.0
5
4
  */
6
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
6
  if (k2 === undefined) k2 = k;
@@ -18,5 +17,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
18
  };
20
19
  Object.defineProperty(exports, "__esModule", { value: true });
21
- __exportStar(require("./types/index"), exports);
22
- //# sourceMappingURL=types.js.map
20
+ // Errors
21
+ __exportStar(require("./errors"), exports);
22
+ // Configuration
23
+ __exportStar(require("./config"), exports);
24
+ // Engine
25
+ __exportStar(require("./engine"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,SAAS;AACT,2CAAyB;AAEzB,gBAAgB;AAChB,2CAAyB;AAEzB,SAAS;AACT,2CAAyB"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Dynamic Pipeline for GThinking
3
+ *
4
+ * Implements a configurable pipeline system that supports parallel
5
+ * execution, dependency management, and error recovery.
6
+ *
7
+ * @module core/pipeline
8
+ */
9
+ import { EventEmitter } from 'eventemitter3';
10
+ import type { ThinkingStage, StageResult, StreamChunk } from '../types/core';
11
+ import type { PipelineConfig } from './config';
12
+ /**
13
+ * Stage executor function type
14
+ */
15
+ export type StageExecutor<TInput = unknown, TOutput = unknown> = (input: TInput, context: PipelineContext) => Promise<TOutput>;
16
+ /**
17
+ * Pipeline context passed to each stage
18
+ */
19
+ export interface PipelineContext {
20
+ stage: ThinkingStage;
21
+ requestId: string;
22
+ sessionId: string;
23
+ previousResults: Map<ThinkingStage, StageResult>;
24
+ abortSignal: AbortSignal;
25
+ }
26
+ /**
27
+ * Pipeline stage definition
28
+ */
29
+ export interface PipelineStageDefinition {
30
+ stage: ThinkingStage;
31
+ executor: StageExecutor;
32
+ enabled: boolean;
33
+ parallel: boolean;
34
+ dependencies: ThinkingStage[];
35
+ timeoutMs: number;
36
+ retryCount: number;
37
+ skipOnError: boolean;
38
+ }
39
+ /**
40
+ * Pipeline events
41
+ */
42
+ export interface PipelineEvents {
43
+ 'stage:start': {
44
+ stage: ThinkingStage;
45
+ requestId: string;
46
+ };
47
+ 'stage:complete': {
48
+ stage: ThinkingStage;
49
+ result: StageResult;
50
+ requestId: string;
51
+ };
52
+ 'stage:error': {
53
+ stage: ThinkingStage;
54
+ error: Error;
55
+ requestId: string;
56
+ };
57
+ 'stage:retry': {
58
+ stage: ThinkingStage;
59
+ attempt: number;
60
+ requestId: string;
61
+ };
62
+ 'pipeline:complete': {
63
+ results: StageResult[];
64
+ requestId: string;
65
+ durationMs: number;
66
+ };
67
+ 'pipeline:error': {
68
+ error: Error;
69
+ requestId: string;
70
+ };
71
+ 'chunk': {
72
+ chunk: StreamChunk;
73
+ requestId: string;
74
+ };
75
+ }
76
+ /**
77
+ * Dynamic pipeline implementation
78
+ */
79
+ export declare class DynamicPipeline extends EventEmitter<PipelineEvents> {
80
+ private readonly stages;
81
+ private readonly config;
82
+ private readonly logger;
83
+ constructor(config: PipelineConfig);
84
+ /**
85
+ * Register a stage executor
86
+ */
87
+ registerStage(stage: ThinkingStage, executor: StageExecutor, options?: Partial<Omit<PipelineStageDefinition, 'stage' | 'executor'>>): void;
88
+ /**
89
+ * Execute the pipeline
90
+ */
91
+ execute<TInput>(input: TInput, requestId: string, sessionId: string, streamResults?: boolean): Promise<StageResult[]>;
92
+ /**
93
+ * Execute a single stage
94
+ */
95
+ private executeStage;
96
+ /**
97
+ * Execute a function with timeout
98
+ */
99
+ private executeWithTimeout;
100
+ /**
101
+ * Get execution order based on dependencies
102
+ */
103
+ private getExecutionOrder;
104
+ /**
105
+ * Validate pipeline configuration
106
+ */
107
+ private validateConfig;
108
+ /**
109
+ * Enable a stage
110
+ */
111
+ enableStage(stage: ThinkingStage): void;
112
+ /**
113
+ * Disable a stage
114
+ */
115
+ disableStage(stage: ThinkingStage): void;
116
+ /**
117
+ * Get enabled stages
118
+ */
119
+ getEnabledStages(): ThinkingStage[];
120
+ }
121
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}