@nahisaho/musubix-synthesis 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 +100 -0
  2. package/dist/dsl/DSL.d.ts +73 -0
  3. package/dist/dsl/DSL.d.ts.map +1 -0
  4. package/dist/dsl/DSL.js +250 -0
  5. package/dist/dsl/DSL.js.map +1 -0
  6. package/dist/dsl/DSLBuilder.d.ts +33 -0
  7. package/dist/dsl/DSLBuilder.d.ts.map +1 -0
  8. package/dist/dsl/DSLBuilder.js +51 -0
  9. package/dist/dsl/DSLBuilder.js.map +1 -0
  10. package/dist/dsl/TypeSystem.d.ts +51 -0
  11. package/dist/dsl/TypeSystem.d.ts.map +1 -0
  12. package/dist/dsl/TypeSystem.js +253 -0
  13. package/dist/dsl/TypeSystem.js.map +1 -0
  14. package/dist/dsl/index.d.ts +8 -0
  15. package/dist/dsl/index.d.ts.map +1 -0
  16. package/dist/dsl/index.js +8 -0
  17. package/dist/dsl/index.js.map +1 -0
  18. package/dist/errors.d.ts +93 -0
  19. package/dist/errors.d.ts.map +1 -0
  20. package/dist/errors.js +142 -0
  21. package/dist/errors.js.map +1 -0
  22. package/dist/index.d.ts +11 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +16 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/rules/MetaLearner.d.ts +50 -0
  27. package/dist/rules/MetaLearner.d.ts.map +1 -0
  28. package/dist/rules/MetaLearner.js +144 -0
  29. package/dist/rules/MetaLearner.js.map +1 -0
  30. package/dist/rules/RuleExtractor.d.ts +69 -0
  31. package/dist/rules/RuleExtractor.d.ts.map +1 -0
  32. package/dist/rules/RuleExtractor.js +290 -0
  33. package/dist/rules/RuleExtractor.js.map +1 -0
  34. package/dist/rules/RuleLibrary.d.ts +55 -0
  35. package/dist/rules/RuleLibrary.d.ts.map +1 -0
  36. package/dist/rules/RuleLibrary.js +190 -0
  37. package/dist/rules/RuleLibrary.js.map +1 -0
  38. package/dist/rules/index.d.ts +9 -0
  39. package/dist/rules/index.d.ts.map +1 -0
  40. package/dist/rules/index.js +9 -0
  41. package/dist/rules/index.js.map +1 -0
  42. package/dist/synthesis/Enumerator.d.ts +78 -0
  43. package/dist/synthesis/Enumerator.d.ts.map +1 -0
  44. package/dist/synthesis/Enumerator.js +292 -0
  45. package/dist/synthesis/Enumerator.js.map +1 -0
  46. package/dist/synthesis/PBESynthesizer.d.ts +37 -0
  47. package/dist/synthesis/PBESynthesizer.d.ts.map +1 -0
  48. package/dist/synthesis/PBESynthesizer.js +187 -0
  49. package/dist/synthesis/PBESynthesizer.js.map +1 -0
  50. package/dist/synthesis/VersionSpace.d.ts +50 -0
  51. package/dist/synthesis/VersionSpace.d.ts.map +1 -0
  52. package/dist/synthesis/VersionSpace.js +102 -0
  53. package/dist/synthesis/VersionSpace.js.map +1 -0
  54. package/dist/synthesis/WitnessEngine.d.ts +64 -0
  55. package/dist/synthesis/WitnessEngine.d.ts.map +1 -0
  56. package/dist/synthesis/WitnessEngine.js +217 -0
  57. package/dist/synthesis/WitnessEngine.js.map +1 -0
  58. package/dist/synthesis/index.d.ts +9 -0
  59. package/dist/synthesis/index.d.ts.map +1 -0
  60. package/dist/synthesis/index.js +9 -0
  61. package/dist/synthesis/index.js.map +1 -0
  62. package/dist/types.d.ts +372 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +7 -0
  65. package/dist/types.js.map +1 -0
  66. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/synthesis/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,372 @@
