@agentdeck/bridge 0.1.0 → 0.2.0
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/LICENSE +21 -0
- package/dist/adapters/claude-code.d.ts +11 -27
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +29 -123
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex-cli.d.ts +21 -0
- package/dist/adapters/codex-cli.d.ts.map +1 -0
- package/dist/adapters/codex-cli.js +53 -0
- package/dist/adapters/codex-cli.js.map +1 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +13 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/monitor.d.ts +34 -0
- package/dist/adapters/monitor.d.ts.map +1 -0
- package/dist/adapters/monitor.js +86 -0
- package/dist/adapters/monitor.js.map +1 -0
- package/dist/adapters/openclaw.d.ts +36 -2
- package/dist/adapters/openclaw.d.ts.map +1 -1
- package/dist/adapters/openclaw.js +329 -59
- package/dist/adapters/openclaw.js.map +1 -1
- package/dist/adapters/opencode-adapter.d.ts +48 -0
- package/dist/adapters/opencode-adapter.d.ts.map +1 -0
- package/dist/adapters/opencode-adapter.js +345 -0
- package/dist/adapters/opencode-adapter.js.map +1 -0
- package/dist/adapters/pty-adapter.d.ts +56 -0
- package/dist/adapters/pty-adapter.d.ts.map +1 -0
- package/dist/adapters/pty-adapter.js +143 -0
- package/dist/adapters/pty-adapter.js.map +1 -0
- package/dist/adb-reverse.d.ts +25 -0
- package/dist/adb-reverse.d.ts.map +1 -0
- package/dist/adb-reverse.js +129 -0
- package/dist/adb-reverse.js.map +1 -0
- package/dist/antigravity-local.d.ts +7 -0
- package/dist/antigravity-local.d.ts.map +1 -0
- package/dist/antigravity-local.js +153 -0
- package/dist/antigravity-local.js.map +1 -0
- package/dist/apme/adapters/claude-hook.d.ts +15 -0
- package/dist/apme/adapters/claude-hook.d.ts.map +1 -0
- package/dist/apme/adapters/claude-hook.js +85 -0
- package/dist/apme/adapters/claude-hook.js.map +1 -0
- package/dist/apme/adapters/claude-pty.d.ts +28 -0
- package/dist/apme/adapters/claude-pty.d.ts.map +1 -0
- package/dist/apme/adapters/claude-pty.js +88 -0
- package/dist/apme/adapters/claude-pty.js.map +1 -0
- package/dist/apme/adapters/timeline.d.ts +16 -0
- package/dist/apme/adapters/timeline.d.ts.map +1 -0
- package/dist/apme/adapters/timeline.js +66 -0
- package/dist/apme/adapters/timeline.js.map +1 -0
- package/dist/apme/classifier.d.ts +53 -0
- package/dist/apme/classifier.d.ts.map +1 -0
- package/dist/apme/classifier.js +266 -0
- package/dist/apme/classifier.js.map +1 -0
- package/dist/apme/claude-transcript-reader.d.ts +38 -0
- package/dist/apme/claude-transcript-reader.d.ts.map +1 -0
- package/dist/apme/claude-transcript-reader.js +127 -0
- package/dist/apme/claude-transcript-reader.js.map +1 -0
- package/dist/apme/collector.d.ts +108 -0
- package/dist/apme/collector.d.ts.map +1 -0
- package/dist/apme/collector.js +659 -0
- package/dist/apme/collector.js.map +1 -0
- package/dist/apme/dashboard-html.d.ts +9 -0
- package/dist/apme/dashboard-html.d.ts.map +1 -0
- package/dist/apme/dashboard-html.js +416 -0
- package/dist/apme/dashboard-html.js.map +1 -0
- package/dist/apme/http.d.ts +19 -0
- package/dist/apme/http.d.ts.map +1 -0
- package/dist/apme/http.js +210 -0
- package/dist/apme/http.js.map +1 -0
- package/dist/apme/hw-sampler.d.ts +30 -0
- package/dist/apme/hw-sampler.d.ts.map +1 -0
- package/dist/apme/hw-sampler.js +106 -0
- package/dist/apme/hw-sampler.js.map +1 -0
- package/dist/apme/index.d.ts +43 -0
- package/dist/apme/index.d.ts.map +1 -0
- package/dist/apme/index.js +75 -0
- package/dist/apme/index.js.map +1 -0
- package/dist/apme/outcome.d.ts +48 -0
- package/dist/apme/outcome.d.ts.map +1 -0
- package/dist/apme/outcome.js +232 -0
- package/dist/apme/outcome.js.map +1 -0
- package/dist/apme/recommend.d.ts +32 -0
- package/dist/apme/recommend.d.ts.map +1 -0
- package/dist/apme/recommend.js +41 -0
- package/dist/apme/recommend.js.map +1 -0
- package/dist/apme/runner.d.ts +94 -0
- package/dist/apme/runner.d.ts.map +1 -0
- package/dist/apme/runner.js +812 -0
- package/dist/apme/runner.js.map +1 -0
- package/dist/apme/settings.d.ts +65 -0
- package/dist/apme/settings.d.ts.map +1 -0
- package/dist/apme/settings.js +97 -0
- package/dist/apme/settings.js.map +1 -0
- package/dist/apme/store.d.ts +99 -0
- package/dist/apme/store.d.ts.map +1 -0
- package/dist/apme/store.js +911 -0
- package/dist/apme/store.js.map +1 -0
- package/dist/apme/tuner.d.ts +64 -0
- package/dist/apme/tuner.d.ts.map +1 -0
- package/dist/apme/tuner.js +297 -0
- package/dist/apme/tuner.js.map +1 -0
- package/dist/apme/types.d.ts +11 -0
- package/dist/apme/types.d.ts.map +1 -0
- package/dist/apme/types.js +10 -0
- package/dist/apme/types.js.map +1 -0
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +15 -5
- package/dist/auth.js.map +1 -1
- package/dist/bridge-core.d.ts +162 -0
- package/dist/bridge-core.d.ts.map +1 -0
- package/dist/bridge-core.js +627 -0
- package/dist/bridge-core.js.map +1 -0
- package/dist/check-deps.d.ts +3 -1
- package/dist/check-deps.d.ts.map +1 -1
- package/dist/check-deps.js +34 -13
- package/dist/check-deps.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1235 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-auth.d.ts +10 -0
- package/dist/codex-auth.d.ts.map +1 -0
- package/dist/codex-auth.js +63 -0
- package/dist/codex-auth.js.map +1 -0
- package/dist/codex-output-parser.d.ts +21 -0
- package/dist/codex-output-parser.d.ts.map +1 -0
- package/dist/codex-output-parser.js +253 -0
- package/dist/codex-output-parser.js.map +1 -0
- package/dist/d200h/hid-protocol.d.ts +62 -0
- package/dist/d200h/hid-protocol.d.ts.map +1 -0
- package/dist/d200h/hid-protocol.js +124 -0
- package/dist/d200h/hid-protocol.js.map +1 -0
- package/dist/d200h/image-renderer.d.ts +36 -0
- package/dist/d200h/image-renderer.d.ts.map +1 -0
- package/dist/d200h/image-renderer.js +487 -0
- package/dist/d200h/image-renderer.js.map +1 -0
- package/dist/daemon-server.d.ts +19 -0
- package/dist/daemon-server.d.ts.map +1 -0
- package/dist/daemon-server.js +1168 -0
- package/dist/daemon-server.js.map +1 -0
- package/dist/daemon-ws-client.d.ts +82 -0
- package/dist/daemon-ws-client.d.ts.map +1 -0
- package/dist/daemon-ws-client.js +179 -0
- package/dist/daemon-ws-client.js.map +1 -0
- package/dist/daemon.d.ts +10 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +56 -0
- package/dist/daemon.js.map +1 -0
- package/dist/display-monitor.d.ts +25 -0
- package/dist/display-monitor.d.ts.map +1 -0
- package/dist/display-monitor.js +143 -0
- package/dist/display-monitor.js.map +1 -0
- package/dist/esp32-serial.d.ts +112 -0
- package/dist/esp32-serial.d.ts.map +1 -0
- package/dist/esp32-serial.js +502 -0
- package/dist/esp32-serial.js.map +1 -0
- package/dist/gateway-probe.d.ts +12 -0
- package/dist/gateway-probe.d.ts.map +1 -0
- package/dist/gateway-probe.js +39 -0
- package/dist/gateway-probe.js.map +1 -0
- package/dist/hook-server.d.ts +29 -0
- package/dist/hook-server.d.ts.map +1 -1
- package/dist/hook-server.js +366 -8
- package/dist/hook-server.js.map +1 -1
- package/dist/index.d.ts +20 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1305 -562
- package/dist/index.js.map +1 -1
- package/dist/log-stream.d.ts +26 -0
- package/dist/log-stream.d.ts.map +1 -0
- package/dist/log-stream.js +111 -0
- package/dist/log-stream.js.map +1 -0
- package/dist/logger.d.ts +9 -2
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +36 -5
- package/dist/logger.js.map +1 -1
- package/dist/mdns.d.ts +15 -1
- package/dist/mdns.d.ts.map +1 -1
- package/dist/mdns.js +143 -28
- package/dist/mdns.js.map +1 -1
- package/dist/mlx-probe.d.ts +14 -0
- package/dist/mlx-probe.d.ts.map +1 -0
- package/dist/mlx-probe.js +44 -0
- package/dist/mlx-probe.js.map +1 -0
- package/dist/model-catalog.d.ts +5 -3
- package/dist/model-catalog.d.ts.map +1 -1
- package/dist/model-catalog.js +45 -29
- package/dist/model-catalog.js.map +1 -1
- package/dist/modules/adb-module.d.ts +14 -0
- package/dist/modules/adb-module.d.ts.map +1 -0
- package/dist/modules/adb-module.js +36 -0
- package/dist/modules/adb-module.js.map +1 -0
- package/dist/modules/d200h-module.d.ts +43 -0
- package/dist/modules/d200h-module.d.ts.map +1 -0
- package/dist/modules/d200h-module.js +360 -0
- package/dist/modules/d200h-module.js.map +1 -0
- package/dist/modules/d200h-renderer.d.ts +7 -0
- package/dist/modules/d200h-renderer.d.ts.map +1 -0
- package/dist/modules/d200h-renderer.js +321 -0
- package/dist/modules/d200h-renderer.js.map +1 -0
- package/dist/modules/index.d.ts +23 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +65 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/mdns-module.d.ts +12 -0
- package/dist/modules/mdns-module.d.ts.map +1 -0
- package/dist/modules/mdns-module.js +21 -0
- package/dist/modules/mdns-module.js.map +1 -0
- package/dist/modules/pixoo-module.d.ts +8 -0
- package/dist/modules/pixoo-module.d.ts.map +1 -0
- package/dist/modules/pixoo-module.js +24 -0
- package/dist/modules/pixoo-module.js.map +1 -0
- package/dist/modules/serial-module.d.ts +18 -0
- package/dist/modules/serial-module.d.ts.map +1 -0
- package/dist/modules/serial-module.js +47 -0
- package/dist/modules/serial-module.js.map +1 -0
- package/dist/modules/types.d.ts +39 -0
- package/dist/modules/types.d.ts.map +1 -0
- package/dist/modules/types.js +2 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/ollama-probe.d.ts +13 -0
- package/dist/ollama-probe.d.ts.map +1 -0
- package/dist/ollama-probe.js +46 -0
- package/dist/ollama-probe.js.map +1 -0
- package/dist/opencode-client.d.ts +126 -0
- package/dist/opencode-client.d.ts.map +1 -0
- package/dist/opencode-client.js +181 -0
- package/dist/opencode-client.js.map +1 -0
- package/dist/output-parser.d.ts +3 -0
- package/dist/output-parser.d.ts.map +1 -1
- package/dist/output-parser.js +29 -3
- package/dist/output-parser.js.map +1 -1
- package/dist/passive-observer.d.ts +38 -0
- package/dist/passive-observer.d.ts.map +1 -0
- package/dist/passive-observer.js +632 -0
- package/dist/passive-observer.js.map +1 -0
- package/dist/pixoo/pixoo-bridge.d.ts +50 -0
- package/dist/pixoo/pixoo-bridge.d.ts.map +1 -0
- package/dist/pixoo/pixoo-bridge.js +280 -0
- package/dist/pixoo/pixoo-bridge.js.map +1 -0
- package/dist/pixoo/pixoo-camera.d.ts +80 -0
- package/dist/pixoo/pixoo-camera.d.ts.map +1 -0
- package/dist/pixoo/pixoo-camera.js +271 -0
- package/dist/pixoo/pixoo-camera.js.map +1 -0
- package/dist/pixoo/pixoo-client.d.ts +67 -0
- package/dist/pixoo/pixoo-client.d.ts.map +1 -0
- package/dist/pixoo/pixoo-client.js +335 -0
- package/dist/pixoo/pixoo-client.js.map +1 -0
- package/dist/pixoo/pixoo-font.d.ts +24 -0
- package/dist/pixoo/pixoo-font.d.ts.map +1 -0
- package/dist/pixoo/pixoo-font.js +121 -0
- package/dist/pixoo/pixoo-font.js.map +1 -0
- package/dist/pixoo/pixoo-renderer.d.ts +32 -0
- package/dist/pixoo/pixoo-renderer.d.ts.map +1 -0
- package/dist/pixoo/pixoo-renderer.js +696 -0
- package/dist/pixoo/pixoo-renderer.js.map +1 -0
- package/dist/pixoo/pixoo-settings.d.ts +10 -0
- package/dist/pixoo/pixoo-settings.d.ts.map +1 -0
- package/dist/pixoo/pixoo-settings.js +47 -0
- package/dist/pixoo/pixoo-settings.js.map +1 -0
- package/dist/pixoo/pixoo-sprites.d.ts +187 -0
- package/dist/pixoo/pixoo-sprites.d.ts.map +1 -0
- package/dist/pixoo/pixoo-sprites.js +926 -0
- package/dist/pixoo/pixoo-sprites.js.map +1 -0
- package/dist/pty-manager.d.ts +1 -1
- package/dist/pty-manager.d.ts.map +1 -1
- package/dist/pty-manager.js +36 -15
- package/dist/pty-manager.js.map +1 -1
- package/dist/session-aggregator.d.ts +41 -0
- package/dist/session-aggregator.d.ts.map +1 -0
- package/dist/session-aggregator.js +76 -0
- package/dist/session-aggregator.js.map +1 -0
- package/dist/session-focus-relay.d.ts +35 -0
- package/dist/session-focus-relay.d.ts.map +1 -0
- package/dist/session-focus-relay.js +127 -0
- package/dist/session-focus-relay.js.map +1 -0
- package/dist/session-registry.d.ts +88 -1
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/session-registry.js +222 -15
- package/dist/session-registry.js.map +1 -1
- package/dist/session-timeline-relay.d.ts +27 -0
- package/dist/session-timeline-relay.d.ts.map +1 -0
- package/dist/session-timeline-relay.js +124 -0
- package/dist/session-timeline-relay.js.map +1 -0
- package/dist/state-machine.d.ts +1 -0
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +14 -0
- package/dist/state-machine.js.map +1 -1
- package/dist/terminal-status.d.ts +28 -0
- package/dist/terminal-status.d.ts.map +1 -0
- package/dist/terminal-status.js +152 -0
- package/dist/terminal-status.js.map +1 -0
- package/dist/timeline-store.d.ts +22 -0
- package/dist/timeline-store.d.ts.map +1 -0
- package/dist/timeline-store.js +79 -0
- package/dist/timeline-store.js.map +1 -0
- package/dist/timeline-summarizer.d.ts +14 -0
- package/dist/timeline-summarizer.d.ts.map +1 -0
- package/dist/timeline-summarizer.js +154 -0
- package/dist/timeline-summarizer.js.map +1 -0
- package/dist/tts.d.ts +25 -0
- package/dist/tts.d.ts.map +1 -0
- package/dist/tts.js +99 -0
- package/dist/tts.js.map +1 -0
- package/dist/tui/ansi.d.ts +92 -0
- package/dist/tui/ansi.d.ts.map +1 -0
- package/dist/tui/ansi.js +181 -0
- package/dist/tui/ansi.js.map +1 -0
- package/dist/tui/dashboard.d.ts +35 -0
- package/dist/tui/dashboard.d.ts.map +1 -0
- package/dist/tui/dashboard.js +436 -0
- package/dist/tui/dashboard.js.map +1 -0
- package/dist/tui/gauge.d.ts +15 -0
- package/dist/tui/gauge.d.ts.map +1 -0
- package/dist/tui/gauge.js +82 -0
- package/dist/tui/gauge.js.map +1 -0
- package/dist/tui/renderer.d.ts +15 -0
- package/dist/tui/renderer.d.ts.map +1 -0
- package/dist/tui/renderer.js +758 -0
- package/dist/tui/renderer.js.map +1 -0
- package/dist/tui/screen.d.ts +27 -0
- package/dist/tui/screen.d.ts.map +1 -0
- package/dist/tui/screen.js +109 -0
- package/dist/tui/screen.js.map +1 -0
- package/dist/tui/terrarium.d.ts +96 -0
- package/dist/tui/terrarium.d.ts.map +1 -0
- package/dist/tui/terrarium.js +912 -0
- package/dist/tui/terrarium.js.map +1 -0
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -2
- package/dist/types.js.map +1 -1
- package/dist/usage-api.d.ts +9 -2
- package/dist/usage-api.d.ts.map +1 -1
- package/dist/usage-api.js +224 -42
- package/dist/usage-api.js.map +1 -1
- package/dist/usage-event.d.ts +12 -0
- package/dist/usage-event.d.ts.map +1 -0
- package/dist/usage-event.js +78 -0
- package/dist/usage-event.js.map +1 -0
- package/dist/usage-tracker.d.ts +4 -0
- package/dist/usage-tracker.d.ts.map +1 -1
- package/dist/usage-tracker.js +17 -0
- package/dist/usage-tracker.js.map +1 -1
- package/dist/utility-proxy.d.ts +30 -0
- package/dist/utility-proxy.d.ts.map +1 -0
- package/dist/utility-proxy.js +217 -0
- package/dist/utility-proxy.js.map +1 -0
- package/dist/utils/project-name.d.ts +22 -0
- package/dist/utils/project-name.d.ts.map +1 -0
- package/dist/utils/project-name.js +72 -0
- package/dist/utils/project-name.js.map +1 -0
- package/dist/version-check.d.ts +26 -0
- package/dist/version-check.d.ts.map +1 -0
- package/dist/version-check.js +225 -0
- package/dist/version-check.js.map +1 -0
- package/dist/voice-assistant.d.ts +63 -0
- package/dist/voice-assistant.d.ts.map +1 -0
- package/dist/voice-assistant.js +406 -0
- package/dist/voice-assistant.js.map +1 -0
- package/dist/voice.d.ts +2 -0
- package/dist/voice.d.ts.map +1 -1
- package/dist/voice.js +26 -1
- package/dist/voice.js.map +1 -1
- package/dist/wake-word.d.ts +35 -0
- package/dist/wake-word.d.ts.map +1 -0
- package/dist/wake-word.js +225 -0
- package/dist/wake-word.js.map +1 -0
- package/dist/whisper-server-manager.d.ts +1 -1
- package/dist/whisper-server-manager.js +1 -1
- package/dist/wifi-config.d.ts +24 -0
- package/dist/wifi-config.d.ts.map +1 -0
- package/dist/wifi-config.js +84 -0
- package/dist/wifi-config.js.map +1 -0
- package/dist/ws-server.d.ts +12 -0
- package/dist/ws-server.d.ts.map +1 -1
- package/dist/ws-server.js +81 -3
- package/dist/ws-server.js.map +1 -1
- package/package.json +22 -13
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import net from 'net';
|
|
2
|
+
import { execFile } from 'child_process';
|
|
3
|
+
import { debug } from './logger.js';
|
|
4
|
+
const GATEWAY_PORT = 18789;
|
|
5
|
+
const PROBE_TIMEOUT = 2000;
|
|
6
|
+
const DOCTOR_TIMEOUT = 15000;
|
|
7
|
+
export async function probeGateway() {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
const socket = net.createConnection({ port: GATEWAY_PORT, host: '127.0.0.1' });
|
|
10
|
+
socket.setTimeout(PROBE_TIMEOUT);
|
|
11
|
+
socket.on('connect', () => { socket.destroy(); resolve({ available: true }); });
|
|
12
|
+
socket.on('error', () => { socket.destroy(); resolve({ available: false }); });
|
|
13
|
+
socket.on('timeout', () => { socket.destroy(); resolve({ available: false }); });
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Run `openclaw doctor` to check gateway health.
|
|
18
|
+
* Returns true if errors are detected (exit code != 0).
|
|
19
|
+
* Runs at a slower cadence than probeGateway (caller should throttle).
|
|
20
|
+
*/
|
|
21
|
+
export async function checkGatewayHealth() {
|
|
22
|
+
return new Promise((resolve) => {
|
|
23
|
+
execFile('openclaw', ['doctor'], { timeout: DOCTOR_TIMEOUT }, (err) => {
|
|
24
|
+
if (err) {
|
|
25
|
+
// Command not found — not an error, just no openclaw installed
|
|
26
|
+
if (err.code === 'ENOENT') {
|
|
27
|
+
resolve(false);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
debug('GatewayProbe', `doctor failed: ${err.message}`);
|
|
31
|
+
resolve(true);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// exit 0 = healthy
|
|
35
|
+
resolve(false);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=gateway-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-probe.js","sourceRoot":"","sources":["../src/gateway-probe.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,cAAc,GAAG,KAAK,CAAC;AAO7B,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,GAAG,EAAE,CAAC;gBACR,+DAA+D;gBAC/D,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,cAAc,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/hook-server.d.ts
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import { type Server } from 'http';
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import type { BridgeEvent } from './types.js';
|
|
4
|
+
import type { VoiceManager } from './voice.js';
|
|
4
5
|
export declare class HookServer extends EventEmitter {
|
|
5
6
|
private app;
|
|
6
7
|
private server;
|
|
7
8
|
private diagHandler;
|
|
9
|
+
private voiceManager;
|
|
10
|
+
private apiUsageGetter;
|
|
11
|
+
private deviceInfoGetter;
|
|
12
|
+
private pixooFrameGetter;
|
|
13
|
+
private pixooStreamListener;
|
|
8
14
|
private sseClients;
|
|
15
|
+
private sseHeartbeats;
|
|
16
|
+
private pixooStreamTimers;
|
|
9
17
|
private sseIdCounter;
|
|
10
18
|
private lastStateEvent;
|
|
11
19
|
private lastUsageEvent;
|
|
20
|
+
pairingToken: string | null;
|
|
12
21
|
private meta;
|
|
13
22
|
constructor();
|
|
14
23
|
/** Register a callback that provides diagnostic dump data */
|
|
@@ -18,7 +27,21 @@ export declare class HookServer extends EventEmitter {
|
|
|
18
27
|
agentType?: string;
|
|
19
28
|
projectName?: string;
|
|
20
29
|
clientCount?: number;
|
|
30
|
+
state?: string;
|
|
31
|
+
modelName?: string;
|
|
32
|
+
effortLevel?: string;
|
|
21
33
|
}): void;
|
|
34
|
+
/** Set voice manager for /voice/transcribe endpoint */
|
|
35
|
+
setVoiceManager(vm: VoiceManager): void;
|
|
36
|
+
/** Register a getter for cached API usage data (exposed via GET /usage) */
|
|
37
|
+
onApiUsage(getter: () => {
|
|
38
|
+
usage: unknown;
|
|
39
|
+
fetchedAt: number;
|
|
40
|
+
}): void;
|
|
41
|
+
/** Register a getter for connected device info (exposed via GET /devices) */
|
|
42
|
+
setDeviceInfoGetter(getter: () => unknown): void;
|
|
43
|
+
/** Register a getter that returns the current Pixoo 64×64 RGB frame (12,288 bytes). */
|
|
44
|
+
setPixooFrameGetter(getter: () => Uint8Array): void;
|
|
22
45
|
/** Broadcast a BridgeEvent to all SSE clients */
|
|
23
46
|
broadcastSse(event: BridgeEvent): void;
|
|
24
47
|
/** Check token auth for a request. Returns true if authorized. */
|
|
@@ -28,4 +51,10 @@ export declare class HookServer extends EventEmitter {
|
|
|
28
51
|
getServer(): Server;
|
|
29
52
|
close(): Promise<void>;
|
|
30
53
|
}
|
|
54
|
+
/** Convert raw RGB buffer to 24-bit BMP. Rows flipped + BGR byte order. */
|
|
55
|
+
export declare function rgbToBmp(rgb: Uint8Array, w: number, h: number): Buffer;
|
|
56
|
+
export declare function pixooLiveHtml(meta: {
|
|
57
|
+
agentType?: string;
|
|
58
|
+
projectName?: string;
|
|
59
|
+
}, initialFps?: number): string;
|
|
31
60
|
//# sourceMappingURL=hook-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-server.d.ts","sourceRoot":"","sources":["../src/hook-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAuB,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"hook-server.d.ts","sourceRoot":"","sources":["../src/hook-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAuB,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS/C,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA8D;IACpF,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,mBAAmB,CAA8C;IAGzE,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,cAAc,CAA4B;IAClD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGnC,OAAO,CAAC,IAAI,CAAoI;;IAUhJ,6DAA6D;IAC7D,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAIjD,mDAAmD;IACnD,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIjJ,uDAAuD;IACvD,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIvC,2EAA2E;IAC3E,UAAU,CAAC,MAAM,EAAE,MAAM;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIrE,6EAA6E;IAC7E,mBAAmB,CAAC,MAAM,EAAE,MAAM,OAAO,GAAG,IAAI;IAIhD,uFAAuF;IACvF,mBAAmB,CAAC,MAAM,EAAE,MAAM,UAAU,GAAG,IAAI;IAInD,iDAAiD;IACjD,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAuBtC,kEAAkE;IAClE,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,WAAW;IA2Ob,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE,SAAS,IAAI,MAAM;IAIb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B7B;AA+ED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoCtE;AAID,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,UAAU,GAAE,MAAW,GACtB,MAAM,CAoJR"}
|
package/dist/hook-server.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { createServer } from 'http';
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
|
+
import { tmpdir } from 'os';
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { writeFileSync, unlinkSync } from 'fs';
|
|
4
7
|
import { debug } from './logger.js';
|
|
5
8
|
import { isLocalConnection, validateToken } from './auth.js';
|
|
9
|
+
import { onFrameRendered, offFrameRendered, setPreviewFps, getPreviewFps } from './pixoo/pixoo-bridge.js';
|
|
6
10
|
export class HookServer extends EventEmitter {
|
|
7
11
|
app;
|
|
8
12
|
server;
|
|
9
13
|
diagHandler = null;
|
|
14
|
+
voiceManager = null;
|
|
15
|
+
apiUsageGetter = null;
|
|
16
|
+
deviceInfoGetter = null;
|
|
17
|
+
pixooFrameGetter = null;
|
|
18
|
+
pixooStreamListener = null;
|
|
10
19
|
// SSE
|
|
11
20
|
sseClients = [];
|
|
21
|
+
sseHeartbeats = new Map();
|
|
22
|
+
pixooStreamTimers = new Set();
|
|
12
23
|
sseIdCounter = 0;
|
|
13
24
|
lastStateEvent = null;
|
|
14
25
|
lastUsageEvent = null;
|
|
26
|
+
pairingToken = null;
|
|
15
27
|
// Metadata for status page / health
|
|
16
28
|
meta = {};
|
|
17
29
|
constructor() {
|
|
@@ -29,6 +41,22 @@ export class HookServer extends EventEmitter {
|
|
|
29
41
|
setMeta(meta) {
|
|
30
42
|
Object.assign(this.meta, meta);
|
|
31
43
|
}
|
|
44
|
+
/** Set voice manager for /voice/transcribe endpoint */
|
|
45
|
+
setVoiceManager(vm) {
|
|
46
|
+
this.voiceManager = vm;
|
|
47
|
+
}
|
|
48
|
+
/** Register a getter for cached API usage data (exposed via GET /usage) */
|
|
49
|
+
onApiUsage(getter) {
|
|
50
|
+
this.apiUsageGetter = getter;
|
|
51
|
+
}
|
|
52
|
+
/** Register a getter for connected device info (exposed via GET /devices) */
|
|
53
|
+
setDeviceInfoGetter(getter) {
|
|
54
|
+
this.deviceInfoGetter = getter;
|
|
55
|
+
}
|
|
56
|
+
/** Register a getter that returns the current Pixoo 64×64 RGB frame (12,288 bytes). */
|
|
57
|
+
setPixooFrameGetter(getter) {
|
|
58
|
+
this.pixooFrameGetter = getter;
|
|
59
|
+
}
|
|
32
60
|
/** Broadcast a BridgeEvent to all SSE clients */
|
|
33
61
|
broadcastSse(event) {
|
|
34
62
|
// Cache latest events for new SSE connections
|
|
@@ -69,13 +97,33 @@ export class HookServer extends EventEmitter {
|
|
|
69
97
|
debug('Hook', 'GET /health');
|
|
70
98
|
res.json({
|
|
71
99
|
status: 'ok',
|
|
100
|
+
mode: this.meta.agentType,
|
|
72
101
|
uptime: process.uptime(),
|
|
73
102
|
agentType: this.meta.agentType,
|
|
74
103
|
projectName: this.meta.projectName,
|
|
104
|
+
state: this.meta.state,
|
|
105
|
+
modelName: this.meta.modelName,
|
|
106
|
+
effortLevel: this.meta.effortLevel,
|
|
75
107
|
wsClients: this.meta.clientCount ?? 0,
|
|
76
108
|
sseClients: this.sseClients.length,
|
|
109
|
+
pairingToken: this.pairingToken,
|
|
77
110
|
});
|
|
78
111
|
});
|
|
112
|
+
// Usage data endpoint (local only, no auth — daemon relays from sibling bridges)
|
|
113
|
+
this.app.get('/usage', (_req, res) => {
|
|
114
|
+
debug('Hook', 'GET /usage');
|
|
115
|
+
if (!this.apiUsageGetter) {
|
|
116
|
+
res.json({ status: 'ok', usage: null, fetchedAt: 0 });
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const data = this.apiUsageGetter();
|
|
120
|
+
res.json({ status: 'ok', usage: data.usage, fetchedAt: data.fetchedAt });
|
|
121
|
+
});
|
|
122
|
+
// Device info endpoint (no auth — local diagnostics)
|
|
123
|
+
this.app.get('/devices', (_req, res) => {
|
|
124
|
+
debug('Hook', 'GET /devices');
|
|
125
|
+
res.json(this.deviceInfoGetter ? this.deviceInfoGetter() : { devices: [] });
|
|
126
|
+
});
|
|
79
127
|
// SSE endpoint
|
|
80
128
|
this.app.get('/sse', (req, res) => {
|
|
81
129
|
if (!this.checkAuth(req, res))
|
|
@@ -87,17 +135,21 @@ export class HookServer extends EventEmitter {
|
|
|
87
135
|
'Connection': 'keep-alive',
|
|
88
136
|
'Access-Control-Allow-Origin': '*',
|
|
89
137
|
});
|
|
138
|
+
res.on('error', () => { }); // Prevent unhandled stream error on client disconnect
|
|
90
139
|
const id = ++this.sseIdCounter;
|
|
91
140
|
this.sseClients.push({ res, id });
|
|
92
141
|
// Send current state snapshot
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
142
|
+
try {
|
|
143
|
+
if (this.lastStateEvent) {
|
|
144
|
+
const data = JSON.stringify(this.lastStateEvent);
|
|
145
|
+
res.write(`event: ${this.lastStateEvent.type}\ndata: ${data}\n\n`);
|
|
146
|
+
}
|
|
147
|
+
if (this.lastUsageEvent) {
|
|
148
|
+
const data = JSON.stringify(this.lastUsageEvent);
|
|
149
|
+
res.write(`event: ${this.lastUsageEvent.type}\ndata: ${data}\n\n`);
|
|
150
|
+
}
|
|
100
151
|
}
|
|
152
|
+
catch { /* client disconnected before initial state sent */ }
|
|
101
153
|
// Keep-alive heartbeat
|
|
102
154
|
const heartbeat = setInterval(() => {
|
|
103
155
|
try {
|
|
@@ -105,8 +157,10 @@ export class HookServer extends EventEmitter {
|
|
|
105
157
|
}
|
|
106
158
|
catch { /* client gone */ }
|
|
107
159
|
}, 30_000);
|
|
160
|
+
this.sseHeartbeats.set(id, heartbeat);
|
|
108
161
|
req.on('close', () => {
|
|
109
162
|
clearInterval(heartbeat);
|
|
163
|
+
this.sseHeartbeats.delete(id);
|
|
110
164
|
this.sseClients = this.sseClients.filter((c) => c.id !== id);
|
|
111
165
|
debug('SSE', `Client disconnected, ${this.sseClients.length} remaining`);
|
|
112
166
|
});
|
|
@@ -146,13 +200,116 @@ export class HookServer extends EventEmitter {
|
|
|
146
200
|
// Respond quickly so the hook doesn't block Claude
|
|
147
201
|
res.json({ received: true });
|
|
148
202
|
});
|
|
203
|
+
// Voice transcription endpoint (accepts raw WAV body)
|
|
204
|
+
this.app.post('/voice/transcribe', express.raw({ type: 'application/octet-stream', limit: '10mb' }), async (req, res) => {
|
|
205
|
+
if (!this.checkAuth(req, res))
|
|
206
|
+
return;
|
|
207
|
+
if (!this.voiceManager) {
|
|
208
|
+
res.status(503).json({ error: 'Voice manager not available' });
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const body = req.body;
|
|
212
|
+
if (!body || body.length < 100) {
|
|
213
|
+
res.status(400).json({ error: 'Empty or too short audio data' });
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
debug('Hook', `POST /voice/transcribe (${body.length} bytes)`);
|
|
217
|
+
// Save to temp file
|
|
218
|
+
const tempFile = join(tmpdir(), `agentdeck-voice-remote-${Date.now()}.wav`);
|
|
219
|
+
try {
|
|
220
|
+
writeFileSync(tempFile, body);
|
|
221
|
+
const text = await this.voiceManager.transcribeFile(tempFile);
|
|
222
|
+
res.json({ text });
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
debug('Hook', `Transcription error: ${err}`);
|
|
226
|
+
res.status(500).json({ error: String(err) });
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
try {
|
|
230
|
+
unlinkSync(tempFile);
|
|
231
|
+
}
|
|
232
|
+
catch { /* ignore */ }
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
// Pixoo live preview — SSE frame stream
|
|
236
|
+
this.app.get('/pixoo/stream', (req, res) => {
|
|
237
|
+
if (!this.pixooFrameGetter) {
|
|
238
|
+
res.status(503).json({ error: 'Pixoo renderer not available' });
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
res.writeHead(200, {
|
|
242
|
+
'Content-Type': 'text/event-stream',
|
|
243
|
+
'Cache-Control': 'no-cache',
|
|
244
|
+
'Connection': 'keep-alive',
|
|
245
|
+
'Access-Control-Allow-Origin': '*',
|
|
246
|
+
});
|
|
247
|
+
res.on('error', () => { }); // Prevent unhandled stream error on client disconnect
|
|
248
|
+
const listener = (frame) => {
|
|
249
|
+
const bmp = rgbToBmp(frame, 64, 64);
|
|
250
|
+
const b64 = bmp.toString('base64');
|
|
251
|
+
try {
|
|
252
|
+
res.write(`event: frame\ndata: ${b64}\n\n`);
|
|
253
|
+
}
|
|
254
|
+
catch { /* client gone */ }
|
|
255
|
+
};
|
|
256
|
+
onFrameRendered(listener);
|
|
257
|
+
// Send current frame immediately
|
|
258
|
+
const current = this.pixooFrameGetter();
|
|
259
|
+
listener(current);
|
|
260
|
+
// Heartbeat — tracked so close() can clear it even if the client
|
|
261
|
+
// hasn't disconnected yet (prevents zombie event loop handles).
|
|
262
|
+
const heartbeat = setInterval(() => {
|
|
263
|
+
try {
|
|
264
|
+
res.write(':heartbeat\n\n');
|
|
265
|
+
}
|
|
266
|
+
catch { /* */ }
|
|
267
|
+
}, 30_000);
|
|
268
|
+
this.pixooStreamTimers.add(heartbeat);
|
|
269
|
+
req.on('close', () => {
|
|
270
|
+
offFrameRendered(listener);
|
|
271
|
+
clearInterval(heartbeat);
|
|
272
|
+
this.pixooStreamTimers.delete(heartbeat);
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
// Pixoo live preview — serves BMP of current frame
|
|
276
|
+
this.app.get('/pixoo/frame', (_req, res) => {
|
|
277
|
+
if (!this.pixooFrameGetter) {
|
|
278
|
+
res.status(503).json({ error: 'Pixoo renderer not available' });
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
const rgb = this.pixooFrameGetter();
|
|
282
|
+
const bmp = rgbToBmp(rgb, 64, 64);
|
|
283
|
+
res.set({
|
|
284
|
+
'Content-Type': 'image/bmp',
|
|
285
|
+
'Cache-Control': 'no-store',
|
|
286
|
+
'Access-Control-Allow-Origin': '*',
|
|
287
|
+
});
|
|
288
|
+
res.send(bmp);
|
|
289
|
+
});
|
|
290
|
+
// Pixoo live preview HTML page
|
|
291
|
+
this.app.get('/pixoo', (_req, res) => {
|
|
292
|
+
debug('Hook', 'GET /pixoo');
|
|
293
|
+
res.type('html').send(pixooLiveHtml(this.meta, getPreviewFps()));
|
|
294
|
+
});
|
|
295
|
+
// Pixoo preview FPS control
|
|
296
|
+
this.app.post('/pixoo/preview-fps', (req, res) => {
|
|
297
|
+
const fps = Number(req.body?.fps);
|
|
298
|
+
if (!isFinite(fps) || fps < 1 || fps > 10) {
|
|
299
|
+
res.status(400).json({ error: 'fps must be 1–10' });
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
setPreviewFps(fps);
|
|
303
|
+
debug('Hook', `Preview FPS set to ${fps}`);
|
|
304
|
+
res.json({ fps: getPreviewFps() });
|
|
305
|
+
});
|
|
149
306
|
// Catch-all for unknown routes
|
|
150
307
|
this.app.use((req, res) => {
|
|
151
308
|
debug('Hook', `404: ${req.method} ${req.url}`);
|
|
152
309
|
res.status(404).json({ error: 'Not found' });
|
|
153
310
|
});
|
|
154
311
|
}
|
|
155
|
-
async listen(port, host = '
|
|
312
|
+
async listen(port, host = '127.0.0.1') {
|
|
156
313
|
return new Promise((resolve, reject) => {
|
|
157
314
|
this.server.on('error', (err) => {
|
|
158
315
|
if (err.code === 'EADDRINUSE') {
|
|
@@ -172,6 +329,16 @@ export class HookServer extends EventEmitter {
|
|
|
172
329
|
return this.server;
|
|
173
330
|
}
|
|
174
331
|
async close() {
|
|
332
|
+
// Clear all SSE heartbeat intervals
|
|
333
|
+
for (const interval of this.sseHeartbeats.values()) {
|
|
334
|
+
clearInterval(interval);
|
|
335
|
+
}
|
|
336
|
+
this.sseHeartbeats.clear();
|
|
337
|
+
// Clear Pixoo stream heartbeats
|
|
338
|
+
for (const timer of this.pixooStreamTimers) {
|
|
339
|
+
clearInterval(timer);
|
|
340
|
+
}
|
|
341
|
+
this.pixooStreamTimers.clear();
|
|
175
342
|
// Close all SSE connections
|
|
176
343
|
for (const client of this.sseClients) {
|
|
177
344
|
try {
|
|
@@ -182,9 +349,14 @@ export class HookServer extends EventEmitter {
|
|
|
182
349
|
this.sseClients = [];
|
|
183
350
|
return new Promise((resolve) => {
|
|
184
351
|
debug('Hook', 'closing server');
|
|
352
|
+
// Destroy all active connections so server.close() resolves immediately
|
|
353
|
+
this.server.closeAllConnections();
|
|
185
354
|
this.server.close(() => {
|
|
186
355
|
resolve();
|
|
187
356
|
});
|
|
357
|
+
// Fallback: resolve after 1s even if server.close() hangs.
|
|
358
|
+
// .unref() so this timer doesn't keep the event loop alive as a zombie.
|
|
359
|
+
setTimeout(resolve, 1000).unref();
|
|
188
360
|
});
|
|
189
361
|
}
|
|
190
362
|
}
|
|
@@ -257,4 +429,190 @@ es.addEventListener('usage_update',e=>{
|
|
|
257
429
|
function esc(s) {
|
|
258
430
|
return s.replace(/[&<>"']/g, (c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' })[c] || c);
|
|
259
431
|
}
|
|
432
|
+
// ─── BMP Generator (24-bit uncompressed) ────────────────────────────────────
|
|
433
|
+
/** Convert raw RGB buffer to 24-bit BMP. Rows flipped + BGR byte order. */
|
|
434
|
+
export function rgbToBmp(rgb, w, h) {
|
|
435
|
+
const rowBytes = w * 3;
|
|
436
|
+
// BMP rows must be padded to 4-byte boundary
|
|
437
|
+
const rowPad = (4 - (rowBytes % 4)) % 4;
|
|
438
|
+
const paddedRow = rowBytes + rowPad;
|
|
439
|
+
const imageSize = paddedRow * h;
|
|
440
|
+
const fileSize = 54 + imageSize;
|
|
441
|
+
const buf = Buffer.alloc(fileSize);
|
|
442
|
+
// File header (14 bytes)
|
|
443
|
+
buf[0] = 0x42;
|
|
444
|
+
buf[1] = 0x4D; // "BM"
|
|
445
|
+
buf.writeUInt32LE(fileSize, 2);
|
|
446
|
+
buf.writeUInt32LE(54, 10); // pixel data offset
|
|
447
|
+
// Info header (40 bytes)
|
|
448
|
+
buf.writeUInt32LE(40, 14);
|
|
449
|
+
buf.writeInt32LE(w, 18);
|
|
450
|
+
buf.writeInt32LE(h, 22);
|
|
451
|
+
buf.writeUInt16LE(1, 26); // planes
|
|
452
|
+
buf.writeUInt16LE(24, 28); // bpp
|
|
453
|
+
buf.writeUInt32LE(imageSize, 34);
|
|
454
|
+
// Pixel data (bottom-to-top, BGR)
|
|
455
|
+
for (let y = 0; y < h; y++) {
|
|
456
|
+
const srcRow = (h - 1 - y) * w * 3;
|
|
457
|
+
const dstRow = 54 + y * paddedRow;
|
|
458
|
+
for (let x = 0; x < w; x++) {
|
|
459
|
+
const si = srcRow + x * 3;
|
|
460
|
+
const di = dstRow + x * 3;
|
|
461
|
+
buf[di] = rgb[si + 2]; // B
|
|
462
|
+
buf[di + 1] = rgb[si + 1]; // G
|
|
463
|
+
buf[di + 2] = rgb[si]; // R
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
return buf;
|
|
467
|
+
}
|
|
468
|
+
// ─── Pixoo Live Preview HTML ────────────────────────────────────────────────
|
|
469
|
+
export function pixooLiveHtml(meta, initialFps = 10) {
|
|
470
|
+
return `<!DOCTYPE html>
|
|
471
|
+
<html lang="en">
|
|
472
|
+
<head>
|
|
473
|
+
<meta charset="utf-8">
|
|
474
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
475
|
+
<title>Pixoo Live — ${meta.projectName || 'AgentDeck'}</title>
|
|
476
|
+
<style>
|
|
477
|
+
*{margin:0;padding:0;box-sizing:border-box}
|
|
478
|
+
body{background:#0a0a0a;color:#e2e8f0;font-family:system-ui,-apple-system,sans-serif;
|
|
479
|
+
display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}
|
|
480
|
+
h1{font-size:14px;color:#64748b;letter-spacing:1px;text-transform:uppercase}
|
|
481
|
+
.frame-box{position:relative;border-radius:12px;overflow:hidden;
|
|
482
|
+
box-shadow:0 0 40px rgba(59,130,246,0.15),0 0 80px rgba(59,130,246,0.05)}
|
|
483
|
+
canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}
|
|
484
|
+
.hud{display:flex;gap:20px;font-size:12px;color:#64748b}
|
|
485
|
+
.hud .val{color:#94a3b8;font-weight:600}
|
|
486
|
+
.state-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}
|
|
487
|
+
.controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
|
|
488
|
+
.controls button{background:#1e293b;color:#94a3b8;border:1px solid #334155;border-radius:6px;
|
|
489
|
+
padding:4px 12px;font-size:11px;cursor:pointer;transition:all 0.15s}
|
|
490
|
+
.controls button:hover{background:#334155;color:#e2e8f0}
|
|
491
|
+
.controls button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}
|
|
492
|
+
.sep{width:1px;background:#334155;margin:0 4px}
|
|
493
|
+
.paused canvas{opacity:0.4}
|
|
494
|
+
</style>
|
|
495
|
+
</head>
|
|
496
|
+
<body>
|
|
497
|
+
<h1>Pixoo 64×64 Live Preview</h1>
|
|
498
|
+
<div class="frame-box" id="framebox">
|
|
499
|
+
<canvas id="cv" width="512" height="512"></canvas>
|
|
500
|
+
</div>
|
|
501
|
+
<div class="hud">
|
|
502
|
+
<span><span class="state-dot" id="dot"></span><span class="val" id="state">—</span></span>
|
|
503
|
+
<span>FPS <span class="val" id="fps">0</span></span>
|
|
504
|
+
<span>Frame <span class="val" id="fnum">0</span></span>
|
|
505
|
+
<span>Scale <span class="val" id="scaleLabel">8×</span></span>
|
|
506
|
+
<span>Preview <span class="val" id="previewFpsLabel">${initialFps}</span> FPS</span>
|
|
507
|
+
</div>
|
|
508
|
+
<div class="controls">
|
|
509
|
+
<button id="btnPause">Pause</button>
|
|
510
|
+
<div class="sep"></div>
|
|
511
|
+
<button id="btn4" data-s="4">4×</button>
|
|
512
|
+
<button id="btn8" data-s="8" class="active">8×</button>
|
|
513
|
+
<button id="btn12" data-s="12">12×</button>
|
|
514
|
+
<div class="sep"></div>
|
|
515
|
+
<button class="fps-btn${initialFps === 1 ? ' active' : ''}" data-fps="1">1 FPS</button>
|
|
516
|
+
<button class="fps-btn${initialFps === 2 ? ' active' : ''}" data-fps="2">2 FPS</button>
|
|
517
|
+
<button class="fps-btn${initialFps === 5 ? ' active' : ''}" data-fps="5">5 FPS</button>
|
|
518
|
+
<button class="fps-btn${initialFps === 10 ? ' active' : ''}" data-fps="10">10 FPS</button>
|
|
519
|
+
</div>
|
|
520
|
+
|
|
521
|
+
<script>
|
|
522
|
+
const cv=document.getElementById('cv');
|
|
523
|
+
const ctx=cv.getContext('2d');
|
|
524
|
+
const dot=document.getElementById('dot');
|
|
525
|
+
const $state=document.getElementById('state');
|
|
526
|
+
const $fps=document.getElementById('fps');
|
|
527
|
+
const $fnum=document.getElementById('fnum');
|
|
528
|
+
const $scale=document.getElementById('scaleLabel');
|
|
529
|
+
const $previewFpsLabel=document.getElementById('previewFpsLabel');
|
|
530
|
+
const framebox=document.getElementById('framebox');
|
|
531
|
+
|
|
532
|
+
let scale=8, paused=false, frameNum=0;
|
|
533
|
+
let lastTime=performance.now(), frameCount=0, displayFps=0;
|
|
534
|
+
|
|
535
|
+
// Scale buttons
|
|
536
|
+
document.querySelectorAll('.controls button[data-s]').forEach(btn=>{
|
|
537
|
+
btn.addEventListener('click',()=>{
|
|
538
|
+
scale=parseInt(btn.dataset.s);
|
|
539
|
+
cv.width=64*scale; cv.height=64*scale;
|
|
540
|
+
$scale.textContent=scale+'×';
|
|
541
|
+
document.querySelectorAll('.controls button[data-s]').forEach(b=>b.classList.remove('active'));
|
|
542
|
+
btn.classList.add('active');
|
|
543
|
+
});
|
|
544
|
+
});
|
|
545
|
+
|
|
546
|
+
// Pause
|
|
547
|
+
document.getElementById('btnPause').addEventListener('click',function(){
|
|
548
|
+
paused=!paused;
|
|
549
|
+
this.textContent=paused?'Resume':'Pause';
|
|
550
|
+
framebox.classList.toggle('paused',paused);
|
|
551
|
+
});
|
|
552
|
+
|
|
553
|
+
// FPS buttons
|
|
554
|
+
function setActiveFpsBtn(fps){
|
|
555
|
+
document.querySelectorAll('.fps-btn').forEach(b=>{
|
|
556
|
+
b.classList.toggle('active', parseInt(b.dataset.fps)===fps);
|
|
557
|
+
});
|
|
558
|
+
$previewFpsLabel.textContent=fps;
|
|
559
|
+
}
|
|
560
|
+
document.querySelectorAll('.fps-btn').forEach(btn=>{
|
|
561
|
+
btn.addEventListener('click',async()=>{
|
|
562
|
+
const fps=parseInt(btn.dataset.fps);
|
|
563
|
+
try{
|
|
564
|
+
const r=await fetch('/pixoo/preview-fps',{
|
|
565
|
+
method:'POST',
|
|
566
|
+
headers:{'Content-Type':'application/json'},
|
|
567
|
+
body:JSON.stringify({fps})
|
|
568
|
+
});
|
|
569
|
+
const d=await r.json();
|
|
570
|
+
setActiveFpsBtn(d.fps||fps);
|
|
571
|
+
}catch(e){
|
|
572
|
+
console.error('FPS change failed',e);
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
});
|
|
576
|
+
|
|
577
|
+
// State colors
|
|
578
|
+
const stateColors={IDLE:'#22c55e',PROCESSING:'#3b82f6',
|
|
579
|
+
AWAITING_OPTION:'#f59e0b',AWAITING_PERMISSION:'#f59e0b',AWAITING_DIFF:'#f59e0b',
|
|
580
|
+
DISCONNECTED:'#ef4444'};
|
|
581
|
+
|
|
582
|
+
// SSE for state info
|
|
583
|
+
const es=new EventSource('/sse');
|
|
584
|
+
es.addEventListener('state_update',e=>{
|
|
585
|
+
const d=JSON.parse(e.data);
|
|
586
|
+
const s=d.state||'IDLE';
|
|
587
|
+
$state.textContent=s;
|
|
588
|
+
dot.style.background=stateColors[s]||'#64748b';
|
|
589
|
+
});
|
|
590
|
+
|
|
591
|
+
// SSE frame stream
|
|
592
|
+
const stream=new EventSource('/pixoo/stream');
|
|
593
|
+
stream.addEventListener('frame',function(e){
|
|
594
|
+
if(paused) return;
|
|
595
|
+
const img=new Image();
|
|
596
|
+
img.onload=function(){
|
|
597
|
+
ctx.imageSmoothingEnabled=false;
|
|
598
|
+
ctx.drawImage(img,0,0,cv.width,cv.height);
|
|
599
|
+
frameNum++;
|
|
600
|
+
$fnum.textContent=frameNum;
|
|
601
|
+
|
|
602
|
+
// FPS calc
|
|
603
|
+
frameCount++;
|
|
604
|
+
const now=performance.now();
|
|
605
|
+
if(now-lastTime>=1000){
|
|
606
|
+
displayFps=frameCount;
|
|
607
|
+
frameCount=0;
|
|
608
|
+
lastTime=now;
|
|
609
|
+
$fps.textContent=displayFps;
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
img.src='data:image/bmp;base64,'+e.data;
|
|
613
|
+
});
|
|
614
|
+
</script>
|
|
615
|
+
</body>
|
|
616
|
+
</html>`;
|
|
617
|
+
}
|
|
260
618
|
//# sourceMappingURL=hook-server.js.map
|
package/dist/hook-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-server.js","sourceRoot":"","sources":["../src/hook-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-server.js","sourceRoot":"","sources":["../src/hook-server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AgentDeck Bridge — session entry point.
|
|
3
|
+
*
|
|
4
|
+
* Exports `startSession()` called by cli.ts.
|
|
5
|
+
* Uses BridgeCore for shared infrastructure.
|
|
6
|
+
*/
|
|
7
|
+
import type { ModuleConfigs } from './modules/types.js';
|
|
8
|
+
import { type AgentType } from './types.js';
|
|
9
|
+
export interface SessionOptions {
|
|
10
|
+
agentType: AgentType;
|
|
11
|
+
port?: number;
|
|
12
|
+
command?: string;
|
|
13
|
+
gatewayUrl?: string;
|
|
14
|
+
debug?: boolean;
|
|
15
|
+
noUpdateCheck?: boolean;
|
|
16
|
+
wakeWord?: boolean;
|
|
17
|
+
postit?: boolean;
|
|
18
|
+
modules?: ModuleConfigs;
|
|
19
|
+
}
|
|
20
|
+
export declare function startSession(opts: SessionOptions): Promise<void>;
|
|
3
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,OAAO,EAOL,KAAK,SAAS,EAQf,MAAM,YAAY,CAAC;AAwDpB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAID,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2jCtE"}
|