tywrap 0.8.0 → 0.10.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 (159) hide show
  1. package/README.md +42 -22
  2. package/SECURITY.md +38 -0
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/index.js +8 -0
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/core/annotation-parser.d.ts +2 -1
  7. package/dist/core/annotation-parser.d.ts.map +1 -1
  8. package/dist/core/annotation-parser.js +6 -3
  9. package/dist/core/annotation-parser.js.map +1 -1
  10. package/dist/core/generator.d.ts +23 -4
  11. package/dist/core/generator.d.ts.map +1 -1
  12. package/dist/core/generator.js +254 -170
  13. package/dist/core/generator.js.map +1 -1
  14. package/dist/core/mapper.d.ts +3 -2
  15. package/dist/core/mapper.d.ts.map +1 -1
  16. package/dist/core/mapper.js +5 -5
  17. package/dist/core/mapper.js.map +1 -1
  18. package/dist/index.d.ts +7 -5
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +6 -4
  21. package/dist/index.js.map +1 -1
  22. package/dist/runtime/base-bridge.d.ts +3 -7
  23. package/dist/runtime/base-bridge.d.ts.map +1 -1
  24. package/dist/runtime/base-bridge.js +4 -17
  25. package/dist/runtime/base-bridge.js.map +1 -1
  26. package/dist/runtime/bounded-context.d.ts +3 -22
  27. package/dist/runtime/bounded-context.d.ts.map +1 -1
  28. package/dist/runtime/bounded-context.js +13 -53
  29. package/dist/runtime/bounded-context.js.map +1 -1
  30. package/dist/runtime/bridge-codec.d.ts +3 -3
  31. package/dist/runtime/bridge-codec.d.ts.map +1 -1
  32. package/dist/runtime/bridge-codec.js +129 -62
  33. package/dist/runtime/bridge-codec.js.map +1 -1
  34. package/dist/runtime/errors.d.ts +16 -0
  35. package/dist/runtime/errors.d.ts.map +1 -1
  36. package/dist/runtime/errors.js +17 -0
  37. package/dist/runtime/errors.js.map +1 -1
  38. package/dist/runtime/http-transport.d.ts +1 -1
  39. package/dist/runtime/http-transport.d.ts.map +1 -1
  40. package/dist/runtime/http-transport.js +1 -1
  41. package/dist/runtime/http-transport.js.map +1 -1
  42. package/dist/runtime/index.d.ts +1 -0
  43. package/dist/runtime/index.d.ts.map +1 -1
  44. package/dist/runtime/index.js +1 -0
  45. package/dist/runtime/index.js.map +1 -1
  46. package/dist/runtime/node.d.ts +7 -36
  47. package/dist/runtime/node.d.ts.map +1 -1
  48. package/dist/runtime/node.js +2 -80
  49. package/dist/runtime/node.js.map +1 -1
  50. package/dist/runtime/pooled-transport.d.ts +120 -59
  51. package/dist/runtime/pooled-transport.d.ts.map +1 -1
  52. package/dist/runtime/pooled-transport.js +345 -78
  53. package/dist/runtime/pooled-transport.js.map +1 -1
  54. package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
  55. package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
  56. package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
  57. package/dist/runtime/pyodide-transport.d.ts +1 -1
  58. package/dist/runtime/pyodide-transport.d.ts.map +1 -1
  59. package/dist/runtime/pyodide-transport.js +2 -3
  60. package/dist/runtime/pyodide-transport.js.map +1 -1
  61. package/dist/runtime/rpc-client.d.ts +7 -36
  62. package/dist/runtime/rpc-client.d.ts.map +1 -1
  63. package/dist/runtime/rpc-client.js +20 -102
  64. package/dist/runtime/rpc-client.js.map +1 -1
  65. package/dist/runtime/subprocess-transport.d.ts +30 -69
  66. package/dist/runtime/subprocess-transport.d.ts.map +1 -1
  67. package/dist/runtime/subprocess-transport.js +179 -236
  68. package/dist/runtime/subprocess-transport.js.map +1 -1
  69. package/dist/runtime/timed-out-request-tracker.d.ts +2 -1
  70. package/dist/runtime/timed-out-request-tracker.d.ts.map +1 -1
  71. package/dist/runtime/transport.d.ts +9 -19
  72. package/dist/runtime/transport.d.ts.map +1 -1
  73. package/dist/runtime/transport.js +1 -1
  74. package/dist/runtime/transport.js.map +1 -1
  75. package/dist/runtime/validators.d.ts +50 -0
  76. package/dist/runtime/validators.d.ts.map +1 -1
  77. package/dist/runtime/validators.js +154 -0
  78. package/dist/runtime/validators.js.map +1 -1
  79. package/dist/types/index.d.ts +14 -39
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/tywrap.d.ts +3 -2
  82. package/dist/tywrap.d.ts.map +1 -1
  83. package/dist/tywrap.js +140 -13
  84. package/dist/tywrap.js.map +1 -1
  85. package/dist/utils/cache.d.ts +3 -16
  86. package/dist/utils/cache.d.ts.map +1 -1
  87. package/dist/utils/codec.d.ts +17 -0
  88. package/dist/utils/codec.d.ts.map +1 -1
  89. package/dist/utils/codec.js +500 -85
  90. package/dist/utils/codec.js.map +1 -1
  91. package/dist/utils/ir-cache.d.ts +2 -1
  92. package/dist/utils/ir-cache.d.ts.map +1 -1
  93. package/dist/utils/runtime.d.ts +0 -29
  94. package/dist/utils/runtime.d.ts.map +1 -1
  95. package/dist/utils/runtime.js +16 -107
  96. package/dist/utils/runtime.js.map +1 -1
  97. package/dist/version.d.ts.map +1 -1
  98. package/dist/version.js +1 -1
  99. package/dist/version.js.map +1 -1
  100. package/package.json +7 -6
  101. package/runtime/frame_codec.py +7 -1
  102. package/runtime/python_bridge.py +85 -125
  103. package/runtime/tywrap_bridge_core.py +515 -187
  104. package/src/config/index.ts +11 -0
  105. package/src/core/annotation-parser.ts +7 -4
  106. package/src/core/generator.ts +330 -205
  107. package/src/core/mapper.ts +8 -8
  108. package/src/index.ts +7 -4
  109. package/src/runtime/base-bridge.ts +5 -30
  110. package/src/runtime/bounded-context.ts +12 -67
  111. package/src/runtime/bridge-codec.ts +158 -74
  112. package/src/runtime/errors.ts +21 -0
  113. package/src/runtime/http-transport.ts +6 -1
  114. package/src/runtime/index.ts +6 -0
  115. package/src/runtime/node.ts +9 -120
  116. package/src/runtime/pooled-transport.ts +424 -90
  117. package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
  118. package/src/runtime/pyodide-transport.ts +7 -3
  119. package/src/runtime/rpc-client.ts +37 -139
  120. package/src/runtime/subprocess-transport.ts +210 -285
  121. package/src/runtime/timed-out-request-tracker.ts +1 -1
  122. package/src/runtime/transport.ts +15 -23
  123. package/src/runtime/validators.ts +212 -0
  124. package/src/types/index.ts +21 -60
  125. package/src/tywrap.ts +157 -22
  126. package/src/utils/cache.ts +3 -3
  127. package/src/utils/codec.ts +749 -112
  128. package/src/utils/ir-cache.ts +1 -1
  129. package/src/utils/runtime.ts +17 -128
  130. package/src/version.ts +1 -1
  131. package/dist/core/discovery.d.ts +0 -103
  132. package/dist/core/discovery.d.ts.map +0 -1
  133. package/dist/core/discovery.js +0 -380
  134. package/dist/core/discovery.js.map +0 -1
  135. package/dist/core/validation.d.ts +0 -102
  136. package/dist/core/validation.d.ts.map +0 -1
  137. package/dist/core/validation.js +0 -490
  138. package/dist/core/validation.js.map +0 -1
  139. package/dist/runtime/base.d.ts +0 -22
  140. package/dist/runtime/base.d.ts.map +0 -1
  141. package/dist/runtime/base.js +0 -23
  142. package/dist/runtime/base.js.map +0 -1
  143. package/dist/runtime/transport-pool.d.ts +0 -196
  144. package/dist/runtime/transport-pool.d.ts.map +0 -1
  145. package/dist/runtime/transport-pool.js +0 -418
  146. package/dist/runtime/transport-pool.js.map +0 -1
  147. package/runtime/__pycache__/_tywrap_conformance_chunking_fixtures.cpython-311.pyc +0 -0
  148. package/runtime/__pycache__/_tywrap_member_fixtures.cpython-311.pyc +0 -0
  149. package/runtime/__pycache__/_tywrap_w4_chunking_fixture.cpython-311.pyc +0 -0
  150. package/runtime/__pycache__/_tywrap_w5_request_chunking_fixture.cpython-311.pyc +0 -0
  151. package/runtime/__pycache__/_tywrap_w6_pool_chunking_fixture.cpython-311.pyc +0 -0
  152. package/runtime/__pycache__/frame_codec.cpython-311.pyc +0 -0
  153. package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
  154. package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
  155. package/runtime/safe_codec.py +0 -352
  156. package/src/core/discovery.ts +0 -477
  157. package/src/core/validation.ts +0 -729
  158. package/src/runtime/base.ts +0 -24
  159. package/src/runtime/transport-pool.ts +0 -538
