@nahisaho/yata-local 1.6.6

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 (77) hide show
  1. package/dist/auto-updater.d.ts +101 -0
  2. package/dist/auto-updater.d.ts.map +1 -0
  3. package/dist/auto-updater.js +402 -0
  4. package/dist/auto-updater.js.map +1 -0
  5. package/dist/database.d.ts +229 -0
  6. package/dist/database.d.ts.map +1 -0
  7. package/dist/database.js +959 -0
  8. package/dist/database.js.map +1 -0
  9. package/dist/index.d.ts +298 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +436 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/io.d.ts +77 -0
  14. package/dist/io.d.ts.map +1 -0
  15. package/dist/io.js +403 -0
  16. package/dist/io.js.map +1 -0
  17. package/dist/kgpr/diff-engine.d.ts +110 -0
  18. package/dist/kgpr/diff-engine.d.ts.map +1 -0
  19. package/dist/kgpr/diff-engine.js +335 -0
  20. package/dist/kgpr/diff-engine.js.map +1 -0
  21. package/dist/kgpr/index.d.ts +16 -0
  22. package/dist/kgpr/index.d.ts.map +1 -0
  23. package/dist/kgpr/index.js +14 -0
  24. package/dist/kgpr/index.js.map +1 -0
  25. package/dist/kgpr/kgpr-manager.d.ts +122 -0
  26. package/dist/kgpr/kgpr-manager.d.ts.map +1 -0
  27. package/dist/kgpr/kgpr-manager.js +344 -0
  28. package/dist/kgpr/kgpr-manager.js.map +1 -0
  29. package/dist/kgpr/privacy-filter.d.ts +109 -0
  30. package/dist/kgpr/privacy-filter.d.ts.map +1 -0
  31. package/dist/kgpr/privacy-filter.js +295 -0
  32. package/dist/kgpr/privacy-filter.js.map +1 -0
  33. package/dist/kgpr/types.d.ts +234 -0
  34. package/dist/kgpr/types.d.ts.map +1 -0
  35. package/dist/kgpr/types.js +54 -0
  36. package/dist/kgpr/types.js.map +1 -0
  37. package/dist/query-engine.d.ts +78 -0
  38. package/dist/query-engine.d.ts.map +1 -0
  39. package/dist/query-engine.js +368 -0
  40. package/dist/query-engine.js.map +1 -0
  41. package/dist/reasoning.d.ts +112 -0
  42. package/dist/reasoning.d.ts.map +1 -0
  43. package/dist/reasoning.js +455 -0
  44. package/dist/reasoning.js.map +1 -0
  45. package/dist/types.d.ts +580 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +37 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/wake-sleep/cycle-manager.d.ts +76 -0
  50. package/dist/wake-sleep/cycle-manager.d.ts.map +1 -0
  51. package/dist/wake-sleep/cycle-manager.js +291 -0
  52. package/dist/wake-sleep/cycle-manager.js.map +1 -0
  53. package/dist/wake-sleep/index.d.ts +15 -0
  54. package/dist/wake-sleep/index.d.ts.map +1 -0
  55. package/dist/wake-sleep/index.js +19 -0
  56. package/dist/wake-sleep/index.js.map +1 -0
  57. package/dist/wake-sleep/pattern-compressor.d.ts +86 -0
  58. package/dist/wake-sleep/pattern-compressor.d.ts.map +1 -0
  59. package/dist/wake-sleep/pattern-compressor.js +333 -0
  60. package/dist/wake-sleep/pattern-compressor.js.map +1 -0
  61. package/dist/wake-sleep/sleep-phase.d.ts +79 -0
  62. package/dist/wake-sleep/sleep-phase.d.ts.map +1 -0
  63. package/dist/wake-sleep/sleep-phase.js +329 -0
  64. package/dist/wake-sleep/sleep-phase.js.map +1 -0
  65. package/dist/wake-sleep/types.d.ts +244 -0
  66. package/dist/wake-sleep/types.d.ts.map +1 -0
  67. package/dist/wake-sleep/types.js +35 -0
  68. package/dist/wake-sleep/types.js.map +1 -0
  69. package/dist/wake-sleep/wake-phase.d.ts +83 -0
  70. package/dist/wake-sleep/wake-phase.d.ts.map +1 -0
  71. package/dist/wake-sleep/wake-phase.js +457 -0
  72. package/dist/wake-sleep/wake-phase.js.map +1 -0
  73. package/dist/yata-bridge.d.ts +78 -0
  74. package/dist/yata-bridge.d.ts.map +1 -0
  75. package/dist/yata-bridge.js +193 -0
  76. package/dist/yata-bridge.js.map +1 -0
  77. package/package.json +60 -0
