@agentdeck/bridge 1.1.0 → 1.2.1
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/README.md +14 -6
- package/assets/fonts/NOTICE-PocketSansWorld.md +10 -0
- package/assets/fonts/OFL-PocketSansWorld.txt +93 -0
- package/assets/fonts/PocketSansWorld_12.cpfont +0 -0
- package/assets/fonts/pocket-sans-world.manifest.json +49 -0
- package/assets/learning/LICENSE-CC-BY-SA-4.0.txt +10 -0
- package/assets/learning/NOTICE.md +33 -0
- package/assets/learning/jp-n3-ko.manifest.json +27 -0
- package/assets/learning/jp-n3-ko.pdl +0 -0
- package/dist/agent-cli-diagnostics.d.ts +20 -0
- package/dist/agent-cli-diagnostics.d.ts.map +1 -0
- package/dist/agent-cli-diagnostics.js +100 -0
- package/dist/agent-cli-diagnostics.js.map +1 -0
- package/dist/apme/classifier.d.ts.map +1 -1
- package/dist/apme/classifier.js +18 -10
- package/dist/apme/classifier.js.map +1 -1
- package/dist/apme/claude-transcript-reader.d.ts +36 -0
- package/dist/apme/claude-transcript-reader.d.ts.map +1 -1
- package/dist/apme/claude-transcript-reader.js +78 -2
- package/dist/apme/claude-transcript-reader.js.map +1 -1
- package/dist/apme/collector.d.ts +126 -3
- package/dist/apme/collector.d.ts.map +1 -1
- package/dist/apme/collector.js +450 -41
- package/dist/apme/collector.js.map +1 -1
- package/dist/apme/dashboard-html.d.ts.map +1 -1
- package/dist/apme/dashboard-html.js +278 -36
- package/dist/apme/dashboard-html.js.map +1 -1
- package/dist/apme/graph.d.ts +1 -1
- package/dist/apme/graph.d.ts.map +1 -1
- package/dist/apme/graph.js +51 -1
- package/dist/apme/graph.js.map +1 -1
- package/dist/apme/http.d.ts.map +1 -1
- package/dist/apme/http.js +37 -5
- package/dist/apme/http.js.map +1 -1
- package/dist/apme/index.d.ts +4 -0
- package/dist/apme/index.d.ts.map +1 -1
- package/dist/apme/index.js +19 -3
- package/dist/apme/index.js.map +1 -1
- package/dist/apme/runner.d.ts +90 -0
- package/dist/apme/runner.d.ts.map +1 -1
- package/dist/apme/runner.js +524 -48
- package/dist/apme/runner.js.map +1 -1
- package/dist/apme/sample-to-timeline.d.ts.map +1 -1
- package/dist/apme/sample-to-timeline.js +5 -0
- package/dist/apme/sample-to-timeline.js.map +1 -1
- package/dist/apme/settings.d.ts +8 -0
- package/dist/apme/settings.d.ts.map +1 -1
- package/dist/apme/settings.js +4 -0
- package/dist/apme/settings.js.map +1 -1
- package/dist/apme/store.d.ts +118 -9
- package/dist/apme/store.d.ts.map +1 -1
- package/dist/apme/store.js +342 -44
- package/dist/apme/store.js.map +1 -1
- package/dist/apme/task-gradeability.d.ts +82 -0
- package/dist/apme/task-gradeability.d.ts.map +1 -0
- package/dist/apme/task-gradeability.js +126 -0
- package/dist/apme/task-gradeability.js.map +1 -0
- package/dist/awaiting-overlay.d.ts +13 -26
- package/dist/awaiting-overlay.d.ts.map +1 -1
- package/dist/awaiting-overlay.js +7 -40
- package/dist/awaiting-overlay.js.map +1 -1
- package/dist/bridge-core.d.ts +15 -0
- package/dist/bridge-core.d.ts.map +1 -1
- package/dist/bridge-core.js +30 -4
- package/dist/bridge-core.js.map +1 -1
- package/dist/claude-permission-rules.d.ts +20 -32
- package/dist/claude-permission-rules.d.ts.map +1 -1
- package/dist/claude-permission-rules.js +19 -102
- package/dist/claude-permission-rules.js.map +1 -1
- package/dist/claude-usage-recovery.d.ts +54 -0
- package/dist/claude-usage-recovery.d.ts.map +1 -0
- package/dist/claude-usage-recovery.js +200 -0
- package/dist/claude-usage-recovery.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +81 -14
- package/dist/cli.js.map +1 -1
- package/dist/codex-rate-limits-live.d.ts +180 -10
- package/dist/codex-rate-limits-live.d.ts.map +1 -1
- package/dist/codex-rate-limits-live.js +475 -22
- package/dist/codex-rate-limits-live.js.map +1 -1
- package/dist/codex-rollout-response.d.ts +43 -0
- package/dist/codex-rollout-response.d.ts.map +1 -1
- package/dist/codex-rollout-response.js +67 -0
- package/dist/codex-rollout-response.js.map +1 -1
- package/dist/coordination-evidence.d.ts +150 -0
- package/dist/coordination-evidence.d.ts.map +1 -0
- package/dist/coordination-evidence.js +455 -0
- package/dist/coordination-evidence.js.map +1 -0
- package/dist/daemon-server.d.ts.map +1 -1
- package/dist/daemon-server.js +592 -35
- package/dist/daemon-server.js.map +1 -1
- package/dist/daemon-ws-client.d.ts +1 -0
- package/dist/daemon-ws-client.d.ts.map +1 -1
- package/dist/daemon-ws-client.js +25 -16
- package/dist/daemon-ws-client.js.map +1 -1
- package/dist/daemon.js +1 -1
- package/dist/deferred-reply-read.d.ts +24 -0
- package/dist/deferred-reply-read.d.ts.map +1 -0
- package/dist/deferred-reply-read.js +42 -0
- package/dist/deferred-reply-read.js.map +1 -0
- package/dist/esp32-serial.d.ts +15 -0
- package/dist/esp32-serial.d.ts.map +1 -1
- package/dist/esp32-serial.js +61 -2
- package/dist/esp32-serial.js.map +1 -1
- package/dist/font-pack.d.ts +15 -0
- package/dist/font-pack.d.ts.map +1 -0
- package/dist/font-pack.js +75 -0
- package/dist/font-pack.js.map +1 -0
- package/dist/glance-frame.d.ts.map +1 -1
- package/dist/glance-frame.js +2 -0
- package/dist/glance-frame.js.map +1 -1
- package/dist/hook-codex-sessions.d.ts +9 -0
- package/dist/hook-codex-sessions.d.ts.map +1 -1
- package/dist/hook-codex-sessions.js +35 -2
- package/dist/hook-codex-sessions.js.map +1 -1
- package/dist/hook-opencode-sessions.d.ts +62 -0
- package/dist/hook-opencode-sessions.d.ts.map +1 -0
- package/dist/hook-opencode-sessions.js +180 -0
- package/dist/hook-opencode-sessions.js.map +1 -0
- package/dist/hook-response-source.d.ts +40 -0
- package/dist/hook-response-source.d.ts.map +1 -0
- package/dist/hook-response-source.js +31 -0
- package/dist/hook-response-source.js.map +1 -0
- package/dist/http-auth-gate.d.ts.map +1 -1
- package/dist/http-auth-gate.js +9 -1
- package/dist/http-auth-gate.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/learning-pack.d.ts +24 -0
- package/dist/learning-pack.d.ts.map +1 -0
- package/dist/learning-pack.js +125 -0
- package/dist/learning-pack.js.map +1 -0
- package/dist/mdns.js +1 -1
- package/dist/mdns.js.map +1 -1
- package/dist/native-dependency-diagnostics.d.ts +29 -0
- package/dist/native-dependency-diagnostics.d.ts.map +1 -0
- package/dist/native-dependency-diagnostics.js +95 -0
- package/dist/native-dependency-diagnostics.js.map +1 -0
- package/dist/observed-steering.d.ts +4 -4
- package/dist/observed-steering.d.ts.map +1 -1
- package/dist/observed-steering.js +28 -32
- package/dist/observed-steering.js.map +1 -1
- package/dist/openclaw-gateway-stability.d.ts +94 -0
- package/dist/openclaw-gateway-stability.d.ts.map +1 -0
- package/dist/openclaw-gateway-stability.js +176 -0
- package/dist/openclaw-gateway-stability.js.map +1 -0
- package/dist/pairing-knocks.d.ts +80 -0
- package/dist/pairing-knocks.d.ts.map +1 -0
- package/dist/pairing-knocks.js +312 -0
- package/dist/pairing-knocks.js.map +1 -0
- package/dist/passive-observer.d.ts +5 -0
- package/dist/passive-observer.d.ts.map +1 -1
- package/dist/passive-observer.js +6 -0
- package/dist/passive-observer.js.map +1 -1
- package/dist/pixoo/micro-glyphs.d.ts +4 -0
- package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
- package/dist/pixoo/micro-glyphs.js +29 -0
- package/dist/pixoo/micro-glyphs.js.map +1 -1
- package/dist/pixoo/pixoo-font.d.ts.map +1 -1
- package/dist/pixoo/pixoo-font.js +3 -1
- package/dist/pixoo/pixoo-font.js.map +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
- package/dist/pixoo/pixoo-renderer.js +17 -2
- package/dist/pixoo/pixoo-renderer.js.map +1 -1
- package/dist/pty-manager.d.ts +9 -0
- package/dist/pty-manager.d.ts.map +1 -1
- package/dist/pty-manager.js +63 -4
- package/dist/pty-manager.js.map +1 -1
- package/dist/relayed-usage.d.ts +30 -0
- package/dist/relayed-usage.d.ts.map +1 -1
- package/dist/relayed-usage.js +25 -2
- package/dist/relayed-usage.js.map +1 -1
- package/dist/review-runner.js +1 -1
- package/dist/subagent-timeline.d.ts +27 -0
- package/dist/subagent-timeline.d.ts.map +1 -1
- package/dist/subagent-timeline.js +52 -5
- package/dist/subagent-timeline.js.map +1 -1
- package/dist/surface-protocol.d.ts.map +1 -1
- package/dist/surface-protocol.js +2 -0
- package/dist/surface-protocol.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +8 -1
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/usage-api.d.ts +3 -0
- package/dist/usage-api.d.ts.map +1 -1
- package/dist/usage-api.js +101 -36
- package/dist/usage-api.js.map +1 -1
- package/dist/usage-event.d.ts.map +1 -1
- package/dist/usage-event.js +2 -1
- package/dist/usage-event.js.map +1 -1
- package/dist/ws-server.d.ts +18 -0
- package/dist/ws-server.d.ts.map +1 -1
- package/dist/ws-server.js +40 -2
- package/dist/ws-server.js.map +1 -1
- package/package.json +6 -5
- package/src/timebox/sync_ble.py +35 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-ws-client.d.ts","sourceRoot":"","sources":["../src/daemon-ws-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"daemon-ws-client.d.ts","sourceRoot":"","sources":["../src/daemon-ws-client.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon-ws-client.js
CHANGED
|
@@ -145,20 +145,7 @@ export class DaemonWsClient {
|
|
|
145
145
|
clearTimeout(this.reconnectTimer);
|
|
146
146
|
this.reconnectTimer = null;
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
this.ws.removeAllListeners();
|
|
150
|
-
// ws throws if closed while still CONNECTING — terminate covers that case.
|
|
151
|
-
try {
|
|
152
|
-
this.ws.close();
|
|
153
|
-
}
|
|
154
|
-
catch {
|
|
155
|
-
try {
|
|
156
|
-
this.ws.terminate();
|
|
157
|
-
}
|
|
158
|
-
catch { /* ignore */ }
|
|
159
|
-
}
|
|
160
|
-
this.ws = null;
|
|
161
|
-
}
|
|
148
|
+
this.disposeSocket();
|
|
162
149
|
this.registered = false;
|
|
163
150
|
this.focused = false;
|
|
164
151
|
}
|
|
@@ -204,8 +191,7 @@ export class DaemonWsClient {
|
|
|
204
191
|
return;
|
|
205
192
|
}
|
|
206
193
|
if (this.ws) {
|
|
207
|
-
this.
|
|
208
|
-
this.ws.close();
|
|
194
|
+
this.disposeSocket();
|
|
209
195
|
}
|
|
210
196
|
const { host, port, token } = this.target;
|
|
211
197
|
// Loopback needs no token (daemon treats same-machine as authenticated);
|
|
@@ -302,6 +288,29 @@ export class DaemonWsClient {
|
|
|
302
288
|
return;
|
|
303
289
|
this.ws.send(JSON.stringify(this.buildRegisterFrame()));
|
|
304
290
|
}
|
|
291
|
+
disposeSocket() {
|
|
292
|
+
const socket = this.ws;
|
|
293
|
+
if (!socket)
|
|
294
|
+
return;
|
|
295
|
+
this.ws = null;
|
|
296
|
+
socket.removeAllListeners();
|
|
297
|
+
// Closing a CONNECTING `ws` emits an asynchronous error. Keep a sink
|
|
298
|
+
// attached after removing lifecycle handlers so shutdown cannot surface as
|
|
299
|
+
// an uncaught exception or schedule another reconnect.
|
|
300
|
+
socket.on('error', () => { });
|
|
301
|
+
try {
|
|
302
|
+
if (socket.readyState === WebSocket.CONNECTING)
|
|
303
|
+
socket.terminate();
|
|
304
|
+
else
|
|
305
|
+
socket.close();
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
try {
|
|
309
|
+
socket.terminate();
|
|
310
|
+
}
|
|
311
|
+
catch { /* ignore */ }
|
|
312
|
+
}
|
|
313
|
+
}
|
|
305
314
|
scheduleReconnect() {
|
|
306
315
|
if (this.closed || this.reconnectTimer)
|
|
307
316
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-ws-client.js","sourceRoot":"","sources":["../src/daemon-ws-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"daemon-ws-client.js","sourceRoot":"","sources":["../src/daemon-ws-client.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.js
CHANGED
|
@@ -17,7 +17,7 @@ const program = new Command();
|
|
|
17
17
|
program
|
|
18
18
|
.name('agentdeck')
|
|
19
19
|
.description('AgentDeck daemon (legacy entry point — use `agentdeck daemon` instead)')
|
|
20
|
-
.version('1.1
|
|
20
|
+
.version('1.2.1');
|
|
21
21
|
program
|
|
22
22
|
.command('start', { isDefault: true })
|
|
23
23
|
.description('Start monitoring daemon')
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-read a reply that was not there yet.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code runs its Stop hook while it is still writing the turn's final
|
|
5
|
+
* assistant record to the transcript: measured 2026-09-03, a turn's Stop
|
|
6
|
+
* landed at 21:20:22Z and the record holding its 1,638-character reply
|
|
7
|
+
* carries 21:20:22.395Z — the daemon's read at the hook found nothing, and
|
|
8
|
+
* the same read minutes later found all of it. One third of a week's
|
|
9
|
+
* Claude stop-turns (113 of 344) archived no reply that way, and every one
|
|
10
|
+
* of those tasks then read as "no reply captured" on the Work board.
|
|
11
|
+
*
|
|
12
|
+
* So an empty read at the Stop is not an answer; it is retried on a short,
|
|
13
|
+
* bounded schedule and applied through the collector's last-closed-turn path,
|
|
14
|
+
* which refuses to overwrite a reply that arrived by other means. Pure so the
|
|
15
|
+
* schedule is testable: the reader, the sink and the timer are injected.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFERRED_REPLY_DELAYS_MS: readonly number[];
|
|
18
|
+
export declare function scheduleDeferredReplyRead(read: () => string, apply: (text: string) => void, opts?: {
|
|
19
|
+
delays?: readonly number[];
|
|
20
|
+
setTimer?: (fn: () => void, ms: number) => {
|
|
21
|
+
unref?: () => void;
|
|
22
|
+
};
|
|
23
|
+
}): void;
|
|
24
|
+
//# sourceMappingURL=deferred-reply-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred-reply-read.d.ts","sourceRoot":"","sources":["../src/deferred-reply-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAmB,CAAC;AAE1E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,MAAM,EAClB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC7B,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAC9D,GACL,IAAI,CAcN"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-read a reply that was not there yet.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code runs its Stop hook while it is still writing the turn's final
|
|
5
|
+
* assistant record to the transcript: measured 2026-09-03, a turn's Stop
|
|
6
|
+
* landed at 21:20:22Z and the record holding its 1,638-character reply
|
|
7
|
+
* carries 21:20:22.395Z — the daemon's read at the hook found nothing, and
|
|
8
|
+
* the same read minutes later found all of it. One third of a week's
|
|
9
|
+
* Claude stop-turns (113 of 344) archived no reply that way, and every one
|
|
10
|
+
* of those tasks then read as "no reply captured" on the Work board.
|
|
11
|
+
*
|
|
12
|
+
* So an empty read at the Stop is not an answer; it is retried on a short,
|
|
13
|
+
* bounded schedule and applied through the collector's last-closed-turn path,
|
|
14
|
+
* which refuses to overwrite a reply that arrived by other means. Pure so the
|
|
15
|
+
* schedule is testable: the reader, the sink and the timer are injected.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFERRED_REPLY_DELAYS_MS = [1_500, 6_000];
|
|
18
|
+
export function scheduleDeferredReplyRead(read, apply, opts = {}) {
|
|
19
|
+
const delays = opts.delays ?? DEFERRED_REPLY_DELAYS_MS;
|
|
20
|
+
const setTimer = opts.setTimer ?? ((fn, ms) => setTimeout(fn, ms));
|
|
21
|
+
const attempt = (i) => {
|
|
22
|
+
if (i >= delays.length)
|
|
23
|
+
return;
|
|
24
|
+
const t = setTimer(() => {
|
|
25
|
+
let text = '';
|
|
26
|
+
try {
|
|
27
|
+
text = read();
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
text = '';
|
|
31
|
+
}
|
|
32
|
+
if (text) {
|
|
33
|
+
apply(text);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
attempt(i + 1);
|
|
37
|
+
}, delays[i]);
|
|
38
|
+
t.unref?.();
|
|
39
|
+
};
|
|
40
|
+
attempt(0);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=deferred-reply-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred-reply-read.js","sourceRoot":"","sources":["../src/deferred-reply-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE1E,MAAM,UAAU,yBAAyB,CACvC,IAAkB,EAClB,KAA6B,EAC7B,OAGI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAQ,EAAE;QAClC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;YACtB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,IAAI,GAAG,EAAE,CAAC;YAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAClC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;QACf,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACd,CAAC,CAAC;IACF,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC"}
|
package/dist/esp32-serial.d.ts
CHANGED
|
@@ -65,6 +65,8 @@ export interface SerialConnection {
|
|
|
65
65
|
sessionCount?: number;
|
|
66
66
|
usageFiveH?: number;
|
|
67
67
|
processingCount?: number;
|
|
68
|
+
repaintCount?: number;
|
|
69
|
+
fullRefreshCount?: number;
|
|
68
70
|
/** Peripheral telemetry/diag (capability-advertising boards). */
|
|
69
71
|
capabilities?: string[];
|
|
70
72
|
batteryPercent?: number;
|
|
@@ -133,6 +135,17 @@ export declare const TIMELINE_HISTORY_BYTE_BUDGET = 3500;
|
|
|
133
135
|
* @internal Exported for testing only */
|
|
134
136
|
export declare function budgetTimelineEntries(entries: any[]): any[];
|
|
135
137
|
export declare function roundRobinByAgentType(sessions: any[], cap: number): any[];
|
|
138
|
+
/**
|
|
139
|
+
* IPS10 card roster: a STABLE pick, not a rotation. The equal-size cards
|
|
140
|
+
* promise that a state change never moves a session, and the round-robin
|
|
141
|
+
* (which re-ranks by state) broke that promise the moment the machine held
|
|
142
|
+
* more than `cap` sessions — the card set itself changed. Rules, in order:
|
|
143
|
+
* every session waiting on a human is kept (a hidden PERM is a lie on the
|
|
144
|
+
* one surface built to show it), then the most recently started fill the
|
|
145
|
+
* rest, and the result is ordered by id so the firmware's identity sort sees
|
|
146
|
+
* the same set in the same order on every push. Dead rows are dropped first.
|
|
147
|
+
*/
|
|
148
|
+
export declare function stableCardRoster(sessions: any[], cap: number): any[];
|
|
136
149
|
export declare function prepareForSerial(event: BridgeEvent, _conn?: Pick<SerialConnection, 'deviceInfo'>): BridgeEvent;
|
|
137
150
|
/** @internal Exported for testing only */
|
|
138
151
|
export declare function isRetryableSerialIoError(err: unknown): boolean;
|
|
@@ -387,6 +400,8 @@ export declare function getSerialConnectionStatus(): Array<{
|
|
|
387
400
|
sessionCount?: number;
|
|
388
401
|
usageFiveH?: number;
|
|
389
402
|
processingCount?: number;
|
|
403
|
+
repaintCount?: number;
|
|
404
|
+
fullRefreshCount?: number;
|
|
390
405
|
deviceInfoFresh: boolean;
|
|
391
406
|
transportOpen: boolean;
|
|
392
407
|
lastReadAt: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esp32-serial.d.ts","sourceRoot":"","sources":["../src/esp32-serial.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"esp32-serial.d.ts","sourceRoot":"","sources":["../src/esp32-serial.ts"],"names":[],"mappings":"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"}
|
package/dist/esp32-serial.js
CHANGED
|
@@ -259,6 +259,26 @@ export function roundRobinByAgentType(sessions, cap) {
|
|
|
259
259
|
}
|
|
260
260
|
return result;
|
|
261
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* IPS10 card roster: a STABLE pick, not a rotation. The equal-size cards
|
|
264
|
+
* promise that a state change never moves a session, and the round-robin
|
|
265
|
+
* (which re-ranks by state) broke that promise the moment the machine held
|
|
266
|
+
* more than `cap` sessions — the card set itself changed. Rules, in order:
|
|
267
|
+
* every session waiting on a human is kept (a hidden PERM is a lie on the
|
|
268
|
+
* one surface built to show it), then the most recently started fill the
|
|
269
|
+
* rest, and the result is ordered by id so the firmware's identity sort sees
|
|
270
|
+
* the same set in the same order on every push. Dead rows are dropped first.
|
|
271
|
+
*/
|
|
272
|
+
export function stableCardRoster(sessions, cap) {
|
|
273
|
+
const alive = sessions.filter((s) => s?.alive !== false);
|
|
274
|
+
if (alive.length <= cap)
|
|
275
|
+
return alive;
|
|
276
|
+
const awaiting = alive.filter((s) => typeof s?.state === 'string' && s.state.startsWith('awaiting'));
|
|
277
|
+
const rest = alive.filter((s) => !awaiting.includes(s))
|
|
278
|
+
.sort((a, b) => (Date.parse(b?.startedAt ?? '') || 0) - (Date.parse(a?.startedAt ?? '') || 0));
|
|
279
|
+
const picked = [...awaiting, ...rest].slice(0, cap);
|
|
280
|
+
return picked.sort((a, b) => String(a?.id ?? '').localeCompare(String(b?.id ?? '')));
|
|
281
|
+
}
|
|
262
282
|
export function prepareForSerial(event, _conn) {
|
|
263
283
|
const e = event;
|
|
264
284
|
if (event.type === 'usage_update') {
|
|
@@ -362,9 +382,11 @@ export function prepareForSerial(event, _conn) {
|
|
|
362
382
|
}
|
|
363
383
|
if (event.type === 'sessions_list') {
|
|
364
384
|
const raw = Array.isArray(e.sessions) ? e.sessions : [];
|
|
365
|
-
|
|
385
|
+
const isIps10 = _conn?.deviceInfo?.board === 'ips_10';
|
|
386
|
+
const selected = isIps10 ? stableCardRoster(raw, SERIAL_SESSIONS_CAP) : roundRobinByAgentType(raw, SERIAL_SESSIONS_CAP);
|
|
387
|
+
const prepared = {
|
|
366
388
|
type: 'sessions_list',
|
|
367
|
-
sessions:
|
|
389
|
+
sessions: selected.map((s) => ({
|
|
368
390
|
id: limitString(s.id, 31),
|
|
369
391
|
projectName: limitString(s.projectName, 39),
|
|
370
392
|
modelName: limitString(s.modelName, 31),
|
|
@@ -398,6 +420,39 @@ export function prepareForSerial(event, _conn) {
|
|
|
398
420
|
options: sanitizeOptions(s.options),
|
|
399
421
|
})),
|
|
400
422
|
};
|
|
423
|
+
// Optional read-only census on IPS10 only. Every older/smaller board gets
|
|
424
|
+
// exactly the baseline projection. Preserve the conservative frame budget;
|
|
425
|
+
// omission is explicitly "unknown" on the new firmware, never zero.
|
|
426
|
+
if (isIps10) {
|
|
427
|
+
const rows = prepared.sessions;
|
|
428
|
+
for (let i = 0; i < rows.length; i++) {
|
|
429
|
+
const c = selected[i].subagents;
|
|
430
|
+
if (c && [c.active, c.peak, c.completed].every(v => Number.isInteger(v) && v >= 0 && v <= 65535)) {
|
|
431
|
+
rows[i].subagents = { active: c.active, peak: c.peak, completed: c.completed };
|
|
432
|
+
}
|
|
433
|
+
// Coordination census: the two counts a card can act on — workers this
|
|
434
|
+
// session spawned that are still running, and background jobs it is
|
|
435
|
+
// waiting on. Messages stay on the macOS lens.
|
|
436
|
+
const k = selected[i].coordination;
|
|
437
|
+
if (k && [k.backgroundJobs, k.spawnedActive].every(v => Number.isInteger(v) && v >= 0 && v <= 65535)) {
|
|
438
|
+
rows[i].coordination = { backgroundJobs: k.backgroundJobs, spawnedActive: k.spawnedActive };
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
// How many sessions the roster holds beyond the cards: the firmware
|
|
442
|
+
// renders "+N" so a capped roster never reads as the whole machine.
|
|
443
|
+
// Counted over ALIVE rows only — `stableCardRoster` drops dead sessions,
|
|
444
|
+
// so counting `raw` would advertise a `+N` for rows nothing can show.
|
|
445
|
+
const aliveCount = raw.filter((s) => s?.alive !== false).length;
|
|
446
|
+
if (aliveCount > rows.length)
|
|
447
|
+
prepared.total = aliveCount;
|
|
448
|
+
if (Buffer.byteLength(JSON.stringify(prepared), 'utf8') > TIMELINE_HISTORY_BYTE_BUDGET) {
|
|
449
|
+
for (const row of rows) {
|
|
450
|
+
delete row.subagents;
|
|
451
|
+
delete row.coordination;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
return prepared;
|
|
401
456
|
}
|
|
402
457
|
return event;
|
|
403
458
|
}
|
|
@@ -731,6 +786,8 @@ export function handleSerialLine(conn, line) {
|
|
|
731
786
|
sessionCount: msg.sessionCount,
|
|
732
787
|
usageFiveH: msg.usageFiveH,
|
|
733
788
|
processingCount: msg.processingCount,
|
|
789
|
+
repaintCount: msg.repaintCount,
|
|
790
|
+
fullRefreshCount: msg.fullRefreshCount,
|
|
734
791
|
capabilities: msg.capabilities,
|
|
735
792
|
batteryPercent: msg.batteryPercent,
|
|
736
793
|
batteryVoltageMv: msg.batteryVoltageMv,
|
|
@@ -1712,6 +1769,8 @@ export function getSerialConnectionStatus() {
|
|
|
1712
1769
|
sessionCount: c.deviceInfo?.sessionCount,
|
|
1713
1770
|
usageFiveH: c.deviceInfo?.usageFiveH,
|
|
1714
1771
|
processingCount: c.deviceInfo?.processingCount,
|
|
1772
|
+
repaintCount: c.deviceInfo?.repaintCount,
|
|
1773
|
+
fullRefreshCount: c.deviceInfo?.fullRefreshCount,
|
|
1715
1774
|
deviceInfoFresh: c.deviceInfoFresh,
|
|
1716
1775
|
lastReadAt: c.lastReadAt,
|
|
1717
1776
|
lastWriteAt: c.lastWriteAt,
|