tywrap 0.2.0 → 0.3.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 (163) hide show
  1. package/README.md +65 -31
  2. package/dist/cli.js +49 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/index.d.ts +11 -7
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/index.js +43 -7
  7. package/dist/config/index.js.map +1 -1
  8. package/dist/core/analyzer.d.ts +1 -0
  9. package/dist/core/analyzer.d.ts.map +1 -1
  10. package/dist/core/analyzer.js +47 -12
  11. package/dist/core/analyzer.js.map +1 -1
  12. package/dist/core/annotation-parser.d.ts +8 -0
  13. package/dist/core/annotation-parser.d.ts.map +1 -0
  14. package/dist/core/annotation-parser.js +409 -0
  15. package/dist/core/annotation-parser.js.map +1 -0
  16. package/dist/core/discovery.d.ts +1 -0
  17. package/dist/core/discovery.d.ts.map +1 -1
  18. package/dist/core/discovery.js +9 -9
  19. package/dist/core/discovery.js.map +1 -1
  20. package/dist/core/generator.d.ts +9 -1
  21. package/dist/core/generator.d.ts.map +1 -1
  22. package/dist/core/generator.js +738 -104
  23. package/dist/core/generator.js.map +1 -1
  24. package/dist/core/mapper.d.ts +9 -7
  25. package/dist/core/mapper.d.ts.map +1 -1
  26. package/dist/core/mapper.js +129 -44
  27. package/dist/core/mapper.js.map +1 -1
  28. package/dist/index.d.ts +23 -7
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +23 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/runtime/base.d.ts +17 -7
  33. package/dist/runtime/base.d.ts.map +1 -1
  34. package/dist/runtime/base.js +18 -1
  35. package/dist/runtime/base.js.map +1 -1
  36. package/dist/runtime/bounded-context.d.ts +252 -0
  37. package/dist/runtime/bounded-context.d.ts.map +1 -0
  38. package/dist/runtime/bounded-context.js +454 -0
  39. package/dist/runtime/bounded-context.js.map +1 -0
  40. package/dist/runtime/bridge-core.d.ts +1 -0
  41. package/dist/runtime/bridge-core.d.ts.map +1 -1
  42. package/dist/runtime/bridge-core.js +52 -17
  43. package/dist/runtime/bridge-core.js.map +1 -1
  44. package/dist/runtime/bridge-protocol.d.ts +184 -0
  45. package/dist/runtime/bridge-protocol.d.ts.map +1 -0
  46. package/dist/runtime/bridge-protocol.js +344 -0
  47. package/dist/runtime/bridge-protocol.js.map +1 -0
  48. package/dist/runtime/disposable.d.ts +40 -0
  49. package/dist/runtime/disposable.d.ts.map +1 -0
  50. package/dist/runtime/disposable.js +49 -0
  51. package/dist/runtime/disposable.js.map +1 -0
  52. package/dist/runtime/errors.d.ts +10 -0
  53. package/dist/runtime/errors.d.ts.map +1 -1
  54. package/dist/runtime/errors.js +9 -0
  55. package/dist/runtime/errors.js.map +1 -1
  56. package/dist/runtime/http-io.d.ts +91 -0
  57. package/dist/runtime/http-io.d.ts.map +1 -0
  58. package/dist/runtime/http-io.js +195 -0
  59. package/dist/runtime/http-io.js.map +1 -0
  60. package/dist/runtime/http.d.ts +48 -13
  61. package/dist/runtime/http.d.ts.map +1 -1
  62. package/dist/runtime/http.js +60 -73
  63. package/dist/runtime/http.js.map +1 -1
  64. package/dist/runtime/node.d.ts +97 -130
  65. package/dist/runtime/node.d.ts.map +1 -1
  66. package/dist/runtime/node.js +392 -521
  67. package/dist/runtime/node.js.map +1 -1
  68. package/dist/runtime/optimized-node.d.ts +1 -1
  69. package/dist/runtime/optimized-node.d.ts.map +1 -1
  70. package/dist/runtime/optimized-node.js +1 -1
  71. package/dist/runtime/optimized-node.js.map +1 -1
  72. package/dist/runtime/pooled-transport.d.ts +135 -0
  73. package/dist/runtime/pooled-transport.d.ts.map +1 -0
  74. package/dist/runtime/pooled-transport.js +177 -0
  75. package/dist/runtime/pooled-transport.js.map +1 -0
  76. package/dist/runtime/process-io.d.ts +209 -0
  77. package/dist/runtime/process-io.d.ts.map +1 -0
  78. package/dist/runtime/process-io.js +729 -0
  79. package/dist/runtime/process-io.js.map +1 -0
  80. package/dist/runtime/pyodide-io.d.ts +154 -0
  81. package/dist/runtime/pyodide-io.d.ts.map +1 -0
  82. package/dist/runtime/pyodide-io.js +459 -0
  83. package/dist/runtime/pyodide-io.js.map +1 -0
  84. package/dist/runtime/pyodide.d.ts +51 -19
  85. package/dist/runtime/pyodide.d.ts.map +1 -1
  86. package/dist/runtime/pyodide.js +57 -186
  87. package/dist/runtime/pyodide.js.map +1 -1
  88. package/dist/runtime/safe-codec.d.ts +103 -0
  89. package/dist/runtime/safe-codec.d.ts.map +1 -0
  90. package/dist/runtime/safe-codec.js +519 -0
  91. package/dist/runtime/safe-codec.js.map +1 -0
  92. package/dist/runtime/transport.d.ts +191 -0
  93. package/dist/runtime/transport.d.ts.map +1 -0
  94. package/dist/runtime/transport.js +86 -0
  95. package/dist/runtime/transport.js.map +1 -0
  96. package/dist/runtime/validators.d.ts +120 -0
  97. package/dist/runtime/validators.d.ts.map +1 -0
  98. package/dist/runtime/validators.js +229 -0
  99. package/dist/runtime/validators.js.map +1 -0
  100. package/dist/runtime/worker-pool.d.ts +208 -0
  101. package/dist/runtime/worker-pool.d.ts.map +1 -0
  102. package/dist/runtime/worker-pool.js +419 -0
  103. package/dist/runtime/worker-pool.js.map +1 -0
  104. package/dist/types/index.d.ts +51 -1
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/tywrap.d.ts.map +1 -1
  107. package/dist/tywrap.js +227 -328
  108. package/dist/tywrap.js.map +1 -1
  109. package/dist/utils/cache.d.ts.map +1 -1
  110. package/dist/utils/cache.js +53 -5
  111. package/dist/utils/cache.js.map +1 -1
  112. package/dist/utils/codec.d.ts.map +1 -1
  113. package/dist/utils/codec.js +114 -1
  114. package/dist/utils/codec.js.map +1 -1
  115. package/dist/utils/ir-cache.d.ts +28 -0
  116. package/dist/utils/ir-cache.d.ts.map +1 -0
  117. package/dist/utils/ir-cache.js +29 -0
  118. package/dist/utils/ir-cache.js.map +1 -0
  119. package/dist/utils/parallel-processor.d.ts +1 -1
  120. package/dist/utils/parallel-processor.d.ts.map +1 -1
  121. package/dist/utils/parallel-processor.js +111 -40
  122. package/dist/utils/parallel-processor.js.map +1 -1
  123. package/dist/utils/runtime.d.ts +5 -1
  124. package/dist/utils/runtime.d.ts.map +1 -1
  125. package/dist/utils/runtime.js +112 -18
  126. package/dist/utils/runtime.js.map +1 -1
  127. package/package.json +40 -18
  128. package/runtime/python_bridge.py +108 -15
  129. package/runtime/safe_codec.py +344 -0
  130. package/src/cli.ts +61 -2
  131. package/src/config/index.ts +63 -17
  132. package/src/core/analyzer.ts +52 -15
  133. package/src/core/annotation-parser.ts +500 -0
  134. package/src/core/discovery.ts +26 -12
  135. package/src/core/generator.ts +956 -116
  136. package/src/core/mapper.ts +158 -51
  137. package/src/index.ts +78 -6
  138. package/src/runtime/base.ts +18 -26
  139. package/src/runtime/bounded-context.ts +608 -0
  140. package/src/runtime/bridge-core.ts +58 -18
  141. package/src/runtime/bridge-protocol.ts +483 -0
  142. package/src/runtime/disposable.ts +65 -0
  143. package/src/runtime/errors.ts +14 -0
  144. package/src/runtime/http-io.ts +245 -0
  145. package/src/runtime/http.ts +76 -115
  146. package/src/runtime/node.ts +563 -676
  147. package/src/runtime/optimized-node.ts +4 -1
  148. package/src/runtime/pooled-transport.ts +263 -0
  149. package/src/runtime/process-io.ts +930 -0
  150. package/src/runtime/pyodide-io.ts +551 -0
  151. package/src/runtime/pyodide.ts +75 -215
  152. package/src/runtime/safe-codec.ts +651 -0
  153. package/src/runtime/transport.ts +278 -0
  154. package/src/runtime/validators.ts +252 -0
  155. package/src/runtime/worker-pool.ts +559 -0
  156. package/src/types/global.d.ts +11 -1
  157. package/src/types/index.ts +63 -0
  158. package/src/tywrap.ts +279 -358
  159. package/src/utils/cache.ts +59 -5
  160. package/src/utils/codec.ts +122 -1
  161. package/src/utils/ir-cache.ts +51 -0
  162. package/src/utils/parallel-processor.ts +119 -43
  163. package/src/utils/runtime.ts +129 -18
