@jait/gateway 0.1.253 → 0.1.255

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 (108) hide show
  1. package/dist/routes/browser-collaboration.d.ts +2 -0
  2. package/dist/routes/browser-collaboration.d.ts.map +1 -1
  3. package/dist/routes/browser-collaboration.js +84 -13
  4. package/dist/routes/browser-collaboration.js.map +1 -1
  5. package/dist/routes/chat.d.ts.map +1 -1
  6. package/dist/routes/chat.js +28 -0
  7. package/dist/routes/chat.js.map +1 -1
  8. package/dist/routes/preview.d.ts.map +1 -1
  9. package/dist/routes/preview.js +43 -1
  10. package/dist/routes/preview.js.map +1 -1
  11. package/dist/routes/threads.d.ts.map +1 -1
  12. package/dist/routes/threads.js +138 -82
  13. package/dist/routes/threads.js.map +1 -1
  14. package/dist/services/browser-collaboration.d.ts +1 -0
  15. package/dist/services/browser-collaboration.d.ts.map +1 -1
  16. package/dist/services/browser-collaboration.js +8 -0
  17. package/dist/services/browser-collaboration.js.map +1 -1
  18. package/dist/services/intervention-run-resume.d.ts +24 -0
  19. package/dist/services/intervention-run-resume.d.ts.map +1 -0
  20. package/dist/services/intervention-run-resume.js +54 -0
  21. package/dist/services/intervention-run-resume.js.map +1 -0
  22. package/dist/services/preview.d.ts +7 -2
  23. package/dist/services/preview.d.ts.map +1 -1
  24. package/dist/services/preview.js +34 -2
  25. package/dist/services/preview.js.map +1 -1
  26. package/dist/surfaces/browser.d.ts +59 -0
  27. package/dist/surfaces/browser.d.ts.map +1 -1
  28. package/dist/surfaces/browser.js +287 -19
  29. package/dist/surfaces/browser.js.map +1 -1
  30. package/dist/tools/agent-loop.d.ts.map +1 -1
  31. package/dist/tools/agent-loop.js +1 -0
  32. package/dist/tools/agent-loop.js.map +1 -1
  33. package/dist/tools/browser-tools.d.ts +5 -0
  34. package/dist/tools/browser-tools.d.ts.map +1 -1
  35. package/dist/tools/browser-tools.js +124 -16
  36. package/dist/tools/browser-tools.js.map +1 -1
  37. package/dist/tools/chat-modes.d.ts.map +1 -1
  38. package/dist/tools/chat-modes.js +1 -0
  39. package/dist/tools/chat-modes.js.map +1 -1
  40. package/dist/tools/index.d.ts +1 -1
  41. package/dist/tools/index.d.ts.map +1 -1
  42. package/dist/tools/index.js +5 -4
  43. package/dist/tools/index.js.map +1 -1
  44. package/dist/tools/preview-tools.d.ts +2 -2
  45. package/dist/tools/preview-tools.d.ts.map +1 -1
  46. package/dist/tools/preview-tools.js +50 -6
  47. package/dist/tools/preview-tools.js.map +1 -1
  48. package/dist/tools/tool-names.d.ts +1 -0
  49. package/dist/tools/tool-names.d.ts.map +1 -1
  50. package/dist/tools/tool-names.js +1 -0
  51. package/dist/tools/tool-names.js.map +1 -1
  52. package/package.json +1 -1
  53. package/web-dist/assets/{_basePickBy-BcyGGwhH.js → _basePickBy-BjvMP2af.js} +1 -1
  54. package/web-dist/assets/{_baseUniq-C22p5abf.js → _baseUniq-CQbQ6NgV.js} +1 -1
  55. package/web-dist/assets/{arc-Zoq98MqX.js → arc-D3KRIJWu.js} +1 -1
  56. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-6HwQr6v4.js → architectureDiagram-2XIMDMQ5-DM3fcOkr.js} +1 -1
  57. package/web-dist/assets/{blockDiagram-WCTKOSBZ-CuPd1jtC.js → blockDiagram-WCTKOSBZ-B-9Vjl98.js} +1 -1
  58. package/web-dist/assets/{c4Diagram-IC4MRINW-BTlYi7TE.js → c4Diagram-IC4MRINW-CTu2yYlj.js} +1 -1
  59. package/web-dist/assets/channel-r3VxZeIf.js +1 -0
  60. package/web-dist/assets/{chunk-4BX2VUAB-Bn7ZiqY5.js → chunk-4BX2VUAB-ZDQu0uWO.js} +1 -1
  61. package/web-dist/assets/{chunk-55IACEB6-DTk3bIFL.js → chunk-55IACEB6-YtzMmlzY.js} +1 -1
  62. package/web-dist/assets/{chunk-FMBD7UC4-B6sxNpZw.js → chunk-FMBD7UC4-BsIyXbSx.js} +1 -1
  63. package/web-dist/assets/{chunk-JSJVCQXG-Dh4YZlOO.js → chunk-JSJVCQXG-CfudXyS3.js} +1 -1
  64. package/web-dist/assets/{chunk-KX2RTZJC-CzHz74yr.js → chunk-KX2RTZJC-B-fQrx3o.js} +1 -1
  65. package/web-dist/assets/{chunk-NQ4KR5QH-DBFGTaGE.js → chunk-NQ4KR5QH-DzmNoENv.js} +1 -1
  66. package/web-dist/assets/{chunk-QZHKN3VN-OkZXXcAS.js → chunk-QZHKN3VN-DtkgvjXx.js} +1 -1
  67. package/web-dist/assets/{chunk-WL4C6EOR-ZuloqjkY.js → chunk-WL4C6EOR-BCxmVwuX.js} +1 -1
  68. package/web-dist/assets/classDiagram-VBA2DB6C-BRBktPwb.js +1 -0
  69. package/web-dist/assets/classDiagram-v2-RAHNMMFH-BRBktPwb.js +1 -0
  70. package/web-dist/assets/clone-rt9RfsvE.js +1 -0
  71. package/web-dist/assets/{cose-bilkent-S5V4N54A-BvC1WMn0.js → cose-bilkent-S5V4N54A-Ixga3b-M.js} +1 -1
  72. package/web-dist/assets/{dagre-KLK3FWXG-CjFJCygR.js → dagre-KLK3FWXG-CXoAVVKA.js} +1 -1
  73. package/web-dist/assets/{diagram-E7M64L7V-DknStKw-.js → diagram-E7M64L7V-CcBLNXz0.js} +1 -1
  74. package/web-dist/assets/{diagram-IFDJBPK2-BDMR1TQg.js → diagram-IFDJBPK2-6gwd3HNI.js} +1 -1
  75. package/web-dist/assets/{diagram-P4PSJMXO-Bwmw66rO.js → diagram-P4PSJMXO-CAXp9Quj.js} +1 -1
  76. package/web-dist/assets/{erDiagram-INFDFZHY-BdOxsv0M.js → erDiagram-INFDFZHY-C6p1MF8r.js} +1 -1
  77. package/web-dist/assets/{flowDiagram-PKNHOUZH-Uljn5PRZ.js → flowDiagram-PKNHOUZH-B2M24TQ4.js} +1 -1
  78. package/web-dist/assets/{ganttDiagram-A5KZAMGK-DTDfaaxy.js → ganttDiagram-A5KZAMGK-CmKwfSN8.js} +1 -1
  79. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-Dr2Pd0Rf.js → gitGraphDiagram-K3NZZRJ6-f6_FZnF_.js} +1 -1
  80. package/web-dist/assets/{graph-Brl1VQYx.js → graph-X0lqls-x.js} +1 -1
  81. package/web-dist/assets/index-DnSc9BPB.js +1156 -0
  82. package/web-dist/assets/index-qWyAYgAD.css +32 -0
  83. package/web-dist/assets/{infoDiagram-LFFYTUFH-DRGwfR3l.js → infoDiagram-LFFYTUFH-59VZJVF5.js} +1 -1
  84. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-C5wVU4X-.js → ishikawaDiagram-PHBUUO56-BEy0oxW6.js} +1 -1
  85. package/web-dist/assets/{journeyDiagram-4ABVD52K-CMDRuzfk.js → journeyDiagram-4ABVD52K-BDulB1lR.js} +1 -1
  86. package/web-dist/assets/{kanban-definition-K7BYSVSG-Cx_A9e_l.js → kanban-definition-K7BYSVSG-Cx1576bJ.js} +1 -1
  87. package/web-dist/assets/{layout-B_LIug7c.js → layout-C7p8zLip.js} +1 -1
  88. package/web-dist/assets/{linear-Ct-F2hNC.js → linear-C7lgV0KB.js} +1 -1
  89. package/web-dist/assets/{mindmap-definition-YRQLILUH-CF3eb3Al.js → mindmap-definition-YRQLILUH-B0aaRwFC.js} +1 -1
  90. package/web-dist/assets/{pieDiagram-SKSYHLDU-DAdvIFin.js → pieDiagram-SKSYHLDU-BrlmIbXe.js} +1 -1
  91. package/web-dist/assets/{quadrantDiagram-337W2JSQ-CDQStLBJ.js → quadrantDiagram-337W2JSQ-BwXx6zzR.js} +1 -1
  92. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-Ip3XZEkc.js → requirementDiagram-Z7DCOOCP-kUdwkQkY.js} +1 -1
  93. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-z7y7qF_q.js → sankeyDiagram-WA2Y5GQK-Dkpg3nlZ.js} +1 -1
  94. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-A2-OZPoe.js → sequenceDiagram-2WXFIKYE-CyZv4rLL.js} +1 -1
  95. package/web-dist/assets/{stateDiagram-RAJIS63D-BNzSjf8q.js → stateDiagram-RAJIS63D-CZbnLN4N.js} +1 -1
  96. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-C28Nk4KM.js +1 -0
  97. package/web-dist/assets/{timeline-definition-YZTLITO2-Cq5wP1Fr.js → timeline-definition-YZTLITO2-BSFBZK4o.js} +1 -1
  98. package/web-dist/assets/{treemap-KZPCXAKY-BvZj2MW1.js → treemap-KZPCXAKY-Bhm8QcdX.js} +1 -1
  99. package/web-dist/assets/{vennDiagram-LZ73GAT5-CZgQLPKu.js → vennDiagram-LZ73GAT5-CamPCKoy.js} +1 -1
  100. package/web-dist/assets/{xychartDiagram-JWTSCODW-CRq-TIHd.js → xychartDiagram-JWTSCODW-BgY7GIM5.js} +1 -1
  101. package/web-dist/index.html +2 -2
  102. package/web-dist/assets/channel-BPNJdKDR.js +0 -1
  103. package/web-dist/assets/classDiagram-VBA2DB6C-BNQzjdUH.js +0 -1
  104. package/web-dist/assets/classDiagram-v2-RAHNMMFH-BNQzjdUH.js +0 -1
  105. package/web-dist/assets/clone-BkyjRq6d.js +0 -1
  106. package/web-dist/assets/index-C5N-SSAy.js +0 -1161
  107. package/web-dist/assets/index-W6VlsD4B.css +0 -32
  108. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-Dm4Y1eX4.js +0 -1
