@linkshell/gateway 0.2.15 → 0.2.17

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.
@@ -18,9 +18,9 @@ export declare const envelopeSchema: z.ZodObject<{
18
18
  ack: z.ZodOptional<z.ZodNumber>;
19
19
  payload: z.ZodUnknown;
20
20
  }, "strip", z.ZodTypeAny, {
21
- id: string;
22
- type: string;
23
21
  sessionId: string;
22
+ type: string;
23
+ id: string;
24
24
  timestamp: string;
25
25
  terminalId?: string | undefined;
26
26
  deviceId?: string | undefined;
@@ -29,9 +29,9 @@ export declare const envelopeSchema: z.ZodObject<{
29
29
  ack?: number | undefined;
30
30
  payload?: unknown;
31
31
  }, {
32
- id: string;
33
- type: string;
34
32
  sessionId: string;
33
+ type: string;
34
+ id: string;
35
35
  timestamp: string;
36
36
  terminalId?: string | undefined;
37
37
  deviceId?: string | undefined;
@@ -89,7 +89,7 @@ export declare const sessionConnectPayloadSchema: z.ZodObject<{
89
89
  }, "strip", z.ZodTypeAny, {
90
90
  role: "host" | "client";
91
91
  clientName: string;
92
- provider?: "custom" | "claude" | "codex" | undefined;
92
+ provider?: "claude" | "codex" | "custom" | undefined;
93
93
  protocolVersion?: number | undefined;
94
94
  hostname?: string | undefined;
95
95
  platform?: string | undefined;
@@ -98,7 +98,7 @@ export declare const sessionConnectPayloadSchema: z.ZodObject<{
98
98
  }, {
99
99
  role: "host" | "client";
100
100
  clientName: string;
101
- provider?: "custom" | "claude" | "codex" | undefined;
101
+ provider?: "claude" | "codex" | "custom" | undefined;
102
102
  protocolVersion?: number | undefined;
103
103
  hostname?: string | undefined;
104
104
  platform?: string | undefined;
@@ -248,8 +248,8 @@ export declare const screenStatusPayloadSchema: z.ZodObject<{
248
248
  error?: string | undefined;
249
249
  }, {
250
250
  active: boolean;
251
- mode?: "webrtc" | "fallback" | "off" | undefined;
252
251
  error?: string | undefined;
252
+ mode?: "webrtc" | "fallback" | "off" | undefined;
253
253
  }>;
254
254
  export declare const screenOfferPayloadSchema: z.ZodObject<{
255
255
  sdp: z.ZodString;
@@ -283,10 +283,10 @@ export declare const terminalSpawnPayloadSchema: z.ZodObject<{
283
283
  provider: z.ZodOptional<z.ZodEnum<["claude", "codex", "custom"]>>;
284
284
  }, "strip", z.ZodTypeAny, {
285
285
  cwd: string;
286
- provider?: "custom" | "claude" | "codex" | undefined;
286
+ provider?: "claude" | "codex" | "custom" | undefined;
287
287
  }, {
288
288
  cwd: string;
289
- provider?: "custom" | "claude" | "codex" | undefined;
289
+ provider?: "claude" | "codex" | "custom" | undefined;
290
290
  }>;
291
291
  export declare const terminalInfoSchema: z.ZodObject<{
292
292
  terminalId: z.ZodString;
@@ -295,14 +295,14 @@ export declare const terminalInfoSchema: z.ZodObject<{
295
295
  provider: z.ZodString;
296
296
  status: z.ZodEnum<["running", "exited"]>;
297
297
  }, "strip", z.ZodTypeAny, {
298
- terminalId: string;
299
298
  status: "running" | "exited";
299
+ terminalId: string;
300
300
  provider: string;
301
301
  cwd: string;
302
302
  projectName: string;
303
303
  }, {
304
- terminalId: string;
305
304
  status: "running" | "exited";
305
+ terminalId: string;
306
306
  provider: string;
307
307
  cwd: string;
308
308
  projectName: string;
@@ -315,30 +315,30 @@ export declare const terminalListPayloadSchema: z.ZodObject<{
315
315
  provider: z.ZodString;
316
316
  status: z.ZodEnum<["running", "exited"]>;
317
317
  }, "strip", z.ZodTypeAny, {
318
- terminalId: string;
319
318
  status: "running" | "exited";
319
+ terminalId: string;
320
320
  provider: string;
321
321
  cwd: string;
322
322
  projectName: string;
323
323
  }, {
324
- terminalId: string;
325
324
  status: "running" | "exited";
325
+ terminalId: string;
326
326
  provider: string;
327
327
  cwd: string;
328
328
  projectName: string;
329
329
  }>, "many">;
330
330
  }, "strip", z.ZodTypeAny, {
331
331
  terminals: {
332
- terminalId: string;
333
332
  status: "running" | "exited";
333
+ terminalId: string;
334
334
  provider: string;
335
335
  cwd: string;
336
336
  projectName: string;
337
337
  }[];
338
338
  }, {
339
339
  terminals: {
340
- terminalId: string;
341
340
  status: "running" | "exited";
341
+ terminalId: string;
342
342
  provider: string;
343
343
  cwd: string;
344
344
  projectName: string;
@@ -348,14 +348,17 @@ export declare const terminalSpawnedPayloadSchema: z.ZodObject<{
348
348
  terminalId: z.ZodString;
349
349
  cwd: z.ZodString;
350
350
  projectName: z.ZodString;
351
+ provider: z.ZodOptional<z.ZodString>;
351
352
  }, "strip", z.ZodTypeAny, {
352
353
  terminalId: string;
353
354
  cwd: string;
354
355
  projectName: string;
356
+ provider?: string | undefined;
355
357
  }, {
356
358
  terminalId: string;
357
359
  cwd: string;
358
360
  projectName: string;
361
+ provider?: string | undefined;
359
362
  }>;
360
363
  export declare const terminalKillPayloadSchema: z.ZodObject<{
361
364
  terminalId: z.ZodString;
@@ -445,7 +448,7 @@ export declare const terminalStatusPayloadSchema: z.ZodObject<{
445
448
  }>>;
446
449
  pendingPermissionCount: z.ZodOptional<z.ZodNumber>;
447
450
  }, "strip", z.ZodTypeAny, {
448
- phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
451
+ phase: "error" | "thinking" | "tool_use" | "outputting" | "waiting" | "idle";
449
452
  seq?: number | undefined;
450
453
  toolName?: string | undefined;
451
454
  toolInput?: string | undefined;
@@ -460,7 +463,7 @@ export declare const terminalStatusPayloadSchema: z.ZodObject<{
460
463
  } | undefined;
461
464
  pendingPermissionCount?: number | undefined;
462
465
  }, {
463
- phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
466
+ phase: "error" | "thinking" | "tool_use" | "outputting" | "waiting" | "idle";
464
467
  seq?: number | undefined;
465
468
  toolName?: string | undefined;
466
469
  toolInput?: string | undefined;
@@ -505,6 +508,73 @@ export declare const errorPayloadSchema: z.ZodObject<{
505
508
  code: string;
506
509
  message: string;
507
510
  }>;
511
+ export declare const tunnelRequestPayloadSchema: z.ZodObject<{
512
+ requestId: z.ZodString;
513
+ method: z.ZodString;
514
+ url: z.ZodString;
515
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
516
+ body: z.ZodNullable<z.ZodString>;
517
+ port: z.ZodNumber;
518
+ }, "strip", z.ZodTypeAny, {
519
+ headers: Record<string, string>;
520
+ requestId: string;
521
+ method: string;
522
+ url: string;
523
+ body: string | null;
524
+ port: number;
525
+ }, {
526
+ headers: Record<string, string>;
527
+ requestId: string;
528
+ method: string;
529
+ url: string;
530
+ body: string | null;
531
+ port: number;
532
+ }>;
533
+ export declare const tunnelResponsePayloadSchema: z.ZodObject<{
534
+ requestId: z.ZodString;
535
+ statusCode: z.ZodNumber;
536
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
537
+ body: z.ZodString;
538
+ isFinal: z.ZodBoolean;
539
+ }, "strip", z.ZodTypeAny, {
540
+ headers: Record<string, string>;
541
+ isFinal: boolean;
542
+ requestId: string;
543
+ body: string;
544
+ statusCode: number;
545
+ }, {
546
+ headers: Record<string, string>;
547
+ isFinal: boolean;
548
+ requestId: string;
549
+ body: string;
550
+ statusCode: number;
551
+ }>;
552
+ export declare const tunnelWsDataPayloadSchema: z.ZodObject<{
553
+ requestId: z.ZodString;
554
+ data: z.ZodString;
555
+ isBinary: z.ZodBoolean;
556
+ }, "strip", z.ZodTypeAny, {
557
+ data: string;
558
+ requestId: string;
559
+ isBinary: boolean;
560
+ }, {
561
+ data: string;
562
+ requestId: string;
563
+ isBinary: boolean;
564
+ }>;
565
+ export declare const tunnelWsClosePayloadSchema: z.ZodObject<{
566
+ requestId: z.ZodString;
567
+ code: z.ZodOptional<z.ZodNumber>;
568
+ reason: z.ZodOptional<z.ZodString>;
569
+ }, "strip", z.ZodTypeAny, {
570
+ requestId: string;
571
+ code?: number | undefined;
572
+ reason?: string | undefined;
573
+ }, {
574
+ requestId: string;
575
+ code?: number | undefined;
576
+ reason?: string | undefined;
577
+ }>;
508
578
  export declare const protocolMessageSchemas: {
509
579
  readonly "session.connect": z.ZodObject<{
510
580
  role: z.ZodEnum<["host", "client"]>;
@@ -518,7 +588,7 @@ export declare const protocolMessageSchemas: {
518
588
  }, "strip", z.ZodTypeAny, {
519
589
  role: "host" | "client";
520
590
  clientName: string;
521
- provider?: "custom" | "claude" | "codex" | undefined;
591
+ provider?: "claude" | "codex" | "custom" | undefined;
522
592
  protocolVersion?: number | undefined;
523
593
  hostname?: string | undefined;
524
594
  platform?: string | undefined;
@@ -527,7 +597,7 @@ export declare const protocolMessageSchemas: {
527
597
  }, {
528
598
  role: "host" | "client";
529
599
  clientName: string;
530
- provider?: "custom" | "claude" | "codex" | undefined;
600
+ provider?: "claude" | "codex" | "custom" | undefined;
531
601
  protocolVersion?: number | undefined;
532
602
  hostname?: string | undefined;
533
603
  platform?: string | undefined;
@@ -723,8 +793,8 @@ export declare const protocolMessageSchemas: {
723
793
  error?: string | undefined;
724
794
  }, {
725
795
  active: boolean;
726
- mode?: "webrtc" | "fallback" | "off" | undefined;
727
796
  error?: string | undefined;
797
+ mode?: "webrtc" | "fallback" | "off" | undefined;
728
798
  }>;
729
799
  readonly "screen.offer": z.ZodObject<{
730
800
  sdp: z.ZodString;
@@ -768,23 +838,26 @@ export declare const protocolMessageSchemas: {
768
838
  provider: z.ZodOptional<z.ZodEnum<["claude", "codex", "custom"]>>;
769
839
  }, "strip", z.ZodTypeAny, {
770
840
  cwd: string;
771
- provider?: "custom" | "claude" | "codex" | undefined;
841
+ provider?: "claude" | "codex" | "custom" | undefined;
772
842
  }, {
773
843
  cwd: string;
774
- provider?: "custom" | "claude" | "codex" | undefined;
844
+ provider?: "claude" | "codex" | "custom" | undefined;
775
845
  }>;
776
846
  readonly "terminal.spawned": z.ZodObject<{
777
847
  terminalId: z.ZodString;
778
848
  cwd: z.ZodString;
779
849
  projectName: z.ZodString;
850
+ provider: z.ZodOptional<z.ZodString>;
780
851
  }, "strip", z.ZodTypeAny, {
781
852
  terminalId: string;
782
853
  cwd: string;
783
854
  projectName: string;
855
+ provider?: string | undefined;
784
856
  }, {
785
857
  terminalId: string;
786
858
  cwd: string;
787
859
  projectName: string;
860
+ provider?: string | undefined;
788
861
  }>;
789
862
  readonly "terminal.list": z.ZodObject<{
790
863
  terminals: z.ZodArray<z.ZodObject<{
@@ -794,30 +867,30 @@ export declare const protocolMessageSchemas: {
794
867
  provider: z.ZodString;
795
868
  status: z.ZodEnum<["running", "exited"]>;
796
869
  }, "strip", z.ZodTypeAny, {
797
- terminalId: string;
798
870
  status: "running" | "exited";
871
+ terminalId: string;
799
872
  provider: string;
800
873
  cwd: string;
801
874
  projectName: string;
802
875
  }, {
803
- terminalId: string;
804
876
  status: "running" | "exited";
877
+ terminalId: string;
805
878
  provider: string;
806
879
  cwd: string;
807
880
  projectName: string;
808
881
  }>, "many">;
809
882
  }, "strip", z.ZodTypeAny, {
810
883
  terminals: {
811
- terminalId: string;
812
884
  status: "running" | "exited";
885
+ terminalId: string;
813
886
  provider: string;
814
887
  cwd: string;
815
888
  projectName: string;
816
889
  }[];
817
890
  }, {
818
891
  terminals: {
819
- terminalId: string;
820
892
  status: "running" | "exited";
893
+ terminalId: string;
821
894
  provider: string;
822
895
  cwd: string;
823
896
  projectName: string;
@@ -898,7 +971,7 @@ export declare const protocolMessageSchemas: {
898
971
  }>>;
899
972
  pendingPermissionCount: z.ZodOptional<z.ZodNumber>;
900
973
  }, "strip", z.ZodTypeAny, {
901
- phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
974
+ phase: "error" | "thinking" | "tool_use" | "outputting" | "waiting" | "idle";
902
975
  seq?: number | undefined;
903
976
  toolName?: string | undefined;
904
977
  toolInput?: string | undefined;
@@ -913,7 +986,7 @@ export declare const protocolMessageSchemas: {
913
986
  } | undefined;
914
987
  pendingPermissionCount?: number | undefined;
915
988
  }, {
916
- phase: "idle" | "error" | "thinking" | "tool_use" | "outputting" | "waiting";
989
+ phase: "error" | "thinking" | "tool_use" | "outputting" | "waiting" | "idle";
917
990
  seq?: number | undefined;
918
991
  toolName?: string | undefined;
919
992
  toolInput?: string | undefined;
@@ -938,6 +1011,73 @@ export declare const protocolMessageSchemas: {
938
1011
  requestId: string;
939
1012
  decision: "allow" | "deny";
940
1013
  }>;
1014
+ readonly "tunnel.request": z.ZodObject<{
1015
+ requestId: z.ZodString;
1016
+ method: z.ZodString;
1017
+ url: z.ZodString;
1018
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
1019
+ body: z.ZodNullable<z.ZodString>;
1020
+ port: z.ZodNumber;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ headers: Record<string, string>;
1023
+ requestId: string;
1024
+ method: string;
1025
+ url: string;
1026
+ body: string | null;
1027
+ port: number;
1028
+ }, {
1029
+ headers: Record<string, string>;
1030
+ requestId: string;
1031
+ method: string;
1032
+ url: string;
1033
+ body: string | null;
1034
+ port: number;
1035
+ }>;
1036
+ readonly "tunnel.response": z.ZodObject<{
1037
+ requestId: z.ZodString;
1038
+ statusCode: z.ZodNumber;
1039
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
1040
+ body: z.ZodString;
1041
+ isFinal: z.ZodBoolean;
1042
+ }, "strip", z.ZodTypeAny, {
1043
+ headers: Record<string, string>;
1044
+ isFinal: boolean;
1045
+ requestId: string;
1046
+ body: string;
1047
+ statusCode: number;
1048
+ }, {
1049
+ headers: Record<string, string>;
1050
+ isFinal: boolean;
1051
+ requestId: string;
1052
+ body: string;
1053
+ statusCode: number;
1054
+ }>;
1055
+ readonly "tunnel.ws.data": z.ZodObject<{
1056
+ requestId: z.ZodString;
1057
+ data: z.ZodString;
1058
+ isBinary: z.ZodBoolean;
1059
+ }, "strip", z.ZodTypeAny, {
1060
+ data: string;
1061
+ requestId: string;
1062
+ isBinary: boolean;
1063
+ }, {
1064
+ data: string;
1065
+ requestId: string;
1066
+ isBinary: boolean;
1067
+ }>;
1068
+ readonly "tunnel.ws.close": z.ZodObject<{
1069
+ requestId: z.ZodString;
1070
+ code: z.ZodOptional<z.ZodNumber>;
1071
+ reason: z.ZodOptional<z.ZodString>;
1072
+ }, "strip", z.ZodTypeAny, {
1073
+ requestId: string;
1074
+ code?: number | undefined;
1075
+ reason?: string | undefined;
1076
+ }, {
1077
+ requestId: string;
1078
+ code?: number | undefined;
1079
+ reason?: string | undefined;
1080
+ }>;
941
1081
  };
942
1082
  export type ProtocolMessageType = keyof typeof protocolMessageSchemas;
943
1083
  export declare function createEnvelope<T>(input: {
@@ -150,6 +150,7 @@ export const terminalSpawnedPayloadSchema = z.object({
150
150
  terminalId: z.string().min(1),
151
151
  cwd: z.string(),
152
152
  projectName: z.string(),
153
+ provider: z.string().optional(),
153
154
  });
154
155
  export const terminalKillPayloadSchema = z.object({
155
156
  terminalId: z.string().min(1),
@@ -207,6 +208,32 @@ export const errorPayloadSchema = z.object({
207
208
  code: z.string().min(1),
208
209
  message: z.string().min(1),
209
210
  });
211
+ // ── Tunnel payloads ────────────────────────────────────────────────
212
+ export const tunnelRequestPayloadSchema = z.object({
213
+ requestId: z.string().min(1),
214
+ method: z.string().min(1),
215
+ url: z.string(),
216
+ headers: z.record(z.string()),
217
+ body: z.string().nullable(), // base64 encoded
218
+ port: z.number().int().min(1).max(65535),
219
+ });
220
+ export const tunnelResponsePayloadSchema = z.object({
221
+ requestId: z.string().min(1),
222
+ statusCode: z.number().int(),
223
+ headers: z.record(z.string()),
224
+ body: z.string(), // base64 encoded chunk
225
+ isFinal: z.boolean(),
226
+ });
227
+ export const tunnelWsDataPayloadSchema = z.object({
228
+ requestId: z.string().min(1),
229
+ data: z.string(), // base64 encoded
230
+ isBinary: z.boolean(),
231
+ });
232
+ export const tunnelWsClosePayloadSchema = z.object({
233
+ requestId: z.string().min(1),
234
+ code: z.number().int().optional(),
235
+ reason: z.string().optional(),
236
+ });
210
237
  // ── Protocol message type registry ──────────────────────────────────
211
238
  export const protocolMessageSchemas = {
212
239
  "session.connect": sessionConnectPayloadSchema,
@@ -243,6 +270,10 @@ export const protocolMessageSchemas = {
243
270
  "terminal.kill": terminalKillPayloadSchema,
244
271
  "terminal.status": terminalStatusPayloadSchema,
245
272
  "permission.decision": permissionDecisionPayloadSchema,
273
+ "tunnel.request": tunnelRequestPayloadSchema,
274
+ "tunnel.response": tunnelResponsePayloadSchema,
275
+ "tunnel.ws.data": tunnelWsDataPayloadSchema,
276
+ "tunnel.ws.close": tunnelWsClosePayloadSchema,
246
277
  };
247
278
  // ── UUID helper (works in Node, Web, and Expo) ─────────────────────
248
279
  function generateId() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-protocol/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-protocol/src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkshell/gateway",
3
- "version": "0.2.15",
3
+ "version": "0.2.17",
4
4
  "type": "module",
5
5
  "main": "dist/gateway/src/index.js",
6
6
  "exports": {
@@ -32,7 +32,7 @@
32
32
  "test": "vitest run"
33
33
  },
34
34
  "dependencies": {
35
- "@linkshell/protocol": "^0.2.15",
35
+ "@linkshell/protocol": "^0.2.17",
36
36
  "zod": "^3.24.3",
37
37
  "ws": "^8.18.1"
38
38
  },
package/src/embedded.ts CHANGED
@@ -13,6 +13,12 @@ import { SessionManager } from "./sessions.js";
13
13
  import { PairingManager } from "./pairings.js";
14
14
  import { TokenManager } from "./tokens.js";
15
15
  import { handleSocketMessage } from "./relay.js";
16
+ import {
17
+ parseTunnelPath,
18
+ handleTunnelRequest,
19
+ handleTunnelWsUpgrade,
20
+ cleanupSessionTunnels,
21
+ } from "./tunnel.js";
16
22
 
17
23
  export interface EmbeddedGatewayOptions {
18
24
  port?: number;
@@ -204,6 +210,13 @@ export function startEmbeddedGateway(
204
210
  return;
205
211
  }
206
212
 
213
+ // Tunnel HTTP proxy
214
+ const tunnelParsed = parseTunnelPath(url.pathname);
215
+ if (tunnelParsed) {
216
+ await handleTunnelRequest(req, res, sessionManager, tokenManager, tunnelParsed, url);
217
+ return;
218
+ }
219
+
207
220
  json(res, 404, { error: "not_found" });
208
221
  } catch (err) {
209
222
  if (err instanceof ZodError) {
@@ -235,6 +248,16 @@ export function startEmbeddedGateway(
235
248
 
236
249
  server.on("upgrade", (request, socket, head) => {
237
250
  const url = new URL(request.url ?? "/", `http://${request.headers.host}`);
251
+
252
+ // Tunnel WebSocket upgrade (for HMR etc.)
253
+ const tunnelParsed = parseTunnelPath(url.pathname);
254
+ if (tunnelParsed) {
255
+ wss.handleUpgrade(request, socket, head, (ws) => {
256
+ handleTunnelWsUpgrade(ws, tunnelParsed, url, sessionManager, tokenManager);
257
+ });
258
+ return;
259
+ }
260
+
238
261
  if (url.pathname !== "/ws") {
239
262
  socket.destroy();
240
263
  return;
package/src/index.ts CHANGED
@@ -13,6 +13,11 @@ import { SessionManager } from "./sessions.js";
13
13
  import { PairingManager } from "./pairings.js";
14
14
  import { TokenManager } from "./tokens.js";
15
15
  import { handleSocketMessage } from "./relay.js";
16
+ import {
17
+ parseTunnelPath,
18
+ handleTunnelRequest,
19
+ cleanupSessionTunnels,
20
+ } from "./tunnel.js";
16
21
 
17
22
  const port = Number(process.env.PORT ?? 8787);
18
23
  const logLevel = (process.env.LOG_LEVEL ?? "info") as
@@ -204,14 +209,9 @@ async function handleRequest(
204
209
  // Session list
205
210
  if (method === "GET" && url.pathname === "/sessions") {
206
211
  const token = extractBearerToken(req);
207
- if (!token || !tokenManager.validate(token)) {
208
- json(res, 401, {
209
- error: "unauthorized",
210
- message: "Valid device token required",
211
- });
212
- return;
213
- }
214
- const allowedIds = tokenManager.getSessionIds(token);
212
+ const allowedIds = token && tokenManager.validate(token)
213
+ ? tokenManager.getSessionIds(token)
214
+ : new Set<string>();
215
215
  const sessions = sessionManager
216
216
  .listActive()
217
217
  .filter((s) => allowedIds.has(s.id))
@@ -264,6 +264,13 @@ async function handleRequest(
264
264
  return;
265
265
  }
266
266
 
267
+ // Tunnel HTTP proxy
268
+ const tunnelParsed = parseTunnelPath(url.pathname);
269
+ if (tunnelParsed) {
270
+ await handleTunnelRequest(req, res, sessionManager, tokenManager, tunnelParsed, url);
271
+ return;
272
+ }
273
+
267
274
  json(res, 404, { error: "not_found" });
268
275
  }
269
276
 
@@ -276,6 +283,25 @@ const wss = new WebSocketServer({
276
283
 
277
284
  server.on("upgrade", (request, socket, head) => {
278
285
  const url = new URL(request.url ?? "/", `http://${request.headers.host}`);
286
+
287
+ // Tunnel WebSocket upgrade (for HMR etc.)
288
+ const tunnelParsed = parseTunnelPath(url.pathname);
289
+ if (tunnelParsed) {
290
+ const ip = getClientIp(request);
291
+ if (!isRateLimitBypassed(ip) && !wsConnectLimiter.allow(ip)) {
292
+ socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
293
+ socket.destroy();
294
+ return;
295
+ }
296
+ // Import dynamically to handle tunnel WS upgrade
297
+ import("./tunnel.js").then(({ handleTunnelWsUpgrade }) => {
298
+ wss.handleUpgrade(request, socket, head, (ws) => {
299
+ handleTunnelWsUpgrade(ws, tunnelParsed, url, sessionManager, tokenManager);
300
+ });
301
+ });
302
+ return;
303
+ }
304
+
279
305
  if (url.pathname !== "/ws") {
280
306
  socket.destroy();
281
307
  return;
package/src/pairings.ts CHANGED
@@ -7,7 +7,7 @@ export interface PairingRecord {
7
7
  claimed: boolean;
8
8
  }
9
9
 
10
- const PAIRING_TTL = 10 * 60_000; // 10 minutes
10
+ const PAIRING_TTL = 7 * 24 * 60 * 60_000; // 7 days
11
11
  const CLEANUP_INTERVAL = 60_000;
12
12
 
13
13
  export class PairingManager {