@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.
- package/dist/auto-updater.d.ts +101 -0
- package/dist/auto-updater.d.ts.map +1 -0
- package/dist/auto-updater.js +402 -0
- package/dist/auto-updater.js.map +1 -0
- package/dist/database.d.ts +229 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +959 -0
- package/dist/database.js.map +1 -0
- package/dist/index.d.ts +298 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +436 -0
- package/dist/index.js.map +1 -0
- package/dist/io.d.ts +77 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +403 -0
- package/dist/io.js.map +1 -0
- package/dist/kgpr/diff-engine.d.ts +110 -0
- package/dist/kgpr/diff-engine.d.ts.map +1 -0
- package/dist/kgpr/diff-engine.js +335 -0
- package/dist/kgpr/diff-engine.js.map +1 -0
- package/dist/kgpr/index.d.ts +16 -0
- package/dist/kgpr/index.d.ts.map +1 -0
- package/dist/kgpr/index.js +14 -0
- package/dist/kgpr/index.js.map +1 -0
- package/dist/kgpr/kgpr-manager.d.ts +122 -0
- package/dist/kgpr/kgpr-manager.d.ts.map +1 -0
- package/dist/kgpr/kgpr-manager.js +344 -0
- package/dist/kgpr/kgpr-manager.js.map +1 -0
- package/dist/kgpr/privacy-filter.d.ts +109 -0
- package/dist/kgpr/privacy-filter.d.ts.map +1 -0
- package/dist/kgpr/privacy-filter.js +295 -0
- package/dist/kgpr/privacy-filter.js.map +1 -0
- package/dist/kgpr/types.d.ts +234 -0
- package/dist/kgpr/types.d.ts.map +1 -0
- package/dist/kgpr/types.js +54 -0
- package/dist/kgpr/types.js.map +1 -0
- package/dist/query-engine.d.ts +78 -0
- package/dist/query-engine.d.ts.map +1 -0
- package/dist/query-engine.js +368 -0
- package/dist/query-engine.js.map +1 -0
- package/dist/reasoning.d.ts +112 -0
- package/dist/reasoning.d.ts.map +1 -0
- package/dist/reasoning.js +455 -0
- package/dist/reasoning.js.map +1 -0
- package/dist/types.d.ts +580 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +37 -0
- package/dist/types.js.map +1 -0
- package/dist/wake-sleep/cycle-manager.d.ts +76 -0
- package/dist/wake-sleep/cycle-manager.d.ts.map +1 -0
- package/dist/wake-sleep/cycle-manager.js +291 -0
- package/dist/wake-sleep/cycle-manager.js.map +1 -0
- package/dist/wake-sleep/index.d.ts +15 -0
- package/dist/wake-sleep/index.d.ts.map +1 -0
- package/dist/wake-sleep/index.js +19 -0
- package/dist/wake-sleep/index.js.map +1 -0
- package/dist/wake-sleep/pattern-compressor.d.ts +86 -0
- package/dist/wake-sleep/pattern-compressor.d.ts.map +1 -0
- package/dist/wake-sleep/pattern-compressor.js +333 -0
- package/dist/wake-sleep/pattern-compressor.js.map +1 -0
- package/dist/wake-sleep/sleep-phase.d.ts +79 -0
- package/dist/wake-sleep/sleep-phase.d.ts.map +1 -0
- package/dist/wake-sleep/sleep-phase.js +329 -0
- package/dist/wake-sleep/sleep-phase.js.map +1 -0
- package/dist/wake-sleep/types.d.ts +244 -0
- package/dist/wake-sleep/types.d.ts.map +1 -0
- package/dist/wake-sleep/types.js +35 -0
- package/dist/wake-sleep/types.js.map +1 -0
- package/dist/wake-sleep/wake-phase.d.ts +83 -0
- package/dist/wake-sleep/wake-phase.d.ts.map +1 -0
- package/dist/wake-sleep/wake-phase.js +457 -0
- package/dist/wake-sleep/wake-phase.js.map +1 -0
- package/dist/yata-bridge.d.ts +78 -0
- package/dist/yata-bridge.d.ts.map +1 -0
- package/dist/yata-bridge.js +193 -0
- package/dist/yata-bridge.js.map +1 -0
- 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":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAA0B,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAS/F;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,SAAS,CAAiB;IAC1B,UAAU,CAAkB;IAC5B,UAAU,CAAyB;IACnC,EAAE,CAAe;IACjB,MAAM,CAAkB;IACjC,YAAY,GAA0C,IAAI,CAAC;IAEnE,YAAY,EAAgB,EAAE,MAAiC;QAC7D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG;YACZ,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC;YAC7C,WAAW,EAAE;gBACX,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC7E,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC1F,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,IAAI,GAAG;gBACxD,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,IAAI,IAAI;gBACzD,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,IAAI,KAAK;aAC7D;YACD,YAAY,EAAE;gBACZ,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,IAAI,GAAG;gBACrE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,IAAI,CAAC;gBACzD,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,IAAI,GAAG;aACtD;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;gBAC1C,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,IAAI,KAAK;gBAC9D,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,IAAI,IAAI;aAC5D;YACD,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,SAAS;YACvD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;YACpC,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,IAAI,GAAG;SAC9D,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,qBAAqB,CACrC,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExE,gCAAgC;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAC/D,WAAW,CACZ,CAAC;QAEF,wBAAwB;QACxB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEzD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAE/D,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACrC,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe;YAC/C,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY;YAChD,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,cAAc;YAChD,YAAY,EAAE,eAAe;YAC7B,UAAU;YACV,QAAQ,EAAE;gBACR,SAAS,EAAE,UAAU,CAAC,KAAK;gBAC3B,UAAU,EAAE,WAAW,CAAC,KAAK;gBAC7B,WAAW;gBACX,eAAe;gBACf,eAAe;aAChB;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,KAAK,EAAE,UAAU;YACjB,UAAU;YACV,WAAW;YACX,WAAW;YACX,eAAe;YACf,eAAe;YACf,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,aAAqB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,UAA2C;QAE3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,WAA+B;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEvD,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAEvD,IAAI,QAAQ,EAAE,CAAC;gBACb,0BAA0B;gBAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;oBACpB,GAAG,QAAQ;oBACX,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;oBAClE,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC;oBACnC,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW;oBAC5D,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,eAAe,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;oBACpB,EAAE,EAAE,YAAY,CAAC,EAAE;oBACnB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC;oBACnD,OAAO,EAAE,YAAY,CAAC,QAAQ;oBAC9B,GAAG,EAAE,SAAS;oBACd,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/B,QAAQ,EAAE;wBACR,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,OAAO,EAAE,YAAY,CAAC,OAAO;qBAC9B;oBACD,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAsC;QAC9D,MAAM,OAAO,GAA0D;YACrE,kBAAkB,EAAE,MAAM;YAC1B,eAAe,EAAE,QAAQ;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,eAAe,EAAE,QAAQ;YACzB,cAAc,EAAE,MAAM;YACtB,cAAc,EAAE,MAAM;YACtB,cAAc,EAAE,MAAM;YACtB,aAAa,EAAE,MAAM;YACrB,eAAe,EAAE,QAAQ;YACzB,kBAAkB,EAAE,QAAQ;YAC5B,eAAe,EAAE,QAAQ;YACzB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,cAAc;YACzB,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,OAAiC;QAEjC,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,kBAAkB,GAAI,QAAQ,CAAC,QAAoC,EAAE,UAAgC,CAAC;YAC5G,IAAI,CAAC,kBAAkB;gBAAE,SAAS;YAElC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACpD,OAAO,CAAC,UAAU,EAClB,kBAAkB,CACnB,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,IAAI,GAAG,CAAC;YACtE,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAmC,CAAC;YAC7D,MAAM,YAAY,GAA6B;gBAC7C,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAG,QAAQ,EAAE,IAAyC,IAAI,OAAO;gBACrE,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,UAAU,EAAG,QAAQ,EAAE,UAAqB,IAAI,EAAE;gBAClD,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;gBACtC,OAAO,EAAG,QAAQ,EAAE,OAAoB,IAAI,EAAE;aAC/C,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CACnC,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBAC5D,oCAAoC;oBACpC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,iCAAiC;oBACjC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpE,CAAC;gBACD,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,aAAqB;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oCAAoC;gBACpC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAgB,EAAE;QAChC,OAAO,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,EAAgB,EAChB,MAAiC;IAEjC,OAAO,IAAI,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -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"}
|