@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.
- package/README.md +100 -0
- package/dist/dsl/DSL.d.ts +73 -0
- package/dist/dsl/DSL.d.ts.map +1 -0
- package/dist/dsl/DSL.js +250 -0
- package/dist/dsl/DSL.js.map +1 -0
- package/dist/dsl/DSLBuilder.d.ts +33 -0
- package/dist/dsl/DSLBuilder.d.ts.map +1 -0
- package/dist/dsl/DSLBuilder.js +51 -0
- package/dist/dsl/DSLBuilder.js.map +1 -0
- package/dist/dsl/TypeSystem.d.ts +51 -0
- package/dist/dsl/TypeSystem.d.ts.map +1 -0
- package/dist/dsl/TypeSystem.js +253 -0
- package/dist/dsl/TypeSystem.js.map +1 -0
- package/dist/dsl/index.d.ts +8 -0
- package/dist/dsl/index.d.ts.map +1 -0
- package/dist/dsl/index.js +8 -0
- package/dist/dsl/index.js.map +1 -0
- package/dist/errors.d.ts +93 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +142 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/rules/MetaLearner.d.ts +50 -0
- package/dist/rules/MetaLearner.d.ts.map +1 -0
- package/dist/rules/MetaLearner.js +144 -0
- package/dist/rules/MetaLearner.js.map +1 -0
- package/dist/rules/RuleExtractor.d.ts +69 -0
- package/dist/rules/RuleExtractor.d.ts.map +1 -0
- package/dist/rules/RuleExtractor.js +290 -0
- package/dist/rules/RuleExtractor.js.map +1 -0
- package/dist/rules/RuleLibrary.d.ts +55 -0
- package/dist/rules/RuleLibrary.d.ts.map +1 -0
- package/dist/rules/RuleLibrary.js +190 -0
- package/dist/rules/RuleLibrary.js.map +1 -0
- package/dist/rules/index.d.ts +9 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +9 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/synthesis/Enumerator.d.ts +78 -0
- package/dist/synthesis/Enumerator.d.ts.map +1 -0
- package/dist/synthesis/Enumerator.js +292 -0
- package/dist/synthesis/Enumerator.js.map +1 -0
- package/dist/synthesis/PBESynthesizer.d.ts +37 -0
- package/dist/synthesis/PBESynthesizer.d.ts.map +1 -0
- package/dist/synthesis/PBESynthesizer.js +187 -0
- package/dist/synthesis/PBESynthesizer.js.map +1 -0
- package/dist/synthesis/VersionSpace.d.ts +50 -0
- package/dist/synthesis/VersionSpace.d.ts.map +1 -0
- package/dist/synthesis/VersionSpace.js +102 -0
- package/dist/synthesis/VersionSpace.js.map +1 -0
- package/dist/synthesis/WitnessEngine.d.ts +64 -0
- package/dist/synthesis/WitnessEngine.d.ts.map +1 -0
- package/dist/synthesis/WitnessEngine.js +217 -0
- package/dist/synthesis/WitnessEngine.js.map +1 -0
- package/dist/synthesis/index.d.ts +9 -0
- package/dist/synthesis/index.d.ts.map +1 -0
- package/dist/synthesis/index.js +9 -0
- package/dist/synthesis/index.js.map +1 -0
- package/dist/types.d.ts +372 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- 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"}
|
package/dist/types.d.ts
ADDED
|
@@ -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":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9I;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE5C,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC,mBAAmB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACzD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAClD,YAAY,IAAI,QAAQ,EAAE,CAAC;IAC3B,YAAY,IAAI,QAAQ,EAAE,CAAC;IAC3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAMD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CACR,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,aAAa,CAAC,CACZ,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,IAAI,EACT,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,EAAE,CAAC;IAEb,YAAY,CACV,UAAU,EAAE,OAAO,EAAE,EACrB,OAAO,EAAE,OAAO,GACf,OAAO,EAAE,CAAC;CACd;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IAC/C,OAAO,CAAC,CAAC,UAAU,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;IAClD,cAAc,IAAI,IAAI,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;IACjE,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/E,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClG;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,aAAa,CAAC;IACnD,WAAW,IAAI,OAAO,CAAC;IACvB,UAAU,IAAI,OAAO,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,MAAM,CAAC;IACf,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;CAC1C;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACrD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC;IAChE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC1C;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACpD,gBAAgB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;IACxE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI,CAAC;IACvE,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,EAAE,CAAC;IAEtG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAElD,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAE7C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAErC,gBAAgB,CACd,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;CAC3C"}
|
package/dist/types.js
ADDED
|
@@ -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
|
+
}
|