@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
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,KAAK,GAON,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,QAAQ,IAAI,eAAe,EAC3B,UAAU,IAAI,iBAAiB,EAC/B,UAAU,IAAI,kBAAkB,EAChC,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAqB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AASvD,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,UAAU,GAAG;YACjB,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oCAAoC,CAAC;YACtF,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,8BAA8B,CAAC;SACvD,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACpE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;AAExC,4EAA4E;AAC5E,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,yBAAyB,CAAC;KACtC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,iEAAiE;AACjE,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACrC,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,QAAQ,CAAC;KAC3D,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,EAAE,aAAa,CAAC;KAChF,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC/D,MAAM,CAAC,aAAa,EAAE,4CAA4C,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAkB,CAAC;IAC1C,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,+BAA+B,IAAI,KAAK,CAAC,CAAC;IAC9C,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,SAAS,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;QACzD,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,CAAC;KACtF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,yCAAyC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;gBACnF,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAElC,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,GAAG,CAAC,IAAI,CAAC,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;KACtD,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,EAAE,KAAK,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,GAAG,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA2C,CAAC;QAEvE,oBAAoB;QACpB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,8DAA8D,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,SAAoB,EAAE,UAAmB;IACjG,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAG,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,cAAc,IAAI,kBAAkB,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,UAAU,CAAC;IAElB,2DAA2D;IAC3D,oBAAoB,EAAE,CAAC;IAEvB,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,CAAC;YAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QACzF,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAEhE,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,oBAAoB,WAAW,6BAA6B,KAAK,kCAAkC,IAAI,GAAG,CAAC,CAAC;IAClH,CAAC;IAED,GAAG,CAAC,2CAA2C,IAAI,YAAY,SAAS,MAAM,CAAC,CAAC;IAEhF,wDAAwD;IACxD,IAAI,cAAc,GAAwB,IAAI,CAAC;IAC/C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,qCAAqC;IACrC,IAAI,kBAAkB,GAA+B,IAAI,CAAC;IAE1D,2BAA2B;IAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,sFAAsF;IACtF,YAAY,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3C,KAAK,CAAC,KAAK,EAAE,4DAA4D,GAAG,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,0BAA0B,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2EAA2E;IAC3E,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAElE,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,CAAC,8BAA8B;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,GAAG,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;IAErD,iFAAiF;IACjF,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,OAAO,YAAY,iBAAiB,EAAE,CAAC;QACzC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;IAEpD,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/F,sDAAsD;IACtD,OAAO,CAAC,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QACtC,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAS,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,EAAE;QACxC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC7B,QAAQ,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM;YAER,KAAK,QAAQ;gBACX,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvE,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM;YAER,KAAK,UAAU;gBACb,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;oBAClB,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,GAAG,GAAI,GAAG,CAAC,IAAI,EAAE,WAAsB,IAAI,CAAC,CAAC;wBACnD,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC3C,MAAM;oBACR,CAAC;oBACD,KAAK,YAAY;wBACf,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACpC,sCAAsC;wBACtC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;wBAChF,MAAM;oBACR,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAA0B,CAAC;wBAClD,IAAI,IAAI,EAAE,CAAC;4BACT,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAiB,CAAC,CAAC;wBACnE,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,MAAyC,CAAC;wBACnE,IAAI,MAAM,EAAE,CAAC;4BACX,kBAAkB,GAAG,MAAM,CAAC;4BAC5B,KAAK,CAAC,KAAK,EAAE,0BAA0B,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;4BAC/D,6CAA6C;4BAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;4BACxC,MAAM,QAAQ,GAAgB;gCAC5B,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gCACnC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;gCACpC,YAAY,EAAE,kBAAkB,IAAI,SAAS;6BAC9C,CAAC;4BACF,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAC/B,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM;YAER,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;QACpD,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,QAAuB,EAAE,EAAE;QAC3D,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACzJ,4CAA4C;QAC5C,IAAI,UAAmF,CAAC;QACxF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,UAAU,GAAG,cAAc,CAAC;YAC5B,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBACjD,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxE,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClD,UAAU,GAAG,aAAa,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,uFAAuF;QACvF,MAAM,UAAU,GAAgB;YAC9B,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;YACpC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC9C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,SAAS;YAChD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC9C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACnE,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;YACxC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe;gBACzC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,mBAAmB;gBAC5C,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,CAAC;gBACvC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC/C,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,SAAS;YACtD,YAAY,EAAE,kBAAkB,IAAI,SAAS;YAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/B,YAAY,CAAC,UAAU,CAAC,CAAC;QAEzB,+DAA+D;QAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAgB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,UAAW;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;gBACxC,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;YACF,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7B,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAkB,EAAE,EAAE;QACxC,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvC,uCAAuC;QACvC,sDAAsD;QACtD,uEAAuE;QACvE,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,oEAAoE;YACpE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,WAAW;oBACd,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,QAAQ;oBACX,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,eAAe;oBAClB,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,aAAa;oBAChB,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;oBAC7C,MAAM;YACV,CAAC;YACD,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC5C,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,CAAC,KAAK,cAAc,QAAQ,CAAC,SAAS,WAAW,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/G,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACvB,8DAA8D;oBAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;oBAC/C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC9B,KAAK,CAAC,KAAK,EAAE,6BAA6B,KAAK,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACtF,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,4EAA4E;oBAC5E,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACxC,UAAU,CAAC,GAAG,EAAE;wBACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,4CAA4C;oBAC5C,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnD,CAAC;gBACD,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBAC/C,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;gBAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC;oBACtB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI;wBACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,GAAG,CAAC;gBACR,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACrD,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,CAAC,SAAS,WAAW,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;gBAC3E,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACjC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACjE,mEAAmE;gBACnE,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACpB,6BAA6B;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACvD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBAC7C,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACnC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,eAAe,CAAC,MAAM,aAAa,CAAC,CAAC;wBACnF,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/C,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,OAAO;gBACV,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM;YAER,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,qDAAqD;gBACrD,KAAK,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;gBACpD,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpC,IAAI,QAAQ,EAAE,CAAC;wBACb,cAAc,GAAG,QAAQ,CAAC;wBAC1B,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC9B,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;4BACjC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;oBACD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC5C,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9F,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,2DAA2D;IAC3D,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,YAAY,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,2DAA2D;IAC3D,eAAe,CAAC;QACd,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,WAAW;QACpD,WAAW;QACX,SAAS;QACT,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3F,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE5C,uCAAuC;QACvC,IAAI,cAAuF,CAAC;QAC5F,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,cAAc,GAAG,cAAc,CAAC;YAChC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBACjD,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5E,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClD,cAAc,GAAG,aAAa,CAAC;YACjC,CAAC;QACH,CAAC;QAED,qGAAqG;QACrG,IAAI,mBAAmB,GAAkB,QAAQ,CAAC,eAAe,CAAC;QAClE,IAAI,CAAC,mBAAmB,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1D,mBAAmB,GAAG,YAAY,CAAC,2BAA2B,EAAE,CAAC;YACjE,IAAI,mBAAmB,EAAE,CAAC;gBACxB,KAAK,CAAC,KAAK,EAAE,qDAAqD,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAgB;YAC9B,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;YACpC,iBAAiB,EAAE,OAAO,CAAC,YAAY;YACvC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC9C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,SAAS;YAChD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC9C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACnE,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;YACxC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;YAC1C,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe;gBACzC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,mBAAmB;gBAC5C,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,CAAC;gBACvC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC/C,eAAe,EAAE,mBAAmB,IAAI,SAAS;YACjD,YAAY,EAAE,kBAAkB,IAAI,SAAS;YAC7C,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEhC,+DAA+D;QAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;gBAClB,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,cAAe;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;gBACxC,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAgB;YAC9B,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;SACzD,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEhC,qCAAqC;QACrC,iCAAiC;QACjC,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;QAC/C,MAAM,UAAU,GAAG,gBAAgB,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACpE,IAAI,CAAC,cAAc,IAAI,UAAU,EAAE,CAAC;YAClC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,GAAG,QAAQ,CAAC;oBAC1B,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC9B,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;wBACjC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;oBAC9D,CAAC;oBACD,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;oBACzC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,mEAAmE;IACnE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAC5C,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;YAClC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,GAAG,QAAQ,CAAC;oBAC1B,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC9B,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;wBACjC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;oBAC9D,CAAC;oBACD,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC5C,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,wBAAwB;IACxB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,SAAS,QAAQ;QACf,IAAI,kBAAkB;YAAE,OAAO;QAC/B,kBAAkB,GAAG,IAAI,CAAC;QAE1B,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7B,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,WAAW,EAAE,CAAC;QACd,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,wEAAwE;QACxE,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACxC,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,GAAG,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QAC5C,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,QAAuB,EAAE,QAA8B;IAC9E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,SAAS;QACxD,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,SAAS;QACpD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC1C,eAAe,EAAE,QAAQ,EAAE,eAAe,IAAI,SAAS;QACvD,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,SAAS;QACzD,eAAe,EAAE,QAAQ,EAAE,eAAe,IAAI,SAAS;QACvD,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,SAAS;QACzD,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,IAAI,SAAS;QAC3D,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,IAAI,SAAS;QACrE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,IAAI,SAAS;QACnE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,IAAI,SAAS;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAmC,EACnC,YAA0B,EAC1B,QAAkB;IAElB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAS,CAAC,CAAC;YACvE,MAAM;QAER,KAAK,MAAM;YACT,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAS,CAAC,CAAC;YAC1E,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzC,KAAK,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;gBACnE,0EAA0E;gBAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,KAAK,CAAC,KAAK,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;gBAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;YACH,MAAM;QAER,KAAK,QAAQ;YACX,YAAY,CAAC,MAAM,EAAE,CAAC;YACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAS,CAAC,CAAC;YAClE,MAAM;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QACtC,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAE/E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAO;QAE5B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEtB,wCAAwC;gBACxC,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CACjC,iBAAiB,EACjB,mCAAmC,CACpC,CAAC;oBACF,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;gBAED,kDAAkD;gBAClD,4EAA4E;gBAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACvF,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpF,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7C,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;gBAED,gEAAgE;gBAChE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC/B,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BAC5F,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CACnC,iBAAiB,EACjB,mCAAmC,CACpC,CAAC;4BACF,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACtE,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,KAAK,EAAE,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Bridge-side log stream parser for OpenClaw — spawns `openclaw logs --follow --json`
3
+ * and emits TimelineEntry events for relay to Android/plugin clients.
4
+ *
5
+ * Mirror of plugin/src/log-stream.ts but uses shared parseLogLine() and
6
+ * EventEmitter instead of directly writing to a store.
7
+ */
8
+ import { EventEmitter } from 'events';
9
+ export declare class BridgeLogStream extends EventEmitter {
10
+ private proc;
11
+ private running;
12
+ /** Recent tool_request raw texts for dedup against log-based tool_exec */
13
+ private recentToolRequests;
14
+ private cleanupTimer;
15
+ start(): void;
16
+ stop(): void;
17
+ isRunning(): boolean;
18
+ /**
19
+ * Track a tool_request from the WS Gateway to avoid duplicating it
20
+ * when the same tool appears in the log stream.
21
+ */
22
+ trackToolRequest(raw: string): void;
23
+ private isDuplicateToolExec;
24
+ private cleanupRecentRequests;
25
+ }
26
+ //# sourceMappingURL=log-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream.d.ts","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,YAAY,CAA+C;IAEnE,KAAK,IAAI,IAAI;IA0Db,IAAI,IAAI,IAAI;IAcZ,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Bridge-side log stream parser for OpenClaw — spawns `openclaw logs --follow --json`
3
+ * and emits TimelineEntry events for relay to Android/plugin clients.
4
+ *
5
+ * Mirror of plugin/src/log-stream.ts but uses shared parseLogLine() and
6
+ * EventEmitter instead of directly writing to a store.
7
+ */
8
+ import { EventEmitter } from 'events';
9
+ import { spawn } from 'child_process';
10
+ import { createInterface } from 'readline';
11
+ import { augmentedPath, resolveOpenClawBin } from '@agentdeck/shared';
12
+ import { parseLogLine } from './types.js';
13
+ import { debug } from './logger.js';
14
+ export class BridgeLogStream extends EventEmitter {
15
+ proc = null;
16
+ running = false;
17
+ /** Recent tool_request raw texts for dedup against log-based tool_exec */
18
+ recentToolRequests = new Map();
19
+ cleanupTimer = null;
20
+ start() {
21
+ if (this.running)
22
+ return;
23
+ const bin = resolveOpenClawBin();
24
+ debug('log-stream', `Starting log stream: ${bin} logs --follow --json`);
25
+ try {
26
+ this.proc = spawn(bin, ['logs', '--follow', '--json'], {
27
+ stdio: ['ignore', 'pipe', 'ignore'],
28
+ env: { ...process.env, PATH: augmentedPath() },
29
+ });
30
+ }
31
+ catch (err) {
32
+ debug('log-stream', `Failed to spawn openclaw logs: ${err}`);
33
+ return;
34
+ }
35
+ this.running = true;
36
+ if (this.proc.stdout) {
37
+ const rl = createInterface({ input: this.proc.stdout });
38
+ rl.on('line', (line) => {
39
+ try {
40
+ const parsed = JSON.parse(line);
41
+ const entry = parseLogLine(parsed);
42
+ if (!entry)
43
+ return;
44
+ // Dedup: skip tool_exec if a matching tool_request was seen recently
45
+ if (entry.type === 'tool_exec' && this.isDuplicateToolExec(entry.raw)) {
46
+ return;
47
+ }
48
+ this.emit('entry', entry);
49
+ }
50
+ catch {
51
+ // Not valid JSON — ignore
52
+ }
53
+ });
54
+ rl.on('close', () => {
55
+ debug('log-stream', 'Log stream closed');
56
+ this.running = false;
57
+ });
58
+ }
59
+ this.proc.on('error', (err) => {
60
+ debug('log-stream', `Log stream error: ${err.message}`);
61
+ this.running = false;
62
+ });
63
+ this.proc.on('exit', (code) => {
64
+ debug('log-stream', `Log stream exited (code=${code})`);
65
+ this.running = false;
66
+ this.proc = null;
67
+ });
68
+ // Periodic cleanup of stale dedup entries
69
+ this.cleanupTimer = setInterval(() => this.cleanupRecentRequests(), 10_000);
70
+ }
71
+ stop() {
72
+ if (this.proc) {
73
+ debug('log-stream', 'Stopping log stream');
74
+ this.proc.kill('SIGTERM');
75
+ this.proc = null;
76
+ }
77
+ this.running = false;
78
+ if (this.cleanupTimer) {
79
+ clearInterval(this.cleanupTimer);
80
+ this.cleanupTimer = null;
81
+ }
82
+ this.recentToolRequests.clear();
83
+ }
84
+ isRunning() {
85
+ return this.running;
86
+ }
87
+ /**
88
+ * Track a tool_request from the WS Gateway to avoid duplicating it
89
+ * when the same tool appears in the log stream.
90
+ */
91
+ trackToolRequest(raw) {
92
+ this.recentToolRequests.set(raw, Date.now());
93
+ }
94
+ isDuplicateToolExec(raw) {
95
+ const ts = this.recentToolRequests.get(raw);
96
+ if (!ts)
97
+ return false;
98
+ if (Date.now() - ts < 5_000)
99
+ return true;
100
+ this.recentToolRequests.delete(raw);
101
+ return false;
102
+ }
103
+ cleanupRecentRequests() {
104
+ const cutoff = Date.now() - 10_000;
105
+ for (const [key, ts] of this.recentToolRequests) {
106
+ if (ts < cutoff)
107
+ this.recentToolRequests.delete(key);
108
+ }
109
+ }
110
+ }
111
+ //# sourceMappingURL=log-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream.js","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"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"}
package/dist/logger.d.ts CHANGED
@@ -1,11 +1,18 @@
1
1
  /**
2
2
  * Enable debug logging to a file. This avoids interfering with PTY terminal.
3
- * User can `tail -f /tmp/sdc-debug.log` in another terminal.
3
+ * User can `tail -f /tmp/agentdeck-debug.log` in another terminal.
4
4
  */
