tywrap 0.4.0 → 0.5.1
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 +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/runtime/base.d.ts +7 -7
- package/dist/runtime/base.js +8 -8
- package/dist/runtime/bounded-context.d.ts +15 -31
- package/dist/runtime/bounded-context.d.ts.map +1 -1
- package/dist/runtime/bounded-context.js +16 -15
- package/dist/runtime/bounded-context.js.map +1 -1
- package/dist/runtime/http.d.ts +24 -5
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +57 -12
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/node.d.ts +33 -7
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +139 -151
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +2 -18
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +2 -29
- package/dist/runtime/pooled-transport.js.map +1 -1
- package/dist/runtime/process-io.d.ts +2 -18
- package/dist/runtime/process-io.d.ts.map +1 -1
- package/dist/runtime/process-io.js +3 -30
- package/dist/runtime/process-io.js.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.d.ts +12 -0
- package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -0
- package/dist/runtime/pyodide-bootstrap-core.generated.js +12 -0
- package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -0
- package/dist/runtime/pyodide-io.d.ts +7 -37
- package/dist/runtime/pyodide-io.d.ts.map +1 -1
- package/dist/runtime/pyodide-io.js +90 -214
- package/dist/runtime/pyodide-io.js.map +1 -1
- package/dist/runtime/pyodide.d.ts +25 -5
- package/dist/runtime/pyodide.d.ts.map +1 -1
- package/dist/runtime/pyodide.js +59 -10
- package/dist/runtime/pyodide.js.map +1 -1
- package/dist/runtime/{bridge-protocol.d.ts → rpc-client.d.ts} +59 -46
- package/dist/runtime/rpc-client.d.ts.map +1 -0
- package/dist/runtime/{bridge-protocol.js → rpc-client.js} +60 -42
- package/dist/runtime/rpc-client.js.map +1 -0
- package/dist/runtime/worker-pool.d.ts +2 -19
- package/dist/runtime/worker-pool.d.ts.map +1 -1
- package/dist/runtime/worker-pool.js +2 -30
- package/dist/runtime/worker-pool.js.map +1 -1
- package/dist/types/index.d.ts +8 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/tywrap.d.ts.map +1 -1
- package/dist/tywrap.js +1 -3
- package/dist/tywrap.js.map +1 -1
- package/package.json +9 -12
- package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
- package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
- package/runtime/python_bridge.py +85 -702
- package/runtime/safe_codec.py +10 -2
- package/runtime/tywrap_bridge_core.py +875 -0
- package/src/index.ts +6 -6
- package/src/runtime/base.ts +8 -8
- package/src/runtime/bounded-context.ts +17 -56
- package/src/runtime/http.ts +85 -13
- package/src/runtime/node.ts +165 -217
- package/src/runtime/pooled-transport.ts +2 -57
- package/src/runtime/process-io.ts +3 -55
- package/src/runtime/pyodide-bootstrap-core.generated.ts +12 -0
- package/src/runtime/pyodide-io.ts +92 -243
- package/src/runtime/pyodide.ts +87 -10
- package/src/runtime/{bridge-protocol.ts → rpc-client.ts} +76 -49
- package/src/runtime/worker-pool.ts +2 -58
- package/src/types/index.ts +20 -4
- package/src/tywrap.ts +1 -3
- package/dist/core/analyzer.d.ts +0 -64
- package/dist/core/analyzer.d.ts.map +0 -1
- package/dist/core/analyzer.js +0 -710
- package/dist/core/analyzer.js.map +0 -1
- package/dist/runtime/bridge-core.d.ts +0 -65
- package/dist/runtime/bridge-core.d.ts.map +0 -1
- package/dist/runtime/bridge-core.js +0 -379
- package/dist/runtime/bridge-core.js.map +0 -1
- package/dist/runtime/bridge-protocol.d.ts.map +0 -1
- package/dist/runtime/bridge-protocol.js.map +0 -1
- package/dist/utils/parallel-processor.d.ts +0 -146
- package/dist/utils/parallel-processor.d.ts.map +0 -1
- package/dist/utils/parallel-processor.js +0 -707
- package/dist/utils/parallel-processor.js.map +0 -1
- package/src/core/analyzer.ts +0 -824
- package/src/runtime/bridge-core.ts +0 -494
- package/src/utils/parallel-processor.ts +0 -955
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parallel Processing System for tywrap
|
|
3
|
-
* High-performance parallel processing for large Python codebases
|
|
4
|
-
*/
|
|
5
|
-
import { EventEmitter } from 'events';
|
|
6
|
-
import type { AnalysisResult, PythonModule, GeneratedCode } from '../types/index.js';
|
|
7
|
-
export interface ParallelTask<Data = unknown> {
|
|
8
|
-
id: string;
|
|
9
|
-
type: 'analyze' | 'generate' | 'validate' | 'custom';
|
|
10
|
-
data: Data;
|
|
11
|
-
options?: Record<string, unknown>;
|
|
12
|
-
priority?: number;
|
|
13
|
-
timeout?: number;
|
|
14
|
-
}
|
|
15
|
-
export interface ParallelResult<T = unknown> {
|
|
16
|
-
taskId: string;
|
|
17
|
-
success: boolean;
|
|
18
|
-
result?: T;
|
|
19
|
-
error?: string;
|
|
20
|
-
duration: number;
|
|
21
|
-
memoryUsage?: number;
|
|
22
|
-
}
|
|
23
|
-
export interface WorkerStats {
|
|
24
|
-
workerId: string;
|
|
25
|
-
tasksCompleted: number;
|
|
26
|
-
totalTime: number;
|
|
27
|
-
averageTime: number;
|
|
28
|
-
errorCount: number;
|
|
29
|
-
memoryPeak: number;
|
|
30
|
-
isActive: boolean;
|
|
31
|
-
}
|
|
32
|
-
export interface ParallelProcessorOptions {
|
|
33
|
-
maxWorkers?: number;
|
|
34
|
-
taskTimeout?: number;
|
|
35
|
-
retryAttempts?: number;
|
|
36
|
-
enableMemoryMonitoring?: boolean;
|
|
37
|
-
enableCaching?: boolean;
|
|
38
|
-
workerScript?: string;
|
|
39
|
-
batchSize?: number;
|
|
40
|
-
loadBalancing?: 'round-robin' | 'least-loaded' | 'weighted';
|
|
41
|
-
debug?: boolean;
|
|
42
|
-
}
|
|
43
|
-
export interface ParallelProcessorStats {
|
|
44
|
-
activeWorkers: number;
|
|
45
|
-
totalWorkers: number;
|
|
46
|
-
tasksCompleted: number;
|
|
47
|
-
totalErrors: number;
|
|
48
|
-
averageTaskTime: number;
|
|
49
|
-
queueLength: number;
|
|
50
|
-
activeTasks: number;
|
|
51
|
-
workerStats: WorkerStats[];
|
|
52
|
-
}
|
|
53
|
-
export declare class ParallelProcessor extends EventEmitter {
|
|
54
|
-
private workers;
|
|
55
|
-
private workerStats;
|
|
56
|
-
private taskQueue;
|
|
57
|
-
private queueInterval?;
|
|
58
|
-
private activeTasks;
|
|
59
|
-
private pendingResults;
|
|
60
|
-
private roundRobinIndex;
|
|
61
|
-
private options;
|
|
62
|
-
private disposed;
|
|
63
|
-
private debug;
|
|
64
|
-
constructor(options?: ParallelProcessorOptions);
|
|
65
|
-
private debugLog;
|
|
66
|
-
/**
|
|
67
|
-
* Initialize worker pool
|
|
68
|
-
*/
|
|
69
|
-
init(): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Process Python module analysis in parallel
|
|
72
|
-
*/
|
|
73
|
-
analyzeModulesParallel(sources: Array<{
|
|
74
|
-
name: string;
|
|
75
|
-
content: string;
|
|
76
|
-
path?: string;
|
|
77
|
-
}>, options?: {
|
|
78
|
-
chunkSize?: number;
|
|
79
|
-
}): Promise<Array<ParallelResult<AnalysisResult>>>;
|
|
80
|
-
/**
|
|
81
|
-
* Generate TypeScript wrappers in parallel
|
|
82
|
-
*/
|
|
83
|
-
generateWrappersParallel(modules: Array<{
|
|
84
|
-
name: string;
|
|
85
|
-
module: PythonModule;
|
|
86
|
-
options?: Record<string, unknown>;
|
|
87
|
-
}>, options?: {
|
|
88
|
-
chunkSize?: number;
|
|
89
|
-
}): Promise<Array<ParallelResult<GeneratedCode>>>;
|
|
90
|
-
/**
|
|
91
|
-
* Execute tasks in parallel with load balancing
|
|
92
|
-
*/
|
|
93
|
-
executeTasks<Data, Result>(tasks: ParallelTask<Data>[]): Promise<Array<ParallelResult<Result>>>;
|
|
94
|
-
/**
|
|
95
|
-
* Execute single task
|
|
96
|
-
*/
|
|
97
|
-
private executeTask;
|
|
98
|
-
/**
|
|
99
|
-
* Select optimal worker using load balancing strategy
|
|
100
|
-
*/
|
|
101
|
-
private selectOptimalWorker;
|
|
102
|
-
/**
|
|
103
|
-
* Send task to specific worker
|
|
104
|
-
*/
|
|
105
|
-
private sendTaskToWorker;
|
|
106
|
-
/**
|
|
107
|
-
* Spawn new worker
|
|
108
|
-
*/
|
|
109
|
-
private spawnWorker;
|
|
110
|
-
/**
|
|
111
|
-
* Handle message from worker
|
|
112
|
-
*/
|
|
113
|
-
private handleWorkerMessage;
|
|
114
|
-
/**
|
|
115
|
-
* Handle worker error
|
|
116
|
-
*/
|
|
117
|
-
private handleWorkerError;
|
|
118
|
-
/**
|
|
119
|
-
* Handle worker exit
|
|
120
|
-
*/
|
|
121
|
-
private handleWorkerExit;
|
|
122
|
-
/**
|
|
123
|
-
* Process task queue
|
|
124
|
-
*/
|
|
125
|
-
private processQueue;
|
|
126
|
-
/**
|
|
127
|
-
* Get worker statistics
|
|
128
|
-
*/
|
|
129
|
-
getWorkerStats(): WorkerStats[];
|
|
130
|
-
/**
|
|
131
|
-
* Get overall processing statistics
|
|
132
|
-
*/
|
|
133
|
-
getStats(): ParallelProcessorStats;
|
|
134
|
-
/**
|
|
135
|
-
* Utility methods
|
|
136
|
-
*/
|
|
137
|
-
private chunkArray;
|
|
138
|
-
private sleep;
|
|
139
|
-
/**
|
|
140
|
-
* Gracefully dispose all workers
|
|
141
|
-
*/
|
|
142
|
-
dispose(): Promise<void>;
|
|
143
|
-
setDebug(debug: boolean): void;
|
|
144
|
-
}
|
|
145
|
-
export declare const globalParallelProcessor: ParallelProcessor;
|
|
146
|
-
//# sourceMappingURL=parallel-processor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-processor.d.ts","sourceRoot":"","sources":["../../src/utils/parallel-processor.ts"],"names":[],"mappings":"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"}
|