oysterun 1.4.5 → 1.4.6

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 (30) hide show
  1. package/dev/client/web/index.html +31 -0
  2. package/dev/client/web-chat/dist/assets/{ReactPrism-Pt9CJmFr.js → ReactPrism-lmxWDpVG.js} +1 -1
  3. package/dev/client/web-chat/dist/assets/{ReactPrism-Pt9CJmFr.js.map → ReactPrism-lmxWDpVG.js.map} +1 -1
  4. package/dev/client/web-chat/dist/assets/{index-BFyCCLfm.js → index-6GA21osP.js} +73 -73
  5. package/dev/client/web-chat/dist/assets/index-6GA21osP.js.map +1 -0
  6. package/dev/client/web-chat/dist/assets/{index-DjA8TMy2.js → index-BrEPk04R.js} +1 -1
  7. package/dev/client/web-chat/dist/assets/{index-DjA8TMy2.js.map → index-BrEPk04R.js.map} +1 -1
  8. package/dev/client/web-chat/dist/assets/{index-BUELz8_v.js → index-DgT92KX_.js} +2 -2
  9. package/dev/client/web-chat/dist/assets/{index-BUELz8_v.js.map → index-DgT92KX_.js.map} +1 -1
  10. package/dev/client/web-chat/dist/assets/{pdf-B5HuyJzk.js → pdf-BgTAydf1.js} +3 -3
  11. package/dev/client/web-chat/dist/assets/{pdf-B5HuyJzk.js.map → pdf-BgTAydf1.js.map} +1 -1
  12. package/dev/client/web-chat/dist/assets/{web-BuBqjNYh.js → web-B6RLoRzA.js} +1 -1
  13. package/dev/client/web-chat/dist/assets/{web-BuBqjNYh.js.map → web-B6RLoRzA.js.map} +1 -1
  14. package/dev/client/web-chat/dist/assets/{web-DU_hq0TE.js → web-BPMNryMv.js} +1 -1
  15. package/dev/client/web-chat/dist/assets/{web-DU_hq0TE.js.map → web-BPMNryMv.js.map} +1 -1
  16. package/dev/client/web-chat/dist/index.html +1 -1
  17. package/host-service/adapters/claude-code-adapter.mjs +21 -2
  18. package/host-service/adapters/codex-app-server-adapter.mjs +27 -3
  19. package/host-service/assets/product-skills/Oysterun/modules/oysterun-scheduler/SKILL.md +35 -0
  20. package/host-service/assets/product-skills/oysterun-scheduler/SKILL.md +35 -0
  21. package/host-service/mail-store.mjs +13 -2
  22. package/host-service/package.json +1 -1
  23. package/host-service/scheduler-runner.mjs +2 -0
  24. package/host-service/scheduler-service.mjs +163 -17
  25. package/host-service/server.mjs +276 -71
  26. package/host-service/session-manager.mjs +63 -2
  27. package/package.json +1 -1
  28. package/tool_scripts/oysterun_service_common.sh +75 -0
  29. package/tool_scripts/start_oysterun.sh +17 -42
  30. package/dev/client/web-chat/dist/assets/index-BFyCCLfm.js.map +0 -1
@@ -12526,6 +12526,7 @@ Waiting for Claude login output…</pre
12526
12526
  const SESSION_UPLOADS_DISABLED_MESSAGE =
12527
12527
  "File uploads are unavailable in this chat.";
12528
12528
  let pendingAttachments = [];
12529
+ let routeCInterruptRequestInFlight = false;
12529
12530
  const uploadPreviewObjectUrlCache = new Map();
12530
12531
  const uploadPreviewObjectUrlRequests = new Map();
12531
12532
  let currentStreamAgentId = null;
@@ -45847,6 +45848,9 @@ Waiting for Claude login output…</pre
45847
45848
  async function doInterruptSession() {
45848
45849
  const liveSession = getSelectedLiveSession();
45849
45850
  if (!liveSession) return;
45851
+ if (routeCInterruptRequestInFlight) return;
45852
+ routeCInterruptRequestInFlight = true;
45853
+ updateComposerAvailability();
45850
45854
  try {
45851
45855
  await api("POST", "/session/interrupt", {
45852
45856
  session_id: liveSession.sessionId,
@@ -45854,6 +45858,9 @@ Waiting for Claude login output…</pre
45854
45858
  appendSystem(`Interrupted ${liveSession.sessionId}.`);
45855
45859
  } catch (err) {
45856
45860
  showBanner(err.message, true);
45861
+ } finally {
45862
+ routeCInterruptRequestInFlight = false;
45863
+ updateComposerAvailability();
45857
45864
  }
45858
45865
  }
45859
45866
 
@@ -47005,6 +47012,30 @@ Waiting for Claude login output…</pre
47005
47012
  return;
47006
47013
  }
47007
47014
 
47015
+ if (text.startsWith("!!")) {
47016
+ sendBtn.disabled =
47017
+ routeCInterruptRequestInFlight ||
47018
+ !hasActiveSession() ||
47019
+ !getSelectedLiveSession();
47020
+ sendBtn.dataset.oysterunRoutecInterruptInFlight = String(
47021
+ routeCInterruptRequestInFlight
47022
+ );
47023
+ sendBtn.dataset.oysterunRoutecInterruptOneShotDisabled = String(
47024
+ routeCInterruptRequestInFlight
47025
+ );
47026
+ setSendButtonState(
47027
+ routeCInterruptRequestInFlight
47028
+ ? "Interrupting..."
47029
+ : "Stop response",
47030
+ true
47031
+ );
47032
+ updateComposerDebug();
47033
+ return;
47034
+ }
47035
+
47036
+ delete sendBtn.dataset.oysterunRoutecInterruptInFlight;
47037
+ delete sendBtn.dataset.oysterunRoutecInterruptOneShotDisabled;
47038
+
47008
47039
  if (hasAttachments && matchedCommand) {
47009
47040
  sendBtn.disabled = true;
47010
47041
  setSendButtonState("Attachments only work with normal chat");
@@ -1,4 +1,4 @@
1
- import{g as ee,c as Y,r as K,j as Z}from"./index-BFyCCLfm.js";var X={exports:{}};(function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
1
+ import{g as ee,c as Y,r as K,j as Z}from"./index-6GA21osP.js";var X={exports:{}};(function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
2
2
  * Prism: Lightweight, robust, elegant syntax highlighting
3
3
  *
4
4
  * @license MIT <https://opensource.org/licenses/MIT>