tywrap 0.5.1 → 0.6.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/dist/cli.js +8 -6
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +236 -147
- package/dist/config/index.js.map +1 -1
- package/dist/core/annotation-parser.d.ts.map +1 -1
- package/dist/core/annotation-parser.js +112 -97
- package/dist/core/annotation-parser.js.map +1 -1
- package/dist/core/discovery.d.ts +17 -0
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +85 -49
- package/dist/core/discovery.js.map +1 -1
- package/dist/core/emit-call.d.ts +58 -0
- package/dist/core/emit-call.d.ts.map +1 -0
- package/dist/core/emit-call.js +103 -0
- package/dist/core/emit-call.js.map +1 -0
- package/dist/core/generator.d.ts +2 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +54 -211
- package/dist/core/generator.js.map +1 -1
- package/dist/core/mapper.d.ts.map +1 -1
- package/dist/core/mapper.js +118 -104
- package/dist/core/mapper.js.map +1 -1
- package/dist/core/validation.d.ts +23 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +52 -48
- package/dist/core/validation.js.map +1 -1
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +175 -133
- package/dist/dev.js.map +1 -1
- package/dist/index.d.ts +6 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -31
- package/dist/index.js.map +1 -1
- package/dist/runtime/bounded-context.d.ts +2 -2
- package/dist/runtime/bounded-context.js +2 -2
- package/dist/runtime/{safe-codec.d.ts → bridge-codec.d.ts} +26 -11
- package/dist/runtime/bridge-codec.d.ts.map +1 -0
- package/dist/runtime/{safe-codec.js → bridge-codec.js} +69 -72
- package/dist/runtime/bridge-codec.js.map +1 -0
- package/dist/runtime/{http-io.d.ts → http-transport.d.ts} +6 -6
- package/dist/runtime/http-transport.d.ts.map +1 -0
- package/dist/runtime/{http-io.js → http-transport.js} +3 -3
- package/dist/runtime/http-transport.js.map +1 -0
- package/dist/runtime/http.d.ts +3 -3
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +4 -4
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/index.d.ts +9 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +9 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/node.d.ts +6 -6
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +7 -7
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +11 -11
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +10 -10
- package/dist/runtime/pooled-transport.js.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
- package/dist/runtime/{pyodide-io.d.ts → pyodide-transport.d.ts} +8 -8
- package/dist/runtime/pyodide-transport.d.ts.map +1 -0
- package/dist/runtime/{pyodide-io.js → pyodide-transport.js} +5 -5
- package/dist/runtime/pyodide-transport.js.map +1 -0
- package/dist/runtime/pyodide.d.ts +3 -3
- package/dist/runtime/pyodide.d.ts.map +1 -1
- package/dist/runtime/pyodide.js +5 -5
- package/dist/runtime/pyodide.js.map +1 -1
- package/dist/runtime/rpc-client.d.ts +23 -5
- package/dist/runtime/rpc-client.d.ts.map +1 -1
- package/dist/runtime/rpc-client.js +36 -31
- package/dist/runtime/rpc-client.js.map +1 -1
- package/dist/runtime/{process-io.d.ts → subprocess-transport.d.ts} +25 -9
- package/dist/runtime/subprocess-transport.d.ts.map +1 -0
- package/dist/runtime/{process-io.js → subprocess-transport.js} +60 -41
- package/dist/runtime/subprocess-transport.js.map +1 -0
- package/dist/runtime/{worker-pool.d.ts → transport-pool.d.ts} +15 -15
- package/dist/runtime/transport-pool.d.ts.map +1 -0
- package/dist/runtime/{worker-pool.js → transport-pool.js} +6 -6
- package/dist/runtime/transport-pool.js.map +1 -0
- package/dist/runtime/transport.d.ts +14 -8
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js +10 -4
- package/dist/runtime/transport.js.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/tywrap.d.ts +0 -5
- package/dist/tywrap.d.ts.map +1 -1
- package/dist/tywrap.js +0 -20
- package/dist/tywrap.js.map +1 -1
- package/dist/utils/cache.d.ts +13 -2
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +52 -60
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/codec.d.ts +1 -1
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +181 -182
- package/dist/utils/codec.js.map +1 -1
- package/dist/utils/python.d.ts.map +1 -1
- package/dist/utils/python.js +28 -17
- package/dist/utils/python.js.map +1 -1
- package/dist/utils/runtime.d.ts.map +1 -1
- package/dist/utils/runtime.js +22 -16
- package/dist/utils/runtime.js.map +1 -1
- package/dist/version.d.ts +12 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +12 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
- 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 +54 -6
- package/runtime/safe_codec.py +8 -8
- package/runtime/tywrap_bridge_core.py +159 -23
- package/src/cli.ts +8 -12
- package/src/config/index.ts +271 -165
- package/src/core/annotation-parser.ts +135 -123
- package/src/core/discovery.ts +102 -54
- package/src/core/emit-call.ts +171 -0
- package/src/core/generator.ts +67 -263
- package/src/core/mapper.ts +125 -110
- package/src/core/validation.ts +84 -48
- package/src/dev.ts +237 -153
- package/src/index.ts +11 -68
- package/src/runtime/bounded-context.ts +2 -2
- package/src/runtime/{safe-codec.ts → bridge-codec.ts} +83 -95
- package/src/runtime/{http-io.ts → http-transport.ts} +5 -5
- package/src/runtime/http.ts +5 -5
- package/src/runtime/index.ts +23 -1
- package/src/runtime/node.ts +15 -15
- package/src/runtime/pooled-transport.ts +15 -15
- package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
- package/src/runtime/{pyodide-io.ts → pyodide-transport.ts} +7 -7
- package/src/runtime/pyodide.ts +6 -6
- package/src/runtime/rpc-client.ts +51 -40
- package/src/runtime/{process-io.ts → subprocess-transport.ts} +77 -47
- package/src/runtime/{worker-pool.ts → transport-pool.ts} +26 -26
- package/src/runtime/transport.ts +15 -8
- package/src/types/index.ts +10 -1
- package/src/tywrap.ts +0 -24
- package/src/utils/cache.ts +61 -63
- package/src/utils/codec.ts +217 -196
- package/src/utils/python.ts +33 -20
- package/src/utils/runtime.ts +24 -13
- package/src/version.ts +12 -0
- package/dist/runtime/http-io.d.ts.map +0 -1
- package/dist/runtime/http-io.js.map +0 -1
- package/dist/runtime/optimized-node.d.ts +0 -23
- package/dist/runtime/optimized-node.d.ts.map +0 -1
- package/dist/runtime/optimized-node.js +0 -23
- package/dist/runtime/optimized-node.js.map +0 -1
- package/dist/runtime/process-io.d.ts.map +0 -1
- package/dist/runtime/process-io.js.map +0 -1
- package/dist/runtime/protocol.d.ts +0 -3
- package/dist/runtime/protocol.d.ts.map +0 -1
- package/dist/runtime/protocol.js +0 -3
- package/dist/runtime/protocol.js.map +0 -1
- package/dist/runtime/pyodide-io.d.ts.map +0 -1
- package/dist/runtime/pyodide-io.js.map +0 -1
- package/dist/runtime/safe-codec.d.ts.map +0 -1
- package/dist/runtime/safe-codec.js.map +0 -1
- package/dist/runtime/worker-pool.d.ts.map +0 -1
- package/dist/runtime/worker-pool.js.map +0 -1
- package/dist/utils/bundle-optimizer.d.ts +0 -182
- package/dist/utils/bundle-optimizer.d.ts.map +0 -1
- package/dist/utils/bundle-optimizer.js +0 -680
- package/dist/utils/bundle-optimizer.js.map +0 -1
- package/dist/utils/memory-profiler.d.ts +0 -123
- package/dist/utils/memory-profiler.d.ts.map +0 -1
- package/dist/utils/memory-profiler.js +0 -426
- package/dist/utils/memory-profiler.js.map +0 -1
- package/src/runtime/optimized-node.ts +0 -25
- package/src/runtime/protocol.ts +0 -2
- package/src/utils/bundle-optimizer.ts +0 -876
- package/src/utils/memory-profiler.ts +0 -582
package/dist/utils/codec.js
CHANGED
|
@@ -204,7 +204,7 @@ function reshapeArray(flat, shape) {
|
|
|
204
204
|
}
|
|
205
205
|
// Why: decoding needs to reject incompatible envelopes before we attempt to interpret payloads.
|
|
206
206
|
const CODEC_VERSION = 1;
|
|
207
|
-
function assertCodecVersion(envelope,
|
|
207
|
+
function assertCodecVersion(envelope, typeTag) {
|
|
208
208
|
if (!('codecVersion' in envelope)) {
|
|
209
209
|
return;
|
|
210
210
|
}
|
|
@@ -213,209 +213,208 @@ function assertCodecVersion(envelope, marker) {
|
|
|
213
213
|
return;
|
|
214
214
|
}
|
|
215
215
|
if (typeof version !== 'number' || !Number.isFinite(version)) {
|
|
216
|
-
throw new Error(`Invalid ${
|
|
216
|
+
throw new Error(`Invalid ${typeTag} envelope: codecVersion must be a number`);
|
|
217
217
|
}
|
|
218
218
|
if (version !== CODEC_VERSION) {
|
|
219
|
-
throw new Error(`Unsupported ${
|
|
219
|
+
throw new Error(`Unsupported ${typeTag} envelope codecVersion: ${version}`);
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
marker === 'torch.tensor' ||
|
|
235
|
-
marker === 'sklearn.estimator') {
|
|
236
|
-
assertCodecVersion(value, marker);
|
|
237
|
-
}
|
|
238
|
-
if (marker === 'dataframe') {
|
|
239
|
-
const encoding = value.encoding;
|
|
240
|
-
if (encoding === 'arrow') {
|
|
241
|
-
const b64 = value.b64;
|
|
242
|
-
if (typeof b64 !== 'string') {
|
|
243
|
-
throw new Error('Invalid dataframe envelope: missing b64');
|
|
244
|
-
}
|
|
245
|
-
const bytes = fromBase64(b64);
|
|
246
|
-
return decodeArrow(bytes);
|
|
247
|
-
}
|
|
248
|
-
if (encoding === 'json') {
|
|
249
|
-
if (!('data' in value)) {
|
|
250
|
-
throw new Error('Invalid dataframe envelope: missing data');
|
|
251
|
-
}
|
|
252
|
-
return value.data;
|
|
253
|
-
}
|
|
254
|
-
throw new Error(`Invalid dataframe envelope: unsupported encoding ${String(encoding)}`);
|
|
255
|
-
}
|
|
256
|
-
if (marker === 'series') {
|
|
257
|
-
const encoding = value.encoding;
|
|
258
|
-
if (encoding === 'arrow') {
|
|
259
|
-
const b64 = value.b64;
|
|
260
|
-
if (typeof b64 !== 'string') {
|
|
261
|
-
throw new Error('Invalid series envelope: missing b64');
|
|
262
|
-
}
|
|
263
|
-
const bytes = fromBase64(b64);
|
|
264
|
-
return decodeArrow(bytes);
|
|
265
|
-
}
|
|
266
|
-
if (encoding === 'json') {
|
|
267
|
-
if (!('data' in value)) {
|
|
268
|
-
throw new Error('Invalid series envelope: missing data');
|
|
269
|
-
}
|
|
270
|
-
return value.data;
|
|
271
|
-
}
|
|
272
|
-
throw new Error(`Invalid series envelope: unsupported encoding ${String(encoding)}`);
|
|
273
|
-
}
|
|
274
|
-
if (marker === 'ndarray') {
|
|
275
|
-
const encoding = value.encoding;
|
|
276
|
-
const shapeValue = value.shape;
|
|
277
|
-
const shape = isNumberArray(shapeValue) ? shapeValue : undefined;
|
|
278
|
-
if (encoding === 'arrow') {
|
|
279
|
-
const b64 = value.b64;
|
|
280
|
-
if (typeof b64 !== 'string') {
|
|
281
|
-
throw new Error('Invalid ndarray envelope: missing b64');
|
|
282
|
-
}
|
|
283
|
-
const bytes = fromBase64(b64);
|
|
284
|
-
const decoded = decodeArrow(bytes);
|
|
285
|
-
// Extract values from Arrow table and reshape if needed
|
|
286
|
-
// Arrow only handles 1D arrays, so we flatten on encode and reshape here
|
|
287
|
-
// Reshape for: scalars (shape.length === 0) and multi-dim (shape.length > 1)
|
|
288
|
-
// Skip reshape for: 1D arrays (shape.length === 1) - return as-is
|
|
289
|
-
if (isPromiseLike(decoded)) {
|
|
290
|
-
return decoded.then(data => {
|
|
291
|
-
const values = extractArrowValues(data);
|
|
292
|
-
if (!values) {
|
|
293
|
-
return data; // Fallback: return raw data if extraction fails
|
|
294
|
-
}
|
|
295
|
-
// Reshape scalars and multi-dimensional arrays, but not 1D
|
|
296
|
-
if (shape && shape.length !== 1) {
|
|
297
|
-
return reshapeArray(values, shape);
|
|
298
|
-
}
|
|
299
|
-
return values;
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
const values = extractArrowValues(decoded);
|
|
303
|
-
if (!values) {
|
|
304
|
-
return decoded; // Fallback: return raw data if extraction fails
|
|
305
|
-
}
|
|
306
|
-
// Reshape scalars and multi-dimensional arrays, but not 1D
|
|
307
|
-
if (shape && shape.length !== 1) {
|
|
308
|
-
return reshapeArray(values, shape);
|
|
309
|
-
}
|
|
310
|
-
return values;
|
|
222
|
+
/**
|
|
223
|
+
* Decode an Arrow-or-JSON envelope (dataframe / series).
|
|
224
|
+
*
|
|
225
|
+
* Why: dataframe and series share identical arrow/json handling; the only difference
|
|
226
|
+
* is the typeTag name used in error messages.
|
|
227
|
+
*/
|
|
228
|
+
function decodeArrowOrJsonEnvelope(value, decodeArrow, typeTag) {
|
|
229
|
+
const encoding = value.encoding;
|
|
230
|
+
if (encoding === 'arrow') {
|
|
231
|
+
const b64 = value.b64;
|
|
232
|
+
if (typeof b64 !== 'string') {
|
|
233
|
+
throw new Error(`Invalid ${typeTag} envelope: missing b64`);
|
|
311
234
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
235
|
+
const bytes = fromBase64(b64);
|
|
236
|
+
return decodeArrow(bytes);
|
|
237
|
+
}
|
|
238
|
+
if (encoding === 'json') {
|
|
239
|
+
if (!('data' in value)) {
|
|
240
|
+
throw new Error(`Invalid ${typeTag} envelope: missing data`);
|
|
317
241
|
}
|
|
318
|
-
|
|
242
|
+
return value.data;
|
|
319
243
|
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
244
|
+
throw new Error(`Invalid ${typeTag} envelope: unsupported encoding ${String(encoding)}`);
|
|
245
|
+
}
|
|
246
|
+
const decodeDataframeEnvelope = (value, decodeArrow) => decodeArrowOrJsonEnvelope(value, decodeArrow, 'dataframe');
|
|
247
|
+
const decodeSeriesEnvelope = (value, decodeArrow) => decodeArrowOrJsonEnvelope(value, decodeArrow, 'series');
|
|
248
|
+
const decodeNdarrayEnvelope = (value, decodeArrow) => {
|
|
249
|
+
const encoding = value.encoding;
|
|
250
|
+
const shapeValue = value.shape;
|
|
251
|
+
const shape = isNumberArray(shapeValue) ? shapeValue : undefined;
|
|
252
|
+
if (encoding === 'arrow') {
|
|
253
|
+
const b64 = value.b64;
|
|
254
|
+
if (typeof b64 !== 'string') {
|
|
255
|
+
throw new Error('Invalid ndarray envelope: missing b64');
|
|
324
256
|
}
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
257
|
+
const bytes = fromBase64(b64);
|
|
258
|
+
const decoded = decodeArrow(bytes);
|
|
259
|
+
// Extract values from Arrow table and reshape if needed
|
|
260
|
+
// Arrow only handles 1D arrays, so we flatten on encode and reshape here
|
|
261
|
+
// Reshape for: scalars (shape.length === 0) and multi-dim (shape.length > 1)
|
|
262
|
+
// Skip reshape for: 1D arrays (shape.length === 1) - return as-is
|
|
263
|
+
if (isPromiseLike(decoded)) {
|
|
264
|
+
return decoded.then(data => {
|
|
265
|
+
const values = extractArrowValues(data);
|
|
266
|
+
if (!values) {
|
|
267
|
+
return data; // Fallback: return raw data if extraction fails
|
|
268
|
+
}
|
|
269
|
+
// Reshape scalars and multi-dimensional arrays, but not 1D
|
|
270
|
+
if (shape && shape.length !== 1) {
|
|
271
|
+
return reshapeArray(values, shape);
|
|
272
|
+
}
|
|
273
|
+
return values;
|
|
274
|
+
});
|
|
328
275
|
}
|
|
329
|
-
const
|
|
330
|
-
if (!
|
|
331
|
-
|
|
332
|
-
typeof shape[0] !== 'number' ||
|
|
333
|
-
typeof shape[1] !== 'number') {
|
|
334
|
-
throw new Error('Invalid scipy.sparse envelope: shape must be a 2-item number[]');
|
|
276
|
+
const values = extractArrowValues(decoded);
|
|
277
|
+
if (!values) {
|
|
278
|
+
return decoded; // Fallback: return raw data if extraction fails
|
|
335
279
|
}
|
|
336
|
-
|
|
337
|
-
if (
|
|
338
|
-
|
|
280
|
+
// Reshape scalars and multi-dimensional arrays, but not 1D
|
|
281
|
+
if (shape && shape.length !== 1) {
|
|
282
|
+
return reshapeArray(values, shape);
|
|
339
283
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
if (!Array.isArray(row) || !Array.isArray(col)) {
|
|
346
|
-
throw new Error('Invalid scipy.sparse envelope: coo requires row and col arrays');
|
|
347
|
-
}
|
|
348
|
-
return {
|
|
349
|
-
format,
|
|
350
|
-
shape,
|
|
351
|
-
data,
|
|
352
|
-
row,
|
|
353
|
-
col,
|
|
354
|
-
dtype,
|
|
355
|
-
};
|
|
284
|
+
return values;
|
|
285
|
+
}
|
|
286
|
+
if (encoding === 'json') {
|
|
287
|
+
if (!('data' in value)) {
|
|
288
|
+
throw new Error('Invalid ndarray envelope: missing data');
|
|
356
289
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
290
|
+
return value.data;
|
|
291
|
+
}
|
|
292
|
+
throw new Error(`Invalid ndarray envelope: unsupported encoding ${String(encoding)}`);
|
|
293
|
+
};
|
|
294
|
+
const decodeScipySparseEnvelope = value => {
|
|
295
|
+
const encoding = value.encoding;
|
|
296
|
+
if (encoding !== 'json') {
|
|
297
|
+
throw new Error(`Invalid scipy.sparse envelope: unsupported encoding ${String(encoding)}`);
|
|
298
|
+
}
|
|
299
|
+
const format = value.format;
|
|
300
|
+
if (format !== 'csr' && format !== 'csc' && format !== 'coo') {
|
|
301
|
+
throw new Error(`Invalid scipy.sparse envelope: unsupported format ${String(format)}`);
|
|
302
|
+
}
|
|
303
|
+
const shape = value.shape;
|
|
304
|
+
if (!Array.isArray(shape) ||
|
|
305
|
+
shape.length !== 2 ||
|
|
306
|
+
typeof shape[0] !== 'number' ||
|
|
307
|
+
typeof shape[1] !== 'number') {
|
|
308
|
+
throw new Error('Invalid scipy.sparse envelope: shape must be a 2-item number[]');
|
|
309
|
+
}
|
|
310
|
+
const data = value.data;
|
|
311
|
+
if (!Array.isArray(data)) {
|
|
312
|
+
throw new Error('Invalid scipy.sparse envelope: data must be an array');
|
|
313
|
+
}
|
|
314
|
+
const dtypeValue = value.dtype;
|
|
315
|
+
const dtype = typeof dtypeValue === 'string' ? dtypeValue : undefined;
|
|
316
|
+
if (format === 'coo') {
|
|
317
|
+
const row = value.row;
|
|
318
|
+
const col = value.col;
|
|
319
|
+
if (!Array.isArray(row) || !Array.isArray(col)) {
|
|
320
|
+
throw new Error('Invalid scipy.sparse envelope: coo requires row and col arrays');
|
|
361
321
|
}
|
|
362
322
|
return {
|
|
363
323
|
format,
|
|
364
324
|
shape,
|
|
365
325
|
data,
|
|
366
|
-
|
|
367
|
-
|
|
326
|
+
row,
|
|
327
|
+
col,
|
|
368
328
|
dtype,
|
|
369
329
|
};
|
|
370
330
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
331
|
+
const indices = value.indices;
|
|
332
|
+
const indptr = value.indptr;
|
|
333
|
+
if (!Array.isArray(indices) || !Array.isArray(indptr)) {
|
|
334
|
+
throw new Error('Invalid scipy.sparse envelope: csr/csc requires indices and indptr arrays');
|
|
335
|
+
}
|
|
336
|
+
return {
|
|
337
|
+
format,
|
|
338
|
+
shape,
|
|
339
|
+
data,
|
|
340
|
+
indices,
|
|
341
|
+
indptr,
|
|
342
|
+
dtype,
|
|
343
|
+
};
|
|
344
|
+
};
|
|
345
|
+
const decodeTorchTensorEnvelope = (value, _decodeArrow, recurse) => {
|
|
346
|
+
const encoding = value.encoding;
|
|
347
|
+
if (encoding !== 'ndarray') {
|
|
348
|
+
throw new Error(`Invalid torch.tensor envelope: unsupported encoding ${String(encoding)}`);
|
|
349
|
+
}
|
|
350
|
+
if (!('value' in value)) {
|
|
351
|
+
throw new Error('Invalid torch.tensor envelope: missing value');
|
|
352
|
+
}
|
|
353
|
+
const nested = value.value;
|
|
354
|
+
if (!isObject(nested) || nested.__tywrap__ !== 'ndarray') {
|
|
355
|
+
throw new Error('Invalid torch.tensor envelope: value must be an ndarray envelope');
|
|
356
|
+
}
|
|
357
|
+
const decoded = recurse(nested);
|
|
358
|
+
const shapeValue = value.shape;
|
|
359
|
+
const shape = isNumberArray(shapeValue) ? shapeValue : undefined;
|
|
360
|
+
const dtypeValue = value.dtype;
|
|
361
|
+
const dtype = typeof dtypeValue === 'string' ? dtypeValue : undefined;
|
|
362
|
+
const deviceValue = value.device;
|
|
363
|
+
const device = typeof deviceValue === 'string' ? deviceValue : undefined;
|
|
364
|
+
if (isPromiseLike(decoded)) {
|
|
365
|
+
return decoded.then(data => ({ data, shape, dtype, device }));
|
|
366
|
+
}
|
|
367
|
+
return { data: decoded, shape, dtype, device };
|
|
368
|
+
};
|
|
369
|
+
const decodeSklearnEstimatorEnvelope = value => {
|
|
370
|
+
const encoding = value.encoding;
|
|
371
|
+
if (encoding !== 'json') {
|
|
372
|
+
throw new Error(`Invalid sklearn.estimator envelope: unsupported encoding ${String(encoding)}`);
|
|
373
|
+
}
|
|
374
|
+
const className = value.className;
|
|
375
|
+
const module = value.module;
|
|
376
|
+
const params = value.params;
|
|
377
|
+
if (typeof className !== 'string' || typeof module !== 'string' || !isObject(params)) {
|
|
378
|
+
throw new Error('Invalid sklearn.estimator envelope: expected className/module strings + params object');
|
|
379
|
+
}
|
|
380
|
+
const versionValue = value.version;
|
|
381
|
+
if (versionValue !== undefined && typeof versionValue !== 'string') {
|
|
382
|
+
throw new Error('Invalid sklearn.estimator envelope: version must be a string when provided');
|
|
383
|
+
}
|
|
384
|
+
const version = typeof versionValue === 'string' ? versionValue : undefined;
|
|
385
|
+
return {
|
|
386
|
+
className,
|
|
387
|
+
module,
|
|
388
|
+
version,
|
|
389
|
+
params,
|
|
390
|
+
};
|
|
391
|
+
};
|
|
392
|
+
// Why: dispatch over the __tywrap__ typeTag instead of a long if-chain so each type's
|
|
393
|
+
// decode logic lives in one focused handler. The typeTag strings are the on-the-wire keys
|
|
394
|
+
// emitted by the Python bridge and MUST stay byte-identical. A Map keyed by the typeTag
|
|
395
|
+
// avoids prototype-chain lookups when dispatching on attacker-controlled typeTag strings.
|
|
396
|
+
const ENVELOPE_HANDLERS = new Map([
|
|
397
|
+
['dataframe', decodeDataframeEnvelope],
|
|
398
|
+
['series', decodeSeriesEnvelope],
|
|
399
|
+
['ndarray', decodeNdarrayEnvelope],
|
|
400
|
+
['scipy.sparse', decodeScipySparseEnvelope],
|
|
401
|
+
['torch.tensor', decodeTorchTensorEnvelope],
|
|
402
|
+
['sklearn.estimator', decodeSklearnEstimatorEnvelope],
|
|
403
|
+
]);
|
|
404
|
+
function decodeEnvelopeCore(value, decodeArrow, recurse) {
|
|
405
|
+
if (!isObject(value)) {
|
|
406
|
+
return value;
|
|
394
407
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
const params = value.params;
|
|
403
|
-
if (typeof className !== 'string' || typeof module !== 'string' || !isObject(params)) {
|
|
404
|
-
throw new Error('Invalid sklearn.estimator envelope: expected className/module strings + params object');
|
|
405
|
-
}
|
|
406
|
-
const versionValue = value.version;
|
|
407
|
-
if (versionValue !== undefined && typeof versionValue !== 'string') {
|
|
408
|
-
throw new Error('Invalid sklearn.estimator envelope: version must be a string when provided');
|
|
409
|
-
}
|
|
410
|
-
const version = typeof versionValue === 'string' ? versionValue : undefined;
|
|
411
|
-
return {
|
|
412
|
-
className,
|
|
413
|
-
module,
|
|
414
|
-
version,
|
|
415
|
-
params,
|
|
416
|
-
};
|
|
408
|
+
const typeTag = value.__tywrap__;
|
|
409
|
+
if (typeof typeTag !== 'string') {
|
|
410
|
+
return value;
|
|
411
|
+
}
|
|
412
|
+
const handler = ENVELOPE_HANDLERS.get(typeTag);
|
|
413
|
+
if (!handler) {
|
|
414
|
+
return value;
|
|
417
415
|
}
|
|
418
|
-
|
|
416
|
+
assertCodecVersion(value, typeTag);
|
|
417
|
+
return handler(value, decodeArrow, recurse);
|
|
419
418
|
}
|
|
420
419
|
function decodeEnvelope(value, decodeArrow) {
|
|
421
420
|
const recurse = v => decodeEnvelopeCore(v, decodeArrow, recurse);
|
package/dist/utils/codec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/utils/codec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/utils/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/utils/python.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA6BD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/utils/python.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA6BD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AA8BD,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjG"}
|
package/dist/utils/python.js
CHANGED
|
@@ -27,26 +27,37 @@ async function loadNodePathModule() {
|
|
|
27
27
|
export function getDefaultPythonPath() {
|
|
28
28
|
return getPythonExecutableName();
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Whether the configured pythonPath is the default interpreter (or unset),
|
|
32
|
+
* meaning a virtual environment lookup should take precedence.
|
|
33
|
+
*/
|
|
34
|
+
function usesDefaultPython(pythonPath) {
|
|
35
|
+
return !pythonPath || pythonPath === 'python3' || pythonPath === 'python';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the Python executable inside a virtual environment, preferring the
|
|
39
|
+
* Node path module when available and falling back to cross-runtime pathUtils.
|
|
40
|
+
*/
|
|
41
|
+
async function resolveVenvPython(virtualEnv, cwd) {
|
|
42
|
+
const binDir = getVenvBinDir();
|
|
43
|
+
const exe = getVenvPythonExe();
|
|
44
|
+
const pathMod = await loadNodePathModule();
|
|
45
|
+
if (pathMod) {
|
|
46
|
+
const venvRoot = pathMod.resolve(cwd, virtualEnv);
|
|
47
|
+
return pathMod.join(venvRoot, binDir, exe);
|
|
48
|
+
}
|
|
49
|
+
const venvRoot = isAbsolutePath(virtualEnv)
|
|
50
|
+
? pathUtils.join(virtualEnv)
|
|
51
|
+
: pathUtils.join(cwd, virtualEnv);
|
|
52
|
+
return pathUtils.join(venvRoot, binDir, exe);
|
|
53
|
+
}
|
|
30
54
|
export async function resolvePythonExecutable(options = {}) {
|
|
31
55
|
const pythonPath = options.pythonPath?.trim();
|
|
32
56
|
const virtualEnv = options.virtualEnv?.trim();
|
|
33
|
-
if (virtualEnv) {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
(typeof process !== 'undefined' && typeof process.cwd === 'function' ? process.cwd() : '.');
|
|
38
|
-
const binDir = getVenvBinDir();
|
|
39
|
-
const exe = getVenvPythonExe();
|
|
40
|
-
const pathMod = await loadNodePathModule();
|
|
41
|
-
if (pathMod) {
|
|
42
|
-
const venvRoot = pathMod.resolve(cwd, virtualEnv);
|
|
43
|
-
return pathMod.join(venvRoot, binDir, exe);
|
|
44
|
-
}
|
|
45
|
-
const venvRoot = isAbsolutePath(virtualEnv)
|
|
46
|
-
? pathUtils.join(virtualEnv)
|
|
47
|
-
: pathUtils.join(cwd, virtualEnv);
|
|
48
|
-
return pathUtils.join(venvRoot, binDir, exe);
|
|
49
|
-
}
|
|
57
|
+
if (virtualEnv && usesDefaultPython(pythonPath)) {
|
|
58
|
+
const cwd = options.cwd ??
|
|
59
|
+
(typeof process !== 'undefined' && typeof process.cwd === 'function' ? process.cwd() : '.');
|
|
60
|
+
return resolveVenvPython(virtualEnv, cwd);
|
|
50
61
|
}
|
|
51
62
|
if (pythonPath) {
|
|
52
63
|
return pythonPath;
|
package/dist/utils/python.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/utils/python.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,IAAI,cAA6C,CAAC;AAElD,KAAK,UAAU,kBAAkB;IAC/B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtC,OAAO,cAAc,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/utils/python.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,IAAI,cAA6C,CAAC;AAElD,KAAK,UAAU,kBAAkB;IAC/B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtC,OAAO,cAAc,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAA8B;IACvD,OAAO,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,GAAW;IAC9D,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE3C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAgC,EAAE;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAE9C,IAAI,UAAU,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GACP,OAAO,CAAC,GAAG;YACX,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9F,OAAO,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAsG3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,mBAAmB,GAAG,OAAO,CAG5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,GAAG,MAAM,CAalE;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/runtime.js
CHANGED
|
@@ -185,28 +185,34 @@ async function loadPathModule() {
|
|
|
185
185
|
}
|
|
186
186
|
return null;
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Apply a single path segment to the accumulated normalized segments,
|
|
190
|
+
* resolving '..' and dropping '.'/empty segments in place.
|
|
191
|
+
*/
|
|
192
|
+
function applyPathSegment(normalized, segment, isAbsolute) {
|
|
193
|
+
if (segment === '.' || segment === '') {
|
|
194
|
+
return; // Skip current directory and empty segments
|
|
195
|
+
}
|
|
196
|
+
if (segment !== '..') {
|
|
197
|
+
normalized.push(segment);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
// '..' segment: go up one directory when possible.
|
|
201
|
+
if (normalized.length > 0 && normalized[normalized.length - 1] !== '..') {
|
|
202
|
+
normalized.pop();
|
|
203
|
+
}
|
|
204
|
+
else if (!isAbsolute) {
|
|
205
|
+
normalized.push(segment); // Keep '..' if not absolute and at root
|
|
206
|
+
}
|
|
207
|
+
}
|
|
188
208
|
/**
|
|
189
209
|
* Normalize path by stripping '.' and resolving '..' components
|
|
190
210
|
*/
|
|
191
211
|
function normalizePath(path) {
|
|
192
212
|
const isAbsolute = path.startsWith('/');
|
|
193
|
-
const segments = path.split('/');
|
|
194
213
|
const normalized = [];
|
|
195
|
-
for (const segment of
|
|
196
|
-
|
|
197
|
-
continue; // Skip current directory and empty segments
|
|
198
|
-
}
|
|
199
|
-
else if (segment === '..') {
|
|
200
|
-
if (normalized.length > 0 && normalized[normalized.length - 1] !== '..') {
|
|
201
|
-
normalized.pop(); // Go up one directory
|
|
202
|
-
}
|
|
203
|
-
else if (!isAbsolute) {
|
|
204
|
-
normalized.push(segment); // Keep '..' if not absolute and at root
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
normalized.push(segment);
|
|
209
|
-
}
|
|
214
|
+
for (const segment of path.split('/')) {
|
|
215
|
+
applyPathSegment(normalized, segment, isAbsolute);
|
|
210
216
|
}
|
|
211
217
|
const result = normalized.join('/');
|
|
212
218
|
return isAbsolute ? `/${result}` : result;
|