@nahisaho/musubix-core 2.1.0 → 2.2.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.
@@ -0,0 +1,310 @@
1
+ /**
2
+ * PipelineConfig - Integrated Synthesis Pipeline Configuration
3
+ *
4
+ * Configures and executes a 7-stage synthesis pipeline with support for
5
+ * parallel execution of independent stages.
6
+ *
7
+ * @module @nahisaho/musubix-core
8
+ * @see TSK-INT-102
9
+ * @see DES-INT-102
10
+ * @see REQ-INT-102
11
+ *
12
+ * Pipeline Stages:
13
+ * 1. Parse - Source code parsing
14
+ * 2. Analyze - Type and semantic analysis
15
+ * 3. Extract - Pattern extraction
16
+ * 4. Prune - Search space pruning
17
+ * 5. Synthesize - Code synthesis
18
+ * 6. Optimize - E-Graph optimization
19
+ * 7. Generate - Code generation
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { createPipelineConfig } from './PipelineConfig.js';
24
+ *
25
+ * const config = createPipelineConfig({ enableParallel: true });
26
+ * const result = await config.execute({ source: 'input code' });
27
+ * ```
28
+ */
29
+ // =============================================================================
30
+ // Default Stages
31
+ // =============================================================================
32
+ function createDefaultStages() {
33
+ return [
34
+ {
35
+ name: 'parse',
36
+ description: 'Parse source code into AST',
37
+ order: 1,
38
+ enabled: true,
39
+ execute: async (input) => {
40
+ const pipelineInput = input;
41
+ // Simple mock parsing
42
+ return {
43
+ source: pipelineInput.source,
44
+ targetType: pipelineInput.targetType,
45
+ context: pipelineInput.context,
46
+ ast: { type: 'Program', body: [], source: pipelineInput.source },
47
+ };
48
+ },
49
+ },
50
+ {
51
+ name: 'analyze',
52
+ description: 'Type and semantic analysis',
53
+ order: 2,
54
+ enabled: true,
55
+ dependencies: ['parse'],
56
+ execute: async (input) => {
57
+ // Add type information
58
+ const data = input;
59
+ return {
60
+ ...data,
61
+ types: { inferred: true },
62
+ };
63
+ },
64
+ },
65
+ {
66
+ name: 'extract',
67
+ description: 'Extract patterns from code',
68
+ order: 3,
69
+ enabled: true,
70
+ dependencies: ['parse'],
71
+ execute: async (input) => {
72
+ // Extract patterns
73
+ const data = input;
74
+ return {
75
+ ...data,
76
+ patterns: [],
77
+ };
78
+ },
79
+ },
80
+ {
81
+ name: 'prune',
82
+ description: 'Prune search space using type information',
83
+ order: 4,
84
+ enabled: true,
85
+ dependencies: ['analyze', 'extract'],
86
+ execute: async (input) => {
87
+ // Prune candidates
88
+ const data = input;
89
+ return {
90
+ ...data,
91
+ prunedCandidates: [],
92
+ };
93
+ },
94
+ },
95
+ {
96
+ name: 'synthesize',
97
+ description: 'Synthesize code candidates',
98
+ order: 5,
99
+ enabled: true,
100
+ dependencies: ['prune'],
101
+ execute: async (input) => {
102
+ // Synthesize
103
+ const data = input;
104
+ return {
105
+ ...data,
106
+ candidates: [],
107
+ };
108
+ },
109
+ },
110
+ {
111
+ name: 'optimize',
112
+ description: 'Optimize using E-Graph',
113
+ order: 6,
114
+ enabled: true,
115
+ dependencies: ['synthesize'],
116
+ execute: async (input) => {
117
+ // Optimize
118
+ const data = input;
119
+ return {
120
+ ...data,
121
+ optimized: true,
122
+ };
123
+ },
124
+ },
125
+ {
126
+ name: 'generate',
127
+ description: 'Generate final code',
128
+ order: 7,
129
+ enabled: true,
130
+ dependencies: ['optimize'],
131
+ execute: async (input) => {
132
+ const data = input;
133
+ // Generate output
134
+ return {
135
+ code: '// Generated code',
136
+ ast: data.ast,
137
+ patterns: data.patterns,
138
+ intermediates: data,
139
+ };
140
+ },
141
+ },
142
+ ];
143
+ }
144
+ // =============================================================================
145
+ // Default Implementation
146
+ // =============================================================================
147
+ /**
148
+ * Default PipelineConfig implementation
149
+ */
150
+ export class DefaultPipelineConfig {
151
+ stages = new Map();
152
+ options;
153
+ constructor(options = {}) {
154
+ this.options = {
155
+ enableParallel: options.enableParallel ?? false,
156
+ maxParallelStages: options.maxParallelStages ?? 2,
157
+ parallelGroups: options.parallelGroups ?? [],
158
+ stageTimeout: options.stageTimeout ?? 30000,
159
+ };
160
+ // Initialize default stages
161
+ createDefaultStages().forEach((stage) => {
162
+ this.stages.set(stage.name, stage);
163
+ });
164
+ }
165
+ /**
166
+ * Get all configured stages
167
+ */
168
+ getStages() {
169
+ return Array.from(this.stages.values()).sort((a, b) => a.order - b.order);
170
+ }
171
+ /**
172
+ * Get a specific stage by name
173
+ */
174
+ getStage(name) {
175
+ return this.stages.get(name);
176
+ }
177
+ /**
178
+ * Enable a stage
179
+ */
180
+ enableStage(name) {
181
+ const stage = this.stages.get(name);
182
+ if (stage) {
183
+ stage.enabled = true;
184
+ }
185
+ }
186
+ /**
187
+ * Disable a stage
188
+ */
189
+ disableStage(name) {
190
+ const stage = this.stages.get(name);
191
+ if (stage) {
192
+ stage.enabled = false;
193
+ }
194
+ }
195
+ /**
196
+ * Check if a stage is enabled
197
+ */
198
+ isStageEnabled(name) {
199
+ const stage = this.stages.get(name);
200
+ return stage?.enabled ?? false;
201
+ }
202
+ /**
203
+ * Add a custom stage
204
+ */
205
+ addStage(stage) {
206
+ if (stage.enabled === undefined) {
207
+ stage.enabled = true;
208
+ }
209
+ this.stages.set(stage.name, stage);
210
+ }
211
+ /**
212
+ * Remove a stage
213
+ */
214
+ removeStage(name) {
215
+ this.stages.delete(name);
216
+ }
217
+ /**
218
+ * Execute the pipeline
219
+ */
220
+ async execute(input) {
221
+ const startTime = Date.now();
222
+ const stageTimes = {};
223
+ let stagesExecuted = 0;
224
+ let currentData = input;
225
+ try {
226
+ const stages = this.getStages().filter((s) => s.enabled);
227
+ for (const stage of stages) {
228
+ const stageStart = Date.now();
229
+ try {
230
+ currentData = await stage.execute(currentData);
231
+ stagesExecuted++;
232
+ stageTimes[stage.name] = Date.now() - stageStart;
233
+ }
234
+ catch (error) {
235
+ return {
236
+ success: false,
237
+ error: error instanceof Error ? error : new Error(String(error)),
238
+ stagesExecuted,
239
+ totalTimeMs: Date.now() - startTime,
240
+ stageTimes,
241
+ };
242
+ }
243
+ }
244
+ return {
245
+ success: true,
246
+ output: currentData,
247
+ stagesExecuted,
248
+ totalTimeMs: Date.now() - startTime,
249
+ stageTimes,
250
+ };
251
+ }
252
+ catch (error) {
253
+ return {
254
+ success: false,
255
+ error: error instanceof Error ? error : new Error(String(error)),
256
+ stagesExecuted,
257
+ totalTimeMs: Date.now() - startTime,
258
+ stageTimes,
259
+ };
260
+ }
261
+ }
262
+ /**
263
+ * Check if parallel execution is enabled
264
+ */
265
+ isParallelEnabled() {
266
+ return this.options.enableParallel;
267
+ }
268
+ /**
269
+ * Serialize to JSON
270
+ */
271
+ toJSON() {
272
+ return {
273
+ stages: this.getStages().map((s) => ({
274
+ name: s.name,
275
+ description: s.description,
276
+ order: s.order,
277
+ enabled: s.enabled ?? true,
278
+ dependencies: s.dependencies,
279
+ })),
280
+ options: { ...this.options },
281
+ };
282
+ }
283
+ /**
284
+ * Deserialize from JSON
285
+ */
286
+ fromJSON(json) {
287
+ // Update options
288
+ this.options = {
289
+ ...this.options,
290
+ ...json.options,
291
+ };
292
+ // Update stage enabled states
293
+ for (const stageConfig of json.stages) {
294
+ const stage = this.stages.get(stageConfig.name);
295
+ if (stage) {
296
+ stage.enabled = stageConfig.enabled;
297
+ }
298
+ }
299
+ }
300
+ }
301
+ // =============================================================================
302
+ // Factory Function
303
+ // =============================================================================
304
+ /**
305
+ * Create a new PipelineConfig instance
306
+ */
307
+ export function createPipelineConfig(options = {}) {
308
+ return new DefaultPipelineConfig(options);
309
+ }
310
+ //# sourceMappingURL=PipelineConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineConfig.js","sourceRoot":"","sources":["../../src/pipeline/PipelineConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pipeline Module - Synthesis Pipeline Configuration
3
+ *
4
+ * @module @nahisaho/musubix-core/pipeline
5
+ * @see TSK-INT-102
6
+ */
7
+ export type { PipelineConfig, PipelineStage, PipelineInput, PipelineOutput, PipelineExecutionResult, PipelineConfigOptions, PipelineConfigJSON, ParallelGroup, } from './PipelineConfig.js';
8
+ export { createPipelineConfig, DefaultPipelineConfig } from './PipelineConfig.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pipeline Module - Synthesis Pipeline Configuration
3
+ *
4
+ * @module @nahisaho/musubix-core/pipeline
5
+ * @see TSK-INT-102
6
+ */
7
+ export { createPipelineConfig, DefaultPipelineConfig } from './PipelineConfig.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * SynthesisOrchestrator - E2E Synthesis Pipeline Integration
3
+ * @module @nahisaho/musubix-core
4
+ * @see TSK-INT-101
5
+ * @see DES-INT-101
6
+ * @see REQ-INT-101
7
+ *
8
+ * 3パッケージ(library-learner, neural-search, synthesis)を統合した
9
+ * エンドツーエンドのプログラム合成パイプラインを提供
10
+ *
11
+ * Flow: NL仕様 → 構造化仕様 → ライブラリ検索 → ニューラル探索 → 合成
12
+ */
13
+ /**
14
+ * Pipeline preset configuration
15
+ */
16
+ export type PipelinePreset = 'fast' | 'balanced' | 'accurate';
17
+ /**
18
+ * Orchestrator configuration
19
+ */
20
+ export interface OrchestratorConfig {
21
+ /** Pipeline preset (default: 'balanced') */
22
+ pipelinePreset?: PipelinePreset;
23
+ /** Synthesis timeout in ms (default: 30000) */
24
+ timeout?: number;
25
+ /** Maximum iterations (default: 1000) */
26
+ maxIterations?: number;
27
+ /** Enable library learning integration (default: true) */
28
+ enableLibraryLearning?: boolean;
29
+ /** Enable neural search integration (default: true) */
30
+ enableNeuralSearch?: boolean;
31
+ }
32
+ /**
33
+ * Input/Output example for synthesis
34
+ */
35
+ export interface IOExample {
36
+ input: unknown;
37
+ output: unknown;
38
+ }
39
+ /**
40
+ * Synthesis request
41
+ */
42
+ export interface SynthesisRequest {
43
+ /** Natural language or structured specification */
44
+ specification: string;
45
+ /** Input/output examples */
46
+ examples: IOExample[];
47
+ /** Additional constraints */
48
+ constraints: string[];
49
+ /** Optional hints for synthesis */
50
+ hints: string[];
51
+ }
52
+ /**
53
+ * Timing information for synthesis
54
+ */
55
+ export interface SynthesisTiming {
56
+ /** Total synthesis time in ms */
57
+ totalMs: number;
58
+ /** Parse stage time */
59
+ parseMs: number;
60
+ /** Analysis stage time */
61
+ analyzeMs: number;
62
+ /** Search stage time */
63
+ searchMs: number;
64
+ /** Synthesis stage time */
65
+ synthesisMs: number;
66
+ }
67
+ /**
68
+ * Synthesis status
69
+ */
70
+ export type SynthesisStatus = 'success' | 'partial' | 'failure' | 'timeout';
71
+ /**
72
+ * Synthesis response
73
+ */
74
+ export interface SynthesisResponse {
75
+ /** Synthesis status */
76
+ status: SynthesisStatus;
77
+ /** Synthesized program (if successful) */
78
+ program?: string;
79
+ /** Confidence score (0-1) */
80
+ confidence: number;
81
+ /** Timing information */
82
+ timing: SynthesisTiming;
83
+ /** Stages executed */
84
+ stagesExecuted: string[];
85
+ /** Number of library patterns used */
86
+ libraryPatternsUsed: number;
87
+ /** Error message (if failed) */
88
+ error?: string;
89
+ }
90
+ /**
91
+ * Orchestrator statistics
92
+ */
93
+ export interface OrchestratorStatistics {
94
+ /** Total synthesis requests */
95
+ totalRequests: number;
96
+ /** Successful syntheses */
97
+ successCount: number;
98
+ /** Failed syntheses */
99
+ failureCount: number;
100
+ /** Timeout count */
101
+ timeoutCount: number;
102
+ /** Average synthesis time in ms */
103
+ averageSynthesisTimeMs: number;
104
+ /** Total library patterns used */
105
+ totalLibraryPatternsUsed: number;
106
+ }
107
+ /**
108
+ * Library pattern for synthesis
109
+ */
110
+ export interface LibraryPattern {
111
+ id: string;
112
+ name: string;
113
+ code?: string;
114
+ confidence?: number;
115
+ }
116
+ /**
117
+ * SynthesisOrchestrator interface
118
+ */
119
+ export interface SynthesisOrchestrator {
120
+ /**
121
+ * Synthesize program from request
122
+ */
123
+ synthesize(request: SynthesisRequest): Promise<SynthesisResponse>;
124
+ /**
125
+ * Synthesize from natural language specification
126
+ */
127
+ synthesizeFromNL(spec: string, examples?: unknown[]): Promise<SynthesisResponse>;
128
+ /**
129
+ * Synthesize with library pattern assistance
130
+ */
131
+ synthesizeWithLibrary(request: SynthesisRequest, libraryPatterns: LibraryPattern[]): Promise<SynthesisResponse>;
132
+ /**
133
+ * Get orchestrator statistics
134
+ */
135
+ getStatistics(): OrchestratorStatistics;
136
+ /**
137
+ * Reset statistics and state
138
+ */
139
+ reset(): void;
140
+ /**
141
+ * Serialize orchestrator state
142
+ */
143
+ toJSON(): string;
144
+ /**
145
+ * Restore orchestrator state
146
+ */
147
+ fromJSON(json: string): void;
148
+ }
149
+ /**
150
+ * Default implementation of SynthesisOrchestrator
151
+ */
152
+ declare class DefaultSynthesisOrchestrator implements SynthesisOrchestrator {
153
+ private config;
154
+ private statistics;
155
+ constructor(config?: OrchestratorConfig);
156
+ synthesize(request: SynthesisRequest): Promise<SynthesisResponse>;
157
+ synthesizeFromNL(spec: string, examples?: unknown[]): Promise<SynthesisResponse>;
158
+ synthesizeWithLibrary(request: SynthesisRequest, libraryPatterns: LibraryPattern[]): Promise<SynthesisResponse>;
159
+ getStatistics(): OrchestratorStatistics;
160
+ reset(): void;
161
+ toJSON(): string;
162
+ fromJSON(json: string): void;
163
+ private createInitialStatistics;
164
+ private updateStatistics;
165
+ private isTimedOut;
166
+ private createTimeoutResponse;
167
+ private parseSpecification;
168
+ private analyzeSpecification;
169
+ private searchCandidates;
170
+ private synthesizeProgram;
171
+ private matchLibraryPatterns;
172
+ private synthesizeWithPatterns;
173
+ }
174
+ /**
175
+ * Create a SynthesisOrchestrator instance
176
+ * @param config - Optional configuration
177
+ * @returns SynthesisOrchestrator instance
178
+ */
179
+ export declare function createSynthesisOrchestrator(config?: OrchestratorConfig): SynthesisOrchestrator;
180
+ export { DefaultSynthesisOrchestrator };
181
+ //# sourceMappingURL=SynthesisOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynthesisOrchestrator.d.ts","sourceRoot":"","sources":["../../src/synthesis/SynthesisOrchestrator.ts"],"names":[],"mappings":"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"}