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 @@
|
|
|
1
|
+
{"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,SAAM,GAAG,MAAM,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;CASb,CAAC;AAEX;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAkC;IAElD;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOjD;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAI/B;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAG1C;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ID Generator Utility for gthinking v2.0.0
|
|
4
|
+
* Secure and collision-resistant ID generation
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.idGenerator = exports.IdGenerator = exports.Namespaces = void 0;
|
|
8
|
+
exports.generateUUID = generateUUID;
|
|
9
|
+
exports.generateDeterministicUUID = generateDeterministicUUID;
|
|
10
|
+
exports.generateShortId = generateShortId;
|
|
11
|
+
exports.generateTimestampId = generateTimestampId;
|
|
12
|
+
exports.generateSequentialId = generateSequentialId;
|
|
13
|
+
exports.generateCompoundId = generateCompoundId;
|
|
14
|
+
exports.isValidUUID = isValidUUID;
|
|
15
|
+
const uuid_1 = require("uuid");
|
|
16
|
+
/**
|
|
17
|
+
* Generate a random UUID v4
|
|
18
|
+
* @returns A random UUID string
|
|
19
|
+
*/
|
|
20
|
+
function generateUUID() {
|
|
21
|
+
return (0, uuid_1.v4)();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Generate a deterministic UUID v5 based on a namespace and name
|
|
25
|
+
* @param namespace - The namespace UUID
|
|
26
|
+
* @param name - The name to hash
|
|
27
|
+
* @returns A deterministic UUID string
|
|
28
|
+
*/
|
|
29
|
+
function generateDeterministicUUID(namespace, name) {
|
|
30
|
+
return (0, uuid_1.v5)(name, namespace);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generate a short ID (8 characters) for internal use
|
|
34
|
+
* Note: This is not cryptographically secure, use only for non-sensitive IDs
|
|
35
|
+
* @returns A short random string
|
|
36
|
+
*/
|
|
37
|
+
function generateShortId() {
|
|
38
|
+
return Math.random().toString(36).substring(2, 10);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Generate a timestamp-based ID with random suffix
|
|
42
|
+
* @param prefix - Optional prefix for the ID
|
|
43
|
+
* @returns A timestamp-based ID string
|
|
44
|
+
*/
|
|
45
|
+
function generateTimestampId(prefix) {
|
|
46
|
+
const timestamp = Date.now().toString(36);
|
|
47
|
+
const random = Math.random().toString(36).substring(2, 6);
|
|
48
|
+
const id = `${timestamp}_${random}`;
|
|
49
|
+
return prefix ? `${prefix}_${id}` : id;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Generate a sequential ID with padding
|
|
53
|
+
* @param sequence - The sequence number
|
|
54
|
+
* @param padding - The number of digits to pad to
|
|
55
|
+
* @returns A padded sequential ID string
|
|
56
|
+
*/
|
|
57
|
+
function generateSequentialId(sequence, padding = 6) {
|
|
58
|
+
return sequence.toString().padStart(padding, '0');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Generate a compound ID from multiple parts
|
|
62
|
+
* @param parts - The parts to combine
|
|
63
|
+
* @param separator - The separator to use (default: '_')
|
|
64
|
+
* @returns A compound ID string
|
|
65
|
+
*/
|
|
66
|
+
function generateCompoundId(parts, separator = '_') {
|
|
67
|
+
return parts.join(separator);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validate if a string is a valid UUID
|
|
71
|
+
* @param id - The string to validate
|
|
72
|
+
* @returns True if the string is a valid UUID
|
|
73
|
+
*/
|
|
74
|
+
function isValidUUID(id) {
|
|
75
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
76
|
+
return uuidRegex.test(id);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Namespace UUIDs for deterministic ID generation
|
|
80
|
+
*/
|
|
81
|
+
exports.Namespaces = {
|
|
82
|
+
DNS: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
|
|
83
|
+
URL: '6ba7b811-9dad-11d1-80b4-00c04fd430c8',
|
|
84
|
+
OID: '6ba7b812-9dad-11d1-80b4-00c04fd430c8',
|
|
85
|
+
X500: '6ba7b814-9dad-11d1-80b4-00c04fd430c8',
|
|
86
|
+
// Custom namespaces for gthinking
|
|
87
|
+
SESSION: 'a7b8c9d0-e1f2-4a3b-8c4d-5e6f7a8b9c0d',
|
|
88
|
+
TASK: 'b8c9d0e1-f2a3-5b4c-9d5e-6f7a8b9c0d1e',
|
|
89
|
+
IDEA: 'c9d0e1f2-a3b4-6c5d-0e6f-7a8b9c0d1e2f',
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* ID Generator class for managing ID generation with prefixes
|
|
93
|
+
*/
|
|
94
|
+
class IdGenerator {
|
|
95
|
+
counters = new Map();
|
|
96
|
+
/**
|
|
97
|
+
* Generate a prefixed ID with an auto-incrementing counter
|
|
98
|
+
* @param prefix - The prefix for the ID
|
|
99
|
+
* @returns A prefixed ID string
|
|
100
|
+
*/
|
|
101
|
+
generatePrefixedId(prefix) {
|
|
102
|
+
const current = this.counters.get(prefix) || 0;
|
|
103
|
+
const next = current + 1;
|
|
104
|
+
this.counters.set(prefix, next);
|
|
105
|
+
return `${prefix}_${generateSequentialId(next)}`;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Reset the counter for a specific prefix
|
|
109
|
+
* @param prefix - The prefix to reset
|
|
110
|
+
*/
|
|
111
|
+
resetCounter(prefix) {
|
|
112
|
+
this.counters.delete(prefix);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Reset all counters
|
|
116
|
+
*/
|
|
117
|
+
resetAllCounters() {
|
|
118
|
+
this.counters.clear();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get the current counter value for a prefix
|
|
122
|
+
* @param prefix - The prefix to check
|
|
123
|
+
* @returns The current counter value
|
|
124
|
+
*/
|
|
125
|
+
getCounter(prefix) {
|
|
126
|
+
return this.counters.get(prefix) || 0;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.IdGenerator = IdGenerator;
|
|
130
|
+
// Export a singleton instance
|
|
131
|
+
exports.idGenerator = new IdGenerator();
|
|
132
|
+
//# sourceMappingURL=id-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utils Index for gthinking v2.0.0
|
|
3
|
+
* Central export point for all utilities
|
|
4
|
+
*/
|
|
5
|
+
export * from './id-generator';
|
|
6
|
+
export * from './validation';
|
|
7
|
+
export * from './logger';
|
|
8
|
+
export * from './cache';
|
|
9
|
+
export * from './metrics';
|
|
10
|
+
export * from './timer';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utils Index for gthinking v2.0.0
|
|
4
|
+
* Central export point for all utilities
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// ID Generator
|
|
22
|
+
__exportStar(require("./id-generator"), exports);
|
|
23
|
+
// Validation
|
|
24
|
+
__exportStar(require("./validation"), exports);
|
|
25
|
+
// Logger
|
|
26
|
+
__exportStar(require("./logger"), exports);
|
|
27
|
+
// Cache
|
|
28
|
+
__exportStar(require("./cache"), exports);
|
|
29
|
+
// Metrics
|
|
30
|
+
__exportStar(require("./metrics"), exports);
|
|
31
|
+
// Timer
|
|
32
|
+
__exportStar(require("./timer"), exports);
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,iDAA+B;AAE/B,aAAa;AACb,+CAA6B;AAE7B,SAAS;AACT,2CAAyB;AAEzB,QAAQ;AACR,0CAAwB;AAExB,UAAU;AACV,4CAA0B;AAE1B,QAAQ;AACR,0CAAwB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Utility for gthinking v2.0.0
|
|
3
|
+
* Structured logging with Winston
|
|
4
|
+
*/
|
|
5
|
+
import winston from 'winston';
|
|
6
|
+
/**
|
|
7
|
+
* Log levels
|
|
8
|
+
*/
|
|
9
|
+
export declare const LogLevel: {
|
|
10
|
+
readonly ERROR: "error";
|
|
11
|
+
readonly WARN: "warn";
|
|
12
|
+
readonly INFO: "info";
|
|
13
|
+
readonly DEBUG: "debug";
|
|
14
|
+
};
|
|
15
|
+
export type LogLevelType = typeof LogLevel[keyof typeof LogLevel];
|
|
16
|
+
/**
|
|
17
|
+
* Logger configuration interface
|
|
18
|
+
*/
|
|
19
|
+
export interface LoggerConfig {
|
|
20
|
+
level: LogLevelType;
|
|
21
|
+
enableConsole: boolean;
|
|
22
|
+
enableFile: boolean;
|
|
23
|
+
logDir?: string;
|
|
24
|
+
maxFiles?: number;
|
|
25
|
+
maxSize?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a Winston logger instance
|
|
29
|
+
* @param config - Logger configuration
|
|
30
|
+
* @returns Winston logger instance
|
|
31
|
+
*/
|
|
32
|
+
export declare function createLogger(config?: Partial<LoggerConfig>): winston.Logger;
|
|
33
|
+
/**
|
|
34
|
+
* Set the default logger
|
|
35
|
+
* @param logger - The logger to set as default
|
|
36
|
+
*/
|
|
37
|
+
export declare function setDefaultLogger(logger: winston.Logger): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get the default logger
|
|
40
|
+
* @returns The default logger instance
|
|
41
|
+
*/
|
|
42
|
+
export declare function getDefaultLogger(): winston.Logger;
|
|
43
|
+
/**
|
|
44
|
+
* Log an error message
|
|
45
|
+
* @param message - The error message
|
|
46
|
+
* @param metadata - Additional metadata
|
|
47
|
+
*/
|
|
48
|
+
export declare function error(message: string, metadata?: Record<string, unknown>): void;
|
|
49
|
+
/**
|
|
50
|
+
* Log a warning message
|
|
51
|
+
* @param message - The warning message
|
|
52
|
+
* @param metadata - Additional metadata
|
|
53
|
+
*/
|
|
54
|
+
export declare function warn(message: string, metadata?: Record<string, unknown>): void;
|
|
55
|
+
/**
|
|
56
|
+
* Log an info message
|
|
57
|
+
* @param message - The info message
|
|
58
|
+
* @param metadata - Additional metadata
|
|
59
|
+
*/
|
|
60
|
+
export declare function info(message: string, metadata?: Record<string, unknown>): void;
|
|
61
|
+
/**
|
|
62
|
+
* Log a debug message
|
|
63
|
+
* @param message - The debug message
|
|
64
|
+
* @param metadata - Additional metadata
|
|
65
|
+
*/
|
|
66
|
+
export declare function debug(message: string, metadata?: Record<string, unknown>): void;
|
|
67
|
+
/**
|
|
68
|
+
* Create a child logger with default metadata
|
|
69
|
+
* @param defaultMetadata - Default metadata to include
|
|
70
|
+
* @returns Child logger
|
|
71
|
+
*/
|
|
72
|
+
export declare function createChildLogger(defaultMetadata: Record<string, unknown>): winston.Logger;
|
|
73
|
+
/**
|
|
74
|
+
* Logger class for component-specific logging
|
|
75
|
+
*/
|
|
76
|
+
export declare class Logger {
|
|
77
|
+
private logger;
|
|
78
|
+
private component;
|
|
79
|
+
constructor(component: string, config?: Partial<LoggerConfig>);
|
|
80
|
+
/**
|
|
81
|
+
* Log an error message
|
|
82
|
+
*/
|
|
83
|
+
error(message: string, metadata?: Record<string, unknown>): void;
|
|
84
|
+
/**
|
|
85
|
+
* Log a warning message
|
|
86
|
+
*/
|
|
87
|
+
warn(message: string, metadata?: Record<string, unknown>): void;
|
|
88
|
+
/**
|
|
89
|
+
* Log an info message
|
|
90
|
+
*/
|
|
91
|
+
info(message: string, metadata?: Record<string, unknown>): void;
|
|
92
|
+
/**
|
|
93
|
+
* Log a debug message
|
|
94
|
+
*/
|
|
95
|
+
debug(message: string, metadata?: Record<string, unknown>): void;
|
|
96
|
+
/**
|
|
97
|
+
* Create a child logger
|
|
98
|
+
*/
|
|
99
|
+
child(metadata: Record<string, unknown>): winston.Logger;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Performance logger for tracking operation performance
|
|
103
|
+
*/
|
|
104
|
+
export declare class PerformanceLogger {
|
|
105
|
+
private logger;
|
|
106
|
+
private timings;
|
|
107
|
+
constructor();
|
|
108
|
+
/**
|
|
109
|
+
* Start timing an operation
|
|
110
|
+
* @param operation - The operation name
|
|
111
|
+
*/
|
|
112
|
+
start(operation: string): void;
|
|
113
|
+
/**
|
|
114
|
+
* End timing an operation and log the duration
|
|
115
|
+
* @param operation - The operation name
|
|
116
|
+
* @param metadata - Additional metadata
|
|
117
|
+
*/
|
|
118
|
+
end(operation: string, metadata?: Record<string, unknown>): number;
|
|
119
|
+
/**
|
|
120
|
+
* Log a performance metric
|
|
121
|
+
* @param metric - The metric name
|
|
122
|
+
* @param value - The metric value
|
|
123
|
+
* @param metadata - Additional metadata
|
|
124
|
+
*/
|
|
125
|
+
logMetric(metric: string, value: number, metadata?: Record<string, unknown>): void;
|
|
126
|
+
/**
|
|
127
|
+
* Clear all timings
|
|
128
|
+
*/
|
|
129
|
+
clear(): void;
|
|
130
|
+
}
|
|
131
|
+
export declare const performanceLogger: PerformanceLogger;
|
|
132
|
+
/**
|
|
133
|
+
* Default logger instance
|
|
134
|
+
*/
|
|
135
|
+
export declare const logger: winston.Logger;
|
|
136
|
+
/**
|
|
137
|
+
* Create a component logger
|
|
138
|
+
* @param component - Component name
|
|
139
|
+
* @returns Logger instance
|
|
140
|
+
*/
|
|
141
|
+
export declare function createComponentLogger(component: string): Logger;
|
|
142
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Logger Utility for gthinking v2.0.0
|
|
4
|
+
* Structured logging with Winston
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.logger = exports.performanceLogger = exports.PerformanceLogger = exports.Logger = exports.LogLevel = void 0;
|
|
11
|
+
exports.createLogger = createLogger;
|
|
12
|
+
exports.setDefaultLogger = setDefaultLogger;
|
|
13
|
+
exports.getDefaultLogger = getDefaultLogger;
|
|
14
|
+
exports.error = error;
|
|
15
|
+
exports.warn = warn;
|
|
16
|
+
exports.info = info;
|
|
17
|
+
exports.debug = debug;
|
|
18
|
+
exports.createChildLogger = createChildLogger;
|
|
19
|
+
exports.createComponentLogger = createComponentLogger;
|
|
20
|
+
const winston_1 = __importDefault(require("winston"));
|
|
21
|
+
/**
|
|
22
|
+
* Log levels
|
|
23
|
+
*/
|
|
24
|
+
exports.LogLevel = {
|
|
25
|
+
ERROR: 'error',
|
|
26
|
+
WARN: 'warn',
|
|
27
|
+
INFO: 'info',
|
|
28
|
+
DEBUG: 'debug',
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Default logger configuration
|
|
32
|
+
*/
|
|
33
|
+
const defaultConfig = {
|
|
34
|
+
level: 'info',
|
|
35
|
+
enableConsole: true,
|
|
36
|
+
enableFile: false,
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Create a Winston logger instance
|
|
40
|
+
* @param config - Logger configuration
|
|
41
|
+
* @returns Winston logger instance
|
|
42
|
+
*/
|
|
43
|
+
function createLogger(config = {}) {
|
|
44
|
+
const mergedConfig = { ...defaultConfig, ...config };
|
|
45
|
+
const transports = [];
|
|
46
|
+
if (mergedConfig.enableConsole) {
|
|
47
|
+
transports.push(new winston_1.default.transports.Console({
|
|
48
|
+
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston_1.default.format.printf(({ level, message, timestamp, ...metadata }) => {
|
|
49
|
+
let msg = `${timestamp} [${level}]: ${message}`;
|
|
50
|
+
if (Object.keys(metadata).length > 0) {
|
|
51
|
+
msg += ` ${JSON.stringify(metadata)}`;
|
|
52
|
+
}
|
|
53
|
+
return msg;
|
|
54
|
+
})),
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
if (mergedConfig.enableFile && mergedConfig.logDir) {
|
|
58
|
+
transports.push(new winston_1.default.transports.File({
|
|
59
|
+
filename: `${mergedConfig.logDir}/error.log`,
|
|
60
|
+
level: 'error',
|
|
61
|
+
maxFiles: mergedConfig.maxFiles || 5,
|
|
62
|
+
maxsize: (mergedConfig.maxSize || '10m'),
|
|
63
|
+
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()),
|
|
64
|
+
}));
|
|
65
|
+
transports.push(new winston_1.default.transports.File({
|
|
66
|
+
filename: `${mergedConfig.logDir}/combined.log`,
|
|
67
|
+
maxFiles: mergedConfig.maxFiles || 5,
|
|
68
|
+
maxsize: (mergedConfig.maxSize || '10m'),
|
|
69
|
+
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()),
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
return winston_1.default.createLogger({
|
|
73
|
+
level: mergedConfig.level,
|
|
74
|
+
defaultMeta: { service: 'gthinking' },
|
|
75
|
+
transports,
|
|
76
|
+
exitOnError: false,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// Create default logger instance
|
|
80
|
+
let defaultLogger = createLogger();
|
|
81
|
+
/**
|
|
82
|
+
* Set the default logger
|
|
83
|
+
* @param logger - The logger to set as default
|
|
84
|
+
*/
|
|
85
|
+
function setDefaultLogger(logger) {
|
|
86
|
+
defaultLogger = logger;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get the default logger
|
|
90
|
+
* @returns The default logger instance
|
|
91
|
+
*/
|
|
92
|
+
function getDefaultLogger() {
|
|
93
|
+
return defaultLogger;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Log an error message
|
|
97
|
+
* @param message - The error message
|
|
98
|
+
* @param metadata - Additional metadata
|
|
99
|
+
*/
|
|
100
|
+
function error(message, metadata = {}) {
|
|
101
|
+
defaultLogger.error(message, metadata);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Log a warning message
|
|
105
|
+
* @param message - The warning message
|
|
106
|
+
* @param metadata - Additional metadata
|
|
107
|
+
*/
|
|
108
|
+
function warn(message, metadata = {}) {
|
|
109
|
+
defaultLogger.warn(message, metadata);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Log an info message
|
|
113
|
+
* @param message - The info message
|
|
114
|
+
* @param metadata - Additional metadata
|
|
115
|
+
*/
|
|
116
|
+
function info(message, metadata = {}) {
|
|
117
|
+
defaultLogger.info(message, metadata);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Log a debug message
|
|
121
|
+
* @param message - The debug message
|
|
122
|
+
* @param metadata - Additional metadata
|
|
123
|
+
*/
|
|
124
|
+
function debug(message, metadata = {}) {
|
|
125
|
+
defaultLogger.debug(message, metadata);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Create a child logger with default metadata
|
|
129
|
+
* @param defaultMetadata - Default metadata to include
|
|
130
|
+
* @returns Child logger
|
|
131
|
+
*/
|
|
132
|
+
function createChildLogger(defaultMetadata) {
|
|
133
|
+
return defaultLogger.child(defaultMetadata);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Logger class for component-specific logging
|
|
137
|
+
*/
|
|
138
|
+
class Logger {
|
|
139
|
+
logger;
|
|
140
|
+
component;
|
|
141
|
+
constructor(component, config) {
|
|
142
|
+
this.component = component;
|
|
143
|
+
this.logger = createLogger(config);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Log an error message
|
|
147
|
+
*/
|
|
148
|
+
error(message, metadata = {}) {
|
|
149
|
+
this.logger.error(message, { component: this.component, ...metadata });
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Log a warning message
|
|
153
|
+
*/
|
|
154
|
+
warn(message, metadata = {}) {
|
|
155
|
+
this.logger.warn(message, { component: this.component, ...metadata });
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Log an info message
|
|
159
|
+
*/
|
|
160
|
+
info(message, metadata = {}) {
|
|
161
|
+
this.logger.info(message, { component: this.component, ...metadata });
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Log a debug message
|
|
165
|
+
*/
|
|
166
|
+
debug(message, metadata = {}) {
|
|
167
|
+
this.logger.debug(message, { component: this.component, ...metadata });
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Create a child logger
|
|
171
|
+
*/
|
|
172
|
+
child(metadata) {
|
|
173
|
+
return this.logger.child({ component: this.component, ...metadata });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
exports.Logger = Logger;
|
|
177
|
+
/**
|
|
178
|
+
* Performance logger for tracking operation performance
|
|
179
|
+
*/
|
|
180
|
+
class PerformanceLogger {
|
|
181
|
+
logger;
|
|
182
|
+
timings = new Map();
|
|
183
|
+
constructor() {
|
|
184
|
+
this.logger = createLogger({ level: 'debug' });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Start timing an operation
|
|
188
|
+
* @param operation - The operation name
|
|
189
|
+
*/
|
|
190
|
+
start(operation) {
|
|
191
|
+
this.timings.set(operation, Date.now());
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* End timing an operation and log the duration
|
|
195
|
+
* @param operation - The operation name
|
|
196
|
+
* @param metadata - Additional metadata
|
|
197
|
+
*/
|
|
198
|
+
end(operation, metadata = {}) {
|
|
199
|
+
const startTime = this.timings.get(operation);
|
|
200
|
+
if (!startTime) {
|
|
201
|
+
this.logger.warn(`No start time found for operation: ${operation}`);
|
|
202
|
+
return 0;
|
|
203
|
+
}
|
|
204
|
+
const duration = Date.now() - startTime;
|
|
205
|
+
this.timings.delete(operation);
|
|
206
|
+
this.logger.debug(`Operation ${operation} completed`, {
|
|
207
|
+
operation,
|
|
208
|
+
duration,
|
|
209
|
+
...metadata,
|
|
210
|
+
});
|
|
211
|
+
return duration;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Log a performance metric
|
|
215
|
+
* @param metric - The metric name
|
|
216
|
+
* @param value - The metric value
|
|
217
|
+
* @param metadata - Additional metadata
|
|
218
|
+
*/
|
|
219
|
+
logMetric(metric, value, metadata = {}) {
|
|
220
|
+
this.logger.debug(`Performance metric: ${metric}`, {
|
|
221
|
+
metric,
|
|
222
|
+
value,
|
|
223
|
+
...metadata,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Clear all timings
|
|
228
|
+
*/
|
|
229
|
+
clear() {
|
|
230
|
+
this.timings.clear();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
exports.PerformanceLogger = PerformanceLogger;
|
|
234
|
+
// Export a singleton performance logger
|
|
235
|
+
exports.performanceLogger = new PerformanceLogger();
|
|
236
|
+
/**
|
|
237
|
+
* Default logger instance
|
|
238
|
+
*/
|
|
239
|
+
exports.logger = defaultLogger;
|
|
240
|
+
/**
|
|
241
|
+
* Create a component logger
|
|
242
|
+
* @param component - Component name
|
|
243
|
+
* @returns Logger instance
|
|
244
|
+
*/
|
|
245
|
+
function createComponentLogger(component) {
|
|
246
|
+
return new Logger(component);
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|