@@ -25,6 +25,7 @@ import { resolveThreadSelectionDefaults } from "../services/thread-defaults.js";
25
25
  import { assertOwnership } from "../security/ownership.js";
26
26
  import { existsSync } from "node:fs";
27
27
  import { generateTitleViaTurn, generateTitleViaApi, normalizeGeneratedThreadTitle, } from "../services/thread-title.js";
28
+ import { interventionRunResumeRegistry } from "../services/intervention-run-resume.js";
28
29
  const KNOWN_PROVIDER_IDS = new Set(["jait", "codex", "claude-code", "gemini", "opencode", "copilot"]);
29
30
  function resolveThreadProviderId(userSelectedProvider, requestedProvider, fallbackProvider) {
30
31
  const resolveSelectedProvider = () => {
@@ -106,6 +107,8 @@ export function registerThreadRoutes(app, config, deps) {
106
107
  const repoService = deps.repoService;
107
108
  // Track active onEvent unsubscribe functions per thread so we can clean up
108
109
  const threadUnsubs = new Map();
110
+ const threadResumeUnsubs = new Map();
111
+ const pendingInterventionMessages = new Map();
109
112
  // Track RemoteCliProvider instances per thread so /send, /stop, /interrupt
110
113
  // can access them (they're not in the global providerRegistry)
111
114
  const remoteProviders = new Map();
@@ -158,6 +161,108 @@ export function registerThreadRoutes(app, config, deps) {
158
161
  ...(error ? { error } : {}),
159
162
  });
160
163
  }
164
+ function unregisterThreadResume(threadId) {
165
+ const unregister = threadResumeUnsubs.get(threadId);
166
+ if (unregister) {
167
+ unregister();
168
+ threadResumeUnsubs.delete(threadId);
169
+ }
170
+ pendingInterventionMessages.delete(threadId);
171
+ }
172
+ function registerThreadResume(threadId, handler) {
173
+ unregisterThreadResume(threadId);
174
+ threadResumeUnsubs.set(threadId, interventionRunResumeRegistry.registerThread(threadId, handler));
175
+ }
176
+ async function flushPendingInterventionMessage(threadId, providerSessionId, providerId) {
177
+ const queued = pendingInterventionMessages.get(threadId);
178
+ const nextMessage = queued?.shift();
179
+ if (!nextMessage)
180
+ return false;
181
+ if (queued && queued.length > 0)
182
+ pendingInterventionMessages.set(threadId, queued);
183
+ else
184
+ pendingInterventionMessages.delete(threadId);
185
+ const thread = threadService.getById(threadId);
186
+ if (!thread || thread.status !== "running" || thread.providerSessionId !== providerSessionId) {
187
+ return false;
188
+ }
189
+ const provider = remoteProviders.get(threadId) ?? providerRegistry.get(providerId);
190
+ if (!provider) {
191
+ pendingInterventionMessages.delete(threadId);
192
+ return false;
193
+ }
194
+ await provider.sendTurn(providerSessionId, nextMessage);
195
+ const userActivity = threadService.addActivity(threadId, "message", nextMessage.slice(0, 500), {
196
+ role: "user",
197
+ content: nextMessage,
198
+ });
199
+ broadcastThreadEvent(threadId, "activity", { activity: userActivity });
200
+ threadService.update(threadId, { status: "running", error: null });
201
+ broadcastThreadStatus(threadId, "running");
202
+ return true;
203
+ }
204
+ function buildThreadEventHandler(threadId, providerSessionId, providerId, options) {
205
+ return (event) => {
206
+ if (!isThreadSessionEvent(event, providerSessionId)) {
207
+ return;
208
+ }
209
+ if ((options?.suppressTitleTurnEvents?.() ?? 0) > 0) {
210
+ if (event.type === "turn.completed") {
211
+ options?.decrementSuppressedTurn?.();
212
+ return;
213
+ }
214
+ if (event.type === "turn.started") {
215
+ return;
216
+ }
217
+ }
218
+ const activity = threadService.logProviderEvent(threadId, event);
219
+ if (activity) {
220
+ broadcastThreadEvent(threadId, "activity", { event, activity });
221
+ }
222
+ if (event.type === "session.completed") {
223
+ threadService.markCompleted(threadId);
224
+ broadcastThreadStatus(threadId, "completed");
225
+ const unsubscribe = threadUnsubs.get(threadId);
226
+ if (unsubscribe) {
227
+ unsubscribe();
228
+ threadUnsubs.delete(threadId);
229
+ }
230
+ unregisterThreadResume(threadId);
231
+ }
232
+ else if (event.type === "session.error") {
233
+ threadService.markError(threadId, event.error);
234
+ broadcastThreadStatus(threadId, "error", event.error);
235
+ const unsubscribe = threadUnsubs.get(threadId);
236
+ if (unsubscribe) {
237
+ unsubscribe();
238
+ threadUnsubs.delete(threadId);
239
+ }
240
+ remoteProviders.delete(threadId);
241
+ unregisterThreadResume(threadId);
242
+ }
243
+ else if (event.type === "turn.started") {
244
+ const cur = threadService.getById(threadId);
245
+ if (cur && cur.status !== "running") {
246
+ threadService.update(threadId, { status: "running", error: null });
247
+ broadcastThreadStatus(threadId, "running");
248
+ }
249
+ }
250
+ else if (event.type === "turn.completed") {
251
+ void flushPendingInterventionMessage(threadId, providerSessionId, providerId)
252
+ .then((resumed) => {
253
+ if (resumed)
254
+ return;
255
+ threadService.update(threadId, { status: "completed", error: null, completedAt: new Date().toISOString() });
256
+ broadcastThreadStatus(threadId, "completed");
257
+ })
258
+ .catch((error) => {
259
+ threadService.markError(threadId, error instanceof Error ? error.message : String(error));
260
+ broadcastThreadStatus(threadId, "error", error instanceof Error ? error.message : String(error));
261
+ unregisterThreadResume(threadId);
262
+ });
263
+ }
264
+ };
265
+ }
161
266
  function isThreadSessionEvent(event, sessionId) {
162
267
  return event.sessionId === sessionId;
163
268
  }
@@ -383,6 +488,7 @@ export function registerThreadRoutes(app, config, deps) {
383
488
  threadUnsubs.delete(id);
384
489
  }
385
490
  remoteProviders.delete(id);
491
+ unregisterThreadResume(id);
386
492
  // Clean up worktree + branch (best effort, don't block the response)
387
493
  if (existing.workingDirectory) {
388
494
  cleanupWorktreeRemoteAware(existing.workingDirectory, ws, existing.branch).catch(() => { });
@@ -411,6 +517,11 @@ export function registerThreadRoutes(app, config, deps) {
411
517
  await provider.stopSession(existing.providerSessionId);
412
518
  }
413
519
  catch { /* best effort */ }
520
+ const unsub = threadUnsubs.get(id);
521
+ if (unsub) {
522
+ unsub();
523
+ threadUnsubs.delete(id);
524
+ }
414
525
  }
415
526
  // Clean up the worktree and branch on disk (best effort, don't block delete)
416
527
  if (existing.workingDirectory) {
@@ -418,6 +529,7 @@ export function registerThreadRoutes(app, config, deps) {
418
529
  }
419
530
  threadService.delete(id);
420
531
  remoteProviders.delete(id);
532
+ unregisterThreadResume(id);
421
533
  broadcastThreadEvent(id, "deleted", {});
422
534
  return reply.status(204).send();
423
535
  });