@@ -1,29 +1,23 @@
1
1
  /**
2
- * Node.js Runtime Bridge with Optional Connection Pooling
2
+ * Node.js runtime bridge for BridgeProtocol.
3
3
  *
4
- * NodeBridge is the unified Node.js runtime bridge that supports both single-process
5
- * (correctness-first) and multi-process (pooled) configurations. By default, it runs
6
- * in single-process mode for maximum compatibility with the original NodeBridge behavior.
4
+ * NodeBridge extends BridgeProtocol and uses ProcessIO transports with
5
+ * optional pooling for concurrent Python execution.
7
6
  *
8
- * For high-throughput workloads, configure pooling via minProcesses/maxProcesses options.
7
+ * @see https://github.com/bbopen/tywrap/issues/149
9
8
  */
10
- import type { BridgeInfo } from '../types/index.js';
11
- import { RuntimeBridge } from './base.js';
9
+ import { BridgeProtocol } from './bridge-protocol.js';
10
+ import type { CodecOptions } from './safe-codec.js';
12
11
  /**
13
12
  * Configuration options for NodeBridge.
14
- *
15
- * By default, NodeBridge runs in single-process mode (minProcesses=1, maxProcesses=1).
16
- * For high-throughput workloads, increase these values to enable process pooling.
17
13
  */