5
5
  export declare function enableDebugLog(path?: string): void;
6
- /** Standard logging to stderr (shows in terminal alongside PTY output) */
6
+ /**
7
+ * Suppress stderr logging after PTY is active (bridge shares terminal with PTY).
8
+ * When enabled, log() redirects to debug file only (if --debug). Daemon/CLI never call this.
9
+ */
10
+ export declare function setPtyMode(enabled: boolean): void;
11
+ /** Standard logging to stderr (suppressed in PTY mode to avoid terminal noise) */
7
12
  export declare function log(...args: unknown[]): void;
8
13
  export declare function logTagged(tag: string, ...args: unknown[]): void;
14
+ /** Critical errors — always shown even in PTY mode (user action required) */
15
+ export declare function logError(...args: unknown[]): void;
9
16
  /** Debug logging — only goes to file when --debug is enabled */
10
17
  export declare function debug(tag: string, ...args: unknown[]): void;
11
18
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAuB,GAAG,IAAI,CAIhE;AAED,0EAA0E;AAC1E,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE5C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE/D;AAED,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI3D"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAA6B,GAAG,IAAI,CAItE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjD;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAS5C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAS/D;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAOjD;AAED,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI3D"}
package/dist/logger.js CHANGED
@@ -1,22 +1,53 @@
1
1
  import { createWriteStream } from 'fs';