@@ -537,61 +649,21 @@ export function registerThreadRoutes(app, config, deps) {
537
649
  // to "completed" prematurely.
538
650
  let suppressTitleTurnEvents = 0;
539
651
  // Subscribe to provider events and log them
540
- const unsubscribe = provider.onEvent((event) => {
541
- if (!isThreadSessionEvent(event, session.id)) {
542
- return;
543
- }
544
- // During the title turn we still log events but skip status changes
545
- if (suppressTitleTurnEvents > 0) {
546
- if (event.type === "turn.completed") {
547
- suppressTitleTurnEvents--;
548
- return;
549
- }
550
- // Also suppress turn.started during title gen to avoid redundant broadcasts
551
- if (event.type === "turn.started") {
552
- return;
553
- }
554
- }
555
- const activity = threadService.logProviderEvent(id, event);
556
- if (activity) {
557
- broadcastThreadEvent(id, "activity", { event, activity });
558
- }
559
- // Handle session / turn lifecycle
560
- if (event.type === "session.completed") {
561
- threadService.markCompleted(id);
562
- broadcastThreadStatus(id, "completed");
563
- unsubscribe();
564
- threadUnsubs.delete(id);
565
- // Keep remoteProviders entry — the thread can still be resumed
566
- // with a new session (e.g. to fix push failures). Cleaned up on
567
- // PR merge/close or thread deletion.
568
- }
569
- else if (event.type === "session.error") {
570
- threadService.markError(id, event.error);
571
- broadcastThreadStatus(id, "error", event.error);
572
- unsubscribe();
573
- threadUnsubs.delete(id);
574
- remoteProviders.delete(id);
575
- }
576
- else if (event.type === "turn.started") {
577
- // A new turn began — make sure the thread is marked running.
578
- // This acts as a safety net: if a previous turn.completed leaked
579
- // (e.g. race between title-gen and suppression), this corrects it.
580
- const cur = threadService.getById(id);
581
- if (cur && cur.status !== "running") {
582
- threadService.update(id, { status: "running", error: null });
583
- broadcastThreadStatus(id, "running");
584
- }
585
- }
586
- else if (event.type === "turn.completed") {
587
- // Turn finished but session is still alive — mark thread completed
588
- // while keeping providerSessionId set. The frontend checks
589
- // providerSessionId to decide between /send and /start.
590
- threadService.update(id, { status: "completed", error: null, completedAt: new Date().toISOString() });
591
- broadcastThreadStatus(id, "completed");
652
+ const unsubscribe = provider.onEvent(buildThreadEventHandler(id, session.id, thread.providerId, {
653
+ suppressTitleTurnEvents: () => suppressTitleTurnEvents,
654
+ decrementSuppressedTurn: () => { suppressTitleTurnEvents--; },
655
+ }));
656
+ threadUnsubs.set(id, unsubscribe);
657
+ registerThreadResume(id, async (message) => {
658
+ const activeThread = threadService.getById(id);
659
+ if (!activeThread?.providerSessionId || activeThread.status !== "running") {
660
+ return { status: "not-running" };
592
661
  }
662
+ const queued = pendingInterventionMessages.get(id) ?? [];
663
+ queued.push(message);
664
+ pendingInterventionMessages.set(id, queued);
665
+ return { status: "queued" };
593
666
  });
594
- threadUnsubs.set(id, unsubscribe);
595
667
  threadService.markRunning(id, session.id);
596
668
  if (executionNode) {
597
669
  threadService.update(id, {
@@ -703,6 +775,7 @@ export function registerThreadRoutes(app, config, deps) {
703
775
  catch (err) {
704
776
  const errorMsg = err instanceof Error ? err.message : String(err);
705
777
  threadService.markError(id, errorMsg);
778
+ unregisterThreadResume(id);
706
779
  broadcastThreadStatus(id, "error", errorMsg);
707
780
  }
708
781
  })();
@@ -714,6 +787,7 @@ export function registerThreadRoutes(app, config, deps) {
714
787
  catch (err) {
715
788
  const errorMsg = err instanceof Error ? err.message : String(err);
716
789
  threadService.markError(id, errorMsg);
790
+ unregisterThreadResume(id);
717
791
  return reply.status(500).send({ error: errorMsg });
718
792
  }
719
793
  });
@@ -810,6 +884,7 @@ export function registerThreadRoutes(app, config, deps) {
810
884
  remoteProviders.delete(id);
811
885
  }
812
886
  threadService.markInterrupted(id);
887
+ unregisterThreadResume(id);
813
888
  broadcastThreadStatus(id, "interrupted");
814
889
  return reply.status(200).send({ ok: true });
815
890
  });
@@ -973,37 +1048,18 @@ export function registerThreadRoutes(app, config, deps) {
973
1048
  prevUnsub();
974
1049
  threadUnsubs.delete(id);
975
1050
  }
976
- const unsub = provider.onEvent((evt) => {
977
- if (!isThreadSessionEvent(evt, newSession.id))
978
- return;
979
- const act = threadService.logProviderEvent(id, evt);
980
- if (act)
981
- broadcastThreadEvent(id, "activity", { event: evt, activity: act });
982
- if (evt.type === "session.completed") {
983
- threadService.markCompleted(id);
984
- broadcastThreadStatus(id, "completed");
985
- unsub();
986
- threadUnsubs.delete(id);
987
- }
988
- else if (evt.type === "session.error") {
989
- threadService.markError(id, evt.error);
990
- broadcastThreadStatus(id, "error", evt.error);
991
- unsub();
992
- threadUnsubs.delete(id);
993
- }
994
- else if (evt.type === "turn.started") {
995
- const cur = threadService.getById(id);
996
- if (cur && cur.status !== "running") {
997
- threadService.update(id, { status: "running", error: null });
998
- broadcastThreadStatus(id, "running");
999
- }
1000
- }
1001
- else if (evt.type === "turn.completed") {
1002
- threadService.update(id, { status: "completed", error: null, completedAt: new Date().toISOString() });
1003
- broadcastThreadStatus(id, "completed");
1051
+ const unsub = provider.onEvent(buildThreadEventHandler(id, newSession.id, thread.providerId));
1052
+ threadUnsubs.set(id, unsub);
1053
+ registerThreadResume(id, async (message) => {
1054
+ const activeThread = threadService.getById(id);
1055
+ if (!activeThread?.providerSessionId || activeThread.status !== "running") {
1056
+ return { status: "not-running" };
1004
1057
  }
1058
+ const queued = pendingInterventionMessages.get(id) ?? [];
1059
+ queued.push(message);
1060
+ pendingInterventionMessages.set(id, queued);
1061
+ return { status: "queued" };
1005
1062
  });
1006
- threadUnsubs.set(id, unsub);
1007
1063
  // Send the turn first — only mark running if it succeeds
1008
1064
  try {
1009
1065
  await provider.sendTurn(newSession.id, resumeMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ export declare class BrowserCollaborationService {
79
79
  listSessions(userId?: string | null): BrowserSessionRecord[];
80
80
  getSession(id: string, userId?: string | null): BrowserSessionRecord | null;
81
81
  getSessionByBrowserId(browserId: string): BrowserSessionRecord | null;
82
+ getSessionByPreviewSessionId(previewSessionId: string): BrowserSessionRecord | null;
82
83
  createSession(input: CreateBrowserSessionInput): BrowserSessionRecord;
83
84
  syncPreviewSession(preview: PreviewSession, options?: {
84
85
  userId?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-collaboration.d.ts","sourceRoot":"","sources":["../../src/services/browser-collaboration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,uBAAuB,GAAG,QAAQ,CAAC;AACvG,MAAM,MAAM,uBAAuB,GAC/B,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,yBAAyB,GACzB,QAAQ,CAAC;AACb,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,wBAAwB,CAAC;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAC/D,KAAK,oBAAoB,GAAG,CAAC,YAAY,EAAE,yBAAyB,KAAK,IAAI,CAAC;AAE9E,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAMD,qBAAa,2BAA2B;IAI1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAH/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAmC;gBAE5C,EAAE,EAAE,MAAM;IAEvC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAKvD,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAKjE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,EAAE;IAW5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAO3E,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IASrE,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,oBAAoB;IA0BrE,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QACpD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,kBAAkB,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACjD,GAAG,oBAAoB;IA+CxB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAe5E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAc9E,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAWtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAWvE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI;IAUnG,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAgBnD,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,EAAE;IAuB1G,mBAAmB,CAAC,KAAK,EAAE,+BAA+B,GAAG,yBAAyB;IAiCtF,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,yBAAyB,GAAG,IAAI;IAuB/G,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,yBAAyB,GAAG,IAAI;IAuBxF,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAY5C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,YAAY,CAiBjB;IAEH,OAAO,CAAC,iBAAiB,CAgBtB;IAEH,OAAO,CAAC,eAAe;CAIxB"}
1
+ {"version":3,"file":"browser-collaboration.d.ts","sourceRoot":"","sources":["../../src/services/browser-collaboration.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,14 @@ export class BrowserCollaborationService {
45
45
  .get();
46
46
  return row ? this.rowToSession(row) : null;
47
47
  }
48
+ getSessionByPreviewSessionId(previewSessionId) {
49
+ const row = this.db
50
+ .select()
51
+ .from(browserSessions)
52
+ .where(eq(browserSessions.previewSessionId, previewSessionId))
53
+ .get();
54
+ return row ? this.rowToSession(row) : null;
55
+ }
48
56
  createSession(input) {
49
57
  const createdAt = nowIso();
50
58
  const id = `bs_${nanoid(10)}`;