@agentdeck/bridge 0.1.0 → 0.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.
Files changed (384) hide show
  1. package/LICENSE +21 -0
  2. package/dist/adapters/claude-code.d.ts +11 -27
  3. package/dist/adapters/claude-code.d.ts.map +1 -1
  4. package/dist/adapters/claude-code.js +29 -123
  5. package/dist/adapters/claude-code.js.map +1 -1
  6. package/dist/adapters/codex-cli.d.ts +21 -0
  7. package/dist/adapters/codex-cli.d.ts.map +1 -0
  8. package/dist/adapters/codex-cli.js +53 -0
  9. package/dist/adapters/codex-cli.js.map +1 -0
  10. package/dist/adapters/index.d.ts +4 -0
  11. package/dist/adapters/index.d.ts.map +1 -1
  12. package/dist/adapters/index.js +13 -0
  13. package/dist/adapters/index.js.map +1 -1
  14. package/dist/adapters/monitor.d.ts +34 -0
  15. package/dist/adapters/monitor.d.ts.map +1 -0
  16. package/dist/adapters/monitor.js +86 -0
  17. package/dist/adapters/monitor.js.map +1 -0
  18. package/dist/adapters/openclaw.d.ts +36 -2
  19. package/dist/adapters/openclaw.d.ts.map +1 -1
  20. package/dist/adapters/openclaw.js +329 -59
  21. package/dist/adapters/openclaw.js.map +1 -1
  22. package/dist/adapters/opencode-adapter.d.ts +48 -0
  23. package/dist/adapters/opencode-adapter.d.ts.map +1 -0
  24. package/dist/adapters/opencode-adapter.js +345 -0
  25. package/dist/adapters/opencode-adapter.js.map +1 -0
  26. package/dist/adapters/pty-adapter.d.ts +56 -0
  27. package/dist/adapters/pty-adapter.d.ts.map +1 -0
  28. package/dist/adapters/pty-adapter.js +143 -0
  29. package/dist/adapters/pty-adapter.js.map +1 -0
  30. package/dist/adb-reverse.d.ts +25 -0
  31. package/dist/adb-reverse.d.ts.map +1 -0
  32. package/dist/adb-reverse.js +129 -0
  33. package/dist/adb-reverse.js.map +1 -0
  34. package/dist/antigravity-local.d.ts +7 -0
  35. package/dist/antigravity-local.d.ts.map +1 -0
  36. package/dist/antigravity-local.js +153 -0
  37. package/dist/antigravity-local.js.map +1 -0
  38. package/dist/apme/adapters/claude-hook.d.ts +15 -0
  39. package/dist/apme/adapters/claude-hook.d.ts.map +1 -0
  40. package/dist/apme/adapters/claude-hook.js +85 -0
  41. package/dist/apme/adapters/claude-hook.js.map +1 -0
  42. package/dist/apme/adapters/claude-pty.d.ts +28 -0
  43. package/dist/apme/adapters/claude-pty.d.ts.map +1 -0
  44. package/dist/apme/adapters/claude-pty.js +88 -0
  45. package/dist/apme/adapters/claude-pty.js.map +1 -0
  46. package/dist/apme/adapters/timeline.d.ts +16 -0
  47. package/dist/apme/adapters/timeline.d.ts.map +1 -0
  48. package/dist/apme/adapters/timeline.js +66 -0
  49. package/dist/apme/adapters/timeline.js.map +1 -0
  50. package/dist/apme/classifier.d.ts +53 -0
  51. package/dist/apme/classifier.d.ts.map +1 -0
  52. package/dist/apme/classifier.js +266 -0
  53. package/dist/apme/classifier.js.map +1 -0
  54. package/dist/apme/claude-transcript-reader.d.ts +38 -0
  55. package/dist/apme/claude-transcript-reader.d.ts.map +1 -0
  56. package/dist/apme/claude-transcript-reader.js +127 -0
  57. package/dist/apme/claude-transcript-reader.js.map +1 -0
  58. package/dist/apme/collector.d.ts +108 -0
  59. package/dist/apme/collector.d.ts.map +1 -0
  60. package/dist/apme/collector.js +659 -0
  61. package/dist/apme/collector.js.map +1 -0
  62. package/dist/apme/dashboard-html.d.ts +9 -0
  63. package/dist/apme/dashboard-html.d.ts.map +1 -0
  64. package/dist/apme/dashboard-html.js +416 -0
  65. package/dist/apme/dashboard-html.js.map +1 -0
  66. package/dist/apme/http.d.ts +19 -0
  67. package/dist/apme/http.d.ts.map +1 -0
  68. package/dist/apme/http.js +210 -0
  69. package/dist/apme/http.js.map +1 -0
  70. package/dist/apme/hw-sampler.d.ts +30 -0
  71. package/dist/apme/hw-sampler.d.ts.map +1 -0
  72. package/dist/apme/hw-sampler.js +106 -0
  73. package/dist/apme/hw-sampler.js.map +1 -0
  74. package/dist/apme/index.d.ts +43 -0
  75. package/dist/apme/index.d.ts.map +1 -0
  76. package/dist/apme/index.js +75 -0
  77. package/dist/apme/index.js.map +1 -0
  78. package/dist/apme/outcome.d.ts +48 -0
  79. package/dist/apme/outcome.d.ts.map +1 -0
  80. package/dist/apme/outcome.js +232 -0
  81. package/dist/apme/outcome.js.map +1 -0
  82. package/dist/apme/recommend.d.ts +32 -0
  83. package/dist/apme/recommend.d.ts.map +1 -0
  84. package/dist/apme/recommend.js +41 -0
  85. package/dist/apme/recommend.js.map +1 -0
  86. package/dist/apme/runner.d.ts +94 -0
  87. package/dist/apme/runner.d.ts.map +1 -0
  88. package/dist/apme/runner.js +812 -0
  89. package/dist/apme/runner.js.map +1 -0
  90. package/dist/apme/settings.d.ts +65 -0
  91. package/dist/apme/settings.d.ts.map +1 -0
  92. package/dist/apme/settings.js +97 -0
  93. package/dist/apme/settings.js.map +1 -0
  94. package/dist/apme/store.d.ts +99 -0
  95. package/dist/apme/store.d.ts.map +1 -0
  96. package/dist/apme/store.js +911 -0
  97. package/dist/apme/store.js.map +1 -0
  98. package/dist/apme/tuner.d.ts +64 -0
  99. package/dist/apme/tuner.d.ts.map +1 -0
  100. package/dist/apme/tuner.js +297 -0
  101. package/dist/apme/tuner.js.map +1 -0
  102. package/dist/apme/types.d.ts +11 -0
  103. package/dist/apme/types.d.ts.map +1 -0
  104. package/dist/apme/types.js +10 -0
  105. package/dist/apme/types.js.map +1 -0
  106. package/dist/auth.d.ts +1 -1
  107. package/dist/auth.d.ts.map +1 -1
  108. package/dist/auth.js +15 -5
  109. package/dist/auth.js.map +1 -1
  110. package/dist/bridge-core.d.ts +162 -0
  111. package/dist/bridge-core.d.ts.map +1 -0
  112. package/dist/bridge-core.js +627 -0
  113. package/dist/bridge-core.js.map +1 -0
  114. package/dist/check-deps.d.ts +3 -1
  115. package/dist/check-deps.d.ts.map +1 -1
  116. package/dist/check-deps.js +34 -13
  117. package/dist/check-deps.js.map +1 -1
  118. package/dist/cli.d.ts +3 -0
  119. package/dist/cli.d.ts.map +1 -0
  120. package/dist/cli.js +1235 -0
  121. package/dist/cli.js.map +1 -0
  122. package/dist/codex-auth.d.ts +10 -0
  123. package/dist/codex-auth.d.ts.map +1 -0
  124. package/dist/codex-auth.js +63 -0
  125. package/dist/codex-auth.js.map +1 -0
  126. package/dist/codex-output-parser.d.ts +21 -0
  127. package/dist/codex-output-parser.d.ts.map +1 -0
  128. package/dist/codex-output-parser.js +253 -0
  129. package/dist/codex-output-parser.js.map +1 -0
  130. package/dist/d200h/hid-protocol.d.ts +62 -0
  131. package/dist/d200h/hid-protocol.d.ts.map +1 -0
  132. package/dist/d200h/hid-protocol.js +124 -0
  133. package/dist/d200h/hid-protocol.js.map +1 -0
  134. package/dist/d200h/image-renderer.d.ts +36 -0
  135. package/dist/d200h/image-renderer.d.ts.map +1 -0
  136. package/dist/d200h/image-renderer.js +487 -0
  137. package/dist/d200h/image-renderer.js.map +1 -0
  138. package/dist/daemon-server.d.ts +19 -0
  139. package/dist/daemon-server.d.ts.map +1 -0
  140. package/dist/daemon-server.js +1168 -0
  141. package/dist/daemon-server.js.map +1 -0
  142. package/dist/daemon-ws-client.d.ts +82 -0
  143. package/dist/daemon-ws-client.d.ts.map +1 -0
  144. package/dist/daemon-ws-client.js +179 -0
  145. package/dist/daemon-ws-client.js.map +1 -0
  146. package/dist/daemon.d.ts +10 -0
  147. package/dist/daemon.d.ts.map +1 -0
  148. package/dist/daemon.js +56 -0
  149. package/dist/daemon.js.map +1 -0
  150. package/dist/display-monitor.d.ts +25 -0
  151. package/dist/display-monitor.d.ts.map +1 -0
  152. package/dist/display-monitor.js +143 -0
  153. package/dist/display-monitor.js.map +1 -0
  154. package/dist/esp32-serial.d.ts +112 -0
  155. package/dist/esp32-serial.d.ts.map +1 -0
  156. package/dist/esp32-serial.js +502 -0
  157. package/dist/esp32-serial.js.map +1 -0
  158. package/dist/gateway-probe.d.ts +12 -0
  159. package/dist/gateway-probe.d.ts.map +1 -0
  160. package/dist/gateway-probe.js +39 -0
  161. package/dist/gateway-probe.js.map +1 -0
  162. package/dist/hook-migration.d.ts +2 -0
  163. package/dist/hook-migration.d.ts.map +1 -0
  164. package/dist/hook-migration.js +104 -0
  165. package/dist/hook-migration.js.map +1 -0
  166. package/dist/hook-server.d.ts +29 -0
  167. package/dist/hook-server.d.ts.map +1 -1
  168. package/dist/hook-server.js +366 -8
  169. package/dist/hook-server.js.map +1 -1
  170. package/dist/index.d.ts +20 -2
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +1304 -562
  173. package/dist/index.js.map +1 -1
  174. package/dist/log-stream.d.ts +26 -0
  175. package/dist/log-stream.d.ts.map +1 -0
  176. package/dist/log-stream.js +111 -0
  177. package/dist/log-stream.js.map +1 -0
  178. package/dist/logger.d.ts +9 -2
  179. package/dist/logger.d.ts.map +1 -1
  180. package/dist/logger.js +36 -5
  181. package/dist/logger.js.map +1 -1
  182. package/dist/mdns.d.ts +15 -1
  183. package/dist/mdns.d.ts.map +1 -1
  184. package/dist/mdns.js +143 -28
  185. package/dist/mdns.js.map +1 -1
  186. package/dist/mlx-probe.d.ts +14 -0
  187. package/dist/mlx-probe.d.ts.map +1 -0
  188. package/dist/mlx-probe.js +44 -0
  189. package/dist/mlx-probe.js.map +1 -0
  190. package/dist/model-catalog.d.ts +5 -3
  191. package/dist/model-catalog.d.ts.map +1 -1
  192. package/dist/model-catalog.js +45 -29
  193. package/dist/model-catalog.js.map +1 -1
  194. package/dist/modules/adb-module.d.ts +14 -0
  195. package/dist/modules/adb-module.d.ts.map +1 -0
  196. package/dist/modules/adb-module.js +36 -0
  197. package/dist/modules/adb-module.js.map +1 -0
  198. package/dist/modules/d200h-module.d.ts +43 -0
  199. package/dist/modules/d200h-module.d.ts.map +1 -0
  200. package/dist/modules/d200h-module.js +360 -0
  201. package/dist/modules/d200h-module.js.map +1 -0
  202. package/dist/modules/d200h-renderer.d.ts +7 -0
  203. package/dist/modules/d200h-renderer.d.ts.map +1 -0
  204. package/dist/modules/d200h-renderer.js +321 -0
  205. package/dist/modules/d200h-renderer.js.map +1 -0
  206. package/dist/modules/index.d.ts +23 -0
  207. package/dist/modules/index.d.ts.map +1 -0
  208. package/dist/modules/index.js +65 -0
  209. package/dist/modules/index.js.map +1 -0
  210. package/dist/modules/mdns-module.d.ts +12 -0
  211. package/dist/modules/mdns-module.d.ts.map +1 -0
  212. package/dist/modules/mdns-module.js +21 -0
  213. package/dist/modules/mdns-module.js.map +1 -0
  214. package/dist/modules/pixoo-module.d.ts +8 -0
  215. package/dist/modules/pixoo-module.d.ts.map +1 -0
  216. package/dist/modules/pixoo-module.js +24 -0
  217. package/dist/modules/pixoo-module.js.map +1 -0
  218. package/dist/modules/serial-module.d.ts +18 -0
  219. package/dist/modules/serial-module.d.ts.map +1 -0
  220. package/dist/modules/serial-module.js +47 -0
  221. package/dist/modules/serial-module.js.map +1 -0
  222. package/dist/modules/types.d.ts +39 -0
  223. package/dist/modules/types.d.ts.map +1 -0
  224. package/dist/modules/types.js +2 -0
  225. package/dist/modules/types.js.map +1 -0
  226. package/dist/ollama-probe.d.ts +13 -0
  227. package/dist/ollama-probe.d.ts.map +1 -0
  228. package/dist/ollama-probe.js +46 -0
  229. package/dist/ollama-probe.js.map +1 -0
  230. package/dist/opencode-client.d.ts +126 -0
  231. package/dist/opencode-client.d.ts.map +1 -0
  232. package/dist/opencode-client.js +181 -0
  233. package/dist/opencode-client.js.map +1 -0
  234. package/dist/output-parser.d.ts +3 -0
  235. package/dist/output-parser.d.ts.map +1 -1
  236. package/dist/output-parser.js +29 -3
  237. package/dist/output-parser.js.map +1 -1
  238. package/dist/passive-observer.d.ts +38 -0
  239. package/dist/passive-observer.d.ts.map +1 -0
  240. package/dist/passive-observer.js +632 -0
  241. package/dist/passive-observer.js.map +1 -0
  242. package/dist/pixoo/pixoo-bridge.d.ts +50 -0
  243. package/dist/pixoo/pixoo-bridge.d.ts.map +1 -0
  244. package/dist/pixoo/pixoo-bridge.js +280 -0
  245. package/dist/pixoo/pixoo-bridge.js.map +1 -0
  246. package/dist/pixoo/pixoo-camera.d.ts +80 -0
  247. package/dist/pixoo/pixoo-camera.d.ts.map +1 -0
  248. package/dist/pixoo/pixoo-camera.js +271 -0
  249. package/dist/pixoo/pixoo-camera.js.map +1 -0
  250. package/dist/pixoo/pixoo-client.d.ts +67 -0
  251. package/dist/pixoo/pixoo-client.d.ts.map +1 -0
  252. package/dist/pixoo/pixoo-client.js +335 -0
  253. package/dist/pixoo/pixoo-client.js.map +1 -0
  254. package/dist/pixoo/pixoo-font.d.ts +24 -0
  255. package/dist/pixoo/pixoo-font.d.ts.map +1 -0
  256. package/dist/pixoo/pixoo-font.js +121 -0
  257. package/dist/pixoo/pixoo-font.js.map +1 -0
  258. package/dist/pixoo/pixoo-renderer.d.ts +32 -0
  259. package/dist/pixoo/pixoo-renderer.d.ts.map +1 -0
  260. package/dist/pixoo/pixoo-renderer.js +696 -0
  261. package/dist/pixoo/pixoo-renderer.js.map +1 -0
  262. package/dist/pixoo/pixoo-settings.d.ts +10 -0
  263. package/dist/pixoo/pixoo-settings.d.ts.map +1 -0
  264. package/dist/pixoo/pixoo-settings.js +47 -0
  265. package/dist/pixoo/pixoo-settings.js.map +1 -0
  266. package/dist/pixoo/pixoo-sprites.d.ts +187 -0
  267. package/dist/pixoo/pixoo-sprites.d.ts.map +1 -0
  268. package/dist/pixoo/pixoo-sprites.js +926 -0
  269. package/dist/pixoo/pixoo-sprites.js.map +1 -0
  270. package/dist/pty-manager.d.ts +1 -1
  271. package/dist/pty-manager.d.ts.map +1 -1
  272. package/dist/pty-manager.js +36 -15
  273. package/dist/pty-manager.js.map +1 -1
  274. package/dist/session-aggregator.d.ts +41 -0
  275. package/dist/session-aggregator.d.ts.map +1 -0
  276. package/dist/session-aggregator.js +76 -0
  277. package/dist/session-aggregator.js.map +1 -0
  278. package/dist/session-focus-relay.d.ts +35 -0
  279. package/dist/session-focus-relay.d.ts.map +1 -0
  280. package/dist/session-focus-relay.js +127 -0
  281. package/dist/session-focus-relay.js.map +1 -0
  282. package/dist/session-registry.d.ts +88 -1
  283. package/dist/session-registry.d.ts.map +1 -1
  284. package/dist/session-registry.js +222 -15
  285. package/dist/session-registry.js.map +1 -1
  286. package/dist/session-timeline-relay.d.ts +27 -0
  287. package/dist/session-timeline-relay.d.ts.map +1 -0
  288. package/dist/session-timeline-relay.js +124 -0
  289. package/dist/session-timeline-relay.js.map +1 -0
  290. package/dist/state-machine.d.ts +1 -0
  291. package/dist/state-machine.d.ts.map +1 -1
  292. package/dist/state-machine.js +14 -0
  293. package/dist/state-machine.js.map +1 -1
  294. package/dist/terminal-status.d.ts +28 -0
  295. package/dist/terminal-status.d.ts.map +1 -0
  296. package/dist/terminal-status.js +152 -0
  297. package/dist/terminal-status.js.map +1 -0
  298. package/dist/timeline-store.d.ts +22 -0
  299. package/dist/timeline-store.d.ts.map +1 -0
  300. package/dist/timeline-store.js +79 -0
  301. package/dist/timeline-store.js.map +1 -0
  302. package/dist/timeline-summarizer.d.ts +14 -0
  303. package/dist/timeline-summarizer.d.ts.map +1 -0
  304. package/dist/timeline-summarizer.js +154 -0
  305. package/dist/timeline-summarizer.js.map +1 -0
  306. package/dist/tts.d.ts +25 -0
  307. package/dist/tts.d.ts.map +1 -0
  308. package/dist/tts.js +99 -0
  309. package/dist/tts.js.map +1 -0
  310. package/dist/tui/ansi.d.ts +92 -0
  311. package/dist/tui/ansi.d.ts.map +1 -0
  312. package/dist/tui/ansi.js +181 -0
  313. package/dist/tui/ansi.js.map +1 -0
  314. package/dist/tui/dashboard.d.ts +35 -0
  315. package/dist/tui/dashboard.d.ts.map +1 -0
  316. package/dist/tui/dashboard.js +436 -0
  317. package/dist/tui/dashboard.js.map +1 -0
  318. package/dist/tui/gauge.d.ts +15 -0
  319. package/dist/tui/gauge.d.ts.map +1 -0
  320. package/dist/tui/gauge.js +82 -0
  321. package/dist/tui/gauge.js.map +1 -0
  322. package/dist/tui/renderer.d.ts +15 -0
  323. package/dist/tui/renderer.d.ts.map +1 -0
  324. package/dist/tui/renderer.js +758 -0
  325. package/dist/tui/renderer.js.map +1 -0
  326. package/dist/tui/screen.d.ts +27 -0
  327. package/dist/tui/screen.d.ts.map +1 -0
  328. package/dist/tui/screen.js +109 -0
  329. package/dist/tui/screen.js.map +1 -0
  330. package/dist/tui/terrarium.d.ts +96 -0
  331. package/dist/tui/terrarium.d.ts.map +1 -0
  332. package/dist/tui/terrarium.js +912 -0
  333. package/dist/tui/terrarium.js.map +1 -0
  334. package/dist/types.d.ts +4 -2
  335. package/dist/types.d.ts.map +1 -1
  336. package/dist/types.js +3 -2
  337. package/dist/types.js.map +1 -1
  338. package/dist/usage-api.d.ts +9 -2
  339. package/dist/usage-api.d.ts.map +1 -1
  340. package/dist/usage-api.js +224 -42
  341. package/dist/usage-api.js.map +1 -1
  342. package/dist/usage-event.d.ts +12 -0
  343. package/dist/usage-event.d.ts.map +1 -0
  344. package/dist/usage-event.js +78 -0
  345. package/dist/usage-event.js.map +1 -0
  346. package/dist/usage-tracker.d.ts +4 -0
  347. package/dist/usage-tracker.d.ts.map +1 -1
  348. package/dist/usage-tracker.js +17 -0
  349. package/dist/usage-tracker.js.map +1 -1
  350. package/dist/utility-proxy.d.ts +30 -0
  351. package/dist/utility-proxy.d.ts.map +1 -0
  352. package/dist/utility-proxy.js +217 -0
  353. package/dist/utility-proxy.js.map +1 -0
  354. package/dist/utils/project-name.d.ts +22 -0
  355. package/dist/utils/project-name.d.ts.map +1 -0
  356. package/dist/utils/project-name.js +72 -0
  357. package/dist/utils/project-name.js.map +1 -0
  358. package/dist/version-check.d.ts +26 -0
  359. package/dist/version-check.d.ts.map +1 -0
  360. package/dist/version-check.js +225 -0
  361. package/dist/version-check.js.map +1 -0
  362. package/dist/voice-assistant.d.ts +63 -0
  363. package/dist/voice-assistant.d.ts.map +1 -0
  364. package/dist/voice-assistant.js +406 -0
  365. package/dist/voice-assistant.js.map +1 -0
  366. package/dist/voice.d.ts +2 -0
  367. package/dist/voice.d.ts.map +1 -1
  368. package/dist/voice.js +26 -1
  369. package/dist/voice.js.map +1 -1
  370. package/dist/wake-word.d.ts +35 -0
  371. package/dist/wake-word.d.ts.map +1 -0
  372. package/dist/wake-word.js +225 -0
  373. package/dist/wake-word.js.map +1 -0
  374. package/dist/whisper-server-manager.d.ts +1 -1
  375. package/dist/whisper-server-manager.js +1 -1
  376. package/dist/wifi-config.d.ts +24 -0
  377. package/dist/wifi-config.d.ts.map +1 -0
  378. package/dist/wifi-config.js +84 -0
  379. package/dist/wifi-config.js.map +1 -0
  380. package/dist/ws-server.d.ts +12 -0
  381. package/dist/ws-server.d.ts.map +1 -1
  382. package/dist/ws-server.js +81 -3
  383. package/dist/ws-server.js.map +1 -1
  384. package/package.json +21 -13