2
2
  let debugStream = null;
3
3
  let debugEnabled = false;
4
+ let ptyMode = false;
4
5
  /**
5
6
  * Enable debug logging to a file. This avoids interfering with PTY terminal.
6
- * User can `tail -f /tmp/sdc-debug.log` in another terminal.
7
+ * User can `tail -f /tmp/agentdeck-debug.log` in another terminal.
7
8
  */
8
- export function enableDebugLog(path = '/tmp/sdc-debug.log') {
9
+ export function enableDebugLog(path = '/tmp/agentdeck-debug.log') {
9
10
  debugStream = createWriteStream(path, { flags: 'w' });
10
11
  debugEnabled = true;
11
- debugStream.write(`[sdc] Debug log started at ${new Date().toISOString()}\n`);
12
+ debugStream.write(`[agentdeck] Debug log started at ${new Date().toISOString()}\n`);
12
13
  }
13
- /** Standard logging to stderr (shows in terminal alongside PTY output) */
14
+ /**
15
+ * Suppress stderr logging after PTY is active (bridge shares terminal with PTY).
16
+ * When enabled, log() redirects to debug file only (if --debug). Daemon/CLI never call this.
17
+ */
18
+ export function setPtyMode(enabled) {
19
+ ptyMode = enabled;
20
+ }
21
+ /** Standard logging to stderr (suppressed in PTY mode to avoid terminal noise) */
14
22
  export function log(...args) {
15
- process.stderr.write(`[sdc] ${args.map(String).join(' ')}\n`);
23
+ if (ptyMode) {
24
+ if (debugEnabled && debugStream) {
25
+ const ts = new Date().toISOString().slice(11, 23);
26
+ debugStream.write(`${ts} [log] ${args.map(String).join(' ')}\n`);
27
+ }
28
+ return;
29
+ }
30
+ process.stderr.write(`[agentdeck] ${args.map(String).join(' ')}\n`);
16
31
  }
17
32
  export function logTagged(tag, ...args) {
33
+ if (ptyMode) {
34
+ if (debugEnabled && debugStream) {
35
+ const ts = new Date().toISOString().slice(11, 23);
36
+ debugStream.write(`${ts} [${tag}] ${args.map(String).join(' ')}\n`);
37
+ }
38
+ return;
39
+ }
18
40
  process.stderr.write(`[${tag}] ${args.map(String).join(' ')}\n`);
19
41
  }
42
+ /** Critical errors — always shown even in PTY mode (user action required) */
43
+ export function logError(...args) {
44
+ const msg = `[agentdeck] ERROR: ${args.map(String).join(' ')}\n`;
45
+ process.stderr.write(msg);
46
+ if (debugEnabled && debugStream) {
47
+ const ts = new Date().toISOString().slice(11, 23);
48
+ debugStream.write(`${ts} [ERROR] ${args.map(String).join(' ')}\n`);
49
+ }
50
+ }
20
51
  /** Debug logging — only goes to file when --debug is enabled */
21
52
  export function debug(tag, ...args) {
22
53
  if (!debugEnabled || !debugStream)
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,IAAI,CAAC;AAEzD,IAAI,WAAW,GAAuB,IAAI,CAAC;AAC3C,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,oBAAoB;IACxD,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,YAAY,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,KAAK,CAAC,8BAA8B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,GAAG,CAAC,GAAG,IAAe;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,GAAG,IAAe;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,GAAG,IAAe;IACnD,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW;QAAE,OAAO;IAC1C,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;IAClE,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/mdns.d.ts CHANGED
@@ -1,9 +1,23 @@
1
1
  import type { AgentType } from './types.js';
2
+ /**
3
+ * Called from uncaughtException handler when mDNS socket fails.
4
+ * Nulls the instance so the recovery timer knows to re-publish.
5
+ */
6
+ export declare function invalidateMdnsInstance(): void;
7
+ /**
8
+ * Force immediate mDNS re-publish (wake recovery).
9
+ * Bypasses the 30s recovery timer interval.
10
+ */
11
+ export declare function triggerMdnsRecovery(): void;
2
12
  /**
3
13
  * Advertise this bridge session via mDNS/Bonjour so Android/LAN clients
4
14
  * can discover it automatically.
5
15
  *
16
+ * Includes automatic recovery: if the underlying mDNS socket fails (e.g. after
17
+ * sleep/wake or WiFi reconnect), a periodic check detects the broken state and
18
+ * re-publishes the service.
19
+ *
6
20
  * @returns cleanup function to call on shutdown
7
21
  */
8
- export declare function advertiseBridge(port: number, projectName: string, agentType: AgentType): () => void;
22
+ export declare function advertiseBridge(port: number, projectName: string, agentType: AgentType, token?: string): () => void;
9
23
  //# sourceMappingURL=mdns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdns.d.ts","sourceRoot":"","sources":["../src/mdns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,MAAM,IAAI,CAkCZ"}
1
+ {"version":3,"file":"mdns.d.ts","sourceRoot":"","sources":["../src/mdns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqB5C;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAQ7C;AAKD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,IAAI,CA8GZ"}