@@ -0,0 +1,329 @@
1
+ /**
2
+ * @fileoverview Sleep Phase Implementation for YATA Local
3
+ * @module @nahisaho/yata-local/wake-sleep
4
+ * @version 0.1.0
5
+ * @license MIT
6
+ *
7
+ * Trace: REQ-WSL-002, TSK-WSL-002
8
+ */
9
+ import { randomUUID } from 'crypto';
10
+ /**
11
+ * Sleep Phase - Pattern Clustering and Consolidation
12
+ *
13
+ * Responsible for:
14
+ * - Clustering similar patterns
15
+ * - Selecting representative patterns
16
+ * - Confidence management (update/decay)
17
+ */
18
+ export class LocalSleepPhase {
19
+ options;
20
+ similarityMethod;
21
+ constructor(options = {}, similarityMethod = 'jaccard') {
22
+ this.options = {
23
+ similarityThreshold: options.similarityThreshold ?? 0.8,
24
+ minClusterSize: options.minClusterSize ?? 2,
25
+ maxClusters: options.maxClusters ?? 100,
26
+ };
27
+ this.similarityMethod = similarityMethod;
28
+ }
29
+ /**
30
+ * Cluster similar pattern candidates
31
+ */
32
+ async cluster(candidates) {
33
+ const startTime = Date.now();
34
+ const clusters = [];
35
+ const unclustered = [];
36
+ const assigned = new Set();
37
+ // Sort by confidence (higher first)
38
+ const sorted = [...candidates].sort((a, b) => b.confidence - a.confidence);
39
+ for (const candidate of sorted) {
40
+ if (assigned.has(candidate.tempId))
41
+ continue;
42
+ // Try to find or create a cluster
43
+ let foundCluster = false;
44
+ for (const cluster of clusters) {
45
+ const similarity = this.calculateSimilarity(candidate.signature, cluster.centroid);
46
+ if (similarity >= this.options.similarityThreshold) {
47
+ // Add to existing cluster
48
+ cluster.patterns.push(candidate);
49
+ cluster.avgSimilarity = this.recalculateAvgSimilarity(cluster);
50
+ cluster.totalOccurrences++;
51
+ assigned.add(candidate.tempId);
52
+ foundCluster = true;
53
+ break;
54
+ }
55
+ }
56
+ if (!foundCluster && clusters.length < this.options.maxClusters) {
57
+ // Create new cluster with this candidate as seed
58
+ const newCluster = {
59
+ clusterId: `CLUST-${Date.now()}-${randomUUID().substring(0, 8)}`,
60
+ patterns: [candidate],
61
+ representative: candidate,
62
+ avgSimilarity: 1.0,
63
+ centroid: candidate.signature,
64
+ totalOccurrences: 1,
65
+ };
66
+ clusters.push(newCluster);
67
+ assigned.add(candidate.tempId);
68
+ }
69
+ else if (!foundCluster) {
70
+ unclustered.push(candidate);
71
+ }
72
+ }
73
+ // Select representatives for each cluster
74
+ for (const cluster of clusters) {
75
+ cluster.representative = this.selectRepresentative(cluster);
76
+ cluster.centroid = this.computeCentroid(cluster);
77
+ }
78
+ // Filter clusters by minimum size
79
+ const validClusters = clusters.filter(c => c.patterns.length >= this.options.minClusterSize);
80
+ // Add patterns from small clusters to unclustered
81
+ for (const cluster of clusters) {
82
+ if (cluster.patterns.length < this.options.minClusterSize) {
83
+ unclustered.push(...cluster.patterns);
84
+ }
85
+ }
86
+ return {
87
+ clusters: validClusters,
88
+ unclustered,
89
+ stats: {
90
+ totalPatterns: candidates.length,
91
+ clusteredPatterns: validClusters.reduce((sum, c) => sum + c.patterns.length, 0),
92
+ unclusteredPatterns: unclustered.length,
93
+ clustersFormed: validClusters.length,
94
+ avgClusterSize: validClusters.length > 0
95
+ ? validClusters.reduce((sum, c) => sum + c.patterns.length, 0) / validClusters.length
96
+ : 0,
97
+ processingTimeMs: Date.now() - startTime,
98
+ },
99
+ };
100
+ }
101
+ /**
102
+ * Select the representative pattern from a cluster
103
+ */
104
+ selectRepresentative(cluster) {
105
+ // Score each pattern
106
+ const scored = cluster.patterns.map(pattern => ({
107
+ pattern,
108
+ score: this.scorePattern(pattern, cluster),
109
+ }));
110
+ // Sort by score (higher is better)
111
+ scored.sort((a, b) => b.score - a.score);
112
+ return scored[0]?.pattern ?? cluster.patterns[0];
113
+ }
114
+ /**
115
+ * Update confidence for a pattern based on usage
116
+ */
117
+ updateConfidence(pattern, used) {
118
+ const now = new Date();
119
+ if (used) {
120
+ // Increase confidence and update usage
121
+ return {
122
+ ...pattern,
123
+ confidence: Math.min(1.0, pattern.confidence + 0.05),
124
+ usageCount: pattern.usageCount + 1,
125
+ lastUsedAt: now,
126
+ };
127
+ }
128
+ return pattern;
129
+ }
130
+ /**
131
+ * Decay confidence for unused patterns
132
+ */
133
+ decay(pattern, decayRate = 0.01) {
134
+ const now = new Date();
135
+ const lastUsed = pattern.lastUsedAt ?? pattern.createdAt;
136
+ const daysSinceUse = Math.floor((now.getTime() - lastUsed.getTime()) / (1000 * 60 * 60 * 24));
137
+ // Decay based on days since last use
138
+ const decayFactor = Math.pow(1 - decayRate, daysSinceUse);
139
+ const newConfidence = pattern.confidence * decayFactor;
140
+ return {
141
+ ...pattern,
142
+ confidence: Math.max(0.0, newConfidence),
143
+ };
144
+ }
145
+ /**
146
+ * Calculate similarity between two signatures
147
+ */
148
+ calculateSimilarity(sig1, sig2) {
149
+ switch (this.similarityMethod) {
150
+ case 'jaccard':
151
+ return this.jaccardSimilarity(sig1, sig2);
152
+ case 'cosine':
153
+ return this.cosineSimilarity(sig1, sig2);
154
+ case 'levenshtein':
155
+ return this.levenshteinSimilarity(sig1, sig2);
156
+ case 'ast':
157
+ return this.astSimilarity(sig1, sig2);
158
+ default:
159
+ return this.jaccardSimilarity(sig1, sig2);
160
+ }
161
+ }
162
+ /**
163
+ * Jaccard similarity coefficient
164
+ */
165
+ jaccardSimilarity(a, b) {
166
+ const tokensA = new Set(a.split('|'));
167
+ const tokensB = new Set(b.split('|'));
168
+ const intersection = new Set([...tokensA].filter(x => tokensB.has(x)));
169
+ const union = new Set([...tokensA, ...tokensB]);
170
+ if (union.size === 0)
171
+ return 0;
172
+ return intersection.size / union.size;
173
+ }
174
+ /**
175
+ * Cosine similarity (token-based)
176
+ */
177
+ cosineSimilarity(a, b) {
178
+ const tokensA = a.split('|');
179
+ const tokensB = b.split('|');
180
+ // Build vocabulary
181
+ const vocab = new Set([...tokensA, ...tokensB]);
182
+ // Create frequency vectors
183
+ const vectorA = new Map();
184
+ const vectorB = new Map();
185
+ for (const token of tokensA) {
186
+ vectorA.set(token, (vectorA.get(token) ?? 0) + 1);
187
+ }
188
+ for (const token of tokensB) {
189
+ vectorB.set(token, (vectorB.get(token) ?? 0) + 1);
190
+ }
191
+ // Calculate dot product and magnitudes
192
+ let dotProduct = 0;
193
+ let magA = 0;
194
+ let magB = 0;
195
+ for (const token of vocab) {
196
+ const a = vectorA.get(token) ?? 0;
197
+ const b = vectorB.get(token) ?? 0;
198
+ dotProduct += a * b;
199
+ magA += a * a;
200
+ magB += b * b;
201
+ }
202
+ const magnitude = Math.sqrt(magA) * Math.sqrt(magB);
203
+ if (magnitude === 0)
204
+ return 0;
205
+ return dotProduct / magnitude;
206
+ }
207
+ /**
208
+ * Levenshtein-based similarity
209
+ */
210
+ levenshteinSimilarity(a, b) {
211
+ const distance = this.levenshteinDistance(a, b);
212
+ const maxLen = Math.max(a.length, b.length);
213
+ if (maxLen === 0)
214
+ return 1;
215
+ return 1 - distance / maxLen;
216
+ }
217
+ /**
218
+ * Levenshtein edit distance
219
+ */
220
+ levenshteinDistance(a, b) {
221
+ const matrix = [];
222
+ for (let i = 0; i <= b.length; i++) {
223
+ matrix[i] = [i];
224
+ }
225
+ for (let j = 0; j <= a.length; j++) {
226
+ matrix[0][j] = j;
227
+ }
228
+ for (let i = 1; i <= b.length; i++) {
229
+ for (let j = 1; j <= a.length; j++) {
230
+ if (b.charAt(i - 1) === a.charAt(j - 1)) {
231
+ matrix[i][j] = matrix[i - 1][j - 1];
232
+ }
233
+ else {
234
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
235
+ matrix[i][j - 1] + 1, // insertion
236
+ matrix[i - 1][j] + 1 // deletion
237
+ );
238
+ }
239
+ }
240
+ }
241
+ return matrix[b.length][a.length];
242
+ }
243
+ /**
244
+ * AST-based similarity (simplified)
245
+ */
246
+ astSimilarity(a, b) {
247
+ // For now, use Jaccard with structure-aware parsing
248
+ const structA = a.split(':');
249
+ const structB = b.split(':');
250
+ // Check type match first
251
+ if (structA[0] !== structB[0]) {
252
+ return 0; // Different types are never similar
253
+ }
254
+ // Compare token parts
255
+ const tokensA = structA[1]?.split('|') ?? [];
256
+ const tokensB = structB[1]?.split('|') ?? [];
257
+ return this.jaccardSimilarity(tokensA.join('|'), tokensB.join('|'));
258
+ }
259
+ /**
260
+ * Score a pattern for representative selection
261
+ */
262
+ scorePattern(pattern, cluster) {
263
+ let score = pattern.confidence;
264
+ // Bonus for documentation
265
+ if (pattern.content.includes('/**') || pattern.content.includes('* @')) {
266
+ score += 0.2;
267
+ }
268
+ // Bonus for type annotations
269
+ if (pattern.content.includes(': ') || pattern.content.includes('<')) {
270
+ score += 0.1;
271
+ }
272
+ // Penalty for very short patterns
273
+ if (pattern.content.split('\n').length < 3) {
274
+ score -= 0.1;
275
+ }
276
+ // Penalty for very long patterns
277
+ if (pattern.content.split('\n').length > 100) {
278
+ score -= 0.2;
279
+ }
280
+ // Similarity to cluster centroid
281
+ const simToCentroid = this.calculateSimilarity(pattern.signature, cluster.centroid);
282
+ score += simToCentroid * 0.2;
283
+ return score;
284
+ }
285
+ /**
286
+ * Compute cluster centroid
287
+ */
288
+ computeCentroid(cluster) {
289
+ // Use the most common tokens as centroid
290
+ const tokenCounts = new Map();
291
+ for (const pattern of cluster.patterns) {
292
+ const tokens = pattern.signature.split('|');
293
+ for (const token of tokens) {
294
+ tokenCounts.set(token, (tokenCounts.get(token) ?? 0) + 1);
295
+ }
296
+ }
297
+ // Get tokens that appear in majority of patterns
298
+ const threshold = cluster.patterns.length / 2;
299
+ const centroidTokens = [...tokenCounts.entries()]
300
+ .filter(([_, count]) => count >= threshold)
301
+ .map(([token]) => token);
302
+ // Preserve type prefix
303
+ const type = cluster.patterns[0].type;
304
+ return `${type}:${centroidTokens.join('|')}`;
305
+ }
306
+ /**
307
+ * Recalculate average similarity within a cluster
308
+ */
309
+ recalculateAvgSimilarity(cluster) {
310
+ if (cluster.patterns.length <= 1)
311
+ return 1.0;
312
+ let totalSimilarity = 0;
313
+ let count = 0;
314
+ for (let i = 0; i < cluster.patterns.length; i++) {
315
+ for (let j = i + 1; j < cluster.patterns.length; j++) {
316
+ totalSimilarity += this.calculateSimilarity(cluster.patterns[i].signature, cluster.patterns[j].signature);
317
+ count++;
318
+ }
319
+ }
320
+ return count > 0 ? totalSimilarity / count : 1.0;
321
+ }
322
+ }
323
+ /**
324
+ * Factory function to create a LocalSleepPhase instance
325
+ */
326
+ export function createLocalSleepPhase(options, similarityMethod) {
327
+ return new LocalSleepPhase(options, similarityMethod);
328
+ }
329
+ //# sourceMappingURL=sleep-phase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep-phase.js","sourceRoot":"","sources":["../../src/wake-sleep/sleep-phase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Types for YATA Local
3
+ * @module @nahisaho/yata-local/wake-sleep
4
+ * @version 0.1.0
5
+ * @license MIT
6
+ *
7
+ * Trace: REQ-WSL-001, REQ-WSL-002, REQ-WSL-003
8
+ */
9
+ /**
10
+ * Pattern candidate extracted during wake phase
11
+ */
12
+ export interface LocalPatternCandidate {
13
+ /** Temporary ID for tracking */
14
+ tempId: string;
15
+ /** Pattern type */
16
+ type: LocalPatternType;
17
+ /** Pattern name/identifier */
18
+ name: string;
19
+ /** Original source code or content */
20
+ content: string;
21
+ /** Source file path */
22
+ sourcePath: string;
23
+ /** Line range in source */
24
+ lineRange: {
25
+ start: number;
26
+ end: number;
27
+ };
28
+ /** Language of the source */
29
+ language: 'typescript' | 'javascript' | 'python' | 'other';
30
+ /** AST signature for matching */
31
+ signature: string;
32
+ /** Initial confidence (0.0 - 1.0) */
33
+ confidence: number;
34
+ /** Extraction timestamp */
35
+ extractedAt: Date;
36
+ /** Additional metadata */
37
+ metadata?: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Pattern types for classification
41
+ */
42
+ export type LocalPatternType = 'function_signature' | 'class_structure' | 'interface_definition' | 'type_definition' | 'import_pattern' | 'export_pattern' | 'error_handling' | 'async_pattern' | 'factory_pattern' | 'repository_pattern' | 'service_pattern' | 'value_object' | 'entity' | 'aggregate' | 'event_handler' | 'middleware' | 'decorator' | 'hook' | 'test_pattern' | 'other';
43
+ /**
44
+ * Cluster of similar patterns
45
+ */
46
+ export interface LocalPatternCluster {
47
+ /** Cluster ID */
48
+ clusterId: string;
49
+ /** Patterns in this cluster */
50
+ patterns: LocalPatternCandidate[];
51
+ /** Representative pattern */
52
+ representative: LocalPatternCandidate;
53
+ /** Average similarity within cluster */
54
+ avgSimilarity: number;
55
+ /** Cluster centroid (abstract representation) */
56
+ centroid: string;
57
+ /** Total occurrences across patterns */
58
+ totalOccurrences: number;
59
+ }
60
+ /**
61
+ * Consolidated pattern ready for storage
62
+ */
63
+ export interface LocalConsolidatedPattern {
64
+ /** Pattern ID */
65
+ id: string;
66
+ /** Pattern name */
67
+ name: string;
68
+ /** Pattern type */
69
+ type: LocalPatternType;
70
+ /** Abstract template */
71
+ template: string;
72
+ /** Compressed representation */
73
+ compressed: string;
74
+ /** Confidence score */
75
+ confidence: number;
76
+ /** Number of source examples */
77
+ sourceCount: number;
78
+ /** Usage count */
79
+ usageCount: number;
80
+ /** Created timestamp */
81
+ createdAt: Date;
82
+ /** Last used timestamp */
83
+ lastUsedAt: Date | null;
84
+ /** Source files this pattern was extracted from */
85
+ sources: string[];
86
+ }
87
+ /**
88
+ * Wake phase observation options
89
+ */
90
+ export interface WakeObserveOptions {
91
+ /** File extensions to include */
92
+ extensions?: string[];
93
+ /** Directories to exclude */
94
+ excludeDirs?: string[];
95
+ /** Minimum confidence threshold */
96
+ minConfidence?: number;
97
+ /** Maximum number of candidates */
98
+ maxCandidates?: number;
99
+ /** Include private members */
100
+ includePrivate?: boolean;
101
+ }
102
+ /**
103
+ * Wake phase observation result
104
+ */
105
+ export interface WakeObserveResult {
106
+ /** Extracted pattern candidates */
107
+ candidates: LocalPatternCandidate[];
108
+ /** Statistics */
109
+ stats: {
110
+ filesScanned: number;
111
+ candidatesFound: number;
112
+ skippedFiles: number;
113
+ processingTimeMs: number;
114
+ };
115
+ /** Any errors encountered */
116
+ errors: Array<{
117
+ file: string;
118
+ error: string;
119
+ }>;
120
+ }
121
+ /**
122
+ * Sleep phase clustering options
123
+ */
124
+ export interface SleepClusterOptions {
125
+ /** Similarity threshold (0.0 - 1.0) */
126
+ similarityThreshold?: number;
127
+ /** Minimum cluster size */
128
+ minClusterSize?: number;
129
+ /** Maximum clusters to form */
130
+ maxClusters?: number;
131
+ }
132
+ /**
133
+ * Sleep phase clustering result
134
+ */
135
+ export interface SleepClusterResult {
136
+ /** Formed clusters */
137
+ clusters: LocalPatternCluster[];
138
+ /** Patterns that didn't cluster */
139
+ unclustered: LocalPatternCandidate[];
140
+ /** Statistics */
141
+ stats: {
142
+ totalPatterns: number;
143
+ clusteredPatterns: number;
144
+ unclusteredPatterns: number;
145
+ clustersFormed: number;
146
+ avgClusterSize: number;
147
+ processingTimeMs: number;
148
+ };
149
+ }
150
+ /**
151
+ * Pattern compression options
152
+ */
153
+ export interface CompressOptions {
154
+ /** Compression level (1-10) */
155
+ level?: number;
156
+ /** Preserve variable names */
157
+ preserveNames?: boolean;
158
+ /** Include type annotations */
159
+ includeTypes?: boolean;
160
+ }
161
+ /**
162
+ * Learning cycle result
163
+ */
164
+ export interface LocalLearningCycleResult {
165
+ /** Cycle ID */
166
+ cycleId: string;
167
+ /** Phase that completed */
168
+ phase: 'wake' | 'sleep' | 'complete';
169
+ /** Wake phase results (if applicable) */
170
+ wakeResult?: WakeObserveResult;
171
+ /** Sleep phase results (if applicable) */
172
+ sleepResult?: SleepClusterResult;
173
+ /** New patterns added to store */
174
+ newPatterns: number;
175
+ /** Patterns updated */
176
+ updatedPatterns: number;
177
+ /** Patterns decayed */
178
+ decayedPatterns: number;
179
+ /** Cycle start time */
180
+ startedAt: Date;
181
+ /** Cycle end time */
182
+ completedAt: Date;
183
+ /** Cycle duration in ms */
184
+ durationMs: number;
185
+ }
186
+ /**
187
+ * Learning cycle status
188
+ */
189
+ export type LearningCycleStatus = 'pending' | 'running' | 'completed' | 'failed';
190
+ /**
191
+ * Learning cycle metadata for storage
192
+ */
193
+ export interface LocalLearningCycleMetadata {
194
+ /** Cycle ID */
195
+ id: string;
196
+ /** Cycle status */
197
+ status: LearningCycleStatus;
198
+ /** Wake results JSON */
199
+ wakeResultJson: string | null;
200
+ /** Sleep results JSON */
201
+ sleepResultJson: string | null;
202
+ /** New patterns count */
203
+ newPatterns: number;
204
+ /** Updated patterns count */
205
+ updatedPatterns: number;
206
+ /** Decayed patterns count */
207
+ decayedPatterns: number;
208
+ /** Started timestamp */
209
+ startedAt: string;
210
+ /** Completed timestamp */
211
+ completedAt: string | null;
212
+ /** Duration in milliseconds */
213
+ durationMs: number | null;
214
+ /** Error message if failed */
215
+ errorMessage: string | null;
216
+ }
217
+ /**
218
+ * Similarity calculation method
219
+ */
220
+ export type SimilarityMethod = 'jaccard' | 'cosine' | 'levenshtein' | 'ast';
221
+ /**
222
+ * Wake-sleep cycle configuration
223
+ */
224
+ export interface WakeSleepConfig {
225
+ /** Auto-run interval in milliseconds (0 = disabled) */
226
+ autoRunInterval: number;
227
+ /** Wake phase options */
228
+ wakeOptions: WakeObserveOptions;
229
+ /** Sleep phase options */
230
+ sleepOptions: SleepClusterOptions;
231
+ /** Compression options */
232
+ compressOptions: CompressOptions;
233
+ /** Similarity method */
234
+ similarityMethod: SimilarityMethod;
235
+ /** Confidence decay rate per day (0.0 - 1.0) */
236
+ decayRate: number;
237
+ /** Minimum confidence before removal */
238
+ minConfidenceThreshold: number;
239
+ }
240
+ /**
241
+ * Default configuration
242
+ */
243
+ export declare const DEFAULT_WAKE_SLEEP_CONFIG: WakeSleepConfig;
244
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/wake-sleep/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,6BAA6B;IAC7B,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,WAAW,EAAE,IAAI,CAAC;IAClB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB,iBAAiB,GACjB,sBAAsB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,cAAc,GACd,QAAQ,GACR,WAAW,GACX,eAAe,GACf,YAAY,GACZ,WAAW,GACX,MAAM,GACN,cAAc,GACd,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,6BAA6B;IAC7B,cAAc,EAAE,qBAAqB,CAAC;IACtC,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,0BAA0B;IAC1B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,iBAAiB;IACjB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6BAA6B;IAC7B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,mCAAmC;IACnC,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,iBAAiB;IACjB,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACrC,yCAAyC;IACzC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,qBAAqB;IACrB,WAAW,EAAE,IAAI,CAAC;IAClB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wBAAwB;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yBAAyB;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,WAAW,EAAE,kBAAkB,CAAC;IAChC,0BAA0B;IAC1B,YAAY,EAAE,mBAAmB,CAAC;IAClC,0BAA0B;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,wBAAwB;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAsBvC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Types for YATA Local
3
+ * @module @nahisaho/yata-local/wake-sleep
4
+ * @version 0.1.0
5
+ * @license MIT
6
+ *
7
+ * Trace: REQ-WSL-001, REQ-WSL-002, REQ-WSL-003
8
+ */
9
+ /**
10
+ * Default configuration
11
+ */
12
+ export const DEFAULT_WAKE_SLEEP_CONFIG = {
13
+ autoRunInterval: 0,
14
+ wakeOptions: {
15
+ extensions: ['.ts', '.tsx', '.js', '.jsx'],
16
+ excludeDirs: ['node_modules', 'dist', 'build', '.git'],
17
+ minConfidence: 0.3,
18
+ maxCandidates: 1000,
19
+ includePrivate: false,
20
+ },
21
+ sleepOptions: {
22
+ similarityThreshold: 0.8,
23
+ minClusterSize: 2,
24
+ maxClusters: 100,
25
+ },
26
+ compressOptions: {
27
+ level: 5,
28
+ preserveNames: false,
29
+ includeTypes: true,
30
+ },
31
+ similarityMethod: 'jaccard',
32
+ decayRate: 0.01,
33
+ minConfidenceThreshold: 0.1,
34
+ };
35
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/wake-sleep/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2QH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QAC1C,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QACtD,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,KAAK;KACtB;IACD,YAAY,EAAE;QACZ,mBAAmB,EAAE,GAAG;QACxB,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,GAAG;KACjB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,IAAI;KACnB;IACD,gBAAgB,EAAE,SAAS;IAC3B,SAAS,EAAE,IAAI;IACf,sBAAsB,EAAE,GAAG;CAC5B,CAAC"}