18
14
  export interface NodeBridgeOptions {
19
15
  /** Minimum number of Python processes to keep alive. Default: 1 */
20
16
  minProcesses?: number;
21
17
  /** Maximum number of Python processes to spawn. Default: 1 (single-process mode) */
22
18
  maxProcesses?: number;
23
- /** Time in ms to keep idle processes alive before termination. Default: 300000 (5 min) */
24
- maxIdleTime?: number;
25
- /** Restart process after this many requests. Default: 1000 */
26
- maxRequestsPerProcess?: number;
19
+ /** Maximum concurrent requests per process. Default: 10 */
20
+ maxConcurrentPerProcess?: number;
27
21
  /** Path to Python executable. Auto-detected if not specified. */
28
22
  pythonPath?: string;
29
23
  /** Path to python_bridge.py script. Auto-detected if not specified. */
@@ -34,161 +28,134 @@ export interface NodeBridgeOptions {
34
28
  cwd?: string;
35
29
  /** Timeout in ms for Python calls. Default: 30000 */
36
30
  timeoutMs?: number;
37
- /** Maximum line length for JSONL protocol. */
38
- maxLineLength?: number;
31
+ /** Timeout in ms for waiting in pool queue. Default: 30000 */
32
+ queueTimeoutMs?: number;
39
33
  /** Inherit all environment variables from parent process. Default: false */
40
34
  inheritProcessEnv?: boolean;
41
- /**
42
- * When true, sets TYWRAP_CODEC_FALLBACK=json for the Python process to prefer JSON encoding
43
- * for rich types (ndarray/dataframe/series). Default: false for fast-fail on Arrow path issues.
44
- */
45
- enableJsonFallback?: boolean;
46
35
  /** Enable result caching for pure functions. Default: false */
47
36
  enableCache?: boolean;
48
37
  /** Optional extra environment variables to pass to the Python subprocess. */
49
38
  env?: Record<string, string | undefined>;
39
+ /** Codec options for validation/serialization */
40
+ codec?: CodecOptions;
50
41
  /** Commands to run on each process at startup for warming up. */
51
42
  warmupCommands?: Array<{
43
+ module: string;
44
+ functionName: string;
45
+ args?: unknown[];
46
+ } | {
52
47
  method: string;
53
48
  params: unknown;
54
49
  }>;
55
- }
56
- interface BridgeStats {
57
- totalRequests: number;
58
- totalTime: number;
59
- cacheHits: number;
60
- poolHits: number;
61
- poolMisses: number;
62
- processSpawns: number;
63
- processDeaths: number;
64
- memoryPeak: number;
65
- averageTime: number;
66
- cacheHitRate: number;
67
- }
68
- interface BridgeStatsSnapshot extends BridgeStats {
69
- poolSize: number;
70
- busyWorkers: number;
71
- memoryUsage: NodeJS.MemoryUsage;
72
- workerStats: Array<{
73
- id: string;
74
- requestCount: number;
75
- averageTime: number;
76
- errorCount: number;
77
- busy: boolean;
78
- pendingRequests: number;
79
- }>;
50
+ /**
51
+ * @deprecated No longer used. Pool idle time is managed by WorkerPool.
52
+ */
53
+ maxIdleTime?: number;
54
+ /**
55
+ * @deprecated No longer used. Process restart is managed by ProcessIO.
56
+ */
57
+ maxRequestsPerProcess?: number;
58
+ /**
59
+ * @deprecated Use codec.bytesHandling option instead.
60
+ */
61
+ enableJsonFallback?: boolean;
62
+ /**
63
+ * @deprecated Use ProcessIO options instead.
64
+ */
65
+ maxLineLength?: number;
80
66
  }
81
67
  /**
82
68
  * Node.js runtime bridge for executing Python code.
83
69
  *
84
- * By default, runs in single-process mode for correctness-first behavior.
85
- * Configure minProcesses/maxProcesses for process pooling in high-throughput scenarios.
70
+ * NodeBridge provides subprocess-based Python execution with optional pooling
71
+ * for high-throughput workloads. By default, it runs in single-process mode.
72
+ *
73
+ * Features:
74
+ * - Single or multi-process execution via process pooling
75
+ * - Virtual environment support
76
+ * - Full SafeCodec validation (NaN/Infinity rejection, key validation)
77
+ * - Automatic Arrow decoding for DataFrames/ndarrays
78
+ * - Optional result caching for pure functions
79
+ * - Process warmup commands
86
80
  *
87
81
  * @example
88
82
  * ```typescript
89
83
  * // Single-process mode (default)
90
84
  * const bridge = new NodeBridge();
85
+ * await bridge.init();
91
86
  *
87
+ * const result = await bridge.call('math', 'sqrt', [16]);
88
+ * console.log(result); // 4.0
89
+ *
90
+ * await bridge.dispose();
91
+ * ```
92
+ *
93
+ * @example
94
+ * ```typescript
92
95
  * // Multi-process pooling for high throughput
93
96
  * const pooledBridge = new NodeBridge({
94
- * minProcesses: 2,
95
- * maxProcesses: 8,
97
+ * maxProcesses: 4,
98
+ * maxConcurrentPerProcess: 2,
96
99
  * enableCache: true,
97
100
  * });
101
+ * await pooledBridge.init();
98
102
  * ```
99
103
  */
100
- export declare class NodeBridge extends RuntimeBridge {
101
- private processPool;
102
- private roundRobinIndex;
103
- private cleanupTimer?;
104
- private options;
105
- private emitter;
106
- private disposed;
107
- private bridgeInfo?;
108
- private initPromise?;
109
- private stats;
110
- constructor(options?: NodeBridgeOptions);
111
- init(): Promise<void>;
112
- private doInit;
113
- getBridgeInfo(options?: {
114
- refresh?: boolean;
115
- }): Promise<BridgeInfo>;
116
- call<T = unknown>(module: string, functionName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
117
- instantiate<T = unknown>(module: string, className: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
118
- callMethod<T = unknown>(handle: string, methodName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
119
- disposeInstance(handle: string): Promise<void>;
120
- /**
121
- * Execute request with intelligent process selection
122
- */
123
- private executeRequest;
124
- /**
125
- * Select optimal worker based on load and performance
126
- */
127
- private selectOptimalWorker;
128
- /**
129
- * Wait for any worker to become available
130
- */
131
- private waitForAvailableWorker;
104
+ export declare class NodeBridge extends BridgeProtocol {
105
+ private readonly resolvedOptions;
106
+ private readonly pooledTransport;
132
107
  /**
133
- * Send request to specific worker
108
+ * Create a new NodeBridge instance.
109
+ *
110
+ * @param options - Configuration options for the bridge
134
111
  */
135
- private sendToWorker;
136
- private quarantineWorker;
112
+ constructor(options?: NodeBridgeOptions);
137
113
  /**
138
- * Spawn new worker process with optimizations
114
+ * Initialize the bridge.
115
+ *
116
+ * Validates the bridge script exists, registers Arrow decoder,
117
+ * and initializes the transport pool (which runs warmup commands per-worker).
139
118
  */
140
- private spawnProcess;
119
+ protected doInit(): Promise<void>;
141
120
  /**
142
- * Setup event handlers for worker process
121
+ * Override call() to add optional caching.
143
122
  */
144
- private setupProcessHandlers;
123
+ call<T = unknown>(module: string, functionName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
145
124
  /**
146
- * Handle worker process exit
147
- */
148
- private handleWorkerExit;
125
+ * Get current pool statistics.
126
+ */
127
+ getPoolStats(): {
128
+ workerCount: number;
129
+ queueLength: number;
130
+ totalInFlight: number;
131
+ };
132
+ /**
133
+ * Get bridge statistics.
134
+ *
135
+ * @deprecated Use getPoolStats() instead. This method is provided for
136
+ * backwards compatibility and returns a subset of the previous stats.
137
+ */
138
+ getStats(): {
139
+ totalRequests: number;
140
+ totalTime: number;
141
+ cacheHits: number;
142
+ poolHits: number;
143
+ poolMisses: number;
144
+ processSpawns: number;
145
+ processDeaths: number;
146
+ memoryPeak: number;
147
+ averageTime: number;
148
+ cacheHitRate: number;
149
+ poolSize: number;
150
+ busyWorkers: number;
151
+ };
149
152
  /**
150
- * Warm up processes with configured commands
153
+ * Generate a cache key, returning null if generation fails.
151
154
  */
152
- private warmupProcesses;
153
155
  private safeCacheKey;
154
156
  /**
155
- * Heuristic to determine if function result should be cached
157
+ * Heuristic to determine if function result should be cached.
156
158
  */
157
159
  private isPureFunctionCandidate;
158
- /**
159
- * Update performance statistics
160
- */
161
- private updateStats;
162
- /**
163
- * Get performance statistics
164
- */
165
- getStats(): BridgeStatsSnapshot;
166
- /**
167
- * Cleanup idle processes
168
- */
169
- private cleanup;
170
- /**
171
- * Gracefully terminate a worker
172
- */
173
- private terminateWorker;
174
- /**
175
- * Start cleanup scheduler
176
- */
177
- private startCleanupScheduler;
178
- /**
179
- * Dispose all resources
180
- */
181
- dispose(): Promise<void>;
182
- private buildEnv;
183
- private refreshBridgeInfo;
184
160
  }
185
- /**
186
- * @deprecated Use NodeBridge with minProcesses/maxProcesses options instead.
187
- * This alias is provided for backward compatibility.
188
- */
189
- export { NodeBridge as OptimizedNodeBridge };
190
- /**
191
- * @deprecated Use NodeBridgeOptions instead.
192
- */
193
- export type { NodeBridgeOptions as ProcessPoolOptions };
194
161
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"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"}