opencode-pixel-office 1.2.1 → 1.2.2

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.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>OpenCode Pixel Office</title>
8
- <script type="module" crossorigin src="/assets/index-C-G6ADoh.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-ranXAQXA.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-Z_DujjSQ.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-pixel-office",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "bin",
package/server/index.ts CHANGED
@@ -706,10 +706,13 @@ const upsertAgentFromEvent = (event: EventPayload) => {
706
706
  }
707
707
  const props = event?.properties || {};
708
708
  const part = props.part || {};
709
+ const eventType = getEventType(event);
709
710
  const partText = safeString(part.text, "");
710
711
  const partContent = safeString(part.content, "");
711
712
  const partDelta = safeString(part.delta, "");
712
- const messageSnippet = partText || partContent || partDelta;
713
+ // Handle tui.toast.show (notification) messages from hooks
714
+ const toastMessage = eventType === "tui.toast.show" ? safeString(props.message ?? "", "") : "";
715
+ const messageSnippet = toastMessage || partText || partContent || partDelta;
713
716
  const status = mapStatusFromEvent(event);
714
717
  const model = extractAgentModel(event);
715
718
  const provider = safeString(event?.properties?.info?.model?.providerID, "");
@@ -717,7 +720,6 @@ const upsertAgentFromEvent = (event: EventPayload) => {
717
720
  const rawSessionId = extractSessionId(event);
718
721
  const sessionTitle = extractSessionTitle(event);
719
722
  const updatedAt = Date.now();
720
- const eventType = getEventType(event);
721
723
  const eventSource = event?.source || "opencode";
722
724
  const isPartUpdate = eventType === "message.part.updated";
723
725
  const messageId = isPartUpdate
@@ -752,6 +754,7 @@ const upsertAgentFromEvent = (event: EventPayload) => {
752
754
  nextMessageSnippet.length > 400
753
755
  ? nextMessageSnippet.slice(-400)
754
756
  : nextMessageSnippet;
757
+ const isToastMessage = eventType === "tui.toast.show" && Boolean(toastMessage);
755
758
  const hasMessageUpdate = !isUserMessage && Boolean(messageSnippet);
756
759
  const now = Date.now();
757
760
  const isFileEditEvent = eventType === "file.edited" || eventType === "file.watcher.updated";
@@ -759,8 +762,9 @@ const upsertAgentFromEvent = (event: EventPayload) => {
759
762
  eventType === "tool.execute.before" ||
760
763
  isFileEditEvent ||
761
764
  isPartUpdate ||
765
+ isToastMessage ||
762
766
  (eventType === "message.updated" && hasMessageUpdate);
763
- const nextMessageAt = hasMessageUpdate
767
+ const nextMessageAt = hasMessageUpdate || isToastMessage
764
768
  ? now
765
769
  : existing?.lastMessageAt || 0;
766
770
  const nextStreamingAt = isPartUpdate && hasMessageUpdate