tomo-ai 0.8.10 → 0.8.11

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 (137) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +15 -1
  3. package/dist/agent/delivery-pipeline.d.ts.map +1 -1
  4. package/dist/agent/delivery-pipeline.js +8 -1
  5. package/dist/agent/delivery-pipeline.js.map +1 -1
  6. package/dist/agent/live-session.d.ts +3 -0
  7. package/dist/agent/live-session.d.ts.map +1 -1
  8. package/dist/agent/live-session.js +33 -0
  9. package/dist/agent/live-session.js.map +1 -1
  10. package/dist/agent/text-utils.d.ts +15 -10
  11. package/dist/agent/text-utils.d.ts.map +1 -1
  12. package/dist/agent/text-utils.js +17 -10
  13. package/dist/agent/text-utils.js.map +1 -1
  14. package/dist/agent/turn-runner.d.ts +3 -0
  15. package/dist/agent/turn-runner.d.ts.map +1 -1
  16. package/dist/agent/turn-runner.js +32 -12
  17. package/dist/agent/turn-runner.js.map +1 -1
  18. package/dist/agent.d.ts +13 -0
  19. package/dist/agent.d.ts.map +1 -1
  20. package/dist/agent.js +68 -1
  21. package/dist/agent.js.map +1 -1
  22. package/dist/channels/heic.d.ts +21 -0
  23. package/dist/channels/heic.d.ts.map +1 -0
  24. package/dist/channels/heic.js +107 -0
  25. package/dist/channels/heic.js.map +1 -0
  26. package/dist/channels/imessage-dedupe.d.ts +9 -0
  27. package/dist/channels/imessage-dedupe.d.ts.map +1 -1
  28. package/dist/channels/imessage-dedupe.js +18 -0
  29. package/dist/channels/imessage-dedupe.js.map +1 -1
  30. package/dist/channels/imessage-imsg.d.ts +194 -0
  31. package/dist/channels/imessage-imsg.d.ts.map +1 -0
  32. package/dist/channels/imessage-imsg.js +1298 -0
  33. package/dist/channels/imessage-imsg.js.map +1 -0
  34. package/dist/channels/imessage.d.ts.map +1 -1
  35. package/dist/channels/imessage.js +8 -4
  36. package/dist/channels/imessage.js.map +1 -1
  37. package/dist/channels/imsg-satellite.d.ts +56 -0
  38. package/dist/channels/imsg-satellite.d.ts.map +1 -0
  39. package/dist/channels/imsg-satellite.js +107 -0
  40. package/dist/channels/imsg-satellite.js.map +1 -0
  41. package/dist/channels/index.d.ts +1 -0
  42. package/dist/channels/index.d.ts.map +1 -1
  43. package/dist/channels/index.js +1 -0
  44. package/dist/channels/index.js.map +1 -1
  45. package/dist/channels/telegram.d.ts +2 -0
  46. package/dist/channels/telegram.d.ts.map +1 -1
  47. package/dist/channels/telegram.js +73 -1
  48. package/dist/channels/telegram.js.map +1 -1
  49. package/dist/cli/config/channels.d.ts.map +1 -1
  50. package/dist/cli/config/channels.js +45 -4
  51. package/dist/cli/config/channels.js.map +1 -1
  52. package/dist/cli/config/identities.js +1 -1
  53. package/dist/cli/config/identities.js.map +1 -1
  54. package/dist/cli/start.js +36 -2
  55. package/dist/cli/start.js.map +1 -1
  56. package/dist/cli/status.js +2 -2
  57. package/dist/cli/status.js.map +1 -1
  58. package/dist/cli/watch.d.ts +3 -0
  59. package/dist/cli/watch.d.ts.map +1 -0
  60. package/dist/cli/watch.js +15 -0
  61. package/dist/cli/watch.js.map +1 -0
  62. package/dist/cli.js +2 -0
  63. package/dist/cli.js.map +1 -1
  64. package/dist/config.d.ts +12 -0
  65. package/dist/config.d.ts.map +1 -1
  66. package/dist/config.js +17 -1
  67. package/dist/config.js.map +1 -1
  68. package/dist/continuity.d.ts +4 -0
  69. package/dist/continuity.d.ts.map +1 -1
  70. package/dist/continuity.js +15 -1
  71. package/dist/continuity.js.map +1 -1
  72. package/dist/cron/scheduler.d.ts.map +1 -1
  73. package/dist/cron/scheduler.js +3 -0
  74. package/dist/cron/scheduler.js.map +1 -1
  75. package/dist/logger.d.ts.map +1 -1
  76. package/dist/logger.js +32 -0
  77. package/dist/logger.js.map +1 -1
  78. package/dist/runtime-paths.d.ts +1 -0
  79. package/dist/runtime-paths.d.ts.map +1 -1
  80. package/dist/runtime-paths.js +1 -0
  81. package/dist/runtime-paths.js.map +1 -1
  82. package/dist/sessions/store.d.ts.map +1 -1
  83. package/dist/sessions/store.js +16 -0
  84. package/dist/sessions/store.js.map +1 -1
  85. package/dist/watch/bus.d.ts +36 -0
  86. package/dist/watch/bus.d.ts.map +1 -0
  87. package/dist/watch/bus.js +44 -0
  88. package/dist/watch/bus.js.map +1 -0
  89. package/dist/watch/client.d.ts +31 -0
  90. package/dist/watch/client.d.ts.map +1 -0
  91. package/dist/watch/client.js +101 -0
  92. package/dist/watch/client.js.map +1 -0
  93. package/dist/watch/protocol.d.ts +144 -0
  94. package/dist/watch/protocol.d.ts.map +1 -0
  95. package/dist/watch/protocol.js +20 -0
  96. package/dist/watch/protocol.js.map +1 -0
  97. package/dist/watch/server.d.ts +41 -0
  98. package/dist/watch/server.d.ts.map +1 -0
  99. package/dist/watch/server.js +161 -0
  100. package/dist/watch/server.js.map +1 -0
  101. package/dist/watch/snapshot.d.ts +22 -0
  102. package/dist/watch/snapshot.d.ts.map +1 -0
  103. package/dist/watch/snapshot.js +43 -0
  104. package/dist/watch/snapshot.js.map +1 -0
  105. package/dist/watch/tui/app.d.ts +7 -0
  106. package/dist/watch/tui/app.d.ts.map +1 -0
  107. package/dist/watch/tui/app.js +135 -0
  108. package/dist/watch/tui/app.js.map +1 -0
  109. package/dist/watch/tui/feed.d.ts +12 -0
  110. package/dist/watch/tui/feed.d.ts.map +1 -0
  111. package/dist/watch/tui/feed.js +58 -0
  112. package/dist/watch/tui/feed.js.map +1 -0
  113. package/dist/watch/tui/format.d.ts +12 -0
  114. package/dist/watch/tui/format.d.ts.map +1 -0
  115. package/dist/watch/tui/format.js +58 -0
  116. package/dist/watch/tui/format.js.map +1 -0
  117. package/dist/watch/tui/header.d.ts +7 -0
  118. package/dist/watch/tui/header.d.ts.map +1 -0
  119. package/dist/watch/tui/header.js +15 -0
  120. package/dist/watch/tui/header.js.map +1 -0
  121. package/dist/watch/tui/index.d.ts +3 -0
  122. package/dist/watch/tui/index.d.ts.map +1 -0
  123. package/dist/watch/tui/index.js +24 -0
  124. package/dist/watch/tui/index.js.map +1 -0
  125. package/dist/watch/tui/log-tail.d.ts +6 -0
  126. package/dist/watch/tui/log-tail.d.ts.map +1 -0
  127. package/dist/watch/tui/log-tail.js +73 -0
  128. package/dist/watch/tui/log-tail.js.map +1 -0
  129. package/dist/watch/tui/model.d.ts +69 -0
  130. package/dist/watch/tui/model.d.ts.map +1 -0
  131. package/dist/watch/tui/model.js +268 -0
  132. package/dist/watch/tui/model.js.map +1 -0
  133. package/dist/watch/tui/sidebar.d.ts +8 -0
  134. package/dist/watch/tui/sidebar.d.ts.map +1 -0
  135. package/dist/watch/tui/sidebar.js +31 -0
  136. package/dist/watch/tui/sidebar.js.map +1 -0
  137. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.11 (2026-07-09)