@@ -6,7 +6,7 @@
6
6
  * NOT a base class bridges extend. It owns the one place where the wire frame
7
7
  * is built and correlated: id generation, {id, protocol} stamping, codec
8
8
  * encode/decode, and transport.send. It composes DisposableBase to obtain its
9
- * lifecycle (init/dispose) and bounded execution (timeout/retry/abort), but it
9
+ * lifecycle (init/dispose) and single-attempt bounded execution (timeout/abort), but it
10
10
  * carries no PythonRuntime contract obligation — the facade implements
11
11
  * PythonRuntime and delegates the four RPC methods to this client.
12
12
  *
@@ -90,39 +90,6 @@ function validateBridgeInfoPayload(value) {
90
90
  if (typeof instances !== 'number' || !Number.isInteger(instances) || instances < 0) {
91
91
  throw new BridgeProtocolError(`Invalid bridge info payload: instances expected non-negative integer, got ${formatValue(instances)}`);
92
92
  }
93
- // OPTIONAL chunked-transport negotiation block. Absent on old bridges and on
94
- // HTTP/Pyodide (single-frame in 0.8.0) — absence is backward compatible. When
95
- // present, validate every field and CARRY IT THROUGH so negotiation data
96
- // survives the rebuild below (the old validator silently dropped unknown
97
- // fields, which would have discarded this block).
98
- let transport;
99
- const rawTransport = obj.transport;
100
- if (rawTransport !== undefined) {
101
- if (!rawTransport || typeof rawTransport !== 'object' || Array.isArray(rawTransport)) {
102
- const kind = rawTransport === null
103
- ? 'null'
104
- : Array.isArray(rawTransport)
105
- ? 'array'
106
- : typeof rawTransport;
107
- throw new BridgeProtocolError(`Invalid bridge info payload: transport expected object, got ${kind}`);
108
- }
109
- const t = rawTransport;
110
- const frameProtocol = t.frameProtocol;
111
- if (typeof frameProtocol !== 'string' || frameProtocol.length === 0) {
112
- throw new BridgeProtocolError(`Invalid bridge info payload: transport.frameProtocol expected non-empty string, got ${formatValue(frameProtocol)}`);
113
- }
114
- const supportsChunking = t.supportsChunking;
115
- if (typeof supportsChunking !== 'boolean') {
116
- throw new BridgeProtocolError(`Invalid bridge info payload: transport.supportsChunking expected boolean, got ${formatValue(supportsChunking)}`);
117
- }
118
- const maxFrameBytes = t.maxFrameBytes;
119
- if (typeof maxFrameBytes !== 'number' ||
120
- !Number.isInteger(maxFrameBytes) ||
121
- maxFrameBytes <= 0) {
122
- throw new BridgeProtocolError(`Invalid bridge info payload: transport.maxFrameBytes expected positive integer, got ${formatValue(maxFrameBytes)}`);
123
- }
124
- transport = { frameProtocol, supportsChunking, maxFrameBytes };
125
- }
126
93
  const info = {
127
94
  protocol: PROTOCOL_ID,
128
95
  protocolVersion: TYWRAP_PROTOCOL_VERSION,
@@ -136,9 +103,6 @@ function validateBridgeInfoPayload(value) {
136
103
  sklearnAvailable,
137
104
  instances,
138
105
  };
139
- if (transport !== undefined) {
140
- info.transport = transport;
141
- }
142
106
  return info;
143
107
  }
144
108
  // =============================================================================
@@ -159,7 +123,7 @@ function validateBridgeInfoPayload(value) {
159
123
  * this.rpc = new RpcClient({ transport, defaultTimeoutMs: options.timeout });
160
124
  * this.trackResource(this.rpc);
161
125
  * }
162
- * // call/instantiate/callMethod/disposeInstance delegate to this.rpc.*
126
+ * // call and getBridgeInfo delegate to this.rpc.*
163
127
  * }
