@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.
- package/dist/adapters/openclaw.d.ts +55 -1
- package/dist/adapters/openclaw.d.ts.map +1 -1
- package/dist/adapters/openclaw.js +278 -45
- package/dist/adapters/openclaw.js.map +1 -1
- package/dist/adb-reverse.d.ts +26 -3
- package/dist/adb-reverse.d.ts.map +1 -1
- package/dist/adb-reverse.js +26 -5
- package/dist/adb-reverse.js.map +1 -1
- package/dist/apme/adapters/openclaw-hook.d.ts +45 -1
- package/dist/apme/adapters/openclaw-hook.d.ts.map +1 -1
- package/dist/apme/adapters/openclaw-hook.js +84 -4
- package/dist/apme/adapters/openclaw-hook.js.map +1 -1
- package/dist/apme/claude-transcript-reader.d.ts +54 -0
- package/dist/apme/claude-transcript-reader.d.ts.map +1 -1
- package/dist/apme/claude-transcript-reader.js +77 -0
- package/dist/apme/claude-transcript-reader.js.map +1 -1
- package/dist/apme/collector.d.ts +63 -5
- package/dist/apme/collector.d.ts.map +1 -1
- package/dist/apme/collector.js +147 -10
- package/dist/apme/collector.js.map +1 -1
- package/dist/apme/store.d.ts +23 -1
- package/dist/apme/store.d.ts.map +1 -1
- package/dist/apme/store.js +81 -2
- package/dist/apme/store.js.map +1 -1
- package/dist/apme/types.d.ts +1 -1
- package/dist/apme/types.d.ts.map +1 -1
- package/dist/apme/types.js.map +1 -1
- package/dist/auth.d.ts +37 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +23 -0
- package/dist/auth.js.map +1 -1
- package/dist/claude-interrupt-marker.d.ts +31 -0
- package/dist/claude-interrupt-marker.d.ts.map +1 -0
- package/dist/claude-interrupt-marker.js +58 -0
- package/dist/claude-interrupt-marker.js.map +1 -0
- package/dist/claude-turn-watchdog.d.ts +23 -0
- package/dist/claude-turn-watchdog.d.ts.map +1 -1
- package/dist/claude-turn-watchdog.js +30 -4
- package/dist/claude-turn-watchdog.js.map +1 -1
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +398 -115
- package/dist/cli.js.map +1 -1
- package/dist/daemon-port.d.ts +90 -0
- package/dist/daemon-port.d.ts.map +1 -0
- package/dist/daemon-port.js +119 -0
- package/dist/daemon-port.js.map +1 -0
- package/dist/daemon-server.d.ts +14 -1
- package/dist/daemon-server.d.ts.map +1 -1
- package/dist/daemon-server.js +297 -69
- package/dist/daemon-server.js.map +1 -1
- package/dist/daemon-settings.d.ts +46 -0
- package/dist/daemon-settings.d.ts.map +1 -0
- package/dist/daemon-settings.js +85 -0
- package/dist/daemon-settings.js.map +1 -0
- package/dist/daemon-takeover.d.ts +75 -0
- package/dist/daemon-takeover.d.ts.map +1 -0
- package/dist/daemon-takeover.js +137 -0
- package/dist/daemon-takeover.js.map +1 -0
- package/dist/daemon.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -11
- package/dist/index.js.map +1 -1
- package/dist/kiro-diagnostics.d.ts +90 -0
- package/dist/kiro-diagnostics.d.ts.map +1 -0
- package/dist/kiro-diagnostics.js +278 -0
- package/dist/kiro-diagnostics.js.map +1 -0
- package/dist/kiro-session.d.ts +113 -0
- package/dist/kiro-session.d.ts.map +1 -0
- package/dist/kiro-session.js +688 -0
- package/dist/kiro-session.js.map +1 -0
- package/dist/kiro-timeline-feed.d.ts +45 -0
- package/dist/kiro-timeline-feed.d.ts.map +1 -0
- package/dist/kiro-timeline-feed.js +116 -0
- package/dist/kiro-timeline-feed.js.map +1 -0
- package/dist/kiro-transcript-timeline.d.ts +57 -0
- package/dist/kiro-transcript-timeline.d.ts.map +1 -0
- package/dist/kiro-transcript-timeline.js +183 -0
- package/dist/kiro-transcript-timeline.js.map +1 -0
- package/dist/linux-service.d.ts +2 -1
- package/dist/linux-service.d.ts.map +1 -1
- package/dist/linux-service.js +8 -3
- package/dist/linux-service.js.map +1 -1
- package/dist/mdns-discover.d.ts +27 -0
- package/dist/mdns-discover.d.ts.map +1 -1
- package/dist/mdns-discover.js +60 -7
- package/dist/mdns-discover.js.map +1 -1
- package/dist/mdns.d.ts.map +1 -1
- package/dist/mdns.js +16 -3
- package/dist/mdns.js.map +1 -1
- package/dist/modules/adb-module.d.ts.map +1 -1
- package/dist/modules/adb-module.js +5 -2
- package/dist/modules/adb-module.js.map +1 -1
- package/dist/modules/index.d.ts +2 -1
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +1 -0
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/types.d.ts +34 -9
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js +34 -1
- package/dist/modules/types.js.map +1 -1
- package/dist/network-posture.d.ts +67 -0
- package/dist/network-posture.d.ts.map +1 -0
- package/dist/network-posture.js +100 -0
- package/dist/network-posture.js.map +1 -0
- package/dist/observed-steering.d.ts +14 -0
- package/dist/observed-steering.d.ts.map +1 -1
- package/dist/observed-steering.js +18 -0
- package/dist/observed-steering.js.map +1 -1
- package/dist/observed-turn-watchdogs.d.ts +84 -0
- package/dist/observed-turn-watchdogs.d.ts.map +1 -0
- package/dist/observed-turn-watchdogs.js +134 -0
- package/dist/observed-turn-watchdogs.js.map +1 -0
- package/dist/openclaw-session.d.ts +10 -0
- package/dist/openclaw-session.d.ts.map +1 -1
- package/dist/openclaw-session.js +12 -0
- package/dist/openclaw-session.js.map +1 -1
- package/dist/passive-observer.d.ts +19 -0
- package/dist/passive-observer.d.ts.map +1 -1
- package/dist/passive-observer.js +208 -24
- package/dist/passive-observer.js.map +1 -1
- package/dist/pixoo/micro-glyphs.d.ts +1 -1
- package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
- package/dist/pixoo/micro-glyphs.js +2 -0
- package/dist/pixoo/micro-glyphs.js.map +1 -1
- package/dist/pixoo/official-dot-glyphs.generated.d.ts +1 -1
- package/dist/pixoo/official-dot-glyphs.generated.d.ts.map +1 -1
- package/dist/pixoo/official-dot-glyphs.generated.js +47 -0
- package/dist/pixoo/official-dot-glyphs.generated.js.map +1 -1
- package/dist/pixoo/pixoo-discover.d.ts +8 -1
- package/dist/pixoo/pixoo-discover.d.ts.map +1 -1
- package/dist/pixoo/pixoo-discover.js +15 -8
- package/dist/pixoo/pixoo-discover.js.map +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts +4 -2
- package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
- package/dist/pixoo/pixoo-renderer.js +105 -36
- package/dist/pixoo/pixoo-renderer.js.map +1 -1
- package/dist/pixoo/pixoo-settings.d.ts +19 -2
- package/dist/pixoo/pixoo-settings.d.ts.map +1 -1
- package/dist/pixoo/pixoo-settings.js +22 -4
- package/dist/pixoo/pixoo-settings.js.map +1 -1
- package/dist/pixoo/pixoo-sprites.d.ts.map +1 -1
- package/dist/pixoo/pixoo-sprites.js +2 -0
- package/dist/pixoo/pixoo-sprites.js.map +1 -1
- package/dist/session-aggregator.d.ts +9 -1
- package/dist/session-aggregator.d.ts.map +1 -1
- package/dist/session-aggregator.js +1 -1
- package/dist/session-aggregator.js.map +1 -1
- package/dist/session-registry.d.ts +71 -3
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/session-registry.js +126 -19
- package/dist/session-registry.js.map +1 -1
- package/dist/subagent-timeline.d.ts +38 -7
- package/dist/subagent-timeline.d.ts.map +1 -1
- package/dist/subagent-timeline.js +154 -23
- package/dist/subagent-timeline.js.map +1 -1
- package/dist/timeline-store.d.ts.map +1 -1
- package/dist/timeline-store.js +26 -1
- package/dist/timeline-store.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js +13 -1
- package/dist/tui/renderer.js.map +1 -1
- package/dist/tui/terrarium.d.ts.map +1 -1
- package/dist/tui/terrarium.js +10 -5
- package/dist/tui/terrarium.js.map +1 -1
- package/dist/utils/redact-secrets.d.ts +3 -0
- package/dist/utils/redact-secrets.d.ts.map +1 -0
- package/dist/utils/redact-secrets.js +29 -0
- package/dist/utils/redact-secrets.js.map +1 -0
- package/dist/windows-service.d.ts +2 -1
- package/dist/windows-service.d.ts.map +1 -1
- package/dist/windows-service.js +6 -3
- package/dist/windows-service.js.map +1 -1
- package/package.json +3 -3
package/dist/auth.d.ts.map
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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', `
|
|
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":"AAAA
|
|
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;
|
|
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"}
|