@@ -0,0 +1,162 @@
1
+ import type { Server } from 'http';
2
+ import type WebSocket from 'ws';
3
+ import { UsageTracker } from './usage-tracker.js';
4
+ import { StateMachine } from './state-machine.js';
5
+ import { WsServer } from './ws-server.js';
6
+ import { OllamaProbe, type OllamaStatus } from './ollama-probe.js';
7
+ import { DisplayMonitor } from './display-monitor.js';
8
+ import { BridgeTimelineStore } from './timeline-store.js';
9
+ import type { BridgeLogStream } from './log-stream.js';
10
+ import { type ApiUsageData } from './usage-api.js';
11
+ import type { ApmeModule } from './apme/index.js';
12
+ import { type BridgeEvent, type StateSnapshot, type AgentType, type AgentCapabilities, type ModelCatalogEntry, type VoiceAssistantState } from './types.js';
13
+ export interface BridgeCoreOptions {
14
+ port: number;
15
+ sessionId?: string;
16
+ projectName: string;
17
+ httpServer: Server;
18
+ }
19
+ /**
20
+ * Shared infrastructure extracted from index.ts and daemon-server.ts.
21
+ *
22
+ * Manages: StateMachine, WsServer, UsageTracker, DisplayMonitor, OllamaProbe,
23
+ * BridgeTimelineStore, auth, session registry, probes, polling, shutdown.
24
+ *
25
+ * Callers (startSession / startDaemon) wire adapters, voice, utility, etc.
26
+ */
27
+ export declare class BridgeCore {
28
+ readonly port: number;
29
+ readonly sessionId: string;
30
+ readonly projectName: string;
31
+ readonly stateMachine: StateMachine;
32
+ readonly usageTracker: UsageTracker;
33
+ readonly wsServer: WsServer;
34
+ readonly bridgeTimeline: BridgeTimelineStore;
35
+ readonly displayMonitor: DisplayMonitor;
36
+ readonly ollamaProbe: OllamaProbe;
37
+ readonly authToken: string;
38
+ readonly wsUrl: string;
39
+ cachedApiUsage: ApiUsageData | null;
40
+ lastApiFetchTime: number;
41
+ oauthConnected: boolean;
42
+ apiUsageStale: boolean;
43
+ /** True when cachedApiUsage was synced from relay's already-adjusted values */
44
+ apiUsagePreAdjusted: boolean;
45
+ cachedOllamaStatus: OllamaStatus | null;
46
+ cachedMlxModels: string[] | null;
47
+ cachedAntigravityStatus: import("./antigravity-local.js").AntigravityStatusInfo | null;
48
+ cachedGatewayAvailable: boolean;
49
+ cachedGatewayConnected: boolean;
50
+ cachedGatewayHasError: boolean;
51
+ cachedModelCatalog: ModelCatalogEntry[] | null;
52
+ cachedVoiceAssistantState: VoiceAssistantState;
53
+ cachedVoiceAssistantText: string | undefined;
54
+ cachedVoiceAssistantResponseText: string | undefined;
55
+ private intervals;
56
+ private timeouts;
57
+ private lastSessionsListBroadcast;
58
+ private shutdownInProgress;
59
+ private shutdownCallbacks;
60
+ private sseBroadcast?;
61
+ /** Optional callback to enrich sessions_list (e.g., daemon injects Gateway virtual session) */
62
+ private sessionsEnricher?;
63
+ /** Optional callback to expose daemon-owned device/module health on state_update. */
64
+ private moduleHealthProvider?;
65
+ /** External client count provider (e.g., ESP32 serial connections) */
66
+ private externalClientCount;
67
+ /** Optional APME subsystem — set via setApme() after initApme() resolves. */
68
+ private apme;
69
+ private apmeAgentType;
70
+ private apmeCwd;
71
+ private static readonly USAGE_STALE_TTL;
72
+ constructor(opts: BridgeCoreOptions);
73
+ /** Set optional SSE broadcast callback (for HookServer-based sessions) */
74
+ setSseBroadcast(cb: (evt: BridgeEvent) => void): void;
75
+ /** Broadcast to WS + optional SSE */
76
+ broadcast(evt: BridgeEvent): void;
77
+ wireTimeline(logStream?: BridgeLogStream): void;
78
+ private _previousDisplayOn;
79
+ private _wakeHandler;
80
+ wireDisplayMonitor(): void;
81
+ /** Register a callback for system wake recovery. */
82
+ onSystemWake(handler: () => void): void;
83
+ /**
84
+ * Build a state_update BridgeEvent.
85
+ * Session mode passes full snapshot extras; daemon uses minimal fields.
86
+ */
87
+ buildStateEvent(opts: {
88
+ agentType: AgentType;
89
+ agentCapabilities?: AgentCapabilities;
90
+ snapshot?: StateSnapshot;
91
+ }): BridgeEvent;
92
+ /** Update cached voice assistant state and trigger a state broadcast */
93
+ updateVoiceAssistantState(vaState: VoiceAssistantState, text?: string, responseText?: string): void;
94
+ /** Build and return a usage event */
95
+ buildUsage(): BridgeEvent;
96
+ /** Broadcast current usage to all clients */
97
+ broadcastUsage(): void;
98
+ /**
99
+ * Update cached API usage and broadcast.
100
+ * Handles billingType inference.
101
+ */
102
+ updateApiUsage(usage: ApiUsageData): void;
103
+ /** Fetch usage from API and update cache. Returns true if successful. */
104
+ fetchAndUpdateUsage(): Promise<boolean>;
105
+ /** Fetch usage if cache is stale or empty (best-effort, no throw) */
106
+ fetchUsageIfStale(): Promise<void>;
107
+ startOllamaProbe(intervalMs?: number): void;
108
+ startMlxProbe(intervalMs?: number): void;
109
+ startAntigravityProbe(intervalMs?: number): void;
110
+ startGatewayProbe(intervalMs: number, onAppeared?: () => void, onDisappeared?: () => void): void;
111
+ startGatewayHealthCheck(intervalMs?: number, delayMs?: number): void;
112
+ /**
113
+ * Start periodic usage tick (session timer on displays).
114
+ * Also clears stale cache after USAGE_STALE_TTL.
115
+ */
116
+ startUsageTick(intervalMs?: number): void;
117
+ /**
118
+ * Start periodic API usage refresh.
119
+ * @param fetchFn Custom fetch function (for daemon relay). Defaults to direct API.
120
+ */
121
+ startApiUsagePolling(intervalMs: number, fetchFn?: () => Promise<ApiUsageData | null>): void;
122
+ /** Start periodic sessions_list broadcast */
123
+ startSessionsListPolling(intervalMs?: number): void;
124
+ /** Register a callback to enrich the sessions list before broadcast */
125
+ setSessionsEnricher(fn: (sessions: import('./session-aggregator.js').EnrichedSession[]) => import('./session-aggregator.js').EnrichedSession[]): void;
126
+ /** Register daemon module-health provider for dashboard diagnostics. */
127
+ setModuleHealthProvider(fn: () => Record<string, unknown>): void;
128
+ /** Register a provider for non-WS client count (e.g., ESP32 serial connections).
129
+ * Used to keep sessions_list polling alive even without WebSocket clients. */
130
+ setExternalClientCountProvider(fn: () => number): void;
131
+ /** Check if any client (WS or external serial) is connected */
132
+ private hasClients;
133
+ /** Broadcast enriched sessions list (debounced 2s from state_changed) */
134
+ broadcastSessionsList(): Promise<void>;
135
+ /** Debounced sessions list broadcast (for state_changed handler) */
136
+ maybeBroadcastSessionsList(): void;
137
+ /**
138
+ * Send initial state to a newly connected WebSocket client.
139
+ * Callers can extend by providing extra events to send.
140
+ */
141
+ sendInitialState(ws: WebSocket, opts: {
142
+ agentType: AgentType;
143
+ agentCapabilities?: AgentCapabilities;
144
+ isAlive: boolean;
145
+ extraEvents?: BridgeEvent[];
146
+ }): void;
147
+ registerSession(agentType: AgentType, extra?: Record<string, unknown>): void;
148
+ deregisterSession(): void;
149
+ /** Attach the APME subsystem. Optional — bridges boot fine without it. */
150
+ setApme(apme: ApmeModule | null, cwd?: string): void;
151
+ /** Expose APME for callers that need to ingest hooks / update usage. */
152
+ getApme(): ApmeModule | null;
153
+ addInterval(iv: ReturnType<typeof setInterval>): void;
154
+ addTimeout(to: ReturnType<typeof setTimeout>): void;
155
+ /** Register a callback to run during shutdown (before process exit). */
156
+ onShutdown(cb: () => void | Promise<void>): void;
157
+ /** Register process-level signal handlers for graceful shutdown. */
158
+ registerProcessHandlers(label: string): void;
159
+ /** Graceful shutdown */
160
+ shutdown(): Promise<void>;
161
+ }
162
+ //# sourceMappingURL=bridge-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-core.d.ts","sourceRoot":"","sources":["../src/bridge-core.ts"],"names":[],"mappings":"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"}