@agentdeck/bridge 1.0.20 → 1.0.21

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 (175) hide show
  1. package/dist/adapters/openclaw.d.ts +55 -1
  2. package/dist/adapters/openclaw.d.ts.map +1 -1
  3. package/dist/adapters/openclaw.js +278 -45
  4. package/dist/adapters/openclaw.js.map +1 -1
  5. package/dist/adb-reverse.d.ts +26 -3
  6. package/dist/adb-reverse.d.ts.map +1 -1
  7. package/dist/adb-reverse.js +26 -5
  8. package/dist/adb-reverse.js.map +1 -1
  9. package/dist/apme/adapters/openclaw-hook.d.ts +45 -1
  10. package/dist/apme/adapters/openclaw-hook.d.ts.map +1 -1
  11. package/dist/apme/adapters/openclaw-hook.js +84 -4
  12. package/dist/apme/adapters/openclaw-hook.js.map +1 -1
  13. package/dist/apme/claude-transcript-reader.d.ts +54 -0
  14. package/dist/apme/claude-transcript-reader.d.ts.map +1 -1
  15. package/dist/apme/claude-transcript-reader.js +77 -0
  16. package/dist/apme/claude-transcript-reader.js.map +1 -1
  17. package/dist/apme/collector.d.ts +63 -5
  18. package/dist/apme/collector.d.ts.map +1 -1
  19. package/dist/apme/collector.js +147 -10
  20. package/dist/apme/collector.js.map +1 -1
  21. package/dist/apme/store.d.ts +23 -1
  22. package/dist/apme/store.d.ts.map +1 -1
  23. package/dist/apme/store.js +81 -2
  24. package/dist/apme/store.js.map +1 -1
  25. package/dist/apme/types.d.ts +1 -1
  26. package/dist/apme/types.d.ts.map +1 -1
  27. package/dist/apme/types.js.map +1 -1
  28. package/dist/auth.d.ts +37 -0
  29. package/dist/auth.d.ts.map +1 -1
  30. package/dist/auth.js +23 -0
  31. package/dist/auth.js.map +1 -1
  32. package/dist/claude-interrupt-marker.d.ts +31 -0
  33. package/dist/claude-interrupt-marker.d.ts.map +1 -0
  34. package/dist/claude-interrupt-marker.js +58 -0
  35. package/dist/claude-interrupt-marker.js.map +1 -0
  36. package/dist/claude-turn-watchdog.d.ts +23 -0
  37. package/dist/claude-turn-watchdog.d.ts.map +1 -1
  38. package/dist/claude-turn-watchdog.js +30 -4
  39. package/dist/claude-turn-watchdog.js.map +1 -1
  40. package/dist/cli.d.ts +6 -0
  41. package/dist/cli.d.ts.map +1 -1
  42. package/dist/cli.js +398 -115
  43. package/dist/cli.js.map +1 -1
  44. package/dist/daemon-port.d.ts +90 -0
  45. package/dist/daemon-port.d.ts.map +1 -0
  46. package/dist/daemon-port.js +119 -0
  47. package/dist/daemon-port.js.map +1 -0
  48. package/dist/daemon-server.d.ts +14 -1
  49. package/dist/daemon-server.d.ts.map +1 -1
  50. package/dist/daemon-server.js +297 -69
  51. package/dist/daemon-server.js.map +1 -1
  52. package/dist/daemon-settings.d.ts +46 -0
  53. package/dist/daemon-settings.d.ts.map +1 -0
  54. package/dist/daemon-settings.js +85 -0
  55. package/dist/daemon-settings.js.map +1 -0
  56. package/dist/daemon-takeover.d.ts +75 -0
  57. package/dist/daemon-takeover.d.ts.map +1 -0
  58. package/dist/daemon-takeover.js +137 -0
  59. package/dist/daemon-takeover.js.map +1 -0
  60. package/dist/daemon.js +1 -1
  61. package/dist/index.d.ts +1 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +30 -11
  64. package/dist/index.js.map +1 -1
  65. package/dist/kiro-diagnostics.d.ts +90 -0
  66. package/dist/kiro-diagnostics.d.ts.map +1 -0
  67. package/dist/kiro-diagnostics.js +278 -0
  68. package/dist/kiro-diagnostics.js.map +1 -0
  69. package/dist/kiro-session.d.ts +113 -0
  70. package/dist/kiro-session.d.ts.map +1 -0
  71. package/dist/kiro-session.js +688 -0
  72. package/dist/kiro-session.js.map +1 -0
  73. package/dist/kiro-timeline-feed.d.ts +45 -0
  74. package/dist/kiro-timeline-feed.d.ts.map +1 -0
  75. package/dist/kiro-timeline-feed.js +116 -0
  76. package/dist/kiro-timeline-feed.js.map +1 -0
  77. package/dist/kiro-transcript-timeline.d.ts +57 -0
  78. package/dist/kiro-transcript-timeline.d.ts.map +1 -0
  79. package/dist/kiro-transcript-timeline.js +183 -0
  80. package/dist/kiro-transcript-timeline.js.map +1 -0
  81. package/dist/linux-service.d.ts +2 -1
  82. package/dist/linux-service.d.ts.map +1 -1
  83. package/dist/linux-service.js +8 -3
  84. package/dist/linux-service.js.map +1 -1
  85. package/dist/mdns-discover.d.ts +27 -0
  86. package/dist/mdns-discover.d.ts.map +1 -1
  87. package/dist/mdns-discover.js +60 -7
  88. package/dist/mdns-discover.js.map +1 -1
  89. package/dist/mdns.d.ts.map +1 -1
  90. package/dist/mdns.js +16 -3
  91. package/dist/mdns.js.map +1 -1
  92. package/dist/modules/adb-module.d.ts.map +1 -1
  93. package/dist/modules/adb-module.js +5 -2
  94. package/dist/modules/adb-module.js.map +1 -1
  95. package/dist/modules/index.d.ts +2 -1
  96. package/dist/modules/index.d.ts.map +1 -1
  97. package/dist/modules/index.js +1 -0
  98. package/dist/modules/index.js.map +1 -1
  99. package/dist/modules/types.d.ts +34 -9
  100. package/dist/modules/types.d.ts.map +1 -1
  101. package/dist/modules/types.js +34 -1
  102. package/dist/modules/types.js.map +1 -1
  103. package/dist/network-posture.d.ts +67 -0
  104. package/dist/network-posture.d.ts.map +1 -0
  105. package/dist/network-posture.js +100 -0
  106. package/dist/network-posture.js.map +1 -0
  107. package/dist/observed-steering.d.ts +14 -0
  108. package/dist/observed-steering.d.ts.map +1 -1
  109. package/dist/observed-steering.js +18 -0
  110. package/dist/observed-steering.js.map +1 -1
  111. package/dist/observed-turn-watchdogs.d.ts +84 -0
  112. package/dist/observed-turn-watchdogs.d.ts.map +1 -0
  113. package/dist/observed-turn-watchdogs.js +134 -0
  114. package/dist/observed-turn-watchdogs.js.map +1 -0
  115. package/dist/openclaw-session.d.ts +10 -0
  116. package/dist/openclaw-session.d.ts.map +1 -1
  117. package/dist/openclaw-session.js +12 -0
  118. package/dist/openclaw-session.js.map +1 -1
  119. package/dist/passive-observer.d.ts +19 -0
  120. package/dist/passive-observer.d.ts.map +1 -1
  121. package/dist/passive-observer.js +208 -24
  122. package/dist/passive-observer.js.map +1 -1
  123. package/dist/pixoo/micro-glyphs.d.ts +1 -1
  124. package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
  125. package/dist/pixoo/micro-glyphs.js +2 -0
  126. package/dist/pixoo/micro-glyphs.js.map +1 -1
  127. package/dist/pixoo/official-dot-glyphs.generated.d.ts +1 -1
  128. package/dist/pixoo/official-dot-glyphs.generated.d.ts.map +1 -1
  129. package/dist/pixoo/official-dot-glyphs.generated.js +47 -0
  130. package/dist/pixoo/official-dot-glyphs.generated.js.map +1 -1
  131. package/dist/pixoo/pixoo-discover.d.ts +8 -1
  132. package/dist/pixoo/pixoo-discover.d.ts.map +1 -1
  133. package/dist/pixoo/pixoo-discover.js +15 -8
  134. package/dist/pixoo/pixoo-discover.js.map +1 -1
  135. package/dist/pixoo/pixoo-renderer.d.ts +4 -2
  136. package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
  137. package/dist/pixoo/pixoo-renderer.js +105 -36
  138. package/dist/pixoo/pixoo-renderer.js.map +1 -1
  139. package/dist/pixoo/pixoo-settings.d.ts +19 -2
  140. package/dist/pixoo/pixoo-settings.d.ts.map +1 -1
  141. package/dist/pixoo/pixoo-settings.js +22 -4
  142. package/dist/pixoo/pixoo-settings.js.map +1 -1
  143. package/dist/pixoo/pixoo-sprites.d.ts.map +1 -1
  144. package/dist/pixoo/pixoo-sprites.js +2 -0
  145. package/dist/pixoo/pixoo-sprites.js.map +1 -1
  146. package/dist/session-aggregator.d.ts +9 -1
  147. package/dist/session-aggregator.d.ts.map +1 -1
  148. package/dist/session-aggregator.js +1 -1
  149. package/dist/session-aggregator.js.map +1 -1
  150. package/dist/session-registry.d.ts +71 -3
  151. package/dist/session-registry.d.ts.map +1 -1
  152. package/dist/session-registry.js +126 -19
  153. package/dist/session-registry.js.map +1 -1
  154. package/dist/subagent-timeline.d.ts +38 -7
  155. package/dist/subagent-timeline.d.ts.map +1 -1
  156. package/dist/subagent-timeline.js +154 -23
  157. package/dist/subagent-timeline.js.map +1 -1
  158. package/dist/timeline-store.d.ts.map +1 -1
  159. package/dist/timeline-store.js +26 -1
  160. package/dist/timeline-store.js.map +1 -1
  161. package/dist/tui/renderer.d.ts.map +1 -1
  162. package/dist/tui/renderer.js +13 -1
  163. package/dist/tui/renderer.js.map +1 -1
  164. package/dist/tui/terrarium.d.ts.map +1 -1
  165. package/dist/tui/terrarium.js +10 -5
  166. package/dist/tui/terrarium.js.map +1 -1
  167. package/dist/utils/redact-secrets.d.ts +3 -0
  168. package/dist/utils/redact-secrets.d.ts.map +1 -0
  169. package/dist/utils/redact-secrets.js +29 -0
  170. package/dist/utils/redact-secrets.js.map +1 -0
  171. package/dist/windows-service.d.ts +2 -1
  172. package/dist/windows-service.d.ts.map +1 -1
  173. package/dist/windows-service.js +6 -3
  174. package/dist/windows-service.js.map +1 -1
  175. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAiDA,iDAAiD;AACjD,wBAAgB,gBAAgB,IAAI,MAAM,CA8BzC;AAOD,+DAA+D;AAC/D,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAiB5C;AAcD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAmB1D;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYrD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAWpC;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7C"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAiDA,iDAAiD;AACjD,wBAAgB,gBAAgB,IAAI,MAAM,CA8BzC;AAOD,+DAA+D;AAC/D,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAiB5C;AAcD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAmB1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,CAmBrF;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYrD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAWpC;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7C"}