1
+ /**
2
+ * Type Definitions for MUSUBIX Synthesis
3
+ * @module @nahisaho/musubix-synthesis
4
+ * @description DSL-based program synthesis types
5
+ */
6
+ /**
7
+ * Type signature
8
+ */
9
+ export type TypeSignature = string | {
10
+ kind: 'function';
11
+ inputs: TypeSignature[];
12
+ output: TypeSignature;
13
+ } | {
14
+ kind: 'generic';
15
+ name: string;
16
+ };
17
+ /**
18
+ * Type definition
19
+ */
20
+ export interface TypeDefinition {
21
+ readonly name: string;
22
+ readonly kind: 'primitive' | 'composite' | 'function' | 'generic';
23
+ readonly parameters?: TypeSignature[];
24
+ readonly fields?: Map<string, TypeSignature>;
25
+ }
26
+ /**
27
+ * Type check result
28
+ */
29
+ export interface TypeCheckResult {
30
+ readonly valid: boolean;
31
+ readonly inferredType?: TypeSignature;
32
+ readonly errors: TypeCheckError[];
33
+ }
34
+ /**
35
+ * Type check error
36
+ */
37
+ export interface TypeCheckError {
38
+ readonly message: string;
39
+ readonly location?: ExpressionLocation;
40
+ readonly expected?: TypeSignature;
41
+ readonly actual?: TypeSignature;
42
+ }
43
+ /**
44
+ * Expression location
45
+ */
46
+ export interface ExpressionLocation {
47
+ readonly path: number[];
48
+ }
49
+ /**
50
+ * DSL operator
51
+ * Traces to: REQ-SYN-001 (DSL Definition Framework)
52
+ */
53
+ export interface Operator {
54
+ readonly name: string;
55
+ readonly inputTypes: TypeSignature[];
56
+ readonly outputType: TypeSignature;
57
+ readonly implementation?: (...args: unknown[]) => unknown;
58
+ readonly semantics?: (...args: unknown[]) => unknown;
59
+ readonly description?: string;
60
+ readonly cost?: number;
61
+ }
62
+ /**
63
+ * DSL constant
64
+ */
65
+ export interface Constant {
66
+ readonly name: string;
67
+ readonly type: TypeSignature;
68
+ readonly value: unknown;
69
+ }
70
+ /**
71
+ * DSL configuration
72
+ */
73
+ export interface DSLConfig {
74
+ readonly name?: string;
75
+ readonly operators: Operator[];
76
+ readonly constants: Constant[];
77
+ readonly types: TypeDefinition[];
78
+ }
79
+ /**
80
+ * DSL interface
81
+ */
82
+ export interface IDSL {
83
+ readonly name: string;
84
+ readonly operators: Map<string, Operator>;
85
+ readonly constants: Map<string, Constant>;
86
+ readonly types: Map<string, TypeDefinition>;
87
+ execute(program: Program, input: unknown): unknown;
88
+ validate(program: Program): boolean;
89
+ validateWithDetails?(program: Program): ValidationResult;
90
+ getOperator(name: string): Operator | undefined;
91
+ getConstant(name: string): Constant | undefined;
92
+ getType(name: string): TypeDefinition | undefined;
93
+ getOperators(): Operator[];
94
+ getConstants(): Constant[];
95
+ getConstant(name: string): Constant | undefined;
96
+ getType(name: string): TypeDefinition | undefined;
97
+ }
98
+ /**
99
+ * Validation result
100
+ */
101
+ export interface ValidationResult {
102
+ readonly valid: boolean;
103
+ readonly errors: ValidationError[];
104
+ }
105
+ /**
106
+ * Validation error
107
+ */
108
+ export interface ValidationError {
109
+ readonly message: string;
110
+ readonly path?: number[];
111
+ }
112
+ /**
113
+ * Program expression
114
+ */
115
+ export type Expression = ConstantExpression | VariableExpression | ApplicationExpression | LambdaExpression;
116
+ /**
117
+ * Constant expression
118
+ */
119
+ export interface ConstantExpression {
120
+ readonly kind: 'constant';
121
+ readonly name: string;
122
+ }
123
+ /**
124
+ * Variable expression
125
+ */
126
+ export interface VariableExpression {
127
+ readonly kind: 'variable';
128
+ readonly name: string;
129
+ readonly index?: number;
130
+ }
131
+ /**
132
+ * Application expression
133
+ */
134
+ export interface ApplicationExpression {
135
+ readonly kind: 'application';
136
+ readonly operator: string;
137
+ readonly args: Expression[];
138
+ }
139
+ /**
140
+ * Lambda expression
141
+ */
142
+ export interface LambdaExpression {
143
+ readonly kind: 'lambda';
144
+ readonly parameter: string;
145
+ readonly parameterType: TypeSignature;
146
+ readonly body: Expression;
147
+ }
148
+ /**
149
+ * Program
150
+ */
151
+ export interface Program {
152
+ readonly id?: string;
153
+ readonly expression: Expression;
154
+ readonly type?: TypeSignature;
155
+ readonly cost?: number;
156
+ readonly metadata?: Record<string, unknown>;
157
+ }
158
+ /**
159
+ * Input-output example
160
+ * Traces to: REQ-SYN-003 (PBE Synthesis)
161
+ */
162
+ export interface Example {
163
+ readonly input: unknown;
164
+ readonly output: unknown;
165
+ readonly metadata?: Record<string, unknown>;
166
+ }
167
+ /**
168
+ * Specification
169
+ */
170
+ export interface Specification {
171
+ readonly examples: Example[];
172
+ readonly inputType?: TypeSignature;
173
+ readonly outputType?: TypeSignature;
174
+ readonly constraints?: Constraint[];
175
+ }
176
+ /**
177
+ * Constraint
178
+ */
179
+ export interface Constraint {
180
+ readonly kind: 'type' | 'size' | 'custom';
181
+ readonly predicate: (program: Program) => boolean;
182
+ readonly description?: string;
183
+ }
184
+ /**
185
+ * Synthesis options
186
+ */
187
+ export interface SynthesisOptions {
188
+ readonly maxDepth?: number;
189
+ readonly maxCost?: number;
190
+ readonly timeout?: number;
191
+ readonly maxCandidates?: number;
192
+ readonly useNeuralGuidance?: boolean;
193
+ readonly pruneThreshold?: number;
194
+ }
195
+ /**
196
+ * Synthesis result
197
+ */
198
+ export interface SynthesisResult {
199
+ readonly success: boolean;
200
+ readonly program?: Program;
201
+ readonly candidates?: Program[];
202
+ readonly duration: number;
203
+ readonly synthesisTime: number;
204
+ readonly searchNodes: number;
205
+ readonly candidatesExplored: number;
206
+ readonly pruned: number;
207
+ readonly error?: string;
208
+ }
209
+ /**
210
+ * PBE synthesizer interface
211
+ */
212
+ export interface IPBESynthesizer {
213
+ synthesize(spec: Specification, dsl: IDSL, options?: SynthesisOptions): Promise<SynthesisResult>;
214
+ getCandidates?(spec: Specification, dsl: IDSL, limit?: number): Program[];
215
+ disambiguate(candidates: Program[], example: Example): Program[];
216
+ }
217
+ /**
218
+ * Witness function
219
+ * Traces to: REQ-SYN-002 (Witness Functions)
220
+ */
221
+ export interface WitnessFunction {
222
+ readonly operator: string;
223
+ readonly argIndex: number;
224
+ witness?(spec: Specification): Specification[];
225
+ inverse?(outputSpec: Specification): Specification[];
226
+ }
227
+ /**
228
+ * Decomposed specification
229
+ */
230
+ export interface DecomposedSpec {
231
+ readonly operator: string;
232
+ readonly argSpecs: Specification[];
233
+ readonly confidence: number;
234
+ }
235
+ /**
236
+ * Witness engine interface
237
+ */
238
+ export interface IWitnessEngine {
239
+ register(witness: WitnessFunction): void;
240
+ registerWitness(witness: WitnessFunction): void;
241
+ getWitnesses(operator: string): WitnessFunction[];
242
+ clearWitnesses(): void;
243
+ decompose(spec: Specification, operator: string): DecomposedSpec;
244
+ synthesizeDeductively(dsl: IDSL, spec: Specification): Promise<Program | null>;
245
+ synthesizeWithWitness(spec: Specification, options?: SynthesisOptions): Promise<SynthesisResult>;
246
+ }
247
+ /**
248
+ * Version space interface
249
+ */
250
+ export interface IVersionSpace {
251
+ add(program: Program): void;
252
+ refine(example: Example, dsl: IDSL): IVersionSpace;
253
+ isConverged(): boolean;
254
+ getProgram(): Program | null;
255
+ size(): number;
256
+ getCandidates(limit?: number): Program[];
257
+ }
258
+ /**
259
+ * Specification pattern
260
+ */
261
+ export interface SpecPattern {
262
+ readonly inputPattern?: unknown;
263
+ readonly outputPattern?: unknown;
264
+ readonly typeConstraints?: TypeSignature[];
265
+ readonly inputCount?: number;
266
+ readonly exampleCount?: number;
267
+ readonly outputType?: string;
268
+ }
269
+ /**
270
+ * Program template
271
+ */
272
+ export interface ProgramTemplate {
273
+ readonly expression: Expression;
274
+ readonly holes: HoleDefinition[];
275
+ }
276
+ /**
277
+ * Hole definition in template
278
+ */
279
+ export interface HoleDefinition {
280
+ readonly name: string;
281
+ readonly type: TypeSignature;
282
+ readonly path: number[];
283
+ }
284
+ /**
285
+ * Synthesis rule
286
+ * Traces to: REQ-SYN-004 (Rule Learning)
287
+ */
288
+ export interface SynthesisRule {
289
+ readonly id: string;
290
+ readonly name?: string;
291
+ readonly pattern: SpecPattern;
292
+ readonly template: ProgramTemplate;
293
+ readonly confidence: number;
294
+ readonly usageCount?: number;
295
+ readonly successCount?: number;
296
+ }
297
+ /**
298
+ * Rule library interface
299
+ */
300
+ export interface IRuleLibrary {
301
+ add(rule: SynthesisRule): Promise<void>;
302
+ get(id: string): Promise<SynthesisRule | null>;
303
+ match(spec: Specification): Promise<SynthesisRule[]>;
304
+ recordUsage(ruleId: string, success: boolean): Promise<void>;
305
+ prune(threshold: number): Promise<number>;
306
+ getAll(): Promise<SynthesisRule[]>;
307
+ }
308
+ /**
309
+ * Rule extractor interface
310
+ */
311
+ export interface IRuleExtractor {
312
+ extract(spec: Specification, program: Program): SynthesisRule[];
313
+ generalize(rules: SynthesisRule[]): SynthesisRule[];
314
+ }
315
+ /**
316
+ * Meta learner interface
317
+ */
318
+ export interface IMetaLearner {
319
+ learn(result: SynthesisResult, usedRules: SynthesisRule[]): Promise<void>;
320
+ updateConfidence(ruleId: string, success: boolean): Promise<void>;
321
+ suggestRules(): Promise<SynthesisRule[]>;
322
+ }
323
+ /**
324
+ * Synthesis statistics
325
+ */
326
+ export interface SynthesisStatistics {
327
+ readonly totalSyntheses: number;
328
+ readonly successfulSyntheses: number;
329
+ readonly averageDuration: number;
330
+ readonly averageSearchNodes: number;
331
+ readonly rulesUsed: number;
332
+ }
333
+ /**
334
+ * Type system interface
335
+ */
336
+ export interface ITypeSystem {
337
+ check(program: Program, env?: TypeContext): boolean;
338
+ checkWithDetails?(program: Program, env?: TypeContext): TypeCheckResult;
339
+ infer(expression: Expression, env?: TypeContext): TypeSignature | null;
340
+ unify?(a: TypeSignature, b: TypeSignature): TypeSignature | null;
341
+ isSubtype(sub: TypeSignature, sup: TypeSignature): boolean;
342
+ }
343
+ /**
344
+ * Type context
345
+ */
346
+ export interface TypeContext {
347
+ readonly variables: Map<string, TypeSignature>;
348
+ }
349
+ /**
350
+ * Enumeration options
351
+ */
352
+ export interface EnumerationOptions {
353
+ readonly maxDepth: number;
354
+ readonly maxCost: number;
355
+ readonly targetType?: TypeSignature;
356
+ readonly yieldInterval?: number;
357
+ }
358
+ /**
359
+ * Enumerator interface
360
+ */
361
+ export interface IEnumerator {
362
+ enumerate(options: {
363
+ maxDepth: number;
364
+ maxPrograms?: number;
365
+ targetType?: TypeSignature;
366
+ }): Program[];
367
+ enumerateExpressions(depth: number): Expression[];
368
+ getExpressionDepth(expr: Expression): number;
369
+ countPrograms(depth: number): number;
370
+ enumerateForSpec(spec: Specification, options: EnumerationOptions): AsyncGenerator<Program, void, unknown>;
371
+ }
372
+ //# 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,7 @@
1
+ /**
2
+ * Type Definitions for MUSUBIX Synthesis
3
+ * @module @nahisaho/musubix-synthesis
4
+ * @description DSL-based program synthesis types
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@nahisaho/musubix-synthesis",
3
+ "version": "2.0.0",
4
+ "description": "MUSUBIX synthesis - DSL-based program synthesis with PBE and rule learning",
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
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest",
21
+ "test:coverage": "vitest run --coverage",
22
+ "clean": "rm -rf dist",
23
+ "prepublishOnly": "npm run build"
24
+ },
25
+ "keywords": [
26
+ "musubix",
27
+ "synthesis",
28
+ "program-synthesis",
29
+ "pbe",
30
+ "dsl",
31
+ "witness-functions",
32
+ "version-space"
33
+ ],
34
+ "author": "nahisaho",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/nahisaho/MUSUBIX.git",
39
+ "directory": "packages/synthesis"
40
+ },
41
+ "dependencies": {
42
+ "@nahisaho/musubix-core": "^1.8.5",
43
+ "@nahisaho/musubix-neural-search": "^2.5.0"
44
+ },
45
+ "devDependencies": {
46
+ "typescript": "^5.3.0",
47
+ "vitest": "^1.2.0"
48
+ },
49
+ "engines": {
50
+ "node": ">=20.0.0"
51
+ }
52
+ }