@nahisaho/musubix-library-learner 2.0.0

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 (66) hide show
  1. package/README.md +117 -0
  2. package/dist/LibraryLearner.d.ts +36 -0
  3. package/dist/LibraryLearner.d.ts.map +1 -0
  4. package/dist/LibraryLearner.js +217 -0
  5. package/dist/LibraryLearner.js.map +1 -0
  6. package/dist/abstraction/Abstractor.d.ts +29 -0
  7. package/dist/abstraction/Abstractor.d.ts.map +1 -0
  8. package/dist/abstraction/Abstractor.js +290 -0
  9. package/dist/abstraction/Abstractor.js.map +1 -0
  10. package/dist/abstraction/PatternMiner.d.ts +23 -0
  11. package/dist/abstraction/PatternMiner.d.ts.map +1 -0
  12. package/dist/abstraction/PatternMiner.js +263 -0
  13. package/dist/abstraction/PatternMiner.js.map +1 -0
  14. package/dist/abstraction/TypeAnalyzer.d.ts +27 -0
  15. package/dist/abstraction/TypeAnalyzer.d.ts.map +1 -0
  16. package/dist/abstraction/TypeAnalyzer.js +239 -0
  17. package/dist/abstraction/TypeAnalyzer.js.map +1 -0
  18. package/dist/abstraction/index.d.ts +10 -0
  19. package/dist/abstraction/index.d.ts.map +1 -0
  20. package/dist/abstraction/index.js +7 -0
  21. package/dist/abstraction/index.js.map +1 -0
  22. package/dist/egraph/EGraph.d.ts +29 -0
  23. package/dist/egraph/EGraph.d.ts.map +1 -0
  24. package/dist/egraph/EGraph.js +86 -0
  25. package/dist/egraph/EGraph.js.map +1 -0
  26. package/dist/egraph/EGraphBuilder.d.ts +24 -0
  27. package/dist/egraph/EGraphBuilder.d.ts.map +1 -0
  28. package/dist/egraph/EGraphBuilder.js +37 -0
  29. package/dist/egraph/EGraphBuilder.js.map +1 -0
  30. package/dist/egraph/Extractor.d.ts +24 -0
  31. package/dist/egraph/Extractor.d.ts.map +1 -0
  32. package/dist/egraph/Extractor.js +61 -0
  33. package/dist/egraph/Extractor.js.map +1 -0
  34. package/dist/egraph/index.d.ts +10 -0
  35. package/dist/egraph/index.d.ts.map +1 -0
  36. package/dist/egraph/index.js +7 -0
  37. package/dist/egraph/index.js.map +1 -0
  38. package/dist/errors.d.ts +66 -0
  39. package/dist/errors.d.ts.map +1 -0
  40. package/dist/errors.js +99 -0
  41. package/dist/errors.js.map +1 -0
  42. package/dist/index.d.ts +48 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +40 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/library/Consolidator.d.ts +26 -0
  47. package/dist/library/Consolidator.d.ts.map +1 -0
  48. package/dist/library/Consolidator.js +54 -0
  49. package/dist/library/Consolidator.js.map +1 -0
  50. package/dist/library/LibraryStore.d.ts +33 -0
  51. package/dist/library/LibraryStore.d.ts.map +1 -0
  52. package/dist/library/LibraryStore.js +61 -0
  53. package/dist/library/LibraryStore.js.map +1 -0
  54. package/dist/library/Pruner.d.ts +24 -0
  55. package/dist/library/Pruner.d.ts.map +1 -0
  56. package/dist/library/Pruner.js +41 -0
  57. package/dist/library/Pruner.js.map +1 -0
  58. package/dist/library/index.d.ts +10 -0
  59. package/dist/library/index.d.ts.map +1 -0
  60. package/dist/library/index.js +7 -0
  61. package/dist/library/index.js.map +1 -0
  62. package/dist/types.d.ts +365 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +10 -0
  65. package/dist/types.js.map +1 -0
  66. package/package.json +66 -0
