tywrap 0.6.1 → 0.7.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 (81) hide show
  1. package/dist/core/generator.d.ts.map +1 -1
  2. package/dist/core/generator.js +40 -9
  3. package/dist/core/generator.js.map +1 -1
  4. package/dist/runtime/base-bridge.d.ts +57 -0
  5. package/dist/runtime/base-bridge.d.ts.map +1 -0
  6. package/dist/runtime/base-bridge.js +72 -0
  7. package/dist/runtime/base-bridge.js.map +1 -0
  8. package/dist/runtime/http-transport.d.ts +11 -1
  9. package/dist/runtime/http-transport.d.ts.map +1 -1
  10. package/dist/runtime/http-transport.js +19 -0
  11. package/dist/runtime/http-transport.js.map +1 -1
  12. package/dist/runtime/http.d.ts +5 -12
  13. package/dist/runtime/http.d.ts.map +1 -1
  14. package/dist/runtime/http.js +6 -29
  15. package/dist/runtime/http.js.map +1 -1
  16. package/dist/runtime/index.d.ts +1 -1
  17. package/dist/runtime/index.d.ts.map +1 -1
  18. package/dist/runtime/index.js.map +1 -1
  19. package/dist/runtime/node.d.ts +12 -19
  20. package/dist/runtime/node.d.ts.map +1 -1
  21. package/dist/runtime/node.js +14 -34
  22. package/dist/runtime/node.js.map +1 -1
  23. package/dist/runtime/pooled-transport.d.ts +21 -2
  24. package/dist/runtime/pooled-transport.d.ts.map +1 -1
  25. package/dist/runtime/pooled-transport.js +16 -0
  26. package/dist/runtime/pooled-transport.js.map +1 -1
  27. package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
  28. package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
  29. package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
  30. package/dist/runtime/pyodide-transport.d.ts +12 -1
  31. package/dist/runtime/pyodide-transport.d.ts.map +1 -1
  32. package/dist/runtime/pyodide-transport.js +20 -0
  33. package/dist/runtime/pyodide-transport.js.map +1 -1
  34. package/dist/runtime/pyodide.d.ts +5 -12
  35. package/dist/runtime/pyodide.d.ts.map +1 -1
  36. package/dist/runtime/pyodide.js +6 -29
  37. package/dist/runtime/pyodide.js.map +1 -1
  38. package/dist/runtime/rpc-client.d.ts +14 -1
  39. package/dist/runtime/rpc-client.d.ts.map +1 -1
  40. package/dist/runtime/rpc-client.js +15 -0
  41. package/dist/runtime/rpc-client.js.map +1 -1
  42. package/dist/runtime/subprocess-transport.d.ts +10 -1
  43. package/dist/runtime/subprocess-transport.d.ts.map +1 -1
  44. package/dist/runtime/subprocess-transport.js +18 -0
  45. package/dist/runtime/subprocess-transport.js.map +1 -1
  46. package/dist/runtime/transport.d.ts +59 -0
  47. package/dist/runtime/transport.d.ts.map +1 -1
  48. package/dist/runtime/transport.js +1 -0
  49. package/dist/runtime/transport.js.map +1 -1
  50. package/dist/types/index.d.ts +35 -0
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/tywrap.d.ts.map +1 -1
  53. package/dist/tywrap.js +212 -149
  54. package/dist/tywrap.js.map +1 -1
  55. package/dist/utils/codec.d.ts +2 -0
  56. package/dist/utils/codec.d.ts.map +1 -1
  57. package/dist/utils/codec.js +53 -2
  58. package/dist/utils/codec.js.map +1 -1
  59. package/dist/version.js +1 -1
  60. package/package.json +7 -1
  61. package/runtime/__pycache__/_tywrap_member_fixtures.cpython-311.pyc +0 -0
  62. package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
  63. package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
  64. package/runtime/tywrap_bridge_core.py +55 -3
  65. package/src/core/generator.ts +50 -11
  66. package/src/runtime/base-bridge.ts +106 -0
  67. package/src/runtime/http-transport.ts +21 -1
  68. package/src/runtime/http.ts +7 -51
  69. package/src/runtime/index.ts +1 -0
  70. package/src/runtime/node.ts +17 -52
  71. package/src/runtime/pooled-transport.ts +25 -2
  72. package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
  73. package/src/runtime/pyodide-transport.ts +22 -0
  74. package/src/runtime/pyodide.ts +7 -52
  75. package/src/runtime/rpc-client.ts +17 -0
  76. package/src/runtime/subprocess-transport.ts +20 -1
  77. package/src/runtime/transport.ts +71 -0
  78. package/src/types/index.ts +37 -0
  79. package/src/tywrap.ts +274 -163
  80. package/src/utils/codec.ts +61 -4
  81. package/src/version.ts +1 -1