164
128
  * ```
165
129
  */
@@ -220,7 +184,7 @@ export class RpcClient extends DisposableBase {
220
184
  * 4. Decodes and validates the response
221
185
  *
222
186
  * @param message - The protocol message (without id field)
223
- * @param options - Execution options (timeout, retries, validation)
187
+ * @param options - Execution options (timeout, validation, and abort)
224
188
  * @returns The typed response from Python
225
189
  *
226
190
  * @throws BridgeProtocolError if encoding/decoding fails
@@ -237,7 +201,7 @@ export class RpcClient extends DisposableBase {
237
201
  * ndarrays, or other Arrow-encoded data structures.
238
202
  *
239
203
  * @param message - The protocol message (without id field)
240
- * @param options - Execution options (timeout, retries, validation)
204
+ * @param options - Execution options (timeout, validation, and abort)
241
205
  * @returns The typed response from Python with Arrow decoding applied
242
206
  *
243
207
  * @throws BridgeProtocolError if encoding/decoding fails
@@ -250,7 +214,7 @@ export class RpcClient extends DisposableBase {
250
214
  /**
251
215
  * Shared body for sendMessage/sendMessageAsync: stamp the frame, run the
252
216
  * encode -> transport.send -> decode pipeline inside this.execute() (which
253
- * supplies auto-init, timeout/retry/abort), where the only difference between
217
+ * supplies auto-init and exactly-one-attempt timeout/abort handling), where the only difference between
254
218
  * the sync and Arrow-aware paths is the supplied `decode` step.
255
219
  *
256
220
  * Behavior-preserving extraction of the two twins; ordering, the
@@ -263,7 +227,7 @@ export class RpcClient extends DisposableBase {
263
227
  // 1. Encode request (validates args)
264
228
  const encoded = this.codec.encodeRequest(fullMessage);
265
229
  // 2. Send via transport
266
- const responseStr = await this.transport.send(encoded, options?.timeoutMs ?? this.defaultTimeoutMs, options?.signal);
230
+ const responseStr = await this.transport.send(encoded, options?.timeoutMs ?? this.defaultTimeoutMs, options?.signal, fullMessage.id);
267
231
  // 3. Decode response (sync or Arrow-aware, per caller)
268
232
  return decode(responseStr);
269
233
  }, options);
@@ -287,7 +251,7 @@ export class RpcClient extends DisposableBase {
287
251
  async sendOn(transport, message, opts) {
288
252
  const fullMessage = this.stampMessage(message);
289
253
  const encoded = this.codec.encodeRequest(fullMessage);
290
- const responseStr = await transport.send(encoded, opts?.timeoutMs ?? this.defaultTimeoutMs, opts?.signal);
254
+ const responseStr = await transport.send(encoded, opts?.timeoutMs ?? this.defaultTimeoutMs, opts?.signal, fullMessage.id);
291
255
  return this.codec.decodeResponseAsync(responseStr);
292
256
  }
293
257
  /**
@@ -324,7 +288,7 @@ export class RpcClient extends DisposableBase {
324
288
  * @param kwargs - Keyword arguments
325
289
  * @returns The function result
326
290
  */
327
- async call(module, functionName, args, kwargs) {
291
+ async call(module, functionName, args, kwargs, validate) {
328
292
  return this.sendMessageAsync({
329
293
  method: 'call',
330
294
  params: {
@@ -333,69 +297,20 @@ export class RpcClient extends DisposableBase {
333
297
  args,
334
298
  kwargs,
335
299
  },
336
- });
337
- }
338
- /**
339
- * Instantiate a Python class.
340
- *
341
- * @param module - Python module path containing the class
342
- * @param className - Class name to instantiate
343
- * @param args - Positional constructor arguments
344
- * @param kwargs - Keyword constructor arguments
345
- * @returns A handle to the created instance
346
- */
347
- async instantiate(module, className, args, kwargs) {
348
- return this.sendMessageAsync({
349
- method: 'instantiate',
350
- params: {
351
- module,
352
- className,
353
- args,
354
- kwargs,
355
- },
356
- });
357
- }
358
- /**
359
- * Call a method on a Python instance.
360
- *
361
- * @param handle - Instance handle returned from instantiate()
362
- * @param methodName - Method name to call
363
- * @param args - Positional arguments
364
- * @param kwargs - Keyword arguments
365
- * @returns The method result
366
- */
367
- async callMethod(handle, methodName, args, kwargs) {
368
- return this.sendMessageAsync({
369
- method: 'call_method',
370
- params: {
371
- handle,
372
- methodName,
373
- args,
374
- kwargs,
375
- },
376
- });
377
- }
378
- /**
379
- * Dispose a Python instance.
380
- *
381
- * Releases the instance handle on the Python side, allowing
382
- * the object to be garbage collected.
383
- *
384
- * @param handle - Instance handle to dispose
385
- */
386
- async disposeInstance(handle) {
387
- await this.sendMessageAsync({
388
- method: 'dispose_instance',
389
- params: {
390
- handle,
391
- },
392
- });
300
+ }, validate
301
+ ? {
302
+ validate: result => {
303
+ validate(result);
304
+ return result;
305
+ },
306
+ }
307
+ : undefined);
393
308
  }
394
309
  /**
395
310
  * Fetch bridge diagnostics and feature availability.
396
311
  *
397
312
  * The Python bridge supports a `meta` method that returns protocol and environment info
398
- * (including optional codec availability and current instance count).
313
+ * (including optional codec availability and a fixed zero instance count).
399
314
  */
400
315
  async getBridgeInfo(options = {}) {
401
316
  if (!options.refresh && this.bridgeInfoCache) {
@@ -407,6 +322,9 @@ export class RpcClient extends DisposableBase {
407
322
  }, {
408
323
  validate: validateBridgeInfoPayload,
409
324
  });
325
+ if (info.instances !== 0) {
326
+ throw new BridgeProtocolError(`Invalid bridge info payload: instances expected 0, got ${String(info.instances)}`);
327
+ }
410
328
  this.bridgeInfoCache = info;
411
329
  return info;
412
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/runtime/rpc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/runtime/rpc-client.ts"],"names":[],"mappings":"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"}
@@ -32,18 +32,6 @@ export interface SubprocessTransportOptions {
32
32
  restartAfterRequests?: number;
33
33
  /** Write queue timeout in milliseconds. Default: 30000ms */
34
34
  writeQueueTimeoutMs?: number;
35
- /**
36
- * Enable `tywrap-frame/1` chunked transport negotiation. When `true`, the
37
- * transport spawns the bridge with the three `TYWRAP_TRANSPORT_*` env vars and,
38
- * during {@link SubprocessTransport.init}, probes the bridge's `meta` for a
39
- * `transport.supportsChunking` block. If the bridge advertises chunking,
40
- * oversize responses are transparently reassembled from frames; otherwise
41
- * behavior is unchanged and an oversize response still fails loud (no silent
42
- * single-frame fallback). Default: `false` (no negotiation, legacy behavior).
43
- *
44
- * Subprocess-only (0.8.0). See docs/transport-framing.md.
45
- */
46
- enableChunking?: boolean;
47
35
  /**
48
36
  * Cap (UTF-8 bytes) on a single chunked RESPONSE reassembled in memory. A
49
37
  * frame stream whose declared or accumulated payload exceeds this fails loud
@@ -87,25 +75,15 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
87
75
  private readonly maxReassemblyBytes;
88
76
  private readonly restartAfterRequests;
89
77
  private readonly writeQueueTimeoutMs;
90
- /** Whether `tywrap-frame/1` negotiation was requested by the caller. */
91
- private readonly enableChunking;
92
78
  /**
93
- * Whether the bridge advertised chunking during the init meta probe. Only
94
- * `true` after a successful negotiation; drives {@link capabilities} and the
95
- * frame-aware stdout line ceiling.
79
+ * Per-frame UTF-8 data ceiling. The packaged Python peer receives this
80
+ * transport's `maxLineLength` when it is spawned, so request and response
81
+ * framing use the same fixed ceiling without runtime negotiation.
96
82
  */
97
- private negotiatedChunking;
98
- /**
99
- * The per-frame UTF-8 byte ceiling actually agreed with the bridge:
100
- * `min(maxLineLength, the bridge's advertised maxFrameBytes)`. Defaults to
101
- * `maxLineLength` and is narrowed during negotiation, so REQUEST frames are
102
- * never sized larger than the bridge said it will accept (the reference bridge
103
- * echoes the requested value, but a custom bridge may advertise a smaller one).
104
- */
105
- private negotiatedFrameBytes;
83
+ private readonly frameBytes;
106
84
  /**
107
85
  * Reassembles `tywrap-frame/1` response frames into single logical response
108
- * lines. Constructed lazily once chunking is negotiated; per-id discard tracks
86
+ * lines. Per-id discard tracks
109
87
  * timed-out/aborted streams so late frames cannot desync stdout.
110
88
  */
111
89
  private responseReassembler;
@@ -113,12 +91,18 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
113
91
  private processExited;
114
92
  private processError;
115
93
  private stdoutBuffer;
94
+ private stdoutScanOffset;
116
95
  private stderrBuffer;
117
96
  private readonly pending;
118
97
  private readonly timedOutRequests;
119
98
  private requestCount;
120
99
  private needsRestart;
100
+ /** Serializes restart decisions with dispatch reservations. */
101
+ private dispatchMutex;
102
+ private activeDispatches;
103
+ private readonly dispatchDrainWaiters;
121
104
  private readonly writeQueue;
105
+ private writeQueueHead;
122
106
  private draining;
123
107
  /**
124
108
  * Per-logical-request write mutex (W5). When a request is chunked into
@@ -144,55 +128,33 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
144
128
  * @param signal - Optional AbortSignal for cancellation
145
129
  * @returns The raw JSON response string
146
130
  */
147
- send(message: string, timeoutMs: number, signal?: AbortSignal): Promise<string>;
131
+ send(message: string, timeoutMs: number, signal?: AbortSignal, requestId?: number): Promise<string>;
132
+ /**
133
+ * Atomically reserve the current process generation for one request. A
134
+ * threshold restart waits for every request reserved on the old generation
135
+ * to settle before killing it; later callers remain queued behind this lock.
136
+ */
137
+ private withDispatchMutex;
138
+ private reserveDispatch;
139
+ private releaseDispatch;
140
+ private isLifecycleEnding;
148
141
  /**
149
142
  * Static capability descriptor for the subprocess backend.
150
143
  *
151
144
  * Per the {@link Transport.capabilities} contract this is lifecycle-independent
152
145
  * (safe before `init()` / after `dispose()`) and never makes a Python round
153
146
  * trip. Subprocess carries Arrow IPC and arbitrary binary (bytes envelopes)
154
- * over the JSONL stream. `supportsChunking` reports the *configured* capability
155
- * `this.enableChunking`, i.e. whether this transport is set up to use the
156
- * `tywrap-frame/1` framing path exactly as `supportsArrow` reports a static
157
- * channel capability rather than a runtime fact. Whether the *connected* bridge
158
- * actually advertised framing is the negotiated fact, surfaced separately on
159
- * `BridgeInfo.transport.supportsChunking`; "will chunking actually happen"
160
- * needs both `true`. `supportsStreaming` stays `false` (0.8.0). `maxFrameBytes`
161
- * is the configured JSONL line-length limit — the largest single (unchunked)
162
- * response line this transport accepts.
147
+ * over the JSONL stream. `supportsChunking` is always `true` because the npm
148
+ * package ships both `tywrap-frame/1` peers. `supportsStreaming` stays `false`.
149
+ * `maxFrameBytes` is the fixed per-frame data ceiling supplied to the Python
150
+ * bridge at spawn time.
163
151
  */
164
152
  capabilities(): TransportCapabilities;
165
153
  /**
166
- * Initialize the transport by spawning the Python process and, when chunking
167
- * is enabled, negotiating `tywrap-frame/1` via a small unchunked `meta` probe.
154
+ * Initialize the transport by spawning the Python process. The packaged
155
+ * bridge always speaks `tywrap-frame/1`.
168
156
  */
169
157
  protected doInit(): Promise<void>;
170
- /**
171
- * Probe the freshly-spawned bridge for `tywrap-frame/1` support.
172
- *
173
- * Sends a small unchunked `meta` request directly over stdin (NOT via the
174
- * public {@link send}, which would re-enter init while we are mid-init) and
175
- * reads the single-line response. If the bridge reports
176
- * `transport.supportsChunking: true`, response reassembly is enabled. If the
177
- * bridge does not advertise chunking (old bridge, or it disabled framing), the
178
- * transport stays single-frame and an oversize response still fails loud — no
179
- * silent fallback. A probe failure leaves chunking disabled but does not fail
180
- * init (small calls must keep working); the loud failure is deferred to the
181
- * first oversize response.
182
- */
183
- private negotiateChunking;
184
- /**
185
- * Whether a parsed `meta` response advertises `tywrap-frame/1` chunking with a
186
- * matching frame protocol. Defensive: any missing/mismatched field => `false`.
187
- */
188
- private bridgeAdvertisesChunking;
189
- /**
190
- * Send a single in-init probe message over stdin and resolve with its raw
191
- * response line. Registers a pending entry keyed by `probeId` exactly like the
192
- * normal send path so {@link handleResponseLine} resolves it, but bypasses the
193
- * `isReady`/auto-init guard (we are deliberately running during `doInit`).
194
- */
195
- private sendProbe;
196
158
  /**
197
159
  * Dispose the transport by killing the Python process.
198
160
  */
@@ -218,8 +180,7 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
218
180
  /**
219
181
  * Effective stdout line ceiling.
220
182
  *
221
- * Without chunking it is exactly {@link maxLineLength} (legacy behavior). With
222
- * chunking negotiated, a single wire line is a `tywrap-frame/1` envelope whose
183
+ * A single wire line may be a `tywrap-frame/1` envelope whose
223
184
  * `data` slice is capped at `maxLineLength` UTF-8 bytes by the bridge, but the
224
185
  * JSON envelope adds escaping (`"`/`\`) plus fixed keys; the ceiling is widened
225
186
  * to bound that overhead so a legitimate frame line is never rejected while a
@@ -233,7 +194,7 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
233
194
  /**
234
195
  * Handle a complete response line from stdout.
235
196
  *
236
- * When chunking is negotiated, a line may be a `tywrap-frame/1` envelope: it is
197
+ * A line may be a `tywrap-frame/1` envelope: it is
237
198
  * routed into the per-id {@link Reassembler}, which returns the reassembled
238
199
  * logical response only once the stream is complete and valid. Single-line
239
200
  * (non-frame) responses keep the original fast path unchanged.
@@ -305,7 +266,7 @@ export declare class SubprocessTransport extends DisposableBase implements Trans
305
266
  private writeToStdin;
306
267
  /**
307
268
  * Write one logical request to stdin, fragmenting it into `tywrap-frame/1`
308
- * request frames when chunking is negotiated and the encoded request exceeds
269
+ * request frames when the encoded request exceeds
309
270
  * the per-frame ceiling (W5 — the mirror of W4's response chunking).
310
271
  *
311
272
  * Both the chunked and single-line paths run under {@link writeMutex} so a
@@ -1 +1 @@
1
- {"version":3,"file":"subprocess-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/subprocess-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subprocess-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/subprocess-transport.ts"],"names":[],"mappings":"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"}