@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,76 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Cycle Manager 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, REQ-WSL-005
8
+ */
9
+ import type { YataDatabase } from '../database.js';
10
+ import type { WakeSleepConfig, LocalLearningCycleResult, WakeObserveResult, SleepClusterResult } from './types.js';
11
+ /**
12
+ * Wake-Sleep Learning Cycle Manager
13
+ *
14
+ * Orchestrates the complete learning cycle:
15
+ * 1. Wake Phase: Observe code and extract patterns
16
+ * 2. Sleep Phase: Cluster and consolidate patterns
17
+ * 3. Storage: Persist patterns to local database
18
+ */
19
+ export declare class LocalWakeSleepCycle {
20
+ private readonly wakePhase;
21
+ private readonly sleepPhase;
22
+ private readonly compressor;
23
+ private readonly db;
24
+ private readonly config;
25
+ private autoRunTimer;
26
+ constructor(db: YataDatabase, config?: Partial<WakeSleepConfig>);
27
+ /**
28
+ * Run a complete wake-sleep cycle on a directory
29
+ */
30
+ runCycle(directoryPath: string): Promise<LocalLearningCycleResult>;
31
+ /**
32
+ * Run only the wake phase
33
+ */
34
+ runWakePhase(directoryPath: string): Promise<WakeObserveResult>;
35
+ /**
36
+ * Run only the sleep phase on existing candidates
37
+ */
38
+ runSleepPhase(candidates: WakeObserveResult['candidates']): Promise<SleepClusterResult>;
39
+ /**
40
+ * Store consolidated patterns in the database
41
+ */
42
+ private storePatterns;
43
+ /**
44
+ * Map local pattern type to PatternCategory
45
+ */
46
+ private mapTypeToCategory;
47
+ /**
48
+ * Find a similar existing pattern
49
+ */
50
+ private findSimilarPattern;
51
+ /**
52
+ * Decay confidence of unused patterns
53
+ */
54
+ private decayUnusedPatterns;
55
+ /**
56
+ * Start automatic learning cycles
57
+ */
58
+ startAutoRun(directoryPath: string): void;
59
+ /**
60
+ * Stop automatic learning cycles
61
+ */
62
+ stopAutoRun(): void;
63
+ /**
64
+ * Get recent learning cycle history
65
+ */
66
+ getRecentCycles(limit?: number): import('../types.js').LearningCycle[];
67
+ /**
68
+ * Get configuration
69
+ */
70
+ getConfig(): WakeSleepConfig;
71
+ }
72
+ /**
73
+ * Factory function to create a LocalWakeSleepCycle instance
74
+ */
75
+ export declare function createLocalWakeSleepCycle(db: YataDatabase, config?: Partial<WakeSleepConfig>): LocalWakeSleepCycle;
76
+ //# sourceMappingURL=cycle-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle-manager.d.ts","sourceRoot":"","sources":["../../src/wake-sleep/cycle-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,YAAY,CAA+C;gBAEvD,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAkC/D;;OAEG;IACG,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkDxE;;OAEG;IACG,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIrE;;OAEG;IACG,aAAa,CACjB,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAC1C,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;OAEG;YACW,aAAa;IAoD3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;YACW,mBAAmB;IAwCjC;;OAEG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAmBzC;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,eAAe,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,aAAa,EAAE,aAAa,EAAE;IAI1E;;OAEG;IACH,SAAS,IAAI,eAAe;CAG7B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,YAAY,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,mBAAmB,CAErB"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Cycle Manager 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, REQ-WSL-005
8
+ */
9
+ import { createLocalWakePhase } from './wake-phase.js';
10
+ import { createLocalSleepPhase } from './sleep-phase.js';
11
+ import { createLocalPatternCompressor } from './pattern-compressor.js';
12
+ /**
13
+ * Wake-Sleep Learning Cycle Manager
14
+ *
15
+ * Orchestrates the complete learning cycle:
16
+ * 1. Wake Phase: Observe code and extract patterns
17
+ * 2. Sleep Phase: Cluster and consolidate patterns
18
+ * 3. Storage: Persist patterns to local database
19
+ */
20
+ export class LocalWakeSleepCycle {
21
+ wakePhase;
22
+ sleepPhase;
23
+ compressor;
24
+ db;
25
+ config;
26
+ autoRunTimer = null;
27
+ constructor(db, config) {
28
+ this.db = db;
29
+ this.config = {
30
+ autoRunInterval: config?.autoRunInterval ?? 0,
31
+ wakeOptions: {
32
+ extensions: config?.wakeOptions?.extensions ?? ['.ts', '.tsx', '.js', '.jsx'],
33
+ excludeDirs: config?.wakeOptions?.excludeDirs ?? ['node_modules', 'dist', 'build', '.git'],
34
+ minConfidence: config?.wakeOptions?.minConfidence ?? 0.3,
35
+ maxCandidates: config?.wakeOptions?.maxCandidates ?? 1000,
36
+ includePrivate: config?.wakeOptions?.includePrivate ?? false,
37
+ },
38
+ sleepOptions: {
39
+ similarityThreshold: config?.sleepOptions?.similarityThreshold ?? 0.8,
40
+ minClusterSize: config?.sleepOptions?.minClusterSize ?? 2,
41
+ maxClusters: config?.sleepOptions?.maxClusters ?? 100,
42
+ },
43
+ compressOptions: {
44
+ level: config?.compressOptions?.level ?? 5,
45
+ preserveNames: config?.compressOptions?.preserveNames ?? false,
46
+ includeTypes: config?.compressOptions?.includeTypes ?? true,
47
+ },
48
+ similarityMethod: config?.similarityMethod ?? 'jaccard',
49
+ decayRate: config?.decayRate ?? 0.01,
50
+ minConfidenceThreshold: config?.minConfidenceThreshold ?? 0.1,
51
+ };
52
+ this.wakePhase = createLocalWakePhase(this.config.wakeOptions);
53
+ this.sleepPhase = createLocalSleepPhase(this.config.sleepOptions, this.config.similarityMethod);
54
+ this.compressor = createLocalPatternCompressor(this.config.compressOptions);
55
+ }
56
+ /**
57
+ * Run a complete wake-sleep cycle on a directory
58
+ */
59
+ async runCycle(directoryPath) {
60
+ const startedAt = new Date();
61
+ // Wake Phase: Extract patterns
62
+ const wakeResult = await this.wakePhase.observeDirectory(directoryPath);
63
+ // Sleep Phase: Cluster patterns
64
+ const sleepResult = await this.sleepPhase.cluster(wakeResult.candidates);
65
+ // Compress and store patterns
66
+ const { newPatterns, updatedPatterns } = await this.storePatterns(sleepResult);
67
+ // Decay unused patterns
68
+ const decayedPatterns = await this.decayUnusedPatterns();
69
+ const completedAt = new Date();
70
+ const durationMs = completedAt.getTime() - startedAt.getTime();
71
+ // Log cycle completion
72
+ const cycle = this.db.logLearningCycle({
73
+ wakeExtracted: wakeResult.stats.candidatesFound,
74
+ wakeObservedFiles: wakeResult.stats.filesScanned,
75
+ sleepClustered: sleepResult.stats.clustersFormed,
76
+ sleepDecayed: decayedPatterns,
77
+ durationMs,
78
+ metadata: {
79
+ wakeStats: wakeResult.stats,
80
+ sleepStats: sleepResult.stats,
81
+ newPatterns,
82
+ updatedPatterns,
83
+ decayedPatterns,
84
+ },
85
+ });
86
+ return {
87
+ cycleId: cycle.id,
88
+ phase: 'complete',
89
+ wakeResult,
90
+ sleepResult,
91
+ newPatterns,
92
+ updatedPatterns,
93
+ decayedPatterns,
94
+ startedAt,
95
+ completedAt,
96
+ durationMs,
97
+ };
98
+ }
99
+ /**
100
+ * Run only the wake phase
101
+ */
102
+ async runWakePhase(directoryPath) {
103
+ return this.wakePhase.observeDirectory(directoryPath);
104
+ }
105
+ /**
106
+ * Run only the sleep phase on existing candidates
107
+ */
108
+ async runSleepPhase(candidates) {
109
+ return this.sleepPhase.cluster(candidates);
110
+ }
111
+ /**
112
+ * Store consolidated patterns in the database
113
+ */
114
+ async storePatterns(sleepResult) {
115
+ let newPatterns = 0;
116
+ let updatedPatterns = 0;
117
+ for (const cluster of sleepResult.clusters) {
118
+ const consolidated = this.compressor.compress(cluster);
119
+ // Check if similar pattern already exists
120
+ const existing = this.findSimilarPattern(consolidated);
121
+ if (existing) {
122
+ // Update existing pattern
123
+ const now = new Date();
124
+ this.db.updatePattern({
125
+ ...existing,
126
+ confidence: Math.max(existing.confidence, consolidated.confidence),
127
+ usageCount: existing.usageCount + 1,
128
+ lastUsedAt: now,
129
+ occurrences: existing.occurrences + consolidated.sourceCount,
130
+ updatedAt: now,
131
+ });
132
+ updatedPatterns++;
133
+ }
134
+ else {
135
+ // Insert new pattern
136
+ const now = new Date();
137
+ this.db.insertPattern({
138
+ id: consolidated.id,
139
+ name: consolidated.name,
140
+ category: this.mapTypeToCategory(consolidated.type),
141
+ content: consolidated.template,
142
+ ast: undefined,
143
+ confidence: consolidated.confidence,
144
+ occurrences: consolidated.sourceCount,
145
+ usageCount: consolidated.usageCount,
146
+ source: consolidated.sources[0],
147
+ metadata: {
148
+ type: consolidated.type,
149
+ compressed: consolidated.compressed,
150
+ sources: consolidated.sources,
151
+ },
152
+ createdAt: now,
153
+ updatedAt: now,
154
+ });
155
+ newPatterns++;
156
+ }
157
+ }
158
+ return { newPatterns, updatedPatterns };
159
+ }
160
+ /**
161
+ * Map local pattern type to PatternCategory
162
+ */
163
+ mapTypeToCategory(type) {
164
+ const mapping = {
165
+ function_signature: 'code',
166
+ class_structure: 'design',
167
+ interface_definition: 'design',
168
+ type_definition: 'design',
169
+ import_pattern: 'code',
170
+ export_pattern: 'code',
171
+ error_handling: 'code',
172
+ async_pattern: 'code',
173
+ factory_pattern: 'design',
174
+ repository_pattern: 'design',
175
+ service_pattern: 'design',
176
+ value_object: 'design',
177
+ entity: 'design',
178
+ aggregate: 'architecture',
179
+ event_handler: 'design',
180
+ middleware: 'code',
181
+ decorator: 'code',
182
+ hook: 'code',
183
+ test_pattern: 'test',
184
+ other: 'code',
185
+ };
186
+ return mapping[type] ?? 'code';
187
+ }
188
+ /**
189
+ * Find a similar existing pattern
190
+ */
191
+ findSimilarPattern(pattern) {
192
+ // Get patterns of the same category
193
+ const category = this.mapTypeToCategory(pattern.type);
194
+ const existingPatterns = this.db.queryPatterns({ category });
195
+ for (const existing of existingPatterns) {
196
+ const existingCompressed = existing.metadata?.compressed;
197
+ if (!existingCompressed)
198
+ continue;
199
+ const similarity = this.sleepPhase.calculateSimilarity(pattern.compressed, existingCompressed);
200
+ const threshold = this.config.sleepOptions.similarityThreshold ?? 0.8;
201
+ if (similarity >= threshold) {
202
+ return existing;
203
+ }
204
+ }
205
+ return null;
206
+ }
207
+ /**
208
+ * Decay confidence of unused patterns
209
+ */
210
+ async decayUnusedPatterns() {
211
+ const allPatterns = this.db.queryPatterns();
212
+ let decayedCount = 0;
213
+ for (const pattern of allPatterns) {
214
+ const metadata = pattern.metadata;
215
+ const consolidated = {
216
+ id: pattern.id,
217
+ name: pattern.name,
218
+ type: metadata?.type ?? 'other',
219
+ template: pattern.content,
220
+ compressed: metadata?.compressed ?? '',
221
+ confidence: pattern.confidence,
222
+ sourceCount: pattern.occurrences,
223
+ usageCount: pattern.usageCount,
224
+ createdAt: pattern.createdAt,
225
+ lastUsedAt: pattern.lastUsedAt ?? null,
226
+ sources: metadata?.sources ?? [],
227
+ };
228
+ const decayed = this.sleepPhase.decay(consolidated, this.config.decayRate);
229
+ if (decayed.confidence < pattern.confidence) {
230
+ if (decayed.confidence < this.config.minConfidenceThreshold) {
231
+ // Remove pattern if below threshold
232
+ this.db.deletePattern(pattern.id);
233
+ }
234
+ else {
235
+ // Update with decayed confidence
236
+ this.db.decayPatternConfidence(pattern.id, this.config.decayRate);
237
+ }
238
+ decayedCount++;
239
+ }
240
+ }
241
+ return decayedCount;
242
+ }
243
+ /**
244
+ * Start automatic learning cycles
245
+ */
246
+ startAutoRun(directoryPath) {
247
+ if (this.config.autoRunInterval <= 0) {
248
+ throw new Error('Auto-run interval must be greater than 0');
249
+ }
250
+ if (this.autoRunTimer) {
251
+ this.stopAutoRun();
252
+ }
253
+ this.autoRunTimer = setInterval(async () => {
254
+ try {
255
+ await this.runCycle(directoryPath);
256
+ }
257
+ catch (error) {
258
+ // Log error but don't stop auto-run
259
+ console.error('Auto-run cycle failed:', error);
260
+ }
261
+ }, this.config.autoRunInterval);
262
+ }
263
+ /**
264
+ * Stop automatic learning cycles
265
+ */
266
+ stopAutoRun() {
267
+ if (this.autoRunTimer) {
268
+ clearInterval(this.autoRunTimer);
269
+ this.autoRunTimer = null;
270
+ }
271
+ }
272
+ /**
273
+ * Get recent learning cycle history
274
+ */
275
+ getRecentCycles(limit = 10) {
276
+ return this.db.getRecentLearningCycles(limit);
277
+ }
278
+ /**
279
+ * Get configuration
280
+ */
281
+ getConfig() {
282
+ return { ...this.config };
283
+ }
284
+ }
285
+ /**
286
+ * Factory function to create a LocalWakeSleepCycle instance
287
+ */
288
+ export function createLocalWakeSleepCycle(db, config) {
289
+ return new LocalWakeSleepCycle(db, config);
290
+ }
291
+ //# sourceMappingURL=cycle-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle-manager.js","sourceRoot":"","sources":["../../src/wake-sleep/cycle-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Module 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, REQ-WSL-005
8
+ */
9
+ export type { LocalPatternCandidate, LocalPatternType, LocalPatternCluster, LocalConsolidatedPattern, WakeObserveOptions, WakeObserveResult, SleepClusterOptions, SleepClusterResult, CompressOptions, LocalLearningCycleResult, LocalLearningCycleMetadata, LearningCycleStatus, SimilarityMethod, WakeSleepConfig, } from './types.js';
10
+ export { DEFAULT_WAKE_SLEEP_CONFIG } from './types.js';
11
+ export { LocalWakePhase, createLocalWakePhase } from './wake-phase.js';
12
+ export { LocalSleepPhase, createLocalSleepPhase } from './sleep-phase.js';
13
+ export { LocalPatternCompressor, createLocalPatternCompressor } from './pattern-compressor.js';
14
+ export { LocalWakeSleepCycle, createLocalWakeSleepCycle } from './cycle-manager.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wake-sleep/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAG/F,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Wake-Sleep Learning Module 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, REQ-WSL-005
8
+ */
9
+ // Constants
10
+ export { DEFAULT_WAKE_SLEEP_CONFIG } from './types.js';
11
+ // Wake Phase
12
+ export { LocalWakePhase, createLocalWakePhase } from './wake-phase.js';
13
+ // Sleep Phase
14
+ export { LocalSleepPhase, createLocalSleepPhase } from './sleep-phase.js';
15
+ // Pattern Compressor
16
+ export { LocalPatternCompressor, createLocalPatternCompressor } from './pattern-compressor.js';
17
+ // Cycle Manager
18
+ export { LocalWakeSleepCycle, createLocalWakeSleepCycle } from './cycle-manager.js';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wake-sleep/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,YAAY;AACZ,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,qBAAqB;AACrB,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAE/F,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @fileoverview Pattern Compressor Implementation for YATA Local
3
+ * @module @nahisaho/yata-local/wake-sleep
4
+ * @version 0.1.0
5
+ * @license MIT
6
+ *
7
+ * Trace: REQ-WSL-003, TSK-WSL-003
8
+ */
9
+ import type { LocalPatternCluster, LocalConsolidatedPattern, CompressOptions } from './types.js';
10
+ /**
11
+ * Pattern Compressor - Abstraction and Compression
12
+ *
13
+ * Responsible for:
14
+ * - Creating abstract templates from pattern clusters
15
+ * - Compressing patterns for efficient storage
16
+ * - Managing pattern metadata
17
+ */
18
+ export declare class LocalPatternCompressor {
19
+ private readonly options;
20
+ constructor(options?: Partial<CompressOptions>);
21
+ /**
22
+ * Compress a cluster into a consolidated pattern
23
+ */
24
+ compress(cluster: LocalPatternCluster): LocalConsolidatedPattern;
25
+ /**
26
+ * Compress multiple clusters
27
+ */
28
+ compressAll(clusters: LocalPatternCluster[]): LocalConsolidatedPattern[];
29
+ /**
30
+ * Create an abstract template from a cluster
31
+ */
32
+ private createTemplate;
33
+ /**
34
+ * Compress the template for storage
35
+ */
36
+ private compressTemplate;
37
+ /**
38
+ * Normalize whitespace
39
+ */
40
+ private normalizeWhitespace;
41
+ /**
42
+ * Replace specific identifiers with generic placeholders
43
+ */
44
+ private replaceIdentifiers;
45
+ /**
46
+ * Remove type annotations
47
+ */
48
+ private removeTypeAnnotations;
49
+ /**
50
+ * Simplify implementation based on compression level
51
+ */
52
+ private simplifyImplementation;
53
+ /**
54
+ * Replace method bodies with placeholders
55
+ */
56
+ private replaceMethodBodies;
57
+ /**
58
+ * Extract only the signature
59
+ */
60
+ private extractSignatureOnly;
61
+ /**
62
+ * Generate a pattern ID
63
+ */
64
+ private generatePatternId;
65
+ /**
66
+ * Get type prefix for ID generation
67
+ */
68
+ private getTypePrefix;
69
+ /**
70
+ * Generate a pattern name from cluster
71
+ */
72
+ private generatePatternName;
73
+ /**
74
+ * Format type name for display
75
+ */
76
+ private formatTypeName;
77
+ /**
78
+ * Calculate average confidence from cluster
79
+ */
80
+ private calculateAverageConfidence;
81
+ }
82
+ /**
83
+ * Factory function to create a LocalPatternCompressor instance
84
+ */
85
+ export declare function createLocalPatternCompressor(options?: Partial<CompressOptions>): LocalPatternCompressor;
86
+ //# sourceMappingURL=pattern-compressor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-compressor.d.ts","sourceRoot":"","sources":["../../src/wake-sleep/pattern-compressor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EAExB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAExC,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM;IAQlD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,wBAAwB;IAoBhE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,wBAAwB,EAAE;IAIxE;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoE1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAInC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,sBAAsB,CAExB"}