package/dist/auth.js CHANGED
@@ -156,6 +156,29 @@ export function adoptPeerToken(peerToken) {
156
156
  debug('auth', 'Adopted the incumbent daemon\'s pairing token; previous one still accepted');
157
157
  return true;
158
158
  }
159
+ export function localPeerOwnership(pid) {
160
+ if (typeof pid !== 'number' || !Number.isInteger(pid) || pid <= 0)
161
+ return 'unknown';
162
+ try {
163
+ // Signal 0 performs the permission check and delivers nothing. POSIX: the
164
+ // sender's real or effective uid must match the target's real or saved
165
+ // uid, so EPERM is precisely "a different user owns this process".
166
+ process.kill(pid, 0);
167
+ return 'same-user';
168
+ }
169
+ catch (err) {
170
+ const code = err?.code;
171
+ // Windows has no POSIX signals: libuv implements this as OpenProcess, which
172
+ // is refused for an ELEVATED process of the same user as readily as for
173
+ // another user's. Reading that as `other-user` would break the ordinary
174
+ // "daemon runs elevated, CLI does not" case — a real regression in exchange
175
+ // for a protection Windows cannot express here anyway.
176
+ if (code === 'EPERM' && process.platform !== 'win32')
177
+ return 'other-user';
178
+ // ESRCH (gone) or anything else: no information.
179
+ return 'unknown';
180
+ }
181
+ }
159
182
  /** Check if a connection originates from this machine (localhost or own LAN IPs). */
