dsh-zen-remote 2.0.2 → 2.2.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 (118) hide show
  1. package/AGENTS.md +15 -1
  2. package/README.md +11 -5
  3. package/README.zh-CN.md +11 -5
  4. package/docs/adr/0001-plugin-bridge-forwards-plugin-routes.md +15 -0
  5. package/docs/adr/0002-relay-emulates-websocket.md +8 -0
  6. package/docs/interface.md +3 -1
  7. package/docs/plugin-bridge.md +140 -0
  8. package/docs/remote-access.en.md +57 -0
  9. package/docs/remote-access.md +63 -0
  10. package/lib/adapters/dsh-better-sidebar/index.js +144 -0
  11. package/lib/adapters/dsh-better-sidebar/index.js.map +1 -0
  12. package/lib/adapters/dsh-better-sidebar/methods.js +198 -0
  13. package/lib/adapters/dsh-better-sidebar/methods.js.map +1 -0
  14. package/lib/adapters/index.js +17 -0
  15. package/lib/adapters/index.js.map +1 -0
  16. package/lib/adapters/types.js +17 -0
  17. package/lib/adapters/types.js.map +1 -0
  18. package/lib/admin-routes.js +51 -0
  19. package/lib/admin-routes.js.map +1 -1
  20. package/lib/client-routes.js +18 -1
  21. package/lib/client-routes.js.map +1 -1
  22. package/lib/client.js +449 -45
  23. package/lib/config.js +27 -0
  24. package/lib/config.js.map +1 -1
  25. package/lib/http.js +10 -0
  26. package/lib/http.js.map +1 -1
  27. package/lib/index.js +246 -0
  28. package/lib/index.js.map +1 -1
  29. package/lib/intercept.js +5 -2
  30. package/lib/intercept.js.map +1 -1
  31. package/lib/plugin-adapter-core.js +385 -0
  32. package/lib/plugin-adapter-core.js.map +1 -0
  33. package/lib/plugin-bridge.js +318 -0
  34. package/lib/plugin-bridge.js.map +1 -0
  35. package/lib/plugin-loopback.js +207 -0
  36. package/lib/plugin-loopback.js.map +1 -0
  37. package/lib/plugin-route-intercept.js +1103 -0
  38. package/lib/plugin-route-intercept.js.map +1 -0
  39. package/lib/plugin-tunnel.js +416 -0
  40. package/lib/plugin-tunnel.js.map +1 -0
  41. package/lib/relay-client.js +340 -4
  42. package/lib/relay-client.js.map +1 -1
  43. package/lib/relay-server.js +665 -7
  44. package/lib/relay-server.js.map +1 -1
  45. package/lib/types/adapters/dsh-better-sidebar/index.d.ts +27 -0
  46. package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -0
  47. package/lib/types/adapters/dsh-better-sidebar/methods.d.ts +51 -0
  48. package/lib/types/adapters/dsh-better-sidebar/methods.d.ts.map +1 -0
  49. package/lib/types/adapters/index.d.ts +17 -0
  50. package/lib/types/adapters/index.d.ts.map +1 -0
  51. package/lib/types/adapters/types.d.ts +42 -0
  52. package/lib/types/adapters/types.d.ts.map +1 -0
  53. package/lib/types/admin-routes.d.ts +16 -0
  54. package/lib/types/admin-routes.d.ts.map +1 -1
  55. package/lib/types/client/effects/remote-session.d.ts +0 -22
  56. package/lib/types/client/effects/remote-session.d.ts.map +1 -1
  57. package/lib/types/client/locales.d.ts +16 -0
  58. package/lib/types/client/locales.d.ts.map +1 -1
  59. package/lib/types/client/settings/SettingsSection.d.ts.map +1 -1
  60. package/lib/types/client/styles/remote-session.css.d.ts +1 -1
  61. package/lib/types/client/styles/remote-session.css.d.ts.map +1 -1
  62. package/lib/types/client-data/plugin-bridge.d.ts +79 -0
  63. package/lib/types/client-data/plugin-bridge.d.ts.map +1 -0
  64. package/lib/types/client-data/remote-status.d.ts +20 -0
  65. package/lib/types/client-data/remote-status.d.ts.map +1 -1
  66. package/lib/types/client-data/settings-form.d.ts +37 -1
  67. package/lib/types/client-data/settings-form.d.ts.map +1 -1
  68. package/lib/types/client-routes.d.ts +13 -0
  69. package/lib/types/client-routes.d.ts.map +1 -1
  70. package/lib/types/config.d.ts +8 -0
  71. package/lib/types/config.d.ts.map +1 -1
  72. package/lib/types/http.d.ts +7 -0
  73. package/lib/types/http.d.ts.map +1 -1
  74. package/lib/types/index.d.ts +4 -0
  75. package/lib/types/index.d.ts.map +1 -1
  76. package/lib/types/intercept.d.ts.map +1 -1
  77. package/lib/types/plugin-adapter-core.d.ts +263 -0
  78. package/lib/types/plugin-adapter-core.d.ts.map +1 -0
  79. package/lib/types/plugin-bridge.d.ts +187 -0
  80. package/lib/types/plugin-bridge.d.ts.map +1 -0
  81. package/lib/types/plugin-loopback.d.ts +104 -0
  82. package/lib/types/plugin-loopback.d.ts.map +1 -0
  83. package/lib/types/plugin-route-intercept.d.ts +114 -0
  84. package/lib/types/plugin-route-intercept.d.ts.map +1 -0
  85. package/lib/types/plugin-tunnel.d.ts +96 -0
  86. package/lib/types/plugin-tunnel.d.ts.map +1 -0
  87. package/lib/types/relay-client.d.ts +81 -1
  88. package/lib/types/relay-client.d.ts.map +1 -1
  89. package/lib/types/relay-server.d.ts +32 -1
  90. package/lib/types/relay-server.d.ts.map +1 -1
  91. package/llms.txt +1 -0
  92. package/package.json +2 -2
  93. package/scripts/check-plugin-bridge-ui.mjs +168 -0
  94. package/scripts/check-settings-form.mjs +3 -1
  95. package/src/adapters/dsh-better-sidebar/index.ts +144 -0
  96. package/src/adapters/dsh-better-sidebar/methods.ts +215 -0
  97. package/src/adapters/index.ts +19 -0
  98. package/src/adapters/types.ts +44 -0
  99. package/src/admin-routes.ts +64 -0
  100. package/src/client/effects/remote-session.ts +82 -10
  101. package/src/client/locales.ts +36 -0
  102. package/src/client/settings/SettingsSection.tsx +107 -3
  103. package/src/client/styles/remote-session.css.ts +70 -31
  104. package/src/client-data/plugin-bridge.ts +150 -0
  105. package/src/client-data/remote-status.ts +30 -0
  106. package/src/client-data/settings-form.ts +78 -0
  107. package/src/client-routes.ts +29 -1
  108. package/src/config.ts +32 -0
  109. package/src/http.ts +12 -0
  110. package/src/index.ts +252 -0
  111. package/src/intercept.ts +5 -2
  112. package/src/plugin-adapter-core.ts +530 -0
  113. package/src/plugin-bridge.ts +435 -0
  114. package/src/plugin-loopback.ts +299 -0
  115. package/src/plugin-route-intercept.ts +1193 -0
  116. package/src/plugin-tunnel.ts +470 -0
  117. package/src/relay-client.ts +413 -4
  118. package/src/relay-server.ts +687 -9