@@ -0,0 +1,365 @@
1
+ /**
2
+ * Type definitions for musubix-library-learner
3
+ *
4
+ * REQ-LL-001: 階層的抽象化
5
+ * REQ-LL-002: ライブラリ成長
6
+ * REQ-LL-003: 型指向探索
7
+ * REQ-LL-004: E-graph最適化
8
+ */
9
+ /** Unique identifier for patterns */
10
+ export type PatternId = string;
11
+ /** Unique identifier for E-graph classes */
12
+ export type EClassId = number;
13
+ /** Code corpus for pattern mining */
14
+ export interface CodeCorpus {
15
+ /** Unique identifier for the corpus */
16
+ id: string;
17
+ /** Source files in the corpus */
18
+ files: SourceFile[];
19
+ /** Metadata about the corpus */
20
+ metadata?: Record<string, unknown>;
21
+ }
22
+ /** Source file in a corpus */
23
+ export interface SourceFile {
24
+ /** File path */
25
+ path: string;
26
+ /** File content */
27
+ content: string;
28
+ /** Programming language */
29
+ language: 'typescript' | 'javascript' | 'python' | string;
30
+ }
31
+ /** Candidate pattern detected during mining */
32
+ export interface PatternCandidate {
33
+ /** Unique identifier */
34
+ id: PatternId;
35
+ /** Pattern AST or representation */
36
+ ast: ASTNode;
37
+ /** Occurrences in the corpus */
38
+ occurrences: PatternOccurrence[];
39
+ /** Computed score */
40
+ score: number;
41
+ }
42
+ /** Occurrence of a pattern in source code */
43
+ export interface PatternOccurrence {
44
+ /** Source file path */
45
+ file: string;
46
+ /** Start line (1-indexed) */
47
+ startLine: number;
48
+ /** End line (1-indexed) */
49
+ endLine: number;
50
+ /** Matched bindings */
51
+ bindings: Map<string, ASTNode>;
52
+ }
53
+ /** Concrete pattern (Level 1 abstraction) */
54
+ export interface ConcretePattern {
55
+ /** Unique identifier */
56
+ id: PatternId;
57
+ /** Pattern AST */
58
+ ast: ASTNode;
59
+ /** Number of occurrences */
60
+ occurrenceCount: number;
61
+ /** Source locations */
62
+ locations: PatternOccurrence[];
63
+ }
64
+ /** Parameterized template (Level 2 abstraction) */
65
+ export interface ParameterizedTemplate {
66
+ /** Unique identifier */
67
+ id: PatternId;
68
+ /** Template with holes */
69
+ template: TemplateNode;
70
+ /** Parameter names and types */
71
+ parameters: TemplateParameter[];
72
+ /** Concrete patterns this abstracts */
73
+ concretePatterns: PatternId[];
74
+ }
75
+ /** Parameter in a template */
76
+ export interface TemplateParameter {
77
+ /** Parameter name */
78
+ name: string;
79
+ /** Parameter type */
80
+ type: TypeSignature;
81
+ /** Default value (if any) */
82
+ defaultValue?: unknown;
83
+ }
84
+ /** Abstract concept (Level 3 abstraction) */
85
+ export interface AbstractConcept {
86
+ /** Unique identifier */
87
+ id: PatternId;
88
+ /** Concept name */
89
+ name: string;
90
+ /** Description */
91
+ description: string;
92
+ /** Templates this concept encompasses */
93
+ templates: PatternId[];
94
+ /** Semantic category */
95
+ category: string;
96
+ }
97
+ /** Learned pattern stored in library */
98
+ export interface LearnedPattern {
99
+ /** Unique identifier */
100
+ id: PatternId;
101
+ /** Pattern name */
102
+ name: string;
103
+ /** Abstraction level */
104
+ level: 1 | 2 | 3;
105
+ /** Pattern content (varies by level) */
106
+ content: ConcretePattern | ParameterizedTemplate | AbstractConcept;
107
+ /** Usage count */
108
+ usageCount: number;
109
+ /** Confidence score (0-1) */
110
+ confidence: number;
111
+ /** Creation timestamp */
112
+ createdAt: Date;
113
+ /** Last used timestamp */
114
+ lastUsedAt: Date;
115
+ /** Tags for categorization */
116
+ tags: string[];
117
+ }
118
+ /** Generic AST node */
119
+ export interface ASTNode {
120
+ /** Node type */
121
+ type: string;
122
+ /** Child nodes */
123
+ children?: ASTNode[];
124
+ /** Node value (for literals) */
125
+ value?: unknown;
126
+ /** Additional properties */
127
+ [key: string]: unknown;
128
+ }
129
+ /** Template node with holes */
130
+ export interface TemplateNode extends ASTNode {
131
+ /** Whether this is a hole */
132
+ isHole?: boolean;
133
+ /** Hole name (if isHole) */
134
+ holeName?: string;
135
+ /** Hole type constraint (if isHole) */
136
+ holeType?: TypeSignature;
137
+ }
138
+ /** Type signature for type-directed search */
139
+ export interface TypeSignature {
140
+ /** Type kind */
141
+ kind: 'primitive' | 'function' | 'generic' | 'union' | 'intersection' | 'object' | 'array';
142
+ /** Type name (for primitives) */
143
+ name?: string;
144
+ /** Parameter types (for functions) */
145
+ paramTypes?: TypeSignature[];
146
+ /** Return type (for functions) */
147
+ returnType?: TypeSignature;
148
+ /** Type parameters (for generics) */
149
+ typeParams?: string[];
150
+ /** Union/intersection members */
151
+ members?: TypeSignature[];
152
+ /** Object properties */
153
+ properties?: Record<string, TypeSignature>;
154
+ /** Array element type */
155
+ elementType?: TypeSignature;
156
+ }
157
+ /** Type context for analysis */
158
+ export interface TypeContext {
159
+ /** Available variables and their types */
160
+ variables: Map<string, TypeSignature>;
161
+ /** Available functions and their types */
162
+ functions: Map<string, TypeSignature>;
163
+ /** Type aliases */
164
+ aliases: Map<string, TypeSignature>;
165
+ }
166
+ /** E-graph node */
167
+ export interface ENode {
168
+ /** Operator name */
169
+ op: string;
170
+ /** Child E-class IDs */
171
+ children: EClassId[];
172
+ }
173
+ /** E-class (equivalence class) */
174
+ export interface EClass {
175
+ /** Class ID */
176
+ id: EClassId;
177
+ /** Nodes in this class */
178
+ nodes: ENode[];
179
+ /** Parent classes (for union-find) */
180
+ parents: Set<EClassId>;
181
+ }
182
+ /** Pattern for e-graph matching */
183
+ export interface EPattern {
184
+ /** Pattern operator (or variable name if isVar) */
185
+ op: string;
186
+ /** Whether this is a pattern variable */
187
+ isVar?: boolean;
188
+ /** Child patterns */
189
+ children?: EPattern[];
190
+ }
191
+ /** Match result from e-graph pattern matching */
192
+ export interface EMatch {
193
+ /** E-class ID that matched */
194
+ eclass: EClassId;
195
+ /** Variable bindings */
196
+ bindings: Map<string, EClassId>;
197
+ }
198
+ /** Equality rule for e-graph rewriting */
199
+ export interface EqualityRule {
200
+ /** Rule name */
201
+ name: string;
202
+ /** Left-hand side pattern */
203
+ lhs: EPattern;
204
+ /** Right-hand side pattern */
205
+ rhs: EPattern;
206
+ /** Optional condition */
207
+ condition?: (match: EMatch) => boolean;
208
+ }
209
+ /** Cost function for extraction */
210
+ export type CostFunction = (node: ENode, childCosts: number[]) => number;
211
+ /** Optimal expression extracted from e-graph */
212
+ export interface OptimalExpression {
213
+ /** Root E-class ID */
214
+ root: EClassId;
215
+ /** Extracted AST */
216
+ ast: ASTNode;
217
+ /** Total cost */
218
+ cost: number;
219
+ }
220
+ /** Query for searching patterns */
221
+ export interface PatternQuery {
222
+ /** Text search */
223
+ text?: string;
224
+ /** Filter by abstraction level */
225
+ level?: 1 | 2 | 3;
226
+ /** Filter by tags */
227
+ tags?: string[];
228
+ /** Filter by minimum confidence */
229
+ minConfidence?: number;
230
+ /** Filter by minimum usage count */
231
+ minUsageCount?: number;
232
+ /** Maximum results */
233
+ limit?: number;
234
+ }
235
+ /** Specification for synthesis */
236
+ export interface Specification {
237
+ /** Input-output examples */
238
+ examples?: Array<{
239
+ input: unknown;
240
+ output: unknown;
241
+ }>;
242
+ /** Type signature */
243
+ type?: TypeSignature;
244
+ /** Natural language description */
245
+ description?: string;
246
+ /** Constraints */
247
+ constraints?: string[];
248
+ }
249
+ /** Options for synthesis */
250
+ export interface SynthesizeOptions {
251
+ /** Maximum search depth */
252
+ maxDepth?: number;
253
+ /** Timeout in milliseconds */
254
+ timeout?: number;
255
+ /** Whether to use type-directed search */
256
+ useTypeDirected?: boolean;
257
+ /** Whether to use E-graph optimization */
258
+ useEGraph?: boolean;
259
+ }
260
+ /** Result of synthesis */
261
+ export interface SynthesisResult {
262
+ /** Whether synthesis succeeded */
263
+ success: boolean;
264
+ /** Synthesized program (if success) */
265
+ program?: ASTNode;
266
+ /** Alternative candidates */
267
+ candidates?: ASTNode[];
268
+ /** Time taken in milliseconds */
269
+ duration: number;
270
+ /** Number of search nodes explored */
271
+ searchNodes: number;
272
+ /** Patterns used */
273
+ patternsUsed: PatternId[];
274
+ }
275
+ /** Result of learning from corpus */
276
+ export interface LearnResult {
277
+ /** Number of patterns extracted */
278
+ patternsExtracted: number;
279
+ /** Number of patterns added to library */
280
+ patternsAdded: number;
281
+ /** Number of patterns consolidated */
282
+ patternsConsolidated: number;
283
+ /** Time taken in milliseconds */
284
+ duration: number;
285
+ }
286
+ /** Statistics about the library */
287
+ export interface LibraryStats {
288
+ /** Total number of patterns */
289
+ totalPatterns: number;
290
+ /** Patterns by level */
291
+ patternsByLevel: Record<1 | 2 | 3, number>;
292
+ /** Average confidence */
293
+ averageConfidence: number;
294
+ /** Average usage count */
295
+ averageUsageCount: number;
296
+ /** Most used patterns */
297
+ mostUsed: PatternId[];
298
+ /** Least used patterns */
299
+ leastUsed: PatternId[];
300
+ }
301
+ /** Report from consolidation */
302
+ export interface ConsolidationReport {
303
+ /** Number of clusters found */
304
+ clustersFound: number;
305
+ /** Number of patterns merged */
306
+ patternsMerged: number;
307
+ /** New patterns created */
308
+ newPatterns: PatternId[];
309
+ /** Time taken in milliseconds */
310
+ duration: number;
311
+ }
312
+ /** Report from pruning */
313
+ export interface PruneReport {
314
+ /** Number of patterns pruned */
315
+ patternsPruned: number;
316
+ /** IDs of pruned patterns */
317
+ prunedIds: PatternId[];
318
+ /** Time taken in milliseconds */
319
+ duration: number;
320
+ }
321
+ /** Cluster of similar patterns */
322
+ export interface SimilarityCluster {
323
+ /** Representative pattern ID */
324
+ representative: PatternId;
325
+ /** Member pattern IDs */
326
+ members: PatternId[];
327
+ /** Similarity score */
328
+ similarity: number;
329
+ }
330
+ /** Configuration for LibraryLearner */
331
+ export interface LibraryLearnerConfig {
332
+ /** Number of abstraction levels (default: 3) */
333
+ abstractionLevels?: number;
334
+ /** Minimum occurrences to extract pattern (default: 2) */
335
+ minOccurrences?: number;
336
+ /** Decay rate for unused patterns (default: 0.95) */
337
+ decayRate?: number;
338
+ /** Threshold for pruning (default: 0.1) */
339
+ pruneThreshold?: number;
340
+ /** Whether to use E-graph optimization (default: true) */
341
+ useEGraph?: boolean;
342
+ /** Storage path for library */
343
+ storagePath?: string;
344
+ }
345
+ /** Configuration for PatternMiner */
346
+ export interface PatternMinerConfig {
347
+ /** Minimum occurrences to consider as pattern */
348
+ minOccurrences?: number;
349
+ /** Maximum pattern depth */
350
+ maxDepth?: number;
351
+ /** Minimum pattern size (nodes) */
352
+ minSize?: number;
353
+ /** Maximum pattern size (nodes) */
354
+ maxSize?: number;
355
+ }
356
+ /** Configuration for E-graph */
357
+ export interface EGraphConfig {
358
+ /** Maximum iterations for saturation */
359
+ maxIterations?: number;
360
+ /** Timeout for saturation in milliseconds */
361
+ timeout?: number;
362
+ /** Whether to enable explanations */
363
+ enableExplanations?: boolean;
364
+ }
365
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Type definitions for musubix-library-learner
3
+ *
4
+ * REQ-LL-001: 階層的抽象化
5
+ * REQ-LL-002: ライブラリ成長
6
+ * REQ-LL-003: 型指向探索
7
+ * REQ-LL-004: E-graph最適化
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@nahisaho/musubix-library-learner",
3
+ "version": "2.0.0",
4
+ "description": "DreamCoder-style hierarchical abstraction and library learning for MUSUBIX",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "test:coverage": "vitest run --coverage",
23
+ "clean": "rm -rf dist",
24
+ "prepublishOnly": "npm run build"
25
+ },
26
+ "keywords": [
27
+ "musubix",
28
+ "library-learning",
29
+ "dreamcoder",
30
+ "abstraction",
31
+ "pattern-mining",
32
+ "e-graph"
33
+ ],
34
+ "author": "nahisaho",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/nahisaho/MUSUBIX.git",
39
+ "directory": "packages/library-learner"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/nahisaho/MUSUBIX/issues"
43
+ },
44
+ "homepage": "https://github.com/nahisaho/MUSUBIX/tree/main/packages/library-learner#readme",
45
+ "engines": {
46
+ "node": ">=20.0.0"
47
+ },
48
+ "dependencies": {
49
+ "@nahisaho/musubix-core": "^1.8.5",
50
+ "better-sqlite3": "^11.0.0"
51
+ },
52
+ "devDependencies": {
53
+ "@types/better-sqlite3": "^7.6.8",
54
+ "@types/node": "^20.0.0",
55
+ "typescript": "^5.3.0",
56
+ "vitest": "^1.2.0"
57
+ },
58
+ "peerDependencies": {
59
+ "@nahisaho/musubix-pattern-mcp": "^1.8.5"
60
+ },
61
+ "peerDependenciesMeta": {
62
+ "@nahisaho/musubix-pattern-mcp": {
63
+ "optional": true
64
+ }
65
+ }
66
+ }