160
183
  export function isLocalConnection(ip) {
161
184
  if (ip === '127.0.0.1' || ip === '::1' || ip === '::ffff:127.0.0.1')
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Claude Code's user-interrupt (ESC) marker — the single predicate.
3
+ *
4
+ * Pressing ESC mid-turn fires NO lifecycle hook at all: no PostToolUse, no
5
+ * Stop, no UserPromptSubmit (verified 2026-07-18, and the reason the awaiting
6
+ * overlay had to fall back to transcript recency). The transcript is therefore
7
+ * the only place a cancel is observable, and it lands as a `user` record whose
8
+ * content is a single text block reading `[Request interrupted by user]` or
9
+ * `[Request interrupted by user for tool use]`.
10
+ *
11
+ * Two consumers need to recognize it — the passive observer (a marker record
12
+ * must not read as a fresh user turn) and the turn watchdog / APME collector
13
+ * (a turn the user cancelled is over, and its missing Stop is a cancel rather
14
+ * than a dropped hook) — so the rule lives here instead of being spelled twice.
15
+ *
16
+ * Text blocks ONLY. A `tool_result` block can quote the marker verbatim (any
17
+ * session that greps its own transcripts produces one), and matching raw line
18
+ * text would turn that quote into a phantom cancel.
19
+ */
20
+ /** Concatenated `text` blocks of a Claude message (string content passes
21
+ * through). Non-text blocks — `tool_result` above all — are dropped. */
22
+ export declare function claudeMessageText(message: unknown): string;
23
+ /** Does this `message` carry the interrupt marker rather than user prose? */
24
+ export declare function isClaudeInterruptMessage(message: unknown): boolean;
25
+ /** Does this transcript RECORD represent a user interrupt? Newer Claude Code
26
+ * builds also stamp `interruptedMessageId` on the record, which is a
27
+ * structural signal the marker text cannot drift away from; older ones only
28
+ * wrote the text, so both are accepted. The role check is what keeps an
29
+ * assistant quoting the marker from counting. */
30
+ export declare function isClaudeInterruptRecord(record: unknown): boolean;
31
+ //# sourceMappingURL=claude-interrupt-marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-interrupt-marker.d.ts","sourceRoot":"","sources":["../src/claude-interrupt-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH;yEACyE;AACzE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAS1D;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAElE;AAED;;;;kDAIkD;AAClD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAMhE"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Claude Code's user-interrupt (ESC) marker — the single predicate.
3
+ *
4
+ * Pressing ESC mid-turn fires NO lifecycle hook at all: no PostToolUse, no
5
+ * Stop, no UserPromptSubmit (verified 2026-07-18, and the reason the awaiting
6
+ * overlay had to fall back to transcript recency). The transcript is therefore
7
+ * the only place a cancel is observable, and it lands as a `user` record whose
8
+ * content is a single text block reading `[Request interrupted by user]` or
9
+ * `[Request interrupted by user for tool use]`.
10
+ *
11
+ * Two consumers need to recognize it — the passive observer (a marker record
12
+ * must not read as a fresh user turn) and the turn watchdog / APME collector
13
+ * (a turn the user cancelled is over, and its missing Stop is a cancel rather
14
+ * than a dropped hook) — so the rule lives here instead of being spelled twice.
15
+ *
16
+ * Text blocks ONLY. A `tool_result` block can quote the marker verbatim (any
17
+ * session that greps its own transcripts produces one), and matching raw line
18
+ * text would turn that quote into a phantom cancel.
19
+ */
20
+ const INTERRUPT_MARKER = /\[Request interrupted by user/i;
21
+ function isRecord(v) {
22
+ return typeof v === 'object' && v !== null;
23
+ }
24
+ /** Concatenated `text` blocks of a Claude message (string content passes
25
+ * through). Non-text blocks — `tool_result` above all — are dropped. */
26
+ export function claudeMessageText(message) {
27
+ if (!isRecord(message))
28
+ return '';
29
+ const content = message.content;
30
+ if (typeof content === 'string')
31
+ return content;
32
+ if (!Array.isArray(content))
33
+ return '';
34
+ return content
35
+ .filter((b) => isRecord(b) && b.type === 'text')
36
+ .map((b) => (typeof b.text === 'string' ? b.text : ''))
37
+ .join(' ');
38
+ }
39
+ /** Does this `message` carry the interrupt marker rather than user prose? */
40
+ export function isClaudeInterruptMessage(message) {
41
+ return INTERRUPT_MARKER.test(claudeMessageText(message));
42
+ }
43
+ /** Does this transcript RECORD represent a user interrupt? Newer Claude Code
44
+ * builds also stamp `interruptedMessageId` on the record, which is a
45
+ * structural signal the marker text cannot drift away from; older ones only
46
+ * wrote the text, so both are accepted. The role check is what keeps an
47
+ * assistant quoting the marker from counting. */
48
+ export function isClaudeInterruptRecord(record) {
49
+ if (!isRecord(record))
50
+ return false;
51
+ const message = isRecord(record.message) ? record.message : null;
52
+ if (!message || message.role !== 'user')
53
+ return false;
54
+ if (typeof record.interruptedMessageId === 'string' && record.interruptedMessageId)
55
+ return true;
56
+ return isClaudeInterruptMessage(message);
57
+ }
58
+ //# sourceMappingURL=claude-interrupt-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-interrupt-marker.js","sourceRoot":"","sources":["../src/claude-interrupt-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAE1D,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAQ,CAA6B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,IAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC1H,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;kDAIkD;AAClD,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,IAAI,MAAM,CAAC,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAChG,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}
@@ -17,6 +17,22 @@
17
17
  * then injects a synthetic Stop through the normal adapter event pipe so
18
18
  * state machine, timeline, and APME all close through their existing paths.
19
19
  *
20
+ * A turn the user CANCELLED (ESC) ends the same way as far as every consumer
21
+ * is concerned, but it never produces an `end_turn` and fires no hook at all,
22
+ * so it would otherwise sit PROCESSING until the stuck timeout and be charged
23
+ * to the dropped-Stop rate. The interrupt marker in the transcript is the only
24
+ * evidence that exists, so it closes the turn too — tagged `interrupted`, kept
25
+ * out of the loss measurement, because no hook was lost here.
26
+ *
27
+ * A third ending has the same shape and used to be invisible: the CLIENT aborts
28
+ * the turn — usage limit reached, auth expired, an API 429/529. Claude Code
29
+ * writes one assistant record with `stop_reason: "stop_sequence"` carrying the
30
+ * message the user sees and fires no Stop hook. Both times this happened in the
31
+ * measured week the turn stayed open for over eight hours (state PROCESSING on
32
+ * every device, the APME run open behind it) until the next morning's prompt
33
+ * displaced it, and each was then filed as a dropped hook. `end_turn` was too
34
+ * narrow a predicate for "the turn is over".
35
+ *
20
36
  * False-positive guards:
21
37
  * - `stop_reason: "tool_use"` (permission prompt / AskUserQuestion open,
22
38
  * tools running) never matches, so a genuine wait is never force-closed.
@@ -33,10 +49,17 @@ import { type TurnEndProbe } from './apme/claude-transcript-reader.js';
33
49
  export declare const WATCHDOG_QUIET_MS = 10000;
34
50
  /** Poll cadence while a turn is open. */
35
51
  export declare const WATCHDOG_POLL_MS = 5000;
52
+ /** Why the transcript says the open turn is over. `end_turn` is a Stop that
53
+ * was dropped in flight; `interrupted` is a turn the user cancelled and
54
+ * `aborted` one the client ended (usage limit, auth, API error), for neither
55
+ * of which a Stop was ever due. All three close the turn identically and are
56
+ * counted apart — only the first is a lost hook. */
57
+ export type TurnEndReason = 'end_turn' | 'interrupted' | 'aborted';
36
58
  export interface ClaudeTurnWatchdogOptions {
37
59
  /** Called when the transcript proves the open turn ended without a Stop. */
38
60
  onMissedStop: (data: {
39
61
  transcript_path: string;
62
+ reason: TurnEndReason;
40
63
  }) => void;
41
64
  quietMs?: number;
42
65
  pollMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-turn-watchdog.d.ts","sourceRoot":"","sources":["../src/claude-turn-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGzF,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAItC,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,yBAAyB;IAS3C;+DAC2D;IAC3D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI;IA8BjF,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,KAAK;CAsBd"}
1
+ {"version":3,"file":"claude-turn-watchdog.d.ts","sourceRoot":"","sources":["../src/claude-turn-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGnH,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAItC;;;;qDAIqD;AACrD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqE;IAClG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,yBAAyB;IAS3C;+DAC2D;IAC3D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI;IA8BjF,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,KAAK;CAgCd"}
@@ -17,6 +17,22 @@
17
17
  * then injects a synthetic Stop through the normal adapter event pipe so
18
18
  * state machine, timeline, and APME all close through their existing paths.
19
19
  *
20
+ * A turn the user CANCELLED (ESC) ends the same way as far as every consumer
21
+ * is concerned, but it never produces an `end_turn` and fires no hook at all,
22
+ * so it would otherwise sit PROCESSING until the stuck timeout and be charged
23
+ * to the dropped-Stop rate. The interrupt marker in the transcript is the only
24
+ * evidence that exists, so it closes the turn too — tagged `interrupted`, kept
25
+ * out of the loss measurement, because no hook was lost here.
26
+ *
27
+ * A third ending has the same shape and used to be invisible: the CLIENT aborts
28
+ * the turn — usage limit reached, auth expired, an API 429/529. Claude Code
29
+ * writes one assistant record with `stop_reason: "stop_sequence"` carrying the
30
+ * message the user sees and fires no Stop hook. Both times this happened in the
31
+ * measured week the turn stayed open for over eight hours (state PROCESSING on
32
+ * every device, the APME run open behind it) until the next morning's prompt
33
+ * displaced it, and each was then filed as a dropped hook. `end_turn` was too
34
+ * narrow a predicate for "the turn is over".
35
+ *
20
36
  * False-positive guards:
21
37
  * - `stop_reason: "tool_use"` (permission prompt / AskUserQuestion open,
22
38
  * tools running) never matches, so a genuine wait is never force-closed.
@@ -29,7 +45,7 @@
29
45
  * (ccPendingCompletion / transition-table guards).
30
46
  */
31
47
  import { statSync } from 'fs';
32
- import { readTurnEndProbe } from './apme/claude-transcript-reader.js';
48
+ import { readTurnEndProbe, CLIENT_ABORT_STOP_REASON } from './apme/claude-transcript-reader.js';
33
49
  import { debug } from './logger.js';
34
50
  /** Hook-channel silence required before the transcript is consulted. */
35
51
  export const WATCHDOG_QUIET_MS = 10_000;
@@ -123,17 +139,27 @@ export class ClaudeTurnWatchdog {
123
139
  const probe = this.probe(this.transcriptPath);
124
140
  if (!probe)
125
141
  return;
126
- if (probe.role !== 'assistant' || probe.stopReason !== 'end_turn')
142
+ const finished = probe.role === 'assistant' && probe.stopReason === 'end_turn';
143
+ // A client abort is an assistant record too, but with the abort stop
144
+ // reason — mutually exclusive with `end_turn`, never a refinement of it.
145
+ const aborted = probe.role === 'assistant' && probe.stopReason === CLIENT_ABORT_STOP_REASON;
146
+ // The marker is a `user` record, so it can never satisfy `finished` — the
147
+ // three are alternatives, not refinements of one another.
148
+ const reason = finished ? 'end_turn'
149
+ : probe.interrupted ? 'interrupted'
150
+ : aborted ? 'aborted'
151
+ : null;
152
+ if (!reason)
127
153
  return;
128
154
  if (probe.timestampMs == null)
129
155
  return;
130
156
  if (probe.timestampMs < this.turnOpenedAt - TURN_OPEN_SLACK_MS)
131
157
  return;
132
- debug('watchdog', `missed Stop recovered from transcript (end_turn @ ${probe.timestampMs})`);
158
+ debug('watchdog', `turn closed from transcript (${reason} @ ${probe.timestampMs})`);
133
159
  const transcriptPath = this.transcriptPath;
134
160
  this.turnOpenedAt = null;
135
161
  this.disarm();
136
- this.onMissedStop({ transcript_path: transcriptPath });
162
+ this.onMissedStop({ transcript_path: transcriptPath, reason });
137
163
  }
138
164
  }
139
165
  function defaultMtimeMs(transcriptPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-turn-watchdog.js","sourceRoot":"","sources":["../src/claude-turn-watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-turn-watchdog.js","sourceRoot":"","sources":["../src/claude-turn-watchdog.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
+ export declare function daemonPostureArgs(opts: {
4
+ local?: boolean;
5
+ loopback?: boolean;
6
+ enterprise?: boolean;
7
+ }): string[];
8
+ export declare function buildPlist(extraArgs?: string[]): string;
3
9
  export declare const ESP32_OTA_BY_TARGET: Record<string, {
4
10
  env: string;
5
11
  board: string;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAsQ1D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAOtF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE;AA+BD,gFAAgF;AAChF,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,GAAG,WAAW,GAAG,UAAU,EAAE,MAAM,CAI5E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAsBjE;AAKD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAyBV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,OAAO,cAAc,EACtC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,OAAO,cAAc,EACtC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,OAAO,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAID,QAAA,MAAM,OAAO,SAAgB,CAAC;AA02E9B,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AA6M1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAQ/G;AAED,wBAAgB,UAAU,CAAC,SAAS,GAAE,MAAM,EAAO,GAAG,MAAM,CAmC3D;AAmGD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAOtF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE;AA+BD,gFAAgF;AAChF,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,GAAG,WAAW,GAAG,UAAU,EAAE,MAAM,CAI5E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAsBjE;AAKD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAyBV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,OAAO,cAAc,EACtC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,OAAO,cAAc,EACtC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,OAAO,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAID,QAAA,MAAM,OAAO,SAAgB,CAAC;AA6iF9B,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}