@@ -55,6 +55,10 @@ const UNSHARE_PATH = '/_dsh/zen-remote/relay/v1/unshare';
55
55
  const EVENT_RESULT_PATH = '/_dsh/zen-remote/relay/v1/event-result';
56
56
  const HTTP_PATH = '/_dsh/zen-remote/relay/v1/http';
57
57
  const UPLOAD_PATH = '/_dsh/zen-remote/relay/v1/upload';
58
+ const PLUGIN_PATH = '/_dsh/zen-remote/relay/v1/plugin';
59
+ const PLUGIN_TUNNEL_OPEN_PATH = '/_dsh/zen-remote/relay/v1/plugin-tunnel/open';
60
+ const PLUGIN_TUNNEL_SEND_PATH = '/_dsh/zen-remote/relay/v1/plugin-tunnel/send';
61
+ const PLUGIN_TUNNEL_CLOSE_PATH = '/_dsh/zen-remote/relay/v1/plugin-tunnel/close';
58
62
  /** T59: a desktop-client device renaming ITSELF in the gateway's table. */
59
63
  const DEVICE_NAME_PATH = '/_dsh/zen-remote/relay/v1/device/name';
60
64
  /** How long a stream may stay line-silent before it is judged dead. */
@@ -147,7 +151,11 @@ export class RelayError extends Error {
147
151
  code;
148
152
  status;
149
153
  reason;
150
- constructor(code, message, httpStatus, reason) {
154
+ /** The host error's sanitized `details` (invoke path): the UI maps
155
+ * `details.reason` codes like `MODEL_DOES_NOT_SUPPORT_IMAGES` onto a
156
+ * user-facing line — absent details stay undefined. */
157
+ details;
158
+ constructor(code, message, httpStatus, reason, details) {
151
159
  super(message === undefined ? code : message);
152
160
  this.name = 'RelayError';
153
161
  this.code = code;
@@ -155,8 +163,23 @@ export class RelayError extends Error {
155
163
  this.status = httpStatus;
156
164
  if (reason !== undefined)
157
165
  this.reason = reason;
166
+ if (details !== undefined)
167
+ this.details = details;
158
168
  }
159
169
  }
170
+ /** The error body's structured `details`, when it is a record of scalars —
171
+ * the shape the server's own sanitizer emits. */
172
+ function detailsOf(error) {
173
+ const raw = error.details;
174
+ if (!isRecord(raw))
175
+ return undefined;
176
+ const out = {};
177
+ for (const [key, value] of Object.entries(raw)) {
178
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || value === null)
179
+ out[key] = value;
180
+ }
181
+ return Object.keys(out).length > 0 ? out : undefined;
182
+ }
160
183
  /**
161
184
  * The credential digest recorded beside a completed handshake (T23a-fix):
162
185
  * sha256 over `url + "\n" + token`, first 16 hex chars. Enough to detect a
@@ -563,6 +586,25 @@ export function createRelayClient(options) {
563
586
  }
564
587
  void pushDeviceName(trimmed);
565
588
  }
589
+ /**
590
+ * Canonical JSON for CHANGE DETECTION (PB-2-fix): every object's keys are
591
+ * sorted, recursively, so two tables that differ only in key order — the
592
+ * server's map insertion order AND each entry's field order — compare
593
+ * equal. Anything else (values, entry sets) differs, and JSON.stringify
594
+ * answers scalars verbatim.
595
+ */
596
+ function canonicalJson(value) {
597
+ if (Array.isArray(value))
598
+ return `[${value.map(canonicalJson).join(',')}]`;
599
+ if (value !== null && typeof value === 'object') {
600
+ const record = value;
601
+ return `{${Object.keys(record)
602
+ .sort()
603
+ .map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`)
604
+ .join(',')}}`;
605
+ }
606
+ return JSON.stringify(value);
607
+ }
566
608
  /**
567
609
  * One QUIET handshake re-run (T59): refreshes the two names while online —
568
610
  * no state announcement, no ladder movement, failures silent (the next
@@ -611,7 +653,12 @@ export function createRelayClient(options) {
611
653
  return;
612
654
  // T59-fix: NAMES ONLY. serverId / dshVersion / fingerprints belong to the
613
655
  // real handshake (the compat verdict is computed there, on both maps
614
- // fresh); a quiet refresh never disturbs them.
656
+ // fresh); a quiet refresh never disturbs them. PB-2 is the one addition:
657
+ // the plugin bridge table rides along, because a consent change on the
658
+ // server must reach an otherwise-idle client without a reconnect — and
659
+ // unlike the compat verdict it is never cached as a conclusion, the
660
+ // comparison runs live off this map. A refresh answer WITHOUT the field
661
+ // keeps whatever the real handshake stored.
615
662
  const previous = handshakeInfo;
616
663
  if (previous === undefined)
617
664
  return;
@@ -625,12 +672,31 @@ export function createRelayClient(options) {
625
672
  const deviceName = pushedDuringRefresh ? undefined : serverDeviceName;
626
673
  if (deviceName !== undefined)
627
674
  deviceNameAuthoritative = false;
675
+ // PB-2-fix: compare the incoming table by CONTENT, not by reference — the
676
+ // payload was parsed fresh, so an unchanged table would otherwise read as
677
+ // changed on every tick and wake every subscriber (the interceptor's
678
+ // catalog listener re-pulls on each wake) for nothing. An unchanged table
679
+ // keeps the PREVIOUS object: identity is the "nothing moved" proof the
680
+ // changed flag reads.
681
+ let plugins = previous.plugins;
682
+ if (isRecord(payload.plugins)) {
683
+ const incoming = payload.plugins;
684
+ if (canonicalJson(incoming) !== canonicalJson(previous.plugins ?? {}))
685
+ plugins = incoming;
686
+ }
628
687
  let changed = previous.serverName !== serverName;
629
688
  if (deviceName !== undefined && deviceName !== previous.deviceName)
630
689
  changed = true;
690
+ if (plugins !== previous.plugins)
691
+ changed = true;
631
692
  if (!changed)
632
693
  return;
633
- handshakeInfo = { ...previous, serverName, ...(deviceName !== undefined ? { deviceName } : {}) };
694
+ handshakeInfo = {
695
+ ...previous,
696
+ serverName,
697
+ ...(deviceName !== undefined ? { deviceName } : {}),
698
+ ...(plugins !== previous.plugins ? { plugins } : {}),
699
+ };
634
700
  notify();
635
701
  }
636
702
  /** Arm one refresh tick; re-arms itself while the client stays online. */
@@ -738,7 +804,7 @@ export function createRelayClient(options) {
738
804
  // unheard-of: the body's error code is the answer, the state is not
739
805
  // touched.
740
806
  if (code !== undefined)
741
- return new RelayError(code, message, status);
807
+ return new RelayError(code, message, status, undefined, detailsOf(error));
742
808
  // The bad-gateway band carries no relay body of its own — it is what a
743
809
  // reverse proxy answers when the gateway behind it is down (nginx: an
744
810
  // HTML 502). That IS the offline case, and the e2e contract expects it.
@@ -917,6 +983,10 @@ export function createRelayClient(options) {
917
983
  // speaks the field at all (an older server omits it and the client
918
984
  // keeps whatever it had).
919
985
  ...(infoString(payload.deviceName) !== undefined ? { deviceName: infoString(payload.deviceName) } : {}),
986
+ // PB-2: the plugin bridge table, kept VERBATIM — an absent or
987
+ // malformed field stays `undefined` so the comparison reads
988
+ // server-too-old, never a silently empty table.
989
+ ...(isRecord(payload.plugins) ? { plugins: payload.plugins } : {}),
920
990
  };
921
991
  // Interface compatibility (T42): compare the handshake's group map
922
992
  // against this side's own, right here where both are fresh. A compute
@@ -1080,6 +1150,268 @@ export function createRelayClient(options) {
1080
1150
  body: value.body,
1081
1151
  };
1082
1152
  }
1153
+ /**
1154
+ * The bridged-plugin forward (PB-4): headers in, an UNREAD Response out.
1155
+ * Deliberately NOT the shared exchange (it buffers the body): the fetch
1156
+ * resolves on headers, the plain request timeout guards exactly that
1157
+ * wait, and the body streams under the CALLER's signal alone. The
1158
+ * caller's abort listener survives past the header arrival (registered
1159
+ * `once` on the caller's own request-scoped signal, so it dies with that
1160
+ * request) — a browser hang-up mid-stream must tear the relay round-trip
1161
+ * down, and the server's own route then aborts its loopback in turn.
1162
+ */
1163
+ async function pluginRequest(request, signal) {
1164
+ const creds = requireCredentials();
1165
+ const controller = new AbortController();
1166
+ const onExternalAbort = () => {
1167
+ controller.abort();
1168
+ };
1169
+ if (signal !== undefined) {
1170
+ if (signal.aborted)
1171
+ controller.abort();
1172
+ else
1173
+ signal.addEventListener('abort', onExternalAbort, { once: true });
1174
+ }
1175
+ // The header wait gets the plain request timeout for a bodyless call;
1176
+ // with a BODY (PB-9) the budget scales with its declared size like the
1177
+ // upload's (a slow body is a slow call, never a dead link), and the
1178
+ // timeout never moves the connection state.
1179
+ const hasBody = request.body !== undefined && request.body !== null;
1180
+ const headerTimeoutMs = hasBody
1181
+ ? sizeBackedTimeoutMs(requestTimeoutMs, request.contentLength)
1182
+ : requestTimeoutMs;
1183
+ const timer = setTimeout(() => controller.abort(), headerTimeoutMs);
1184
+ if (typeof timer.unref === 'function')
1185
+ timer.unref();
1186
+ try {
1187
+ let response;
1188
+ const init = {
1189
+ // The WIRE method is always POST — the relay route is a POST endpoint
1190
+ // whatever the bridged call is; the bridged method travels in
1191
+ // `x-zr-method` (the server never reads this request line's verb).
1192
+ method: 'POST',
1193
+ headers: {
1194
+ authorization: `Bearer ${creds.token}`,
1195
+ // No accept of our own unless the caller carries one: this
1196
+ // header FORWARDS to the plugin (PB-3's protocol), and the
1197
+ // default below exists only so a revoked-token wall still
1198
+ // answers JSON instead of the pairing HTML page.
1199
+ accept: request.accept ?? 'application/json',
1200
+ ...(request.range !== undefined ? { range: request.range } : {}),
1201
+ // PB-9: the body's content type is the OTHER passthrough header.
1202
+ ...(hasBody && request.contentType !== undefined ? { 'content-type': request.contentType } : {}),
1203
+ 'x-zr-plugin': request.plugin,
1204
+ 'x-zr-plugin-version': request.version,
1205
+ 'x-zr-plugin-digest': request.digest,
1206
+ 'x-zr-path': request.path,
1207
+ 'x-zr-query': request.query,
1208
+ // PB-9: the method travels in the HEADER (the wire protocol's
1209
+ // coordinate), not just the request line — the server reads it
1210
+ // from here, and an omitted header means GET there no matter what
1211
+ // this request line says.
1212
+ 'x-zr-method': request.method ?? 'GET',
1213
+ },
1214
+ ...(hasBody ? { body: request.body } : {}),
1215
+ // A wrong server must not walk the pairing token through a redirect.
1216
+ redirect: 'manual',
1217
+ signal: controller.signal,
1218
+ };
1219
+ if (hasBody) {
1220
+ // `duplex: 'half'` is mandatory for a streaming request body; the
1221
+ // resolved RequestInit type hides the field (the DOM-vs-undici
1222
+ // conditional in @types/node), so the assignment carries its own cast.
1223
+ ;
1224
+ init.duplex = 'half';
1225
+ }
1226
+ try {
1227
+ response = await fetchImpl(`${creds.url}${PLUGIN_PATH}`, init);
1228
+ }
1229
+ catch (error) {
1230
+ // A caller abort is NOT a transport death (PB-9-fix): the caller
1231
+ // aborts exactly when its own request-body gate tripped or the
1232
+ // browser hung up — both are this call's verdicts to answer, never
1233
+ // the link's. Same discipline as the invoke/upload timeouts
1234
+ // (T31-fix/T51-fix): no offline, no failure recorded on the link.
1235
+ if (signal?.aborted)
1236
+ throw abortedError();
1237
+ // A body-bearing call keeps the upload route's rule (T51-fix): the
1238
+ // timeout judges THIS call, not the link — but a real transport
1239
+ // death still reads offline (the reconnect ladder hangs off it).
1240
+ if (hasBody && controller.signal.aborted && !signal?.aborted) {
1241
+ noteFailure('request-timeout');
1242
+ throw new RelayError('request-timeout', `no response within ${headerTimeoutMs} ms`);
1243
+ }
1244
+ noteFailure('offline');
1245
+ setState('offline');
1246
+ throw new RelayError('offline', messageOf(error));
1247
+ }
1248
+ // Headers are here: every status — bridged answer or x-zen-remote-error
1249
+ // refusal — travels to the caller verbatim, body untouched.
1250
+ return response;
1251
+ }
1252
+ finally {
1253
+ // The header wait is over (or never started): no deadline on the body.
1254
+ clearTimeout(timer);
1255
+ }
1256
+ }
1257
+ /**
1258
+ * The WebSocket byte tunnel's open half (PB-10). The wire: one POST whose
1259
+ * answer is an NDJSON river — first line names the tunnel, `data` lines
1260
+ * carry base64 chunks of the upstream socket's bytes, `ping` lines keep
1261
+ * proxies warm, an `end` line closes the river. Everything after the
1262
+ * headers is line-framed HERE: the caller gets an async iterable of
1263
+ * decoded byte chunks and never sees the framing.
1264
+ */
1265
+ async function pluginTunnelOpen(request, signal) {
1266
+ const creds = requireCredentials();
1267
+ const payload = {
1268
+ headers: request.wsHeaders,
1269
+ ...(request.head !== undefined && request.head !== '' ? { head: request.head } : {}),
1270
+ };
1271
+ const response = await fetch(`${creds.url}${PLUGIN_TUNNEL_OPEN_PATH}`, {
1272
+ method: 'POST',
1273
+ headers: {
1274
+ authorization: `Bearer ${creds.token}`,
1275
+ accept: 'application/x-ndjson',
1276
+ 'content-type': 'application/json',
1277
+ 'x-zr-plugin': request.plugin,
1278
+ 'x-zr-plugin-version': request.version,
1279
+ 'x-zr-plugin-digest': request.digest,
1280
+ 'x-zr-path': request.path,
1281
+ 'x-zr-query': request.query,
1282
+ },
1283
+ body: JSON.stringify(payload),
1284
+ redirect: 'manual',
1285
+ signal,
1286
+ }).catch((error) => {
1287
+ noteFailure('offline');
1288
+ setState('offline');
1289
+ throw new RelayError('offline', messageOf(error));
1290
+ });
1291
+ if (response.status < 200 || response.status >= 300 || response.body === null) {
1292
+ // The refusal carries its code in the marker header (every
1293
+ // plugin-bridge wall does) — surface it verbatim.
1294
+ const code = response.headers.get('x-zen-remote-error') ?? `http-${response.status}`;
1295
+ const bodyText = await response.text().catch(() => '');
1296
+ throw new RelayError(code, bodyText === '' ? code : bodyText, response.status);
1297
+ }
1298
+ let tunnelId;
1299
+ let upstreamClosed = false;
1300
+ let pendingError;
1301
+ const reader = response.body.getReader();
1302
+ const decoder = new TextDecoder();
1303
+ let lineBuffer = '';
1304
+ const nextLine = async () => {
1305
+ while (true) {
1306
+ const idx = lineBuffer.indexOf('\n');
1307
+ if (idx >= 0) {
1308
+ const line = lineBuffer.slice(0, idx);
1309
+ lineBuffer = lineBuffer.slice(idx + 1);
1310
+ return line;
1311
+ }
1312
+ const { done, value } = await reader.read();
1313
+ if (done) {
1314
+ const tail = lineBuffer;
1315
+ lineBuffer = '';
1316
+ return tail === '' ? null : tail;
1317
+ }
1318
+ lineBuffer += decoder.decode(value, { stream: true });
1319
+ }
1320
+ };
1321
+ // The FIRST line must name the tunnel; anything else up front is a
1322
+ // protocol violation the caller sees as a refused open.
1323
+ const first = await nextLine();
1324
+ if (first !== null) {
1325
+ try {
1326
+ const parsed = JSON.parse(first);
1327
+ if (typeof parsed === 'object' && parsed !== null && parsed.type === 'open' &&
1328
+ typeof parsed.tunnel === 'string') {
1329
+ tunnelId = parsed.tunnel;
1330
+ }
1331
+ }
1332
+ catch {
1333
+ // Falls through to the refusal below.
1334
+ }
1335
+ }
1336
+ if (tunnelId === undefined) {
1337
+ const code = response.headers.get('x-zen-remote-error') ?? 'internal';
1338
+ throw new RelayError(code, `the tunnel open stream never named a tunnel`, response.status);
1339
+ }
1340
+ const frames = {
1341
+ [Symbol.asyncIterator]() {
1342
+ return {
1343
+ async next() {
1344
+ if (upstreamClosed)
1345
+ return { done: true, value: undefined };
1346
+ while (true) {
1347
+ const line = await nextLine();
1348
+ if (line === null) {
1349
+ upstreamClosed = true;
1350
+ return { done: true, value: undefined };
1351
+ }
1352
+ let parsed;
1353
+ try {
1354
+ parsed = JSON.parse(line);
1355
+ }
1356
+ catch {
1357
+ continue; // a damaged line is skipped, like every NDJSON reader here
1358
+ }
1359
+ if (parsed === null || typeof parsed !== 'object')
1360
+ continue;
1361
+ const frame = parsed;
1362
+ if (frame.type === 'data' && typeof frame.b64 === 'string' && frame.b64 !== '') {
1363
+ return { done: false, value: new Uint8Array(Buffer.from(frame.b64, 'base64')) };
1364
+ }
1365
+ if (frame.type === 'end') {
1366
+ upstreamClosed = true;
1367
+ if (typeof frame.reason === 'string' && frame.reason === 'upstream-error') {
1368
+ pendingError = new RelayError('internal', 'the upstream tunnel socket failed');
1369
+ }
1370
+ return { done: true, value: undefined };
1371
+ }
1372
+ // ping and anything unrecognized: skipped.
1373
+ }
1374
+ },
1375
+ };
1376
+ },
1377
+ };
1378
+ void pendingError;
1379
+ return { tunnel: tunnelId, frames };
1380
+ }
1381
+ async function pluginTunnelSend(tunnel, seq, bytes, signal) {
1382
+ const creds = requireCredentials();
1383
+ // The body IS the payload — raw bytes, not JSON. The requestInit shape
1384
+ // lives in exchangeRequest's url+init contract: headers hand-built here.
1385
+ await exchangeRequest(`${creds.url}${PLUGIN_TUNNEL_SEND_PATH}`, {
1386
+ method: 'POST',
1387
+ headers: {
1388
+ authorization: `Bearer ${creds.token}`,
1389
+ accept: 'application/json',
1390
+ 'content-type': 'application/octet-stream',
1391
+ 'x-zr-tunnel': tunnel,
1392
+ 'x-zr-seq': String(seq),
1393
+ },
1394
+ // undici's BodyInit types reject ArrayBufferView here (the DOM face
1395
+ // wins in @types/node) — the cast carries the wire reality.
1396
+ body: new Uint8Array(bytes),
1397
+ redirect: 'manual',
1398
+ }, signal, true, { timeoutMs: sizeBackedTimeoutMs(requestTimeoutMs, bytes.byteLength), timeoutSetsOffline: false });
1399
+ }
1400
+ async function pluginTunnelClose(tunnel, signal) {
1401
+ const creds = requireCredentials();
1402
+ await fetch(`${creds.url}${PLUGIN_TUNNEL_CLOSE_PATH}`, {
1403
+ method: 'POST',
1404
+ headers: {
1405
+ authorization: `Bearer ${creds.token}`,
1406
+ accept: 'application/json',
1407
+ 'x-zr-tunnel': tunnel,
1408
+ },
1409
+ redirect: 'manual',
1410
+ signal,
1411
+ }).catch((error) => {
1412
+ throw new RelayError('offline', messageOf(error));
1413
+ });
1414
+ }
1083
1415
  function openStream(namespace, method, args, signal) {
1084
1416
  // Eager, not generator-lazy: an unconfigured client fails at CALL time,
1085
1417
  // exactly like connect/invoke, instead of hiding the error inside the
@@ -1298,6 +1630,10 @@ export function createRelayClient(options) {
1298
1630
  openStream,
1299
1631
  http,
1300
1632
  upload,
1633
+ pluginRequest,
1634
+ pluginTunnelOpen,
1635
+ pluginTunnelSend,
1636
+ pluginTunnelClose,
1301
1637
  };
1302
1638
  }
1303
1639
  //# sourceMappingURL=relay-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}