package/dist/tywrap.js CHANGED
@@ -9,7 +9,7 @@ import { fsUtils, pathUtils, processUtils, isWindows } from './utils/runtime.js'
9
9
  import { globalCache } from './utils/cache.js';
10
10
  import { resolvePythonExecutable } from './utils/python.js';
11
11
  import { computeIrCacheFilename } from './utils/ir-cache.js';
12
- const TYWRAP_IR_VERSION = '0.2.0';
12
+ const TYWRAP_IR_VERSION = '0.3.0';
13
13
  // Collect unknown typing constructs encountered during annotation parsing (per-generate run)
14
14
  let unknownTypeNamesCollector = new Map();
15
15
  function recordUnknown(name) {
@@ -38,6 +38,157 @@ async function safeReadFile(path) {
38
38
  return null;
39
39
  }
40
40
  }
41
+ const CACHE_DIR = '.tywrap/cache';
42
+ /**
43
+ * Resolve module IR via the Python extractor, consulting and (best-effort)
44
+ * populating the on-disk cache. Mirrors the original inline cache-then-fetch
45
+ * logic exactly: the cache is only read/written when caching is enabled, the
46
+ * filesystem is available, and we are not in check mode.
47
+ */
48
+ async function fetchAndCacheIr(moduleKey, resolvedOptions, pythonPath, cacheKey, caching, checkMode) {
49
+ let ir = null;
50
+ let irError;
51
+ if (caching && fsUtils.isAvailable() && !checkMode) {
52
+ try {
53
+ const cached = await fsUtils.readFile(pathUtils.join(CACHE_DIR, cacheKey));
54
+ ir = JSON.parse(cached);
55
+ }
56
+ catch {
57
+ ir = null;
58
+ }
59
+ }
60
+ if (!ir) {
61
+ const fetchResult = await fetchPythonIr(moduleKey, pythonPath, {
62
+ timeoutMs: resolvedOptions.runtime?.node?.timeout,
63
+ pythonImportPath: resolvedOptions.pythonImportPath,
64
+ });
65
+ ir = fetchResult.ir;
66
+ irError = fetchResult.error;
67
+ if (ir && caching && fsUtils.isAvailable() && !checkMode) {
68
+ try {
69
+ await fsUtils.writeFile(pathUtils.join(CACHE_DIR, cacheKey), JSON.stringify(ir));
70
+ }
71
+ catch { }
72
+ }
73
+ }
74
+ return { ir, error: irError };
75
+ }
76
+ /**
77
+ * Apply module-level export filtering (functions/classes + excludes) in place.
78
+ * Pushes any filtering warnings onto the provided `warnings` array. Behavior is
79
+ * identical to the original inline block.
80
+ */
81
+ function filterModuleExports(moduleModel, moduleConfig, moduleKey, warnings) {
82
+ const builtInDefaultExcludes = new Set([
83
+ 'dataclass',
84
+ 'property',
85
+ 'staticmethod',
86
+ 'classmethod',
87
+ 'abstractmethod',
88
+ 'cached_property',
89
+ ]);
90
+ const excludeExact = new Set((moduleConfig.exclude ?? []).map(String));
91
+ const excludeRegexes = [];
92
+ for (const pattern of moduleConfig.excludePatterns ?? []) {
93
+ try {
94
+ excludeRegexes.push(new RegExp(String(pattern)));
95
+ }
96
+ catch (err) {
97
+ const message = err instanceof Error ? err.message : String(err);
98
+ warnings.push(`Module ${moduleKey}: invalid excludePatterns regex "${String(pattern)}": ${message}`);
99
+ }
100
+ }
101
+ const shouldExclude = (name, applyBuiltInDefaults) => {
102
+ if (excludeExact.has(name)) {
103
+ return true;
104
+ }
105
+ if (excludeRegexes.some(r => r.test(name))) {
106
+ return true;
107
+ }
108
+ if (applyBuiltInDefaults && builtInDefaultExcludes.has(name)) {
109
+ return true;
110
+ }
111
+ return false;
112
+ };
113
+ if (Array.isArray(moduleConfig.functions)) {
114
+ const allow = new Set(moduleConfig.functions.map(String));
115
+ for (const requested of allow) {
116
+ if (!moduleModel.functions.some(f => f.name === requested)) {
117
+ warnings.push(`Module ${moduleKey}: configured function "${requested}" not found in IR`);
118
+ }
119
+ }
120
+ moduleModel.functions = moduleModel.functions.filter(f => allow.has(f.name) && !shouldExclude(f.name, false));
121
+ }
122
+ else {
123
+ moduleModel.functions = moduleModel.functions.filter(f => !shouldExclude(f.name, true));
124
+ }
125
+ if (Array.isArray(moduleConfig.classes)) {
126
+ const allow = new Set(moduleConfig.classes.map(String));
127
+ for (const requested of allow) {
128
+ if (!moduleModel.classes.some(c => c.name === requested)) {
129
+ warnings.push(`Module ${moduleKey}: configured class "${requested}" not found in IR`);
130
+ }
131
+ }
132
+ moduleModel.classes = moduleModel.classes.filter(c => allow.has(c.name) && !shouldExclude(c.name, false));
133
+ }
134
+ else {
135
+ moduleModel.classes = moduleModel.classes.filter(c => !shouldExclude(c.name, true));
136
+ }
137
+ moduleModel.typeAliases = (moduleModel.typeAliases ?? []).filter(alias => !shouldExclude(alias.name, false));
138
+ }
139
+ /**
140
+ * Either compare the generated files against disk (check mode) or write them.
141
+ * Mutates `written`/`outOfDate` exactly as the original inline branches did.
142
+ */
143
+ async function emitOrCompareFiles(filesToEmit, checkMode, written, outOfDate) {
144
+ if (checkMode) {
145
+ for (const file of filesToEmit) {
146
+ const existing = await safeReadFile(file.path);
147
+ if (existing === null) {
148
+ outOfDate.push(file.path);
149
+ continue;
150
+ }
151
+ if (normalizeForComparison(existing) !== normalizeForComparison(file.content)) {
152
+ outOfDate.push(file.path);
153
+ }
154
+ }
155
+ }
156
+ else {
157
+ for (const file of filesToEmit) {
158
+ await fsUtils.writeFile(file.path, file.content);
159
+ written.push(file.path);
160
+ }
161
+ }
162
+ }
163
+ /**
164
+ * Emit the best-effort warning summary of unknown typing constructs collected
165
+ * for the current module, and (outside check mode) write the JSON report.
166
+ */
167
+ async function reportUnknownTypes(baseName, unknownTypeNames, checkMode, warnings) {
168
+ if (unknownTypeNames.size === 0) {
169
+ return;
170
+ }
171
+ const entries = Array.from(unknownTypeNames.entries()).sort((a, b) => b[1] - a[1]);
172
+ const unkList = entries
173
+ .slice(0, 25)
174
+ .map(([n, c]) => `${n}:${c}`)
175
+ .join(', ');
176
+ warnings.push(`Module ${baseName}: unknown typing constructs encountered: ${unkList}${entries.length > 25 ? '…' : ''}`);
177
+ // Write JSON report
178
+ if (!checkMode) {
179
+ try {
180
+ const reportsDir = pathUtils.join('.tywrap', 'reports');
181
+ await fsUtils.writeFile(pathUtils.join(reportsDir, `${baseName}.json`), JSON.stringify({
182
+ module: baseName,
183
+ unknowns: Object.fromEntries(entries),
184
+ generatedAt: new Date().toISOString(),
185
+ }));
186
+ }
187
+ catch {
188
+ // ignore
189
+ }
190
+ }
191
+ }
41
192
  /**
42
193
  * Generate TypeScript wrappers for configured Python modules.
43
194
  * Minimal MVP implementation: resolves module file, analyzes, generates TS, writes to output.dir
@@ -52,7 +203,6 @@ export async function generate(options, runOptions = {}) {
52
203
  const failures = [];
53
204
  const outputDir = resolvedOptions.output.dir;
54
205
  const caching = resolvedOptions.performance.caching;
55
- const cacheDir = '.tywrap/cache';
56
206
  const pythonPath = await resolvePythonExecutable({
57
207
  pythonPath: resolvedOptions.runtime?.node?.pythonPath,
58
208
  virtualEnv: resolvedOptions.runtime?.node?.virtualEnv,
@@ -75,31 +225,7 @@ export async function generate(options, runOptions = {}) {
75
225
  unknownTypeNamesCollector = new Map();
76
226
  // Resolve module IR via the Python extractor (with optional cache)
77
227
  const cacheKey = await computeCacheKey(moduleKey, resolvedOptions);
78
- let ir = null;
79
- let irError;
80
- if (caching && fsUtils.isAvailable() && !checkMode) {
81
- try {
82
- const cached = await fsUtils.readFile(pathUtils.join(cacheDir, cacheKey));
83
- ir = JSON.parse(cached);
84
- }
85
- catch {
86
- ir = null;
87
- }
88
- }
89
- if (!ir) {
90
- const fetchResult = await fetchPythonIr(moduleKey, pythonPath, {
91
- timeoutMs: resolvedOptions.runtime?.node?.timeout,
92
- pythonImportPath: resolvedOptions.pythonImportPath,
93
- });
94
- ir = fetchResult.ir;
95
- irError = fetchResult.error;
96
- if (ir && caching && fsUtils.isAvailable() && !checkMode) {
97
- try {
98
- await fsUtils.writeFile(pathUtils.join(cacheDir, cacheKey), JSON.stringify(ir));
99
- }
100
- catch { }
101
- }
102
- }
228
+ const { ir, error: irError } = await fetchAndCacheIr(moduleKey, resolvedOptions, pythonPath, cacheKey, caching, checkMode);
103
229
  if (!ir) {
104
230
  const message = `No IR produced for module ${moduleKey}${irError ? `: ${irError}` : ''}`;
105
231
  warnings.push(message);
@@ -112,64 +238,7 @@ export async function generate(options, runOptions = {}) {
112
238
  }
113
239
  const moduleModel = transformIrToTsModel(ir);
114
240
  // Apply module-level export filtering (functions/classes + excludes).
115
- {
116
- const builtInDefaultExcludes = new Set([
117
- 'dataclass',
118
- 'property',
119
- 'staticmethod',
120
- 'classmethod',
121
- 'abstractmethod',
122
- 'cached_property',
123
- ]);
124
- const excludeExact = new Set((moduleConfig.exclude ?? []).map(String));
125
- const excludeRegexes = [];
126
- for (const pattern of moduleConfig.excludePatterns ?? []) {
127
- try {
128
- excludeRegexes.push(new RegExp(String(pattern)));
129
- }
130
- catch (err) {
131
- const message = err instanceof Error ? err.message : String(err);
132
- warnings.push(`Module ${moduleKey}: invalid excludePatterns regex "${String(pattern)}": ${message}`);
133
- }
134
- }
135
- const shouldExclude = (name, applyBuiltInDefaults) => {
136
- if (excludeExact.has(name)) {
137
- return true;
138
- }
139
- if (excludeRegexes.some(r => r.test(name))) {
140
- return true;
141
- }
142
- if (applyBuiltInDefaults && builtInDefaultExcludes.has(name)) {
143
- return true;
144
- }
145
- return false;
146
- };
147
- if (Array.isArray(moduleConfig.functions)) {
148
- const allow = new Set(moduleConfig.functions.map(String));
149
- for (const requested of allow) {
150
- if (!moduleModel.functions.some(f => f.name === requested)) {
151
- warnings.push(`Module ${moduleKey}: configured function "${requested}" not found in IR`);
152
- }
153
- }
154
- moduleModel.functions = moduleModel.functions.filter(f => allow.has(f.name) && !shouldExclude(f.name, false));
155
- }
156
- else {
157
- moduleModel.functions = moduleModel.functions.filter(f => !shouldExclude(f.name, true));
158
- }
159
- if (Array.isArray(moduleConfig.classes)) {
160
- const allow = new Set(moduleConfig.classes.map(String));
161
- for (const requested of allow) {
162
- if (!moduleModel.classes.some(c => c.name === requested)) {
163
- warnings.push(`Module ${moduleKey}: configured class "${requested}" not found in IR`);
164
- }
165
- }
166
- moduleModel.classes = moduleModel.classes.filter(c => allow.has(c.name) && !shouldExclude(c.name, false));
167
- }
168
- else {
169
- moduleModel.classes = moduleModel.classes.filter(c => !shouldExclude(c.name, true));
170
- }
171
- moduleModel.typeAliases = (moduleModel.typeAliases ?? []).filter(alias => !shouldExclude(alias.name, false));
172
- }
241
+ filterModuleExports(moduleModel, moduleConfig, moduleKey, warnings);
173
242
  // Generate module code
174
243
  const annotatedJSDoc = Boolean(resolvedOptions.output?.annotatedJSDoc);
175
244
  const gen = instance.generator.generateModuleDefinition(moduleModel, annotatedJSDoc);
@@ -191,53 +260,40 @@ export async function generate(options, runOptions = {}) {
191
260
  content: renderSourceMapPlaceholder(moduleModel.name),
192
261
  });
193
262
  }
194
- if (checkMode) {
195
- for (const file of filesToEmit) {
196
- const existing = await safeReadFile(file.path);
197
- if (existing === null) {
198
- outOfDate.push(file.path);
199
- continue;
200
- }
201
- if (normalizeForComparison(existing) !== normalizeForComparison(file.content)) {
202
- outOfDate.push(file.path);
203
- }
204
- }
205
- }
206
- else {
207
- for (const file of filesToEmit) {
208
- await fsUtils.writeFile(file.path, file.content);
209
- written.push(file.path);
210
- }
211
- }
263
+ await emitOrCompareFiles(filesToEmit, checkMode, written, outOfDate);
212
264
  // Emit warning summary of unknown typing constructs (best-effort)
213
- if (unknownTypeNamesCollector.size > 0) {
214
- const entries = Array.from(unknownTypeNamesCollector.entries()).sort((a, b) => b[1] - a[1]);
215
- const unkList = entries
216
- .slice(0, 25)
217
- .map(([n, c]) => `${n}:${c}`)
218
- .join(', ');
219
- warnings.push(`Module ${baseName}: unknown typing constructs encountered: ${unkList}${entries.length > 25 ? '…' : ''}`);
220
- // Write JSON report
221
- if (!checkMode) {
222
- try {
223
- const reportsDir = pathUtils.join('.tywrap', 'reports');
224
- await fsUtils.writeFile(pathUtils.join(reportsDir, `${baseName}.json`), JSON.stringify({
225
- module: baseName,
226
- unknowns: Object.fromEntries(entries),
227
- generatedAt: new Date().toISOString(),
228
- }));
229
- }
230
- catch {
231
- // ignore
232
- }
233
- }
234
- }
265
+ await reportUnknownTypes(baseName, unknownTypeNamesCollector, checkMode, warnings);
235
266
  }
236
267
  if (checkMode) {
237
268
  return { written: [], warnings, failures, outOfDate };
238
269
  }
239
270
  return { written, warnings, failures };
240
271
  }
272
+ /**
273
+ * Run the IR extractor (`python <command...>`) and parse its JSON stdout.
274
+ *
275
+ * Returns the exec result alongside a parsed-IR outcome. On a zero exit code the
276
+ * stdout is JSON-parsed; on parse failure the supplied `parseErrorLabel` is used
277
+ * to build the error message. The caller is responsible for handling non-zero
278
+ * exit codes (e.g. the module-missing fallback), so a non-zero exit yields
279
+ * `ir: null` with no `error` set here.
280
+ */
281
+ async function execAndParseIr(pythonPath, command, execOptions, parseErrorLabel) {
282
+ const result = await processUtils.exec(pythonPath, command, execOptions);
283
+ if (result.code !== 0) {
284
+ return { result, ir: null };
285
+ }
286
+ try {
287
+ return { result, ir: JSON.parse(result.stdout) };
288
+ }
289
+ catch {
290
+ return {
291
+ result,
292
+ ir: null,
293
+ error: `Failed to parse ${parseErrorLabel}. stderr: ${result.stderr.trim() || 'empty'}`,
294
+ };
295
+ }
296
+ }
241
297
  /**
242
298
  * Invoke the Python IR CLI to get JSON IR for a module.
243
299
  */
