@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,333 @@
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 { randomUUID } from 'crypto';
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 class LocalPatternCompressor {
19
+ options;
20
+ constructor(options = {}) {
21
+ this.options = {
22
+ level: options.level ?? 5,
23
+ preserveNames: options.preserveNames ?? false,
24
+ includeTypes: options.includeTypes ?? true,
25
+ };
26
+ }
27
+ /**
28
+ * Compress a cluster into a consolidated pattern
29
+ */
30
+ compress(cluster) {
31
+ const representative = cluster.representative;
32
+ const template = this.createTemplate(cluster);
33
+ const compressed = this.compressTemplate(template);
34
+ return {
35
+ id: this.generatePatternId(representative.type),
36
+ name: this.generatePatternName(cluster),
37
+ type: representative.type,
38
+ template,
39
+ compressed,
40
+ confidence: this.calculateAverageConfidence(cluster),
41
+ sourceCount: cluster.patterns.length,
42
+ usageCount: 0,
43
+ createdAt: new Date(),
44
+ lastUsedAt: null,
45
+ sources: [...new Set(cluster.patterns.map(p => p.sourcePath))],
46
+ };
47
+ }
48
+ /**
49
+ * Compress multiple clusters
50
+ */
51
+ compressAll(clusters) {
52
+ return clusters.map(cluster => this.compress(cluster));
53
+ }
54
+ /**
55
+ * Create an abstract template from a cluster
56
+ */
57
+ createTemplate(cluster) {
58
+ const representative = cluster.representative;
59
+ let template = representative.content;
60
+ // Normalize whitespace
61
+ template = this.normalizeWhitespace(template);
62
+ // Replace specific identifiers with placeholders
63
+ if (!this.options.preserveNames) {
64
+ template = this.replaceIdentifiers(template, representative.type);
65
+ }
66
+ // Optionally remove type annotations
67
+ if (!this.options.includeTypes) {
68
+ template = this.removeTypeAnnotations(template);
69
+ }
70
+ // Remove implementation details based on compression level
71
+ template = this.simplifyImplementation(template, this.options.level);
72
+ return template;
73
+ }
74
+ /**
75
+ * Compress the template for storage
76
+ */
77
+ compressTemplate(template) {
78
+ // For now, just minify
79
+ return template
80
+ .replace(/\/\*[\s\S]*?\*\//g, '') // Remove block comments
81
+ .replace(/\/\/.*$/gm, '') // Remove line comments
82
+ .replace(/\s+/g, ' ') // Collapse whitespace
83
+ .trim();
84
+ }
85
+ /**
86
+ * Normalize whitespace
87
+ */
88
+ normalizeWhitespace(code) {
89
+ const lines = code.split('\n');
90
+ // Find minimum indentation
91
+ let minIndent = Infinity;
92
+ for (const line of lines) {
93
+ if (line.trim().length === 0)
94
+ continue;
95
+ const indent = line.match(/^(\s*)/)?.[1].length ?? 0;
96
+ minIndent = Math.min(minIndent, indent);
97
+ }
98
+ // Remove minimum indentation
99
+ if (minIndent > 0 && minIndent !== Infinity) {
100
+ return lines
101
+ .map(line => line.slice(minIndent))
102
+ .join('\n');
103
+ }
104
+ return code;
105
+ }
106
+ /**
107
+ * Replace specific identifiers with generic placeholders
108
+ */
109
+ replaceIdentifiers(code, type) {
110
+ let result = code;
111
+ // Map of identifier patterns based on type
112
+ const replacements = [];
113
+ switch (type) {
114
+ case 'function_signature':
115
+ // Replace function names (but not keywords)
116
+ replacements.push({
117
+ pattern: /\bfunction\s+(\w+)/g,
118
+ replacement: 'function $FUNC_NAME',
119
+ });
120
+ replacements.push({
121
+ pattern: /\bconst\s+(\w+)\s*=/g,
122
+ replacement: 'const $FUNC_NAME =',
123
+ });
124
+ break;
125
+ case 'class_structure':
126
+ case 'repository_pattern':
127
+ case 'service_pattern':
128
+ case 'factory_pattern':
129
+ // Replace class names
130
+ replacements.push({
131
+ pattern: /\bclass\s+(\w+)/g,
132
+ replacement: 'class $CLASS_NAME',
133
+ });
134
+ break;
135
+ case 'interface_definition':
136
+ // Replace interface names
137
+ replacements.push({
138
+ pattern: /\binterface\s+(\w+)/g,
139
+ replacement: 'interface $INTERFACE_NAME',
140
+ });
141
+ break;
142
+ case 'type_definition':
143
+ // Replace type names
144
+ replacements.push({
145
+ pattern: /\btype\s+(\w+)/g,
146
+ replacement: 'type $TYPE_NAME',
147
+ });
148
+ break;
149
+ case 'value_object':
150
+ case 'entity':
151
+ // Replace both class and interface names
152
+ replacements.push({
153
+ pattern: /\bclass\s+(\w+)/g,
154
+ replacement: 'class $ENTITY_NAME',
155
+ });
156
+ replacements.push({
157
+ pattern: /\binterface\s+(\w+)/g,
158
+ replacement: 'interface $ENTITY_NAME',
159
+ });
160
+ break;
161
+ }
162
+ // Apply replacements
163
+ for (const { pattern, replacement } of replacements) {
164
+ result = result.replace(pattern, replacement);
165
+ }
166
+ return result;
167
+ }
168
+ /**
169
+ * Remove type annotations
170
+ */
171
+ removeTypeAnnotations(code) {
172
+ return code
173
+ // Remove return type annotations
174
+ .replace(/\):\s*[A-Za-z<>\[\]\|&,\s]+\s*{/g, ') {')
175
+ // Remove parameter type annotations (simplified)
176
+ .replace(/(\w+):\s*[A-Za-z<>\[\]\|&]+/g, '$1');
177
+ }
178
+ /**
179
+ * Simplify implementation based on compression level
180
+ */
181
+ simplifyImplementation(code, level) {
182
+ if (level <= 3) {
183
+ // Keep full implementation
184
+ return code;
185
+ }
186
+ if (level <= 6) {
187
+ // Replace implementation bodies with placeholders
188
+ return this.replaceMethodBodies(code);
189
+ }
190
+ // High compression: keep only signature
191
+ return this.extractSignatureOnly(code);
192
+ }
193
+ /**
194
+ * Replace method bodies with placeholders
195
+ */
196
+ replaceMethodBodies(code) {
197
+ const lines = code.split('\n');
198
+ const result = [];
199
+ let braceDepth = 0;
200
+ let inBody = false;
201
+ let bodyStartDepth = 0;
202
+ for (const line of lines) {
203
+ // Count braces
204
+ for (const char of line) {
205
+ if (char === '{') {
206
+ if (!inBody && braceDepth > 0) {
207
+ inBody = true;
208
+ bodyStartDepth = braceDepth;
209
+ }
210
+ braceDepth++;
211
+ }
212
+ else if (char === '}') {
213
+ braceDepth--;
214
+ if (inBody && braceDepth <= bodyStartDepth) {
215
+ inBody = false;
216
+ result.push(' // ... implementation');
217
+ }
218
+ }
219
+ }
220
+ if (!inBody || braceDepth === bodyStartDepth + 1) {
221
+ result.push(line);
222
+ }
223
+ }
224
+ return result.join('\n');
225
+ }
226
+ /**
227
+ * Extract only the signature
228
+ */
229
+ extractSignatureOnly(code) {
230
+ const lines = code.split('\n');
231
+ const result = [];
232
+ let braceDepth = 0;
233
+ let foundFirstBrace = false;
234
+ for (const line of lines) {
235
+ for (const char of line) {
236
+ if (char === '{') {
237
+ braceDepth++;
238
+ foundFirstBrace = true;
239
+ }
240
+ else if (char === '}') {
241
+ braceDepth--;
242
+ }
243
+ }
244
+ // Keep lines until first opening brace
245
+ if (!foundFirstBrace) {
246
+ result.push(line);
247
+ }
248
+ else if (braceDepth === 0) {
249
+ // Add closing brace
250
+ result.push('}');
251
+ break;
252
+ }
253
+ else if (braceDepth === 1 && line.includes('{')) {
254
+ // First line with opening brace
255
+ result.push(line.substring(0, line.indexOf('{') + 1));
256
+ result.push(' // ... implementation');
257
+ }
258
+ }
259
+ return result.join('\n');
260
+ }
261
+ /**
262
+ * Generate a pattern ID
263
+ */
264
+ generatePatternId(type) {
265
+ const prefix = this.getTypePrefix(type);
266
+ const timestamp = new Date().toISOString().slice(0, 10).replace(/-/g, '');
267
+ const suffix = randomUUID().substring(0, 4).toUpperCase();
268
+ return `PAT-${prefix}-${timestamp}-${suffix}`;
269
+ }
270
+ /**
271
+ * Get type prefix for ID generation
272
+ */
273
+ getTypePrefix(type) {
274
+ const prefixMap = {
275
+ function_signature: 'FN',
276
+ class_structure: 'CLS',
277
+ interface_definition: 'ITF',
278
+ type_definition: 'TYP',
279
+ import_pattern: 'IMP',
280
+ export_pattern: 'EXP',
281
+ error_handling: 'ERR',
282
+ async_pattern: 'ASY',
283
+ factory_pattern: 'FAC',
284
+ repository_pattern: 'REP',
285
+ service_pattern: 'SVC',
286
+ value_object: 'VO',
287
+ entity: 'ENT',
288
+ aggregate: 'AGG',
289
+ event_handler: 'EVT',
290
+ middleware: 'MID',
291
+ decorator: 'DEC',
292
+ hook: 'HK',
293
+ test_pattern: 'TST',
294
+ other: 'OTH',
295
+ };
296
+ return prefixMap[type] ?? 'OTH';
297
+ }
298
+ /**
299
+ * Generate a pattern name from cluster
300
+ */
301
+ generatePatternName(cluster) {
302
+ const rep = cluster.representative;
303
+ // Extract the name from the content if possible
304
+ const nameMatch = rep.content.match(/(?:function|class|interface|type|const)\s+(\w+)/);
305
+ if (nameMatch) {
306
+ return `${this.formatTypeName(rep.type)}: ${nameMatch[1]}`;
307
+ }
308
+ return `${this.formatTypeName(rep.type)}: ${rep.name}`;
309
+ }
310
+ /**
311
+ * Format type name for display
312
+ */
313
+ formatTypeName(type) {
314
+ return type
315
+ .split('_')
316
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
317
+ .join(' ');
318
+ }
319
+ /**
320
+ * Calculate average confidence from cluster
321
+ */
322
+ calculateAverageConfidence(cluster) {
323
+ const sum = cluster.patterns.reduce((acc, p) => acc + p.confidence, 0);
324
+ return sum / cluster.patterns.length;
325
+ }
326
+ }
327
+ /**
328
+ * Factory function to create a LocalPatternCompressor instance
329
+ */
330
+ export function createLocalPatternCompressor(options) {
331
+ return new LocalPatternCompressor(options);
332
+ }
333
+ //# sourceMappingURL=pattern-compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-compressor.js","sourceRoot":"","sources":["../../src/wake-sleep/pattern-compressor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
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 type { LocalPatternCandidate, LocalPatternCluster, LocalConsolidatedPattern, SleepClusterOptions, SleepClusterResult, SimilarityMethod } from './types.js';
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 declare class LocalSleepPhase {
19
+ private readonly options;
20
+ private readonly similarityMethod;
21
+ constructor(options?: Partial<SleepClusterOptions>, similarityMethod?: SimilarityMethod);
22
+ /**
23
+ * Cluster similar pattern candidates
24
+ */
25
+ cluster(candidates: LocalPatternCandidate[]): Promise<SleepClusterResult>;
26
+ /**
27
+ * Select the representative pattern from a cluster
28
+ */
29
+ selectRepresentative(cluster: LocalPatternCluster): LocalPatternCandidate;
30
+ /**
31
+ * Update confidence for a pattern based on usage
32
+ */
33
+ updateConfidence(pattern: LocalConsolidatedPattern, used: boolean): LocalConsolidatedPattern;
34
+ /**
35
+ * Decay confidence for unused patterns
36
+ */
37
+ decay(pattern: LocalConsolidatedPattern, decayRate?: number): LocalConsolidatedPattern;
38
+ /**
39
+ * Calculate similarity between two signatures
40
+ */
41
+ calculateSimilarity(sig1: string, sig2: string): number;
42
+ /**
43
+ * Jaccard similarity coefficient
44
+ */
45
+ private jaccardSimilarity;
46
+ /**
47
+ * Cosine similarity (token-based)
48
+ */
49
+ private cosineSimilarity;
50
+ /**
51
+ * Levenshtein-based similarity
52
+ */
53
+ private levenshteinSimilarity;
54
+ /**
55
+ * Levenshtein edit distance
56
+ */
57
+ private levenshteinDistance;
58
+ /**
59
+ * AST-based similarity (simplified)
60
+ */
61
+ private astSimilarity;
62
+ /**
63
+ * Score a pattern for representative selection
64
+ */
65
+ private scorePattern;
66
+ /**
67
+ * Compute cluster centroid
68
+ */
69
+ private computeCentroid;
70
+ /**
71
+ * Recalculate average similarity within a cluster
72
+ */
73
+ private recalculateAvgSimilarity;
74
+ }
75
+ /**
76
+ * Factory function to create a LocalSleepPhase instance
77
+ */
78
+ export declare function createLocalSleepPhase(options?: Partial<SleepClusterOptions>, similarityMethod?: SimilarityMethod): LocalSleepPhase;
79
+ //# sourceMappingURL=sleep-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep-phase.d.ts","sourceRoot":"","sources":["../../src/wake-sleep/sleep-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAGlD,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,EAC1C,gBAAgB,GAAE,gBAA4B;IAUhD;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmF/E;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,qBAAqB;IAazE;;OAEG;IACH,gBAAgB,CACd,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,OAAO,GACZ,wBAAwB;IAgB3B;;OAEG;IACH,KAAK,CACH,OAAO,EAAE,wBAAwB,EACjC,SAAS,GAAE,MAAa,GACvB,wBAAwB;IAiB3B;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAevD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAkBjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACtC,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,eAAe,CAEjB"}