gthinking 1.3.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +34 -0
- package/ANALYSIS_SUMMARY.md +363 -0
- package/README.md +230 -250
- package/dist/analysis/analysis-engine.d.ts +63 -0
- package/dist/analysis/analysis-engine.d.ts.map +1 -0
- package/dist/analysis/analysis-engine.js +322 -0
- package/dist/analysis/analysis-engine.js.map +1 -0
- package/dist/core/config.d.ts +1419 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +361 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/engine.d.ts +176 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +604 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/errors.d.ts +153 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +287 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/{types.js → core/index.js} +8 -4
- package/dist/core/index.js.map +1 -0
- package/dist/core/pipeline.d.ts +121 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +289 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +58 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +133 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/session-manager.d.ts +96 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +223 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/creativity/creativity-engine.d.ts +6 -0
- package/dist/creativity/creativity-engine.d.ts.map +1 -0
- package/dist/creativity/creativity-engine.js +17 -0
- package/dist/creativity/creativity-engine.js.map +1 -0
- package/dist/index.d.ts +24 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +130 -104
- package/dist/index.js.map +1 -1
- package/dist/learning/learning-engine.d.ts +6 -0
- package/dist/learning/learning-engine.d.ts.map +1 -0
- package/dist/learning/learning-engine.js +17 -0
- package/dist/learning/learning-engine.js.map +1 -0
- package/dist/llm/index.d.ts +10 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +26 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/llm-service.d.ts +109 -0
- package/dist/llm/llm-service.d.ts.map +1 -0
- package/dist/llm/llm-service.js +224 -0
- package/dist/llm/llm-service.js.map +1 -0
- package/dist/llm/providers/base.d.ts +85 -0
- package/dist/llm/providers/base.d.ts.map +1 -0
- package/dist/llm/providers/base.js +57 -0
- package/dist/llm/providers/base.js.map +1 -0
- package/dist/llm/providers/cli.d.ts +23 -0
- package/dist/llm/providers/cli.d.ts.map +1 -0
- package/dist/llm/providers/cli.js +158 -0
- package/dist/llm/providers/cli.js.map +1 -0
- package/dist/llm/providers/gemini.d.ts +30 -0
- package/dist/llm/providers/gemini.d.ts.map +1 -0
- package/dist/llm/providers/gemini.js +168 -0
- package/dist/llm/providers/gemini.js.map +1 -0
- package/dist/llm/sanitization.d.ts +50 -0
- package/dist/llm/sanitization.d.ts.map +1 -0
- package/dist/llm/sanitization.js +149 -0
- package/dist/llm/sanitization.js.map +1 -0
- package/dist/{server.d.ts.map → mcp/server.d.ts.map} +1 -1
- package/dist/mcp/server.js +108 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/planning/planning-engine.d.ts +6 -0
- package/dist/planning/planning-engine.d.ts.map +1 -0
- package/dist/planning/planning-engine.js +17 -0
- package/dist/planning/planning-engine.js.map +1 -0
- package/dist/reasoning/reasoning-engine.d.ts +6 -0
- package/dist/reasoning/reasoning-engine.d.ts.map +1 -0
- package/dist/reasoning/reasoning-engine.js +17 -0
- package/dist/reasoning/reasoning-engine.js.map +1 -0
- package/dist/search/search-engine.d.ts +99 -0
- package/dist/search/search-engine.d.ts.map +1 -0
- package/dist/search/search-engine.js +271 -0
- package/dist/search/search-engine.js.map +1 -0
- package/dist/synthesis/synthesis-engine.d.ts +6 -0
- package/dist/synthesis/synthesis-engine.d.ts.map +1 -0
- package/dist/synthesis/synthesis-engine.js +17 -0
- package/dist/synthesis/synthesis-engine.js.map +1 -0
- package/dist/types/analysis.d.ts +1534 -49
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/analysis.js +250 -0
- package/dist/types/analysis.js.map +1 -1
- package/dist/types/core.d.ts +257 -30
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +148 -18
- package/dist/types/core.js.map +1 -1
- package/dist/types/creativity.d.ts +2871 -56
- package/dist/types/creativity.d.ts.map +1 -1
- package/dist/types/creativity.js +195 -0
- package/dist/types/creativity.js.map +1 -1
- package/dist/types/index.d.ts +6 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +17 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/learning.d.ts +851 -61
- package/dist/types/learning.d.ts.map +1 -1
- package/dist/types/learning.js +155 -0
- package/dist/types/learning.js.map +1 -1
- package/dist/types/planning.d.ts +2223 -71
- package/dist/types/planning.d.ts.map +1 -1
- package/dist/types/planning.js +190 -0
- package/dist/types/planning.js.map +1 -1
- package/dist/types/reasoning.d.ts +2209 -72
- package/dist/types/reasoning.d.ts.map +1 -1
- package/dist/types/reasoning.js +200 -1
- package/dist/types/reasoning.js.map +1 -1
- package/dist/types/search.d.ts +981 -53
- package/dist/types/search.d.ts.map +1 -1
- package/dist/types/search.js +137 -0
- package/dist/types/search.js.map +1 -1
- package/dist/types/synthesis.d.ts +583 -38
- package/dist/types/synthesis.d.ts.map +1 -1
- package/dist/types/synthesis.js +138 -0
- package/dist/types/synthesis.js.map +1 -1
- package/dist/utils/cache.d.ts +144 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +288 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/id-generator.d.ts +89 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/id-generator.js +132 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +33 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +142 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +248 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metrics.d.ts +149 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +296 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/timer.d.ts +7 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.js +17 -0
- package/dist/utils/timer.js.map +1 -0
- package/dist/utils/validation.d.ts +147 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +275 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/API.md +411 -0
- package/docs/ARCHITECTURE.md +271 -0
- package/docs/CHANGELOG.md +283 -0
- package/jest.config.js +28 -0
- package/package.json +43 -30
- package/src/analysis/analysis-engine.ts +383 -0
- package/src/core/config.ts +406 -0
- package/src/core/engine.ts +785 -0
- package/src/core/errors.ts +349 -0
- package/src/core/index.ts +12 -0
- package/src/core/pipeline.ts +424 -0
- package/src/core/rate-limiter.ts +155 -0
- package/src/core/session-manager.ts +269 -0
- package/src/creativity/creativity-engine.ts +14 -0
- package/src/index.ts +178 -0
- package/src/learning/learning-engine.ts +14 -0
- package/src/llm/index.ts +10 -0
- package/src/llm/llm-service.ts +285 -0
- package/src/llm/providers/base.ts +146 -0
- package/src/llm/providers/cli.ts +186 -0
- package/src/llm/providers/gemini.ts +201 -0
- package/src/llm/sanitization.ts +178 -0
- package/src/mcp/server.ts +117 -0
- package/src/planning/planning-engine.ts +14 -0
- package/src/reasoning/reasoning-engine.ts +14 -0
- package/src/search/search-engine.ts +333 -0
- package/src/synthesis/synthesis-engine.ts +14 -0
- package/src/types/analysis.ts +337 -0
- package/src/types/core.ts +342 -0
- package/src/types/creativity.ts +268 -0
- package/src/types/index.ts +31 -0
- package/src/types/learning.ts +215 -0
- package/src/types/planning.ts +251 -0
- package/src/types/reasoning.ts +288 -0
- package/src/types/search.ts +192 -0
- package/src/types/synthesis.ts +187 -0
- package/src/utils/cache.ts +363 -0
- package/src/utils/id-generator.ts +135 -0
- package/src/utils/index.ts +22 -0
- package/src/utils/logger.ts +290 -0
- package/src/utils/metrics.ts +380 -0
- package/src/utils/timer.ts +15 -0
- package/src/utils/validation.ts +297 -0
- package/tests/setup.ts +22 -0
- package/tests/unit/cache.test.ts +189 -0
- package/tests/unit/engine.test.ts +179 -0
- package/tests/unit/validation.test.ts +218 -0
- package/tsconfig.json +17 -12
- package/GEMINI.md +0 -68
- package/analysis.ts +0 -1063
- package/creativity.ts +0 -1055
- package/dist/analysis.d.ts +0 -54
- package/dist/analysis.d.ts.map +0 -1
- package/dist/analysis.js +0 -866
- package/dist/analysis.js.map +0 -1
- package/dist/creativity.d.ts +0 -81
- package/dist/creativity.d.ts.map +0 -1
- package/dist/creativity.js +0 -828
- package/dist/creativity.js.map +0 -1
- package/dist/engine.d.ts +0 -90
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -720
- package/dist/engine.js.map +0 -1
- package/dist/examples.d.ts +0 -7
- package/dist/examples.d.ts.map +0 -1
- package/dist/examples.js +0 -506
- package/dist/examples.js.map +0 -1
- package/dist/learning.d.ts +0 -72
- package/dist/learning.d.ts.map +0 -1
- package/dist/learning.js +0 -615
- package/dist/learning.js.map +0 -1
- package/dist/llm-service.d.ts +0 -21
- package/dist/llm-service.d.ts.map +0 -1
- package/dist/llm-service.js +0 -100
- package/dist/llm-service.js.map +0 -1
- package/dist/planning.d.ts +0 -62
- package/dist/planning.d.ts.map +0 -1
- package/dist/planning.js +0 -886
- package/dist/planning.js.map +0 -1
- package/dist/reasoning.d.ts +0 -73
- package/dist/reasoning.d.ts.map +0 -1
- package/dist/reasoning.js +0 -845
- package/dist/reasoning.js.map +0 -1
- package/dist/search-discovery.d.ts +0 -73
- package/dist/search-discovery.d.ts.map +0 -1
- package/dist/search-discovery.js +0 -548
- package/dist/search-discovery.js.map +0 -1
- package/dist/server.js +0 -113
- package/dist/server.js.map +0 -1
- package/dist/types/engine.d.ts +0 -55
- package/dist/types/engine.d.ts.map +0 -1
- package/dist/types/engine.js +0 -3
- package/dist/types/engine.js.map +0 -1
- package/dist/types.d.ts +0 -6
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/engine.ts +0 -1009
- package/examples.ts +0 -717
- package/index.ts +0 -106
- package/learning.ts +0 -779
- package/llm-service.ts +0 -120
- package/planning.ts +0 -1101
- package/reasoning.ts +0 -1079
- package/search-discovery.ts +0 -700
- package/server.ts +0 -115
- package/types/analysis.ts +0 -69
- package/types/core.ts +0 -90
- package/types/creativity.ts +0 -72
- package/types/engine.ts +0 -60
- package/types/index.ts +0 -9
- package/types/learning.ts +0 -69
- package/types/planning.ts +0 -85
- package/types/reasoning.ts +0 -92
- package/types/search.ts +0 -58
- package/types/synthesis.ts +0 -43
- package/types.ts +0 -6
- /package/dist/{server.d.ts → mcp/server.d.ts} +0 -0
|
@@ -0,0 +1,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":"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"}
|
|
@@ -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 @@
|
|
|
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
|
-
*
|
|
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
|
-
|
|
22
|
-
|
|
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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"}
|