@@ -254,20 +310,21 @@ async function fetchPythonIr(moduleName, pythonPath, options = {}) {
254
310
  .filter(Boolean)
255
311
  .join(delimiter);
256
312
  const env = mergedPyPath ? { PYTHONPATH: mergedPyPath } : undefined;
313
+ const execOptions = { timeoutMs: options.timeoutMs, env };
257
314
  try {
258
- const result = await processUtils.exec(pythonPath, ['-m', 'tywrap_ir', '--module', moduleName, '--ir-version', TYWRAP_IR_VERSION, '--no-pretty'], { timeoutMs: options.timeoutMs, env });
259
- if (result.code === 0) {
260
- try {
261
- return { ir: JSON.parse(result.stdout) };
262
- }
263
- catch {
264
- return {
265
- ir: null,
266
- error: `Failed to parse tywrap_ir output. stderr: ${result.stderr.trim() || 'empty'}`,
267
- };
268
- }
315
+ const primary = await execAndParseIr(pythonPath, [
316
+ '-m',
317
+ 'tywrap_ir',
318
+ '--module',
319
+ moduleName,
320
+ '--ir-version',
321
+ TYWRAP_IR_VERSION,
322
+ '--no-pretty',
323
+ ], execOptions, 'tywrap_ir output');
324
+ if (primary.result.code === 0) {
325
+ return { ir: primary.ir, error: primary.error };
269
326
  }
270
- const stderrText = result.stderr.trim();
327
+ const stderrText = primary.result.stderr.trim();
271
328
  const isTywrapIrMissing = stderrText.includes('No module named') && stderrText.includes('tywrap_ir');
272
329
  if (!isTywrapIrMissing) {
273
330
  return { ir: null, error: `tywrap_ir failed. stderr: ${stderrText || 'empty'}` };
@@ -290,22 +347,14 @@ async function fetchPythonIr(moduleName, pythonPath, options = {}) {
290
347
  error: `tywrap_ir not found on PYTHONPATH. stderr: ${stderrText || 'empty'}`,
291
348
  };
292
349
  }
293
- const fallback = await processUtils.exec(pythonPath, [localMain, '--module', moduleName, '--ir-version', TYWRAP_IR_VERSION, '--no-pretty'], { timeoutMs: options.timeoutMs, env });
294
- if (fallback.code !== 0) {
295
- return {
296
- ir: null,
297
- error: `tywrap_ir failed. stderr: ${fallback.stderr.trim() || stderrText || 'empty'}`,
298
- };
299
- }
300
- try {
301
- return { ir: JSON.parse(fallback.stdout) };
302
- }
303
- catch {
350
+ const fallback = await execAndParseIr(pythonPath, [localMain, '--module', moduleName, '--ir-version', TYWRAP_IR_VERSION, '--no-pretty'], execOptions, 'tywrap_ir fallback output');
351
+ if (fallback.result.code !== 0) {
304
352
  return {
305
353
  ir: null,
306
- error: `Failed to parse tywrap_ir fallback output. stderr: ${fallback.stderr.trim() || 'empty'}`,
354
+ error: `tywrap_ir failed. stderr: ${fallback.result.stderr.trim() || stderrText || 'empty'}`,
307
355
  };
308
356
  }
357
+ return { ir: fallback.ir, error: fallback.error };
309
358
  }
310
359
  catch (err) {
311
360
  return { ir: null, error: err instanceof Error ? err.message : String(err) };
@@ -373,6 +422,7 @@ function transformIrToTsModel(ir) {
373
422
  positionalOnly: p.kind === 'POSITIONAL_ONLY',
374
423
  keywordOnly: p.kind === 'KEYWORD_ONLY',
375
424
  });
425
+ const mapMethodKind = (value) => value === 'class' || value === 'static' ? value : 'instance';
376
426
  const mapFunc = (f, inheritedTypeParameters = []) => {
377
427
  const localTypeParameters = mapTypeParameters(f);
378
428
  const annotationTypeParameters = [...inheritedTypeParameters, ...localTypeParameters];
@@ -395,6 +445,7 @@ function transformIrToTsModel(ir) {
395
445
  parameters: Array.isArray(f.parameters)
396
446
  ? f.parameters.map(v => mapParam((v ?? {}), annotationTypeParameters))
397
447
  : [],
448
+ methodKind: mapMethodKind(f.method_kind),
398
449
  };
399
450
  };
400
451
  const mapClass = (c) => {
@@ -418,6 +469,18 @@ function transformIrToTsModel(ir) {
418
469
  };
419
470
  })
420
471
  : [],
472
+ accessors: Array.isArray(c.accessors)
473
+ ? c.accessors.map(v => {
474
+ const a = (v ?? {});
475
+ return {
476
+ name: String(a.name ?? ''),
477
+ type: parseType(a.returns, classTypeParameters),
478
+ docstring: a.docstring ?? undefined,
479
+ readOnly: typeof a.read_only === 'boolean' ? a.read_only : undefined,
480
+ isCached: Boolean(a.is_cached),
481
+ };
482
+ })
483
+ : [],
421
484
  docstring: c.docstring ?? undefined,
422
485
  decorators: c.typed_dict ? ['__typed_dict__'] : [],
423
486
  kind: c.typed_dict
@@ -1 +1 @@
1
- {"version":3,"file":"tywrap.js","sourceRoot":"","sources":["../src/tywrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tywrap.js","sourceRoot":"","sources":["../src/tywrap.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,8 @@ export type ValueEnvelope = {
88
88
  readonly params: Record<string, unknown>;
89
89
  };
90
90
  export type DecodedValue = ArrowTable | Uint8Array | SparseMatrix | TorchTensor | SklearnEstimator | unknown;
91
+ /** @internal Test-only: override the loader used by lazy auto-registration. */
92
+ export declare const _setLazyArrowLoaderForTesting: (loader: ArrowModuleLoader | undefined) => void;
91
93
  export declare function registerArrowDecoder(decoder: (bytes: Uint8Array) => ArrowTable | Uint8Array): void;
92
94
  export declare function clearArrowDecoder(): void;
93
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/utils/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/utils/codec.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,30 @@
9
9
  * Sklearn estimators: { "__tywrap__": "sklearn.estimator", "encoding": "json", ... }
10
10
  */
11
11
  let arrowTableFrom;
12
+ // Why: lazy auto-registration (on first Arrow decode) imports apache-arrow at most
13
+ // once per process. We cache the in-flight/settled attempt so concurrent decodes
14
+ // share a single dynamic import, and a missing module is not re-probed on every call.
15
+ let lazyRegistration;
16
+ // Why: the lazy decode path imports apache-arrow through the default Node loader, which
17
+ // is hard to simulate-as-absent in a test env where the dependency IS installed. This
18
+ // internal seam lets the unit suite exercise the "apache-arrow missing" clear-failure
19
+ // branch deterministically. It is intentionally NOT re-exported from the package root
20
+ // (see test/api_surface.test.ts) and is reset by clearArrowDecoder().
21
+ let lazyArrowLoaderOverride;
22
+ /** @internal Test-only: override the loader used by lazy auto-registration. */
23
+ export const _setLazyArrowLoaderForTesting = (loader) => {
24
+ lazyArrowLoaderOverride = loader;
25
+ lazyRegistration = undefined;
26
+ };
12
27
  export function registerArrowDecoder(decoder) {
13
28
  arrowTableFrom = decoder;
14
29
  }
15
30
  export function clearArrowDecoder() {
16
31
  arrowTableFrom = undefined;
32
+ // Why: reset the cached import attempt so tests (and reload helpers) can exercise
33
+ // the auto-registration path again from a clean slate.
34
+ lazyRegistration = undefined;
35
+ lazyArrowLoaderOverride = undefined;
17
36
  }
18
37
  /**
19
38
  * Whether an Arrow decoder has been registered for this process.
@@ -71,6 +90,12 @@ export async function autoRegisterArrowDecoder(options = {}) {
71
90
  }
72
91
  try {
73
92
  const arrowModule = await loader();
93
+ // Another path may have registered a decoder while the import was in flight
94
+ // (e.g. an explicit registerArrowDecoder() during concurrent startup/reload).
95
+ // Don't clobber it — the explicit registration wins.
96
+ if (hasArrowDecoder()) {
97
+ return true;
98
+ }
74
99
  registerArrowDecoderFromModule(arrowModule);
75
100
  return true;
76
101
  }
@@ -96,14 +121,40 @@ function fromBase64(b64) {
96
121
  }
97
122
  throw new Error('Base64 decoding is not available in this runtime');
98
123
  }
124
+ // Why: a single, actionable message for both decode paths so users always know the two
125
+ // supported remedies — install the optional dependency, or opt into the lossy JSON fallback.
126
+ const ARROW_MISSING_MESSAGE = 'Received an Arrow-encoded payload but no Arrow decoder is available. ' +
127
+ 'Install the optional dependency with `npm install apache-arrow`, or set ' +
128
+ 'TYWRAP_CODEC_FALLBACK=json on the Python side to receive JSON instead ' +
129
+ '(lossy for dtype/NA fidelity). tywrap never silently downgrades Arrow payloads.';
99
130
  function requireArrowDecoder() {
100
131
  if (!arrowTableFrom) {
101
- throw new Error('Arrow decoder not registered. Call registerArrowDecoder(...) or set TYWRAP_CODEC_FALLBACK=json in Python.');
132
+ throw new Error(ARROW_MISSING_MESSAGE);
133
+ }
134
+ return arrowTableFrom;
135
+ }
136
+ /**
137
+ * Ensure an Arrow decoder is registered, lazily importing apache-arrow on first use.
138
+ *
139
+ * Why: keep apache-arrow optional and zero-config. The first Arrow-encoded payload
140
+ * triggers a single best-effort dynamic import; if it succeeds the decoder is cached
141
+ * for the rest of the process. If apache-arrow is absent we throw a clear, actionable
142
+ * error rather than silently producing wrong data.
143
+ */
144
+ async function ensureArrowDecoder() {
145
+ if (arrowTableFrom) {
146
+ return arrowTableFrom;
147
+ }
148
+ // Reuse a single import attempt across concurrent decodes.
149
+ lazyRegistration ??= autoRegisterArrowDecoder(lazyArrowLoaderOverride ? { loader: lazyArrowLoaderOverride } : {});
150
+ await lazyRegistration;
151
+ if (!arrowTableFrom) {
152
+ throw new Error(ARROW_MISSING_MESSAGE);
102
153
  }
103
154
  return arrowTableFrom;
104
155
  }
105
156
  async function tryDecodeArrowTable(bytes) {
106
- const decoder = requireArrowDecoder();
157
+ const decoder = await ensureArrowDecoder();
107
158
  try {
108
159
  return decoder(bytes);
109
160
  }