tywrap 0.5.0 → 0.6.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 (169) hide show
  1. package/dist/cli.js +8 -6
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/index.js +236 -147
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/core/annotation-parser.d.ts.map +1 -1
  7. package/dist/core/annotation-parser.js +93 -83
  8. package/dist/core/annotation-parser.js.map +1 -1
  9. package/dist/core/discovery.d.ts.map +1 -1
  10. package/dist/core/discovery.js +26 -0
  11. package/dist/core/discovery.js.map +1 -1
  12. package/dist/core/emit-call.d.ts +58 -0
  13. package/dist/core/emit-call.d.ts.map +1 -0
  14. package/dist/core/emit-call.js +103 -0
  15. package/dist/core/emit-call.js.map +1 -0
  16. package/dist/core/generator.d.ts +2 -0
  17. package/dist/core/generator.d.ts.map +1 -1
  18. package/dist/core/generator.js +54 -211
  19. package/dist/core/generator.js.map +1 -1
  20. package/dist/core/mapper.d.ts.map +1 -1
  21. package/dist/core/mapper.js +118 -104
  22. package/dist/core/mapper.js.map +1 -1
  23. package/dist/index.d.ts +6 -25
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +9 -31
  26. package/dist/index.js.map +1 -1
  27. package/dist/runtime/bounded-context.d.ts +2 -2
  28. package/dist/runtime/bounded-context.js +2 -2
  29. package/dist/runtime/{safe-codec.d.ts → bridge-codec.d.ts} +11 -11
  30. package/dist/runtime/bridge-codec.d.ts.map +1 -0
  31. package/dist/runtime/{safe-codec.js → bridge-codec.js} +26 -26
  32. package/dist/runtime/bridge-codec.js.map +1 -0
  33. package/dist/runtime/{http-io.d.ts → http-transport.d.ts} +6 -6
  34. package/dist/runtime/http-transport.d.ts.map +1 -0
  35. package/dist/runtime/{http-io.js → http-transport.js} +3 -3
  36. package/dist/runtime/http-transport.js.map +1 -0
  37. package/dist/runtime/http.d.ts +3 -3
  38. package/dist/runtime/http.d.ts.map +1 -1
  39. package/dist/runtime/http.js +4 -4
  40. package/dist/runtime/http.js.map +1 -1
  41. package/dist/runtime/index.d.ts +9 -1
  42. package/dist/runtime/index.d.ts.map +1 -1
  43. package/dist/runtime/index.js +9 -1
  44. package/dist/runtime/index.js.map +1 -1
  45. package/dist/runtime/node.d.ts +6 -6
  46. package/dist/runtime/node.d.ts.map +1 -1
  47. package/dist/runtime/node.js +7 -7
  48. package/dist/runtime/node.js.map +1 -1
  49. package/dist/runtime/pooled-transport.d.ts +11 -11
  50. package/dist/runtime/pooled-transport.d.ts.map +1 -1
  51. package/dist/runtime/pooled-transport.js +10 -10
  52. package/dist/runtime/pooled-transport.js.map +1 -1
  53. package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
  54. package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
  55. package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
  56. package/dist/runtime/{pyodide-io.d.ts → pyodide-transport.d.ts} +8 -8
  57. package/dist/runtime/pyodide-transport.d.ts.map +1 -0
  58. package/dist/runtime/{pyodide-io.js → pyodide-transport.js} +5 -5
  59. package/dist/runtime/pyodide-transport.js.map +1 -0
  60. package/dist/runtime/pyodide.d.ts +3 -3
  61. package/dist/runtime/pyodide.d.ts.map +1 -1
  62. package/dist/runtime/pyodide.js +5 -5
  63. package/dist/runtime/pyodide.js.map +1 -1
  64. package/dist/runtime/rpc-client.d.ts +5 -5
  65. package/dist/runtime/rpc-client.d.ts.map +1 -1
  66. package/dist/runtime/rpc-client.js +6 -7
  67. package/dist/runtime/rpc-client.js.map +1 -1
  68. package/dist/runtime/{process-io.d.ts → subprocess-transport.d.ts} +9 -9
  69. package/dist/runtime/subprocess-transport.d.ts.map +1 -0
  70. package/dist/runtime/{process-io.js → subprocess-transport.js} +6 -6
  71. package/dist/runtime/subprocess-transport.js.map +1 -0
  72. package/dist/runtime/{worker-pool.d.ts → transport-pool.d.ts} +15 -15
  73. package/dist/runtime/transport-pool.d.ts.map +1 -0
  74. package/dist/runtime/{worker-pool.js → transport-pool.js} +6 -6
  75. package/dist/runtime/transport-pool.js.map +1 -0
  76. package/dist/runtime/transport.d.ts +14 -8
  77. package/dist/runtime/transport.d.ts.map +1 -1
  78. package/dist/runtime/transport.js +10 -4
  79. package/dist/runtime/transport.js.map +1 -1
  80. package/dist/types/index.d.ts +10 -1
  81. package/dist/types/index.d.ts.map +1 -1
  82. package/dist/tywrap.d.ts.map +1 -1
  83. package/dist/tywrap.js +1 -3
  84. package/dist/tywrap.js.map +1 -1
  85. package/dist/utils/cache.d.ts +2 -2
  86. package/dist/utils/cache.d.ts.map +1 -1
  87. package/dist/utils/cache.js +2 -2
  88. package/dist/utils/cache.js.map +1 -1
  89. package/dist/utils/codec.d.ts +1 -1
  90. package/dist/utils/codec.d.ts.map +1 -1
  91. package/dist/utils/codec.js +181 -182
  92. package/dist/utils/codec.js.map +1 -1
  93. package/dist/version.d.ts +12 -0
  94. package/dist/version.d.ts.map +1 -0
  95. package/dist/version.js +12 -0
  96. package/dist/version.js.map +1 -0
  97. package/package.json +3 -5
  98. package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
  99. package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
  100. package/runtime/python_bridge.py +54 -6
  101. package/runtime/safe_codec.py +8 -8
  102. package/runtime/tywrap_bridge_core.py +159 -23
  103. package/src/cli.ts +8 -12
  104. package/src/config/index.ts +271 -165
  105. package/src/core/annotation-parser.ts +112 -105
  106. package/src/core/discovery.ts +32 -0
  107. package/src/core/emit-call.ts +171 -0
  108. package/src/core/generator.ts +67 -263
  109. package/src/core/mapper.ts +125 -110
  110. package/src/index.ts +11 -68
  111. package/src/runtime/bounded-context.ts +2 -2
  112. package/src/runtime/{safe-codec.ts → bridge-codec.ts} +27 -27
  113. package/src/runtime/{http-io.ts → http-transport.ts} +5 -5
  114. package/src/runtime/http.ts +5 -5
  115. package/src/runtime/index.ts +23 -1
  116. package/src/runtime/node.ts +15 -15
  117. package/src/runtime/pooled-transport.ts +15 -15
  118. package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
  119. package/src/runtime/{pyodide-io.ts → pyodide-transport.ts} +7 -7
  120. package/src/runtime/pyodide.ts +6 -6
  121. package/src/runtime/rpc-client.ts +12 -8
  122. package/src/runtime/{process-io.ts → subprocess-transport.ts} +8 -8
  123. package/src/runtime/{worker-pool.ts → transport-pool.ts} +26 -26
  124. package/src/runtime/transport.ts +15 -8
  125. package/src/types/index.ts +10 -1
  126. package/src/tywrap.ts +1 -3
  127. package/src/utils/cache.ts +2 -2
  128. package/src/utils/codec.ts +217 -196
  129. package/src/version.ts +12 -0
  130. package/dist/core/analyzer.d.ts +0 -64
  131. package/dist/core/analyzer.d.ts.map +0 -1
  132. package/dist/core/analyzer.js +0 -710
  133. package/dist/core/analyzer.js.map +0 -1
  134. package/dist/runtime/http-io.d.ts.map +0 -1
  135. package/dist/runtime/http-io.js.map +0 -1
  136. package/dist/runtime/optimized-node.d.ts +0 -23
  137. package/dist/runtime/optimized-node.d.ts.map +0 -1
  138. package/dist/runtime/optimized-node.js +0 -23
  139. package/dist/runtime/optimized-node.js.map +0 -1
  140. package/dist/runtime/process-io.d.ts.map +0 -1
  141. package/dist/runtime/process-io.js.map +0 -1
  142. package/dist/runtime/protocol.d.ts +0 -3
  143. package/dist/runtime/protocol.d.ts.map +0 -1
  144. package/dist/runtime/protocol.js +0 -3
  145. package/dist/runtime/protocol.js.map +0 -1
  146. package/dist/runtime/pyodide-io.d.ts.map +0 -1
  147. package/dist/runtime/pyodide-io.js.map +0 -1
  148. package/dist/runtime/safe-codec.d.ts.map +0 -1
  149. package/dist/runtime/safe-codec.js.map +0 -1
  150. package/dist/runtime/worker-pool.d.ts.map +0 -1
  151. package/dist/runtime/worker-pool.js.map +0 -1
  152. package/dist/utils/bundle-optimizer.d.ts +0 -182
  153. package/dist/utils/bundle-optimizer.d.ts.map +0 -1
  154. package/dist/utils/bundle-optimizer.js +0 -680
  155. package/dist/utils/bundle-optimizer.js.map +0 -1
  156. package/dist/utils/memory-profiler.d.ts +0 -123
  157. package/dist/utils/memory-profiler.d.ts.map +0 -1
  158. package/dist/utils/memory-profiler.js +0 -426
  159. package/dist/utils/memory-profiler.js.map +0 -1
  160. package/dist/utils/parallel-processor.d.ts +0 -146
  161. package/dist/utils/parallel-processor.d.ts.map +0 -1
  162. package/dist/utils/parallel-processor.js +0 -707
  163. package/dist/utils/parallel-processor.js.map +0 -1
  164. package/src/core/analyzer.ts +0 -824
  165. package/src/runtime/optimized-node.ts +0 -25
  166. package/src/runtime/protocol.ts +0 -2
  167. package/src/utils/bundle-optimizer.ts +0 -876
  168. package/src/utils/memory-profiler.ts +0 -582
  169. 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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"}