4
+
5
+ ### Features
6
+
7
+ - **`imsg`-backed iMessage channel (BlueBubbles successor)** (#230, #231, #232, #234). A new `ImsgChannel` (`src/channels/imessage-imsg.ts`) implements the `Channel` surface over a single long-lived `imsg rpc` child (newline-delimited JSON-RPC 2.0 on stdio), selectable via `channels.imessage.provider: "imsg"` without touching the BlueBubbles channel. Inbound uses the `watch.subscribe` all-chat stream with attachments (local file paths), reply context, inbound tapbacks, slash commands, and group/DM mapping; outbound covers chunked sends, threaded replies via `send.rich` (with plain-send fallback), attachments, targeted tapbacks, typing indicators, mark-read, and unsend. Message edit is gated on the `imsg status --json` bridge selector probe, so on macOS 26 (where the edit selectors are gone OS-wide) the channel refuses cleanly instead of crashing Messages. The child restarts on crash with escalating backoff and resumes the watch from a persisted rowid cursor, and persistent GUID dedupe is shared with the BlueBubbles store so a provider cutover never re-dispatches messages. Session keys stay compatible — chat.db chat GUIDs are used verbatim (identical to what BlueBubbles reported), so existing session mappings survive. Inbound HEIC/HEIF attachments that `imsg` doesn't pre-convert are normalized to JPEG channel-side via macOS `sips` (by mime, `.heic`/`.heif` extension, or `ftyp` magic-byte sniff), read-only-safe (converts into a temp JPEG that is read then unlinked) and never dropped on conversion failure.
8
+ - **`tomo watch` — live mission-control TUI** (#229). An always-on terminal dashboard for watching what Tomo is doing, backed by a daemon-side event bus. `src/watch/bus.ts` is an in-process `WatchBus` singleton with a ring buffer, fed by emit hooks in `SessionStore.append` (inbound/outbound messages), `LiveSession` (tool start/end with durations, compact boundaries), `TurnRunner` (turn start/end with ingress source), the per-turn cost/context stats closure, `CronScheduler`, `ContinuityRunner`, and a pino tap (warn/error → "issue" events). `server.ts` serves NDJSON over `~/.tomo/watch.sock` (0600) — a snapshot on connect (vitals, cron next-runs, cost 24h/7d, feed backfill), then live relay; inbound "send" frames route chat into the dm session. The Ink/React TUI renders an activity feed (messages, tools with status + duration, turn summaries with cost + ctx%, cron, heartbeats), a pinned in-flight turn line, a vitals sidebar (context gauge, cost, next-up, last warn/error), a chat line, a raw-log-tail toggle, a group-traffic filter, scroll with follow mode, and a help overlay. Auto-reconnects with an offline header state and drops to a 15s idle render tick so it can stay open 24/7. The daemon never depends on clients.
9
+
10
+ ### Bug fixes
11
+
12
+ - **Trailing `NO_REPLY` suppresses the whole block/turn** (#233). A reply whose final line(s) are a bare `NO_REPLY` is now suppressed entirely instead of delivering the stripped remainder — the agent narrates housekeeping turns and ends them with `NO_REPLY`, and that narration (sometimes including the literal `NO_REPLY` text) previously leaked to the channel (owner decision 2026-07-08: trailing `NO_REPLY` marks the whole response as not-for-the-channel). `agent/text-utils` gains `endsWithTrailingNoReply()` (`stripTrailingNoReply` stays exported for the watch TUI, which still shows the visible text); `TurnRunner.runSendTurn` (cron/continuity) silences the entire turn; imsg and BlueBubbles streaming drop a block whose trailing line is bare `NO_REPLY`; and Telegram streaming retracts the already-streamed message before the multi-part delivery path. Follow-up rounds close the Telegram over-4096 rollover gaps: finalized rollover head chunks are now deleted and un-recorded (new `forgetOwnMessage`) on every block-abandoning path (`finalFlush` suppression, multi-part re-delivery, `discardBlock`, `cancel`), suppression is judged on the full block buffer rather than the post-rollover slice, and attachment blocks (`MEDIA:`/`STICKER:`) are suppressed as a whole.
13
+ - **iMessage inbound reply context only for genuine threaded replies** (#234). Since the imsg cutover, nearly every inbound iMessage arrived tagged `[replying to: "..."]` even when the sender never used long-press → Reply, because the channel fell back to `reply_to_guid` — a chat.db column populated on almost every row (it points at the preceding message, usually our own last outbound; verified 186/186 inbound DM rows over 3 days carried it, vs. 7 with a genuine thread originator). The reply marker is now gated on `thread_originator_guid` only, with fallback to the recent-message ring and then a quote-less marker. Outbound threading and tapback handling are untouched.
14
+ - **imsg channel post-merge review fixes** (#232). `stop()` no longer leaves in-flight requests hanging forever — `killChild()` now rejects pending requests before nulling the child. A failed row with no numeric rowid (parsed as `0`) no longer wedges the cursor floor permanently — it is logged and skipped. A write parked on `drain` now settles when its response arrives (the response proves the child consumed the line), so a healthy answering child is never killed by the drain backstop. A temp JPEG from a failed HEIC conversion is unlinked instead of leaking.
15
+
3
16
  ## 0.8.10 (2026-07-06)
4
17
 
5
18
  ### Features
package/README.md CHANGED
@@ -108,11 +108,12 @@ Tomo keeps person records at `~/.tomo/workspace/memory/people/*.md` — canonica
108
108
  - Image/photo support (sends to Claude as vision input)
109
109
  - Group chat: defaults to mention-required (only responds when @mentioned or replied to); per-group passive listen mode opt-in via `channels.telegram.passiveGroups`
110
110
  - Markdown rendering with plain-text fallback
111
- - **iMessage** — via [BlueBubbles](https://bluebubbles.app)
111
+ - **iMessage** — via [BlueBubbles](https://bluebubbles.app) (default) or the [imsg CLI](https://github.com/openclaw/imsg) (`channels.imessage.provider: "imsg"`)
112
112
  - DM and group chat support
113
113
  - Image attachment support
114
114
  - Contact name resolution from Mac contacts
115
115
  - Group chat: observes all messages, only responds when relevant (replies `NO_REPLY` to stay silent)
116
+ - imsg provider: no external server — Tomo spawns one `imsg rpc` child (needs Full Disk Access); adds inbound tapbacks and built-in reply context, and gates message editing on a live macOS selector probe
116
117
 
117
118
  ### Multi-Channel Sessions
118
119
 
@@ -291,6 +292,16 @@ Run `tomo config` for interactive setup, or edit `~/.tomo/config.json` directly:
291
292
  }
292
293
  ```
293
294
 
295
+ To run iMessage through the local [imsg CLI](https://github.com/openclaw/imsg) instead of a BlueBubbles server (the Tomo process needs Full Disk Access; advanced features additionally need `imsg launch`):
296
+
297
+ ```json
298
+ {
299
+ "channels": {
300
+ "imessage": { "provider": "imsg", "cliPath": "/opt/homebrew/bin/imsg", "allowlist": ["+15551234567"] }
301
+ }
302
+ }
303
+ ```
304
+
294
305
  Environment variables override config file values:
295
306
 
296
307
  | Variable | Description |
@@ -298,6 +309,9 @@ Environment variables override config file values:
298
309
  | `ANTHROPIC_API_KEY` | Use Anthropic API-key authentication; overrides the authentication stored in `config.json` |
299
310
  | `TELEGRAM_BOT_TOKEN` | Override Telegram token |
300
311
  | `IMESSAGE_URL` | Override BlueBubbles URL |
312
+ | `IMESSAGE_PROVIDER` | iMessage backend: `bluebubbles` (default) or `imsg` |
313
+ | `IMSG_CLI_PATH` | Path to the `imsg` binary (default: `imsg` on PATH) |
314
+ | `IMSG_DB_PATH` | Override chat.db path passed to `imsg rpc --db` |
301
315
  | `IMESSAGE_TYPING_START_DELAY_MS` | Delay before showing iMessage typing for ordinary turns (default: `1200`) |
302
316
  | `IMESSAGE_PASSIVE_TYPING_START_DELAY_MS` | Delay before showing iMessage typing for passive iMessage group turns (default: `4000`) |
303
317
  | `CLAUDE_MODEL` | Override model |
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-pipeline.d.ts","sourceRoot":"","sources":["../../src/agent/delivery-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAiB,MAAM,iBAAiB,CAAC;AAGpE,UAAU,oBAAoB;IAC5B,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAE9C;;;;;;OAMG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAuB,GACtD,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;OAGG;IACG,uBAAuB,CAC3B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,iBAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;OAIG;IACH,gBAAgB,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;CAsBnC"}
1
+ {"version":3,"file":"delivery-pipeline.d.ts","sourceRoot":"","sources":["../../src/agent/delivery-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAA2B,kBAAkB,EAAiB,MAAM,iBAAiB,CAAC;AAG7F,UAAU,oBAAoB;IAC5B,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAE9C;;;;;;OAMG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAuB,GACtD,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;OAGG;IACG,uBAAuB,CAC3B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,iBAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;OAIG;IACH,gBAAgB,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;CA4BnC"}
@@ -2,7 +2,7 @@ import { existsSync } from "node:fs";
2
2
  import { log } from "../logger.js";
3
3
  import { deliverTextParts } from "../channels/delivery.js";
4
4
  import { restoreLiteralNewlines } from "../channels/text-utils.js";
5
- import { extractAttachments, isSilentReply } from "./text-utils.js";
5
+ import { endsWithTrailingNoReply, extractAttachments, isSilentReply } from "./text-utils.js";
6
6
  import { filterScaffoldLeak } from "./scaffold-filter.js";
7
7
  export function isAgentErrorResponse(response) {
8
8
  const text = response.trim();
@@ -79,6 +79,13 @@ export class DeliveryPipeline {
79
79
  const attachments = extractAttachments(blockText);
80
80
  if (attachments.mediaPaths.length > 0 || attachments.stickerIds.length > 0) {
81
81
  await stream.discardBlock();
82
+ // Attachment blocks bypass the StreamingMessage (and therefore the
83
+ // channels' trailing-NO_REPLY suppression), so enforce the semantics
84
+ // here: a block whose trailing line(s) are bare NO_REPLY ships
85
+ // NOTHING — no text, no media, no stickers (owner decision
86
+ // 2026-07-08). The stream buffer is already discarded above.
87
+ if (endsWithTrailingNoReply(blockText))
88
+ return;
82
89
  await this.deliverAssistantContent(channel, chatId, blockText, attachments);
83
90
  return;
84
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-pipeline.js","sourceRoot":"","sources":["../../src/agent/delivery-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;WAC/B,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;WACxD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;WAC9B,gDAAgD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAElD;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,YAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,MAAwB,EACxB,WAA0C,aAAa;QAEvD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEpF,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC3C,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,WAAW,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC1D,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAAgB,EAChB,MAAc,EACd,IAAY,EACZ,SAA4B,kBAAkB,CAAC,IAAI,CAAC;QAEpD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACrD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO;gBAAE,QAAQ,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CACd,OAAgB,EAChB,MAAc,EACd,MAAwB;QAExB,OAAO,KAAK,EAAE,YAAoB,EAAE,EAAE;YACpC,IAAI,CAAC;gBACH,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAClD,IAAI,QAAQ,CAAC,QAAQ;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,8BAA8B,CAAC,CAAC;gBAC3F,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChC,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3E,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"delivery-pipeline.js","sourceRoot":"","sources":["../../src/agent/delivery-pipeline.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,8 @@ export declare class LiveSession {
67
67
  private unownedTurnFactory;
68
68
  private timeoutMs;
69
69
  private pendingToolNames;
70
+ /** tool_use_id → start time, for tool.end durations on the watch bus. */
71
+ private pendingToolStarts;
70
72
  /** Agent tool_use id → subagent_type, so a subagent's tool logs can name which agent ran them. */
71
73
  private subagentTypeById;
72
74
  private activeStreamBlockTypes;
@@ -105,6 +107,7 @@ export declare class LiveSession {
105
107
  * turn state (parts/streamingText) or channel-facing callbacks.
106
108
  */
107
109
  private logSubagentEvent;
110
+ private publishToolStart;
108
111
  private logToolResults;
109
112
  /**
110
113
  * Steered-message bookkeeping from the CLI's replay events (requires the
@@ -1 +1 @@
1
- {"version":3,"file":"live-session.d.ts","sourceRoot":"","sources":["../../src/agent/live-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-session.d.ts","sourceRoot":"","sources":["../../src/agent/live-session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { query } from "@anthropic-ai/claude-agent-sdk";
2
2
  import { log } from "../logger.js";
3
+ import { watchBus } from "../watch/bus.js";
4
+ import { clip, TOOL_DETAIL_LIMIT } from "../watch/protocol.js";
3
5
  import { resetTurnBudget } from "./sdk-options.js";
4
6
  /**
5
7
  * Sentinel resolution for a steered message that merged into the in-flight
@@ -144,6 +146,8 @@ export class LiveSession {
144
146
  // Maps tool_use_id → tool name so we can label tool_result log lines
145
147
  // (the result event only carries the use id, not the original name).
146
148
  pendingToolNames = new Map();
149
+ /** tool_use_id → start time, for tool.end durations on the watch bus. */
150
+ pendingToolStarts = new Map();
147
151
  /** Agent tool_use id → subagent_type, so a subagent's tool logs can name which agent ran them. */
148
152
  subagentTypeById = new Map();
149
153
  activeStreamBlockTypes = new Map();
@@ -337,6 +341,7 @@ export class LiveSession {
337
341
  this.subagentTypeById.set(block.id, subType);
338
342
  }
339
343
  log.info({ tool: block.name }, summarizeToolInput(block.name, block.input));
344
+ this.publishToolStart(block);
340
345
  }
341
346
  }
342
347
  }
@@ -349,6 +354,12 @@ export class LiveSession {
349
354
  if (event.type === "system" && event.subtype === "compact_boundary") {
350
355
  const compact = event;
351
356
  log.info({ pre: compact.compact_metadata?.pre_tokens, post: compact.compact_metadata?.post_tokens }, "Context compacted");
357
+ watchBus.publish({
358
+ type: "compact",
359
+ ...(this.sessionKey ? { sessionKey: this.sessionKey } : {}),
360
+ preTokens: compact.compact_metadata?.pre_tokens,
361
+ postTokens: compact.compact_metadata?.post_tokens,
362
+ });
352
363
  }
353
364
  if (event.type === "tool_use_summary") {
354
365
  log.debug(event.summary);
@@ -435,6 +446,7 @@ export class LiveSession {
435
446
  this.subagentTypeById.set(block.id, subType);
436
447
  }
437
448
  log.info({ tool: block.name, agent: agentName }, summarizeToolInput(block.name, block.input));
449
+ this.publishToolStart(block, agentName);
438
450
  }
439
451
  }
440
452
  }
@@ -442,16 +454,37 @@ export class LiveSession {
442
454
  this.logToolResults(event.message.content, agentName);
443
455
  }
444
456
  }
457
+ publishToolStart(block, agent) {
458
+ if (block.id)
459
+ this.pendingToolStarts.set(block.id, Date.now());
460
+ watchBus.publish({
461
+ type: "tool.start",
462
+ ...(this.sessionKey ? { sessionKey: this.sessionKey } : {}),
463
+ tool: block.name,
464
+ ...(agent ? { agent } : {}),
465
+ detail: clip(summarizeToolInput(block.name, block.input), TOOL_DETAIL_LIMIT),
466
+ });
467
+ }
445
468
  logToolResults(content, agent) {
446
469
  for (const block of content) {
447
470
  if (block && typeof block === "object" && "type" in block && block.type === "tool_result") {
448
471
  const tr = block;
449
472
  const name = tr.tool_use_id ? this.pendingToolNames.get(tr.tool_use_id) : undefined;
473
+ const startedAt = tr.tool_use_id ? this.pendingToolStarts.get(tr.tool_use_id) : undefined;
450
474
  if (tr.tool_use_id) {
451
475
  this.pendingToolNames.delete(tr.tool_use_id);
476
+ this.pendingToolStarts.delete(tr.tool_use_id);
452
477
  this.subagentTypeById.delete(tr.tool_use_id);
453
478
  }
454
479
  log.info({ tool: name ?? "?", ...(tr.is_error ? { is_error: true } : {}), ...(agent ? { agent } : {}) }, `${tr.is_error ? "[ERR] " : ""}${name ?? "?"} result: ${summarizeToolResult(tr.content)}`);
480
+ watchBus.publish({
481
+ type: "tool.end",
482
+ ...(this.sessionKey ? { sessionKey: this.sessionKey } : {}),
483
+ tool: name ?? "?",
484
+ ok: !tr.is_error,
485
+ ...(startedAt !== undefined ? { durationMs: Date.now() - startedAt } : {}),
486
+ ...(agent ? { agent } : {}),
487
+ });
455
488
  }
456
489
  }
457
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"live-session.js","sourceRoot":"","sources":["../../src/agent/live-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-session.js","sourceRoot":"","sources":["../../src/agent/live-session.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,26 @@
1
1
  export declare function isSilentReply(text: string): boolean;
2
2
  /**
3
- * Peel trailing bare-NO_REPLY blocks off a joined multi-block response.
3
+ * Peel trailing bare-NO_REPLY lines off a response and report whether any
4
+ * were present.
4
5
  *
5
- * Non-streaming turns (cron, continuity) collect every text block from the
6
- * whole turn into one string, blocks joined by "\n" (see LiveSession's
7
- * `result` handler) they have no per-block delivery, unlike stream turns'
8
- * makeBlockHandler. Without this, a trailing NO_REPLY block combined with
9
- * embeddedSilentMatcher's `.includes("NO_REPLY")` check silences the ENTIRE
10
- * response, dropping any earlier substantive text along with it (#222).
11
- * Only trailing lines are inspected: blocks are pre-trimmed before joining, so
12
- * a NO_REPLY block never has interior newlines, and this can't false-positive
13
- * on earlier prose that merely mentions NO_REPLY inline.
6
+ * Only trailing lines are inspected, so prose that merely mentions NO_REPLY
7
+ * inline (mid-line or followed by more text) never trips the flag (#222).
8
+ * Consumers differ in what they do with the result: delivery paths treat
9
+ * `hadTrailingNoReply` as "suppress the whole thing" (trailing NO_REPLY marks
10
+ * the response as not-for-the-channel — owner decision 2026-07-08), while the
11
+ * watch TUI shows `visible` so housekeeping narration stays readable locally.
14
12
  */
15
13
  export declare function stripTrailingNoReply(response: string): {
16
14
  visible: string;
17
15
  hadTrailingNoReply: boolean;
18
16
  };
17
+ /**
18
+ * True iff the text's final non-empty line(s) are bare NO_REPLY — i.e. the
19
+ * response is marked as not-for-the-channel and should be suppressed whole.
20
+ * Inline mentions of NO_REPLY (mid-line, or followed by more prose) return
21
+ * false; so does an empty/whitespace-only string.
22
+ */
23
+ export declare function endsWithTrailingNoReply(text: string): boolean;
19
24
  export declare const MEDIA_RE: RegExp;
20
25
  export declare const STICKER_RE: RegExp;
21
26
  export declare const ATTACHMENT_TAG_RE: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../src/agent/text-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAevG;AAED,eAAO,MAAM,QAAQ,QAA6C,CAAC;AACnE,eAAO,MAAM,UAAU,QAA+C,CAAC;AACvE,eAAO,MAAM,iBAAiB,QAAqD,CAAC;AAEpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAOtF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAYlH"}
1
+ {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../src/agent/text-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAevG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,eAAO,MAAM,QAAQ,QAA6C,CAAC;AACnE,eAAO,MAAM,UAAU,QAA+C,CAAC;AACvE,eAAO,MAAM,iBAAiB,QAAqD,CAAC;AAEpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAOtF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAYlH"}
@@ -2,17 +2,15 @@ export function isSilentReply(text) {
2
2
  return /^\s*NO_REPLY\s*$/i.test(text);
3
3
  }
4
4
  /**
5
- * Peel trailing bare-NO_REPLY blocks off a joined multi-block response.
5
+ * Peel trailing bare-NO_REPLY lines off a response and report whether any
6
+ * were present.
6
7
  *
7
- * Non-streaming turns (cron, continuity) collect every text block from the
8
- * whole turn into one string, blocks joined by "\n" (see LiveSession's
9
- * `result` handler) they have no per-block delivery, unlike stream turns'
10
- * makeBlockHandler. Without this, a trailing NO_REPLY block combined with
11
- * embeddedSilentMatcher's `.includes("NO_REPLY")` check silences the ENTIRE
12
- * response, dropping any earlier substantive text along with it (#222).
13
- * Only trailing lines are inspected: blocks are pre-trimmed before joining, so
14
- * a NO_REPLY block never has interior newlines, and this can't false-positive
15
- * on earlier prose that merely mentions NO_REPLY inline.
8
+ * Only trailing lines are inspected, so prose that merely mentions NO_REPLY
9
+ * inline (mid-line or followed by more text) never trips the flag (#222).
10
+ * Consumers differ in what they do with the result: delivery paths treat
11
+ * `hadTrailingNoReply` as "suppress the whole thing" (trailing NO_REPLY marks
12
+ * the response as not-for-the-channel — owner decision 2026-07-08), while the
13
+ * watch TUI shows `visible` so housekeeping narration stays readable locally.
16
14
  */
17
15
  export function stripTrailingNoReply(response) {
18
16
  const lines = response.split("\n");
@@ -30,6 +28,15 @@ export function stripTrailingNoReply(response) {
30
28
  hadTrailingNoReply,
31
29
  };
32
30
  }
31
+ /**
32
+ * True iff the text's final non-empty line(s) are bare NO_REPLY — i.e. the
33
+ * response is marked as not-for-the-channel and should be suppressed whole.
34
+ * Inline mentions of NO_REPLY (mid-line, or followed by more prose) return
35
+ * false; so does an empty/whitespace-only string.
36
+ */
37
+ export function endsWithTrailingNoReply(text) {
38
+ return stripTrailingNoReply(text).hadTrailingNoReply;
39
+ }
33
40
  export const MEDIA_RE = /\bMEDIA:\s*(?:"([^"\n]+)"|([^\s\n"]+))/gi;
34
41
  export const STICKER_RE = /\bSTICKER:\s*(?:"([^"\n]+)"|([^\s\n"]+))/gi;
35
42
  export const ATTACHMENT_TAG_RE = /\b(?:MEDIA|STICKER):\s*(?:"[^"\n]+"|[^\s\n"]+)/gi;
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../src/agent/text-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,MAAM;QACzD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ;QAChE,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,4CAA4C,CAAC;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAEpF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;QAC5E,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;QAC/E,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QAClF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../src/agent/text-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,MAAM;QACzD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ;QAChE,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,4CAA4C,CAAC;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAEpF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;QAC5E,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;QAC/E,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QAClF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Channel, IncomingMessage, StopTyping } from "../channels/types.js";
2
+ import type { TurnSource } from "../watch/protocol.js";
2
3
  import { isSilentReply } from "./text-utils.js";
3
4
  import { DeliveryPipeline } from "./delivery-pipeline.js";
4
5
  /** Request shape for the host's runWithRetry (LiveSession send/steer + retry). */
@@ -80,6 +81,8 @@ export interface TurnErrorPolicy {
80
81
  }
81
82
  export interface TurnSpec {
82
83
  key: string;
84
+ /** Ingress path label for observability (watch feed turn events). */
85
+ source: TurnSource;
83
86
  /** Prompt body; pending notes are always drained in front of it. */
84
87
  prompt: string;
85
88
  /** Channel label for the timestamp stamp. When undefined the prompt is sent
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { log } from "../logger.js";
2
+ import { watchBus } from "../watch/bus.js";
2
3
  import { STEER_MERGED } from "./live-session.js";
3
4
  import { ATTACHMENT_TAG_RE, isSilentReply, stripTrailingNoReply } from "./text-utils.js";
4
5
  import { isAgentErrorResponse } from "./delivery-pipeline.js";
@@ -47,18 +48,34 @@ export class TurnRunner {
47
48
  const stopTyping = spec.typing
48
49
  ? this.deps.startTurnTyping(spec.typing.channel, spec.typing.chatId, spec.typing.passiveListen ?? false)
49
50
  : async () => { };
51
+ const startedAt = Date.now();
52
+ watchBus.publish({ type: "turn.start", sessionKey: spec.key, source: spec.source });
53
+ let ok = false;
50
54
  try {
51
55
  const prompt = this.deps.drainPendingNotes(spec.key)
52
56
  + (spec.stampChannelName !== undefined
53
57
  ? injectTimestamp(spec.prompt, spec.stampChannelName)
54
58
  : spec.prompt);
55
59
  if (spec.delivery.kind === "stream") {
56
- return await this.runStreamTurn(spec, spec.delivery, prompt, stopTyping);
60
+ ok = await this.runStreamTurn(spec, spec.delivery, prompt, stopTyping);
57
61
  }
58
- return await this.runSendTurn(spec, spec.delivery, prompt, stopTyping);
62
+ else {
63
+ ok = await this.runSendTurn(spec, spec.delivery, prompt, stopTyping);
64
+ }
65
+ return ok;
59
66
  }
60
67
  catch (err) {
61
- return this.handleThrownError(spec, err, stopTyping);
68
+ ok = await this.handleThrownError(spec, err, stopTyping);
69
+ return ok;
70
+ }
71
+ finally {
72
+ watchBus.publish({
73
+ type: "turn.end",
74
+ sessionKey: spec.key,
75
+ source: spec.source,
76
+ ok,
77
+ durationMs: Date.now() - startedAt,
78
+ });
62
79
  }
63
80
  }
64
81
  async runStreamTurn(spec, delivery, prompt, stopTyping) {
@@ -94,15 +111,18 @@ export class TurnRunner {
94
111
  const response = this.applyScaffoldFilter(spec.key, await this.deps.runWithRetry({ key: spec.key, prompt }));
95
112
  // Send turns have no per-block delivery (unlike stream turns' onBlockComplete
96
113
  // — see makeBlockHandler): the whole multi-block response arrives joined
97
- // into one string, so trailing NO_REPLY blocks must be peeled off here
98
- // instead of matched with a blanket substring check. Otherwise
99
- // embeddedSilentMatcher's `.includes("NO_REPLY")` can silence the ENTIRE
100
- // response, dropping earlier substantive text or prose that merely mentions
101
- // NO_REPLY inline (#222). `response` (unstripped) still drives the error/log
102
- // checks below so they see the model's literal output; `deliverText` is what
103
- // actually ships.
104
- const { visible: deliverText } = stripTrailingNoReply(response);
105
- const silent = deliverText.length === 0 || spec.silentMatcher(deliverText);
114
+ // into one string. Trailing bare-NO_REPLY line(s) silence the ENTIRE turn
115
+ // by design (owner decision 2026-07-08): the agent narrates housekeeping
116
+ // turns and ends with NO_REPLY, and that narration is not for the channel —
117
+ // previously the narration plus the literal "NO_REPLY" text leaked. Only
118
+ // trailing lines are inspected, so prose that merely *mentions* NO_REPLY
119
+ // mid-line still delivers that's all that remains of the #222 protection.
120
+ // The accepted tradeoff: a substantive reply that erroneously ends with a
121
+ // bare NO_REPLY line is eaten whole; the agent's contract is to never end
122
+ // a real reply with the token. `response` (unstripped) still drives the
123
+ // error/log checks below so they see the model's literal output.
124
+ const { visible: deliverText, hadTrailingNoReply } = stripTrailingNoReply(response);
125
+ const silent = hadTrailingNoReply || deliverText.length === 0 || spec.silentMatcher(deliverText);
106
126
  spec.logResponse?.(response);
107
127
  if (isAgentErrorResponse(response)) {
108
128
  const visibleError = `${spec.errors.visiblePrefix}${response}`;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/agent/turn-runner.ts"],"names":[],"mappings":"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"}