botmux 3.16.1 → 3.17.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.
Files changed (595) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/riff-backend.d.ts +84 -1
  3. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/riff-backend.js +202 -19
  5. package/dist/adapters/backend/riff-backend.js.map +1 -1
  6. package/dist/adapters/backend/sandbox.d.ts +8 -0
  7. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  8. package/dist/adapters/backend/sandbox.js +15 -0
  9. package/dist/adapters/backend/sandbox.js.map +1 -1
  10. package/dist/adapters/backend/tmux-backend.d.ts +61 -7
  11. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-backend.js +80 -9
  13. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  14. package/dist/adapters/backend/tmux-pipe-backend.d.ts +62 -4
  15. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  16. package/dist/adapters/backend/tmux-pipe-backend.js +240 -27
  17. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  18. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  19. package/dist/adapters/cli/claude-code.js +4 -2
  20. package/dist/adapters/cli/claude-code.js.map +1 -1
  21. package/dist/adapters/cli/coco.d.ts.map +1 -1
  22. package/dist/adapters/cli/coco.js +27 -0
  23. package/dist/adapters/cli/coco.js.map +1 -1
  24. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  25. package/dist/adapters/cli/codex-app.js +28 -0
  26. package/dist/adapters/cli/codex-app.js.map +1 -1
  27. package/dist/adapters/cli/codex.d.ts.map +1 -1
  28. package/dist/adapters/cli/codex.js +51 -23
  29. package/dist/adapters/cli/codex.js.map +1 -1
  30. package/dist/adapters/cli/dsh-tui.d.ts +24 -0
  31. package/dist/adapters/cli/dsh-tui.d.ts.map +1 -0
  32. package/dist/adapters/cli/dsh-tui.js +99 -0
  33. package/dist/adapters/cli/dsh-tui.js.map +1 -0
  34. package/dist/adapters/cli/dsh.d.ts.map +1 -1
  35. package/dist/adapters/cli/dsh.js +15 -9
  36. package/dist/adapters/cli/dsh.js.map +1 -1
  37. package/dist/adapters/cli/fs-policy.d.ts +98 -1
  38. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  39. package/dist/adapters/cli/fs-policy.js +182 -7
  40. package/dist/adapters/cli/fs-policy.js.map +1 -1
  41. package/dist/adapters/cli/grok.js +16 -18
  42. package/dist/adapters/cli/grok.js.map +1 -1
  43. package/dist/adapters/cli/model-catalog-json.d.ts +17 -0
  44. package/dist/adapters/cli/model-catalog-json.d.ts.map +1 -0
  45. package/dist/adapters/cli/model-catalog-json.js +43 -0
  46. package/dist/adapters/cli/model-catalog-json.js.map +1 -0
  47. package/dist/adapters/cli/oh-my-pi.d.ts +2 -0
  48. package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
  49. package/dist/adapters/cli/oh-my-pi.js +45 -13
  50. package/dist/adapters/cli/oh-my-pi.js.map +1 -1
  51. package/dist/adapters/cli/opencode.js +1 -1
  52. package/dist/adapters/cli/opencode.js.map +1 -1
  53. package/dist/adapters/cli/registry.d.ts +2 -1
  54. package/dist/adapters/cli/registry.d.ts.map +1 -1
  55. package/dist/adapters/cli/registry.js +6 -1
  56. package/dist/adapters/cli/registry.js.map +1 -1
  57. package/dist/adapters/cli/relay.d.ts.map +1 -1
  58. package/dist/adapters/cli/relay.js +7 -0
  59. package/dist/adapters/cli/relay.js.map +1 -1
  60. package/dist/adapters/cli/seed.d.ts.map +1 -1
  61. package/dist/adapters/cli/seed.js +6 -0
  62. package/dist/adapters/cli/seed.js.map +1 -1
  63. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  64. package/dist/adapters/cli/shared-hints.js +20 -14
  65. package/dist/adapters/cli/shared-hints.js.map +1 -1
  66. package/dist/adapters/cli/traex.d.ts +4 -0
  67. package/dist/adapters/cli/traex.d.ts.map +1 -1
  68. package/dist/adapters/cli/traex.js +153 -0
  69. package/dist/adapters/cli/traex.js.map +1 -1
  70. package/dist/adapters/cli/types.d.ts +42 -1
  71. package/dist/adapters/cli/types.d.ts.map +1 -1
  72. package/dist/autostart.d.ts +6 -0
  73. package/dist/autostart.d.ts.map +1 -1
  74. package/dist/autostart.js +21 -1
  75. package/dist/autostart.js.map +1 -1
  76. package/dist/bot-registry.d.ts +27 -0
  77. package/dist/bot-registry.d.ts.map +1 -1
  78. package/dist/bot-registry.js +62 -2
  79. package/dist/bot-registry.js.map +1 -1
  80. package/dist/cli/vc-agent.d.ts.map +1 -1
  81. package/dist/cli/vc-agent.js +21 -3
  82. package/dist/cli/vc-agent.js.map +1 -1
  83. package/dist/cli.d.ts.map +1 -1
  84. package/dist/cli.js +92 -1
  85. package/dist/cli.js.map +1 -1
  86. package/dist/codex-app-runner.js +28 -0
  87. package/dist/codex-app-runner.js.map +1 -1
  88. package/dist/core/bot-steer-directive.d.ts +25 -0
  89. package/dist/core/bot-steer-directive.d.ts.map +1 -0
  90. package/dist/core/bot-steer-directive.js +47 -0
  91. package/dist/core/bot-steer-directive.js.map +1 -0
  92. package/dist/core/command-handler.d.ts.map +1 -1
  93. package/dist/core/command-handler.js +102 -18
  94. package/dist/core/command-handler.js.map +1 -1
  95. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  96. package/dist/core/dashboard-ipc-server.js +53 -13
  97. package/dist/core/dashboard-ipc-server.js.map +1 -1
  98. package/dist/core/dashboard-rows.d.ts +3 -0
  99. package/dist/core/dashboard-rows.d.ts.map +1 -1
  100. package/dist/core/dashboard-rows.js +26 -5
  101. package/dist/core/dashboard-rows.js.map +1 -1
  102. package/dist/core/dispatch.d.ts.map +1 -1
  103. package/dist/core/dispatch.js +5 -4
  104. package/dist/core/dispatch.js.map +1 -1
  105. package/dist/core/existing-app-server.d.ts +22 -0
  106. package/dist/core/existing-app-server.d.ts.map +1 -0
  107. package/dist/core/existing-app-server.js +85 -0
  108. package/dist/core/existing-app-server.js.map +1 -0
  109. package/dist/core/native-topic-id.d.ts +9 -0
  110. package/dist/core/native-topic-id.d.ts.map +1 -0
  111. package/dist/core/native-topic-id.js +14 -0
  112. package/dist/core/native-topic-id.js.map +1 -0
  113. package/dist/core/per-bot-env.d.ts.map +1 -1
  114. package/dist/core/per-bot-env.js +10 -0
  115. package/dist/core/per-bot-env.js.map +1 -1
  116. package/dist/core/session-activity.d.ts +11 -0
  117. package/dist/core/session-activity.d.ts.map +1 -1
  118. package/dist/core/session-activity.js +23 -0
  119. package/dist/core/session-activity.js.map +1 -1
  120. package/dist/core/session-group-birth.d.ts.map +1 -1
  121. package/dist/core/session-group-birth.js +23 -8
  122. package/dist/core/session-group-birth.js.map +1 -1
  123. package/dist/core/session-manager.d.ts +1 -4
  124. package/dist/core/session-manager.d.ts.map +1 -1
  125. package/dist/core/session-manager.js +16 -20
  126. package/dist/core/session-manager.js.map +1 -1
  127. package/dist/core/shared-adopt.d.ts +20 -0
  128. package/dist/core/shared-adopt.d.ts.map +1 -0
  129. package/dist/core/shared-adopt.js +26 -0
  130. package/dist/core/shared-adopt.js.map +1 -0
  131. package/dist/core/skills/customize-command.d.ts +7 -0
  132. package/dist/core/skills/customize-command.d.ts.map +1 -0
  133. package/dist/core/skills/customize-command.js +303 -0
  134. package/dist/core/skills/customize-command.js.map +1 -0
  135. package/dist/core/terminal-write-auth.d.ts +15 -0
  136. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  137. package/dist/core/terminal-write-auth.js +15 -0
  138. package/dist/core/terminal-write-auth.js.map +1 -1
  139. package/dist/core/terminal-write-frame.d.ts +30 -0
  140. package/dist/core/terminal-write-frame.d.ts.map +1 -0
  141. package/dist/core/terminal-write-frame.js +44 -0
  142. package/dist/core/terminal-write-frame.js.map +1 -0
  143. package/dist/core/types.d.ts +14 -4
  144. package/dist/core/types.d.ts.map +1 -1
  145. package/dist/core/types.js +6 -8
  146. package/dist/core/types.js.map +1 -1
  147. package/dist/core/worker-pool.d.ts +21 -4
  148. package/dist/core/worker-pool.d.ts.map +1 -1
  149. package/dist/core/worker-pool.js +415 -100
  150. package/dist/core/worker-pool.js.map +1 -1
  151. package/dist/core/worker-startup-retry.d.ts +52 -0
  152. package/dist/core/worker-startup-retry.d.ts.map +1 -0
  153. package/dist/core/worker-startup-retry.js +68 -0
  154. package/dist/core/worker-startup-retry.js.map +1 -0
  155. package/dist/daemon.d.ts +9 -8
  156. package/dist/daemon.d.ts.map +1 -1
  157. package/dist/daemon.js +467 -171
  158. package/dist/daemon.js.map +1 -1
  159. package/dist/dashboard/autostart-api.d.ts +26 -0
  160. package/dist/dashboard/autostart-api.d.ts.map +1 -0
  161. package/dist/dashboard/autostart-api.js +88 -0
  162. package/dist/dashboard/autostart-api.js.map +1 -0
  163. package/dist/dashboard/bot-payload.d.ts +5 -0
  164. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  165. package/dist/dashboard/bot-payload.js +2 -0
  166. package/dist/dashboard/bot-payload.js.map +1 -1
  167. package/dist/dashboard/control-csrf.d.ts +29 -1
  168. package/dist/dashboard/control-csrf.d.ts.map +1 -1
  169. package/dist/dashboard/control-csrf.js +45 -11
  170. package/dist/dashboard/control-csrf.js.map +1 -1
  171. package/dist/dashboard/customization-api.d.ts +23 -0
  172. package/dist/dashboard/customization-api.d.ts.map +1 -0
  173. package/dist/dashboard/customization-api.js +198 -0
  174. package/dist/dashboard/customization-api.js.map +1 -0
  175. package/dist/dashboard/debug-terminal.d.ts +13 -1
  176. package/dist/dashboard/debug-terminal.d.ts.map +1 -1
  177. package/dist/dashboard/debug-terminal.js +18 -4
  178. package/dist/dashboard/debug-terminal.js.map +1 -1
  179. package/dist/dashboard/settings-write-applier.d.ts +0 -23
  180. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  181. package/dist/dashboard/settings-write-applier.js +7 -28
  182. package/dist/dashboard/settings-write-applier.js.map +1 -1
  183. package/dist/dashboard/terminal-control-route.d.ts +32 -0
  184. package/dist/dashboard/terminal-control-route.d.ts.map +1 -0
  185. package/dist/dashboard/terminal-control-route.js +70 -0
  186. package/dist/dashboard/terminal-control-route.js.map +1 -0
  187. package/dist/dashboard/terminal-control.d.ts +64 -13
  188. package/dist/dashboard/terminal-control.d.ts.map +1 -1
  189. package/dist/dashboard/terminal-control.js +77 -14
  190. package/dist/dashboard/terminal-control.js.map +1 -1
  191. package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -1
  192. package/dist/dashboard/terminal-front-proxy.js +22 -8
  193. package/dist/dashboard/terminal-front-proxy.js.map +1 -1
  194. package/dist/dashboard/vc-consumer-profiles-api.d.ts +69 -18
  195. package/dist/dashboard/vc-consumer-profiles-api.d.ts.map +1 -1
  196. package/dist/dashboard/vc-consumer-profiles-api.js +149 -29
  197. package/dist/dashboard/vc-consumer-profiles-api.js.map +1 -1
  198. package/dist/dashboard/web/agent-workbench-api.d.ts +34 -2
  199. package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -1
  200. package/dist/dashboard/web/agent-workbench-api.js +39 -4
  201. package/dist/dashboard/web/agent-workbench-api.js.map +1 -1
  202. package/dist/dashboard/web/agent-workbench-appearance.d.ts +6 -3
  203. package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -1
  204. package/dist/dashboard/web/agent-workbench-appearance.js +7 -4
  205. package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -1
  206. package/dist/dashboard/web/agent-workbench-model.d.ts +2 -0
  207. package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -1
  208. package/dist/dashboard/web/agent-workbench-model.js.map +1 -1
  209. package/dist/dashboard/web/agent-workbench-page.js +2 -2
  210. package/dist/dashboard/web/agent-workbench-page.js.map +1 -1
  211. package/dist/dashboard/web/agent-workbench-panes.d.ts +59 -4
  212. package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -1
  213. package/dist/dashboard/web/agent-workbench-panes.js +493 -85
  214. package/dist/dashboard/web/agent-workbench-panes.js.map +1 -1
  215. package/dist/dashboard/web/agent-workbench-session-list.d.ts +11 -7
  216. package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -1
  217. package/dist/dashboard/web/agent-workbench-session-list.js +24 -31
  218. package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -1
  219. package/dist/dashboard/web/agent-workbench-terminal-control.d.ts +198 -0
  220. package/dist/dashboard/web/agent-workbench-terminal-control.d.ts.map +1 -0
  221. package/dist/dashboard/web/agent-workbench-terminal-control.js +292 -0
  222. package/dist/dashboard/web/agent-workbench-terminal-control.js.map +1 -0
  223. package/dist/dashboard/web/agent-workbench-view.d.ts +3 -2
  224. package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -1
  225. package/dist/dashboard/web/agent-workbench-view.js +69 -50
  226. package/dist/dashboard/web/agent-workbench-view.js.map +1 -1
  227. package/dist/dashboard/web/app.d.ts.map +1 -1
  228. package/dist/dashboard/web/app.js +58 -7
  229. package/dist/dashboard/web/app.js.map +1 -1
  230. package/dist/dashboard/web/bot-defaults-page.d.ts +24 -0
  231. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  232. package/dist/dashboard/web/bot-defaults-page.js +191 -16
  233. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  234. package/dist/dashboard/web/bot-defaults.d.ts +17 -0
  235. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  236. package/dist/dashboard/web/bot-defaults.js +51 -2
  237. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  238. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  239. package/dist/dashboard/web/bot-onboarding.js +32 -8
  240. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  241. package/dist/dashboard/web/confirm-modal.d.ts +35 -0
  242. package/dist/dashboard/web/confirm-modal.d.ts.map +1 -0
  243. package/dist/dashboard/web/confirm-modal.js +111 -0
  244. package/dist/dashboard/web/confirm-modal.js.map +1 -0
  245. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  246. package/dist/dashboard/web/connectors-page.js +2 -1
  247. package/dist/dashboard/web/connectors-page.js.map +1 -1
  248. package/dist/dashboard/web/customization-page.d.ts +3 -0
  249. package/dist/dashboard/web/customization-page.d.ts.map +1 -0
  250. package/dist/dashboard/web/customization-page.js +315 -0
  251. package/dist/dashboard/web/customization-page.js.map +1 -0
  252. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  253. package/dist/dashboard/web/dashboard-routes.js +1 -0
  254. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  255. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  256. package/dist/dashboard/web/groups-page.js +11 -9
  257. package/dist/dashboard/web/groups-page.js.map +1 -1
  258. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  259. package/dist/dashboard/web/i18n.js +226 -42
  260. package/dist/dashboard/web/i18n.js.map +1 -1
  261. package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
  262. package/dist/dashboard/web/monitor-room.js +3 -2
  263. package/dist/dashboard/web/monitor-room.js.map +1 -1
  264. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  265. package/dist/dashboard/web/overview-page.js +98 -63
  266. package/dist/dashboard/web/overview-page.js.map +1 -1
  267. package/dist/dashboard/web/roles-page.d.ts.map +1 -1
  268. package/dist/dashboard/web/roles-page.js +4 -3
  269. package/dist/dashboard/web/roles-page.js.map +1 -1
  270. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  271. package/dist/dashboard/web/schedules-page.js +165 -18
  272. package/dist/dashboard/web/schedules-page.js.map +1 -1
  273. package/dist/dashboard/web/sessions-kanban.d.ts +2 -0
  274. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
  275. package/dist/dashboard/web/sessions-kanban.js +142 -24
  276. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  277. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  278. package/dist/dashboard/web/sessions-page.js +177 -94
  279. package/dist/dashboard/web/sessions-page.js.map +1 -1
  280. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  281. package/dist/dashboard/web/sessions.js +5 -4
  282. package/dist/dashboard/web/sessions.js.map +1 -1
  283. package/dist/dashboard/web/settings-page.d.ts +0 -8
  284. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  285. package/dist/dashboard/web/settings-page.js +185 -65
  286. package/dist/dashboard/web/settings-page.js.map +1 -1
  287. package/dist/dashboard/web/skills/skill-library-tab.d.ts +2 -0
  288. package/dist/dashboard/web/skills/skill-library-tab.d.ts.map +1 -1
  289. package/dist/dashboard/web/skills/skill-library-tab.js +15 -1
  290. package/dist/dashboard/web/skills/skill-library-tab.js.map +1 -1
  291. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  292. package/dist/dashboard/web/skills-page.js +5 -4
  293. package/dist/dashboard/web/skills-page.js.map +1 -1
  294. package/dist/dashboard/web/store.d.ts +5 -0
  295. package/dist/dashboard/web/store.d.ts.map +1 -1
  296. package/dist/dashboard/web/store.js +4 -0
  297. package/dist/dashboard/web/store.js.map +1 -1
  298. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  299. package/dist/dashboard/web/team-federation-page.js +3 -2
  300. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  301. package/dist/dashboard/web/toast.d.ts +15 -0
  302. package/dist/dashboard/web/toast.d.ts.map +1 -0
  303. package/dist/dashboard/web/toast.js +70 -0
  304. package/dist/dashboard/web/toast.js.map +1 -0
  305. package/dist/dashboard/web/v3-components.d.ts.map +1 -1
  306. package/dist/dashboard/web/v3-components.js +2 -1
  307. package/dist/dashboard/web/v3-components.js.map +1 -1
  308. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts +10 -12
  309. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -1
  310. package/dist/dashboard/web/vc-consumer-profiles-section.js +219 -200
  311. package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -1
  312. package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
  313. package/dist/dashboard/web/whiteboards-page.js +2 -1
  314. package/dist/dashboard/web/whiteboards-page.js.map +1 -1
  315. package/dist/dashboard-web/app.js +1 -1
  316. package/dist/dashboard-web/chunks/agent-workbench-dock-page-LZSUOCEQ.js +1 -0
  317. package/dist/dashboard-web/chunks/agent-workbench-page-YONDRJU7.js +1 -0
  318. package/dist/dashboard-web/chunks/bot-defaults-page-X7LV6373.js +1 -0
  319. package/dist/dashboard-web/chunks/chunk-2PVRDXEL.js +1 -0
  320. package/dist/dashboard-web/chunks/chunk-53JUKBU2.js +10 -0
  321. package/dist/dashboard-web/chunks/{chunk-5CJMHTT4.js → chunk-5QX4OYOR.js} +1 -1
  322. package/dist/dashboard-web/chunks/{chunk-NACP7BMR.js → chunk-5VRVJFQR.js} +1 -1
  323. package/dist/dashboard-web/chunks/{chunk-FDZ7WOBW.js → chunk-6ROOZWYV.js} +1 -1
  324. package/dist/dashboard-web/chunks/{chunk-F6KNPF4R.js → chunk-CK22743G.js} +15 -19
  325. package/dist/dashboard-web/chunks/chunk-CVNIMUPY.js +25 -0
  326. package/dist/dashboard-web/chunks/chunk-GJC2TMWS.js +2 -0
  327. package/dist/dashboard-web/chunks/chunk-OT6L6G7R.js +1 -0
  328. package/dist/dashboard-web/chunks/chunk-QITAMHW6.js +1 -0
  329. package/dist/dashboard-web/chunks/chunk-RHVFZC5Z.js +1 -0
  330. package/dist/dashboard-web/chunks/chunk-SOBMN2VY.js +1 -0
  331. package/dist/dashboard-web/chunks/chunk-SZOB6VK2.js +1 -0
  332. package/dist/dashboard-web/chunks/chunk-XVIXNQGC.js +44 -0
  333. package/dist/dashboard-web/chunks/chunk-YUJF34ME.js +1 -0
  334. package/dist/dashboard-web/chunks/connectors-page-LB2HEJ7F.js +1 -0
  335. package/dist/dashboard-web/chunks/customization-page-4GXBYLG6.js +105 -0
  336. package/dist/dashboard-web/chunks/feedback-page-IZQ7VLDG.js +1 -0
  337. package/dist/dashboard-web/chunks/groups-page-4WCP5OEV.js +8 -0
  338. package/dist/dashboard-web/chunks/{insights-page-HJFDYR5N.js → insights-page-TXQHIPQL.js} +1 -1
  339. package/dist/dashboard-web/chunks/{monitor-room-V7PCP47V.js → monitor-room-VBRVWXCM.js} +8 -8
  340. package/dist/dashboard-web/chunks/monitoring-page-QDDZWERE.js +2 -0
  341. package/dist/dashboard-web/chunks/office-page-PENFNYPG.js +1 -0
  342. package/dist/dashboard-web/chunks/overview-page-BZQDP6MP.js +1 -0
  343. package/dist/dashboard-web/chunks/plugin-page-JX4GSWZS.js +1 -0
  344. package/dist/dashboard-web/chunks/roles-page-VPNINZNK.js +1 -0
  345. package/dist/dashboard-web/chunks/schedules-page-BITO6HEA.js +1 -0
  346. package/dist/dashboard-web/chunks/sessions-page-ZKCOVTD2.js +8 -0
  347. package/dist/dashboard-web/chunks/settings-page-UT6JDTS6.js +2 -0
  348. package/dist/dashboard-web/chunks/skills-page-GULXVAJY.js +4 -0
  349. package/dist/dashboard-web/chunks/team-federation-page-CUUJWGEG.js +1 -0
  350. package/dist/dashboard-web/chunks/v3-page-5WVJ5AUR.js +94 -0
  351. package/dist/dashboard-web/chunks/whiteboards-page-FZ2CME4H.js +1 -0
  352. package/dist/dashboard-web/design-tokens.css +236 -0
  353. package/dist/dashboard-web/index.html +1 -0
  354. package/dist/dashboard-web/style.css +1930 -114
  355. package/dist/dashboard.js +360 -279
  356. package/dist/dashboard.js.map +1 -1
  357. package/dist/desktop/renderer/app.js +6 -0
  358. package/dist/desktop/renderer/app.js.map +1 -1
  359. package/dist/dsh-runner.js +139 -17
  360. package/dist/dsh-runner.js.map +1 -1
  361. package/dist/global-config.d.ts +33 -2
  362. package/dist/global-config.d.ts.map +1 -1
  363. package/dist/global-config.js +62 -0
  364. package/dist/global-config.js.map +1 -1
  365. package/dist/i18n/en.d.ts.map +1 -1
  366. package/dist/i18n/en.js +12 -4
  367. package/dist/i18n/en.js.map +1 -1
  368. package/dist/i18n/index.d.ts +27 -3
  369. package/dist/i18n/index.d.ts.map +1 -1
  370. package/dist/i18n/index.js +33 -4
  371. package/dist/i18n/index.js.map +1 -1
  372. package/dist/i18n/zh.d.ts.map +1 -1
  373. package/dist/i18n/zh.js +12 -4
  374. package/dist/i18n/zh.js.map +1 -1
  375. package/dist/im/lark/card-builder.d.ts +2 -0
  376. package/dist/im/lark/card-builder.d.ts.map +1 -1
  377. package/dist/im/lark/card-builder.js +7 -4
  378. package/dist/im/lark/card-builder.js.map +1 -1
  379. package/dist/im/lark/card-handler.d.ts.map +1 -1
  380. package/dist/im/lark/card-handler.js +70 -16
  381. package/dist/im/lark/card-handler.js.map +1 -1
  382. package/dist/im/lark/event-dispatcher.d.ts +38 -3
  383. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  384. package/dist/im/lark/event-dispatcher.js +163 -13
  385. package/dist/im/lark/event-dispatcher.js.map +1 -1
  386. package/dist/im/lark/v3-blocked-card-handler.d.ts.map +1 -1
  387. package/dist/im/lark/v3-blocked-card-handler.js +2 -1
  388. package/dist/im/lark/v3-blocked-card-handler.js.map +1 -1
  389. package/dist/im/lark/v3-blocked-card.d.ts +1 -1
  390. package/dist/im/lark/v3-blocked-card.d.ts.map +1 -1
  391. package/dist/im/lark/v3-blocked-card.js +14 -0
  392. package/dist/im/lark/v3-blocked-card.js.map +1 -1
  393. package/dist/index-core-only.js +2 -0
  394. package/dist/index-core-only.js.map +1 -1
  395. package/dist/index-daemon.js +3 -0
  396. package/dist/index-daemon.js.map +1 -1
  397. package/dist/platform/binding.d.ts +11 -1
  398. package/dist/platform/binding.d.ts.map +1 -1
  399. package/dist/platform/binding.js +3 -28
  400. package/dist/platform/binding.js.map +1 -1
  401. package/dist/services/codex-app-runner-protocol.d.ts +5 -0
  402. package/dist/services/codex-app-runner-protocol.d.ts.map +1 -1
  403. package/dist/services/codex-app-runner-protocol.js +5 -0
  404. package/dist/services/codex-app-runner-protocol.js.map +1 -1
  405. package/dist/services/customization-store.d.ts +93 -0
  406. package/dist/services/customization-store.d.ts.map +1 -0
  407. package/dist/services/customization-store.js +542 -0
  408. package/dist/services/customization-store.js.map +1 -0
  409. package/dist/services/file-bridge-path.d.ts.map +1 -1
  410. package/dist/services/file-bridge-path.js +3 -0
  411. package/dist/services/file-bridge-path.js.map +1 -1
  412. package/dist/services/grok-transcript.d.ts.map +1 -1
  413. package/dist/services/grok-transcript.js +44 -9
  414. package/dist/services/grok-transcript.js.map +1 -1
  415. package/dist/services/local-cli-opener.d.ts.map +1 -1
  416. package/dist/services/local-cli-opener.js +12 -3
  417. package/dist/services/local-cli-opener.js.map +1 -1
  418. package/dist/services/model-catalog.d.ts +54 -0
  419. package/dist/services/model-catalog.d.ts.map +1 -0
  420. package/dist/services/model-catalog.js +147 -0
  421. package/dist/services/model-catalog.js.map +1 -0
  422. package/dist/services/omp-transcript.d.ts +27 -0
  423. package/dist/services/omp-transcript.d.ts.map +1 -0
  424. package/dist/services/omp-transcript.js +214 -0
  425. package/dist/services/omp-transcript.js.map +1 -0
  426. package/dist/services/platform-team-store.d.ts +16 -8
  427. package/dist/services/platform-team-store.d.ts.map +1 -1
  428. package/dist/services/platform-team-store.js +17 -10
  429. package/dist/services/platform-team-store.js.map +1 -1
  430. package/dist/services/project-scanner.d.ts.map +1 -1
  431. package/dist/services/project-scanner.js +13 -8
  432. package/dist/services/project-scanner.js.map +1 -1
  433. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  434. package/dist/services/resumable-session-discovery.js +117 -35
  435. package/dist/services/resumable-session-discovery.js.map +1 -1
  436. package/dist/services/structured-bridge-clis.d.ts +5 -3
  437. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  438. package/dist/services/structured-bridge-clis.js +5 -1
  439. package/dist/services/structured-bridge-clis.js.map +1 -1
  440. package/dist/services/vc-meeting-action-gate.d.ts.map +1 -1
  441. package/dist/services/vc-meeting-action-gate.js +15 -4
  442. package/dist/services/vc-meeting-action-gate.js.map +1 -1
  443. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts +46 -66
  444. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts.map +1 -1
  445. package/dist/services/vc-meeting-consumer-profile-bootstrap.js +33 -292
  446. package/dist/services/vc-meeting-consumer-profile-bootstrap.js.map +1 -1
  447. package/dist/services/vc-meeting-consumer-profile-templates.js +3 -3
  448. package/dist/services/vc-meeting-consumer-profile-templates.js.map +1 -1
  449. package/dist/services/vc-meeting-delivery-store.d.ts +18 -0
  450. package/dist/services/vc-meeting-delivery-store.d.ts.map +1 -1
  451. package/dist/services/vc-meeting-delivery-store.js +55 -0
  452. package/dist/services/vc-meeting-delivery-store.js.map +1 -1
  453. package/dist/services/vc-meeting-send-policy.d.ts +21 -1
  454. package/dist/services/vc-meeting-send-policy.d.ts.map +1 -1
  455. package/dist/services/vc-meeting-send-policy.js +30 -2
  456. package/dist/services/vc-meeting-send-policy.js.map +1 -1
  457. package/dist/services/vc-meeting-shared-consumer-catalog-store.d.ts +78 -0
  458. package/dist/services/vc-meeting-shared-consumer-catalog-store.d.ts.map +1 -0
  459. package/dist/services/vc-meeting-shared-consumer-catalog-store.js +227 -0
  460. package/dist/services/vc-meeting-shared-consumer-catalog-store.js.map +1 -0
  461. package/dist/services/vc-meeting-shared-consumer-catalog.d.ts +53 -0
  462. package/dist/services/vc-meeting-shared-consumer-catalog.d.ts.map +1 -0
  463. package/dist/services/vc-meeting-shared-consumer-catalog.js +161 -0
  464. package/dist/services/vc-meeting-shared-consumer-catalog.js.map +1 -0
  465. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  466. package/dist/setup/bot-config-editor.js +1 -0
  467. package/dist/setup/bot-config-editor.js.map +1 -1
  468. package/dist/setup/open-platform-automation.d.ts +20 -0
  469. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  470. package/dist/setup/open-platform-automation.js +27 -0
  471. package/dist/setup/open-platform-automation.js.map +1 -1
  472. package/dist/skills/customization-bundle.d.ts +83 -0
  473. package/dist/skills/customization-bundle.d.ts.map +1 -0
  474. package/dist/skills/customization-bundle.js +214 -0
  475. package/dist/skills/customization-bundle.js.map +1 -0
  476. package/dist/skills/definitions.d.ts.map +1 -1
  477. package/dist/skills/definitions.js +10 -3
  478. package/dist/skills/definitions.js.map +1 -1
  479. package/dist/skills/effective-builtins.d.ts +38 -0
  480. package/dist/skills/effective-builtins.d.ts.map +1 -0
  481. package/dist/skills/effective-builtins.js +96 -0
  482. package/dist/skills/effective-builtins.js.map +1 -0
  483. package/dist/skills/injection-mode.d.ts +4 -1
  484. package/dist/skills/injection-mode.d.ts.map +1 -1
  485. package/dist/skills/injection-mode.js +11 -3
  486. package/dist/skills/injection-mode.js.map +1 -1
  487. package/dist/skills/installer.d.ts.map +1 -1
  488. package/dist/skills/installer.js +24 -1
  489. package/dist/skills/installer.js.map +1 -1
  490. package/dist/skills/prompt-fragments.d.ts +58 -0
  491. package/dist/skills/prompt-fragments.d.ts.map +1 -0
  492. package/dist/skills/prompt-fragments.js +88 -0
  493. package/dist/skills/prompt-fragments.js.map +1 -0
  494. package/dist/types.d.ts +51 -0
  495. package/dist/types.d.ts.map +1 -1
  496. package/dist/utils/cli-usage-limit.d.ts +50 -0
  497. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  498. package/dist/utils/cli-usage-limit.js +43 -0
  499. package/dist/utils/cli-usage-limit.js.map +1 -1
  500. package/dist/utils/idle-detector.d.ts +12 -0
  501. package/dist/utils/idle-detector.d.ts.map +1 -1
  502. package/dist/utils/idle-detector.js +88 -2
  503. package/dist/utils/idle-detector.js.map +1 -1
  504. package/dist/utils/stuck-detector.d.ts +5 -0
  505. package/dist/utils/stuck-detector.d.ts.map +1 -1
  506. package/dist/utils/stuck-detector.js +41 -0
  507. package/dist/utils/stuck-detector.js.map +1 -1
  508. package/dist/utils/usage-limit-tracker.d.ts +46 -0
  509. package/dist/utils/usage-limit-tracker.d.ts.map +1 -0
  510. package/dist/utils/usage-limit-tracker.js +91 -0
  511. package/dist/utils/usage-limit-tracker.js.map +1 -0
  512. package/dist/utils/user-token.js +1 -1
  513. package/dist/utils/user-token.js.map +1 -1
  514. package/dist/worker.js +542 -106
  515. package/dist/worker.js.map +1 -1
  516. package/dist/workflows/definition.d.ts +14 -14
  517. package/dist/workflows/events/payloads.d.ts +12 -12
  518. package/dist/workflows/events/schema.d.ts +164 -164
  519. package/dist/workflows/migration/v2-to-v3.js +1 -1
  520. package/dist/workflows/migration/v2-to-v3.js.map +1 -1
  521. package/dist/workflows/v3/architect.d.ts.map +1 -1
  522. package/dist/workflows/v3/architect.js +11 -5
  523. package/dist/workflows/v3/architect.js.map +1 -1
  524. package/dist/workflows/v3/artifact-contract-declarations.d.ts +22 -0
  525. package/dist/workflows/v3/artifact-contract-declarations.d.ts.map +1 -0
  526. package/dist/workflows/v3/artifact-contract-declarations.js +95 -0
  527. package/dist/workflows/v3/artifact-contract-declarations.js.map +1 -0
  528. package/dist/workflows/v3/contract.d.ts +1 -0
  529. package/dist/workflows/v3/contract.d.ts.map +1 -1
  530. package/dist/workflows/v3/contract.js.map +1 -1
  531. package/dist/workflows/v3/daemon-run.d.ts +2 -2
  532. package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
  533. package/dist/workflows/v3/daemon-run.js +4 -0
  534. package/dist/workflows/v3/daemon-run.js.map +1 -1
  535. package/dist/workflows/v3/dag.d.ts +7 -0
  536. package/dist/workflows/v3/dag.d.ts.map +1 -1
  537. package/dist/workflows/v3/dag.js +69 -8
  538. package/dist/workflows/v3/dag.js.map +1 -1
  539. package/dist/workflows/v3/ephemeral-pool.js +1 -1
  540. package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
  541. package/dist/workflows/v3/event-contract.d.ts +3 -1
  542. package/dist/workflows/v3/event-contract.d.ts.map +1 -1
  543. package/dist/workflows/v3/host.d.ts.map +1 -1
  544. package/dist/workflows/v3/host.js +5 -1
  545. package/dist/workflows/v3/host.js.map +1 -1
  546. package/dist/workflows/v3/journal.d.ts +1 -1
  547. package/dist/workflows/v3/journal.d.ts.map +1 -1
  548. package/dist/workflows/v3/journal.js.map +1 -1
  549. package/dist/workflows/v3/library-materialize.d.ts.map +1 -1
  550. package/dist/workflows/v3/library-materialize.js +9 -1
  551. package/dist/workflows/v3/library-materialize.js.map +1 -1
  552. package/dist/workflows/v3/library-schema.d.ts +3 -1
  553. package/dist/workflows/v3/library-schema.d.ts.map +1 -1
  554. package/dist/workflows/v3/library-schema.js +20 -4
  555. package/dist/workflows/v3/library-schema.js.map +1 -1
  556. package/dist/workflows/v3/library-store.d.ts.map +1 -1
  557. package/dist/workflows/v3/library-store.js +15 -3
  558. package/dist/workflows/v3/library-store.js.map +1 -1
  559. package/dist/workflows/v3/run-envelope.d.ts +16 -16
  560. package/dist/workflows/v3/shared-node-runtime.d.ts +2 -1
  561. package/dist/workflows/v3/shared-node-runtime.d.ts.map +1 -1
  562. package/dist/workflows/v3/shared-node-runtime.js +48 -7
  563. package/dist/workflows/v3/shared-node-runtime.js.map +1 -1
  564. package/package.json +2 -1
  565. package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +0 -1
  566. package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +0 -1
  567. package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +0 -10
  568. package/dist/dashboard-web/chunks/chunk-22WIADUT.js +0 -2
  569. package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +0 -1
  570. package/dist/dashboard-web/chunks/chunk-2W6SCN3M.js +0 -1
  571. package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +0 -1
  572. package/dist/dashboard-web/chunks/chunk-5THX4DI2.js +0 -66
  573. package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
  574. package/dist/dashboard-web/chunks/chunk-AGCPF6MT.js +0 -1
  575. package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +0 -1
  576. package/dist/dashboard-web/chunks/chunk-SYC6D5XU.js +0 -1
  577. package/dist/dashboard-web/chunks/connectors-page-VOISXXII.js +0 -1
  578. package/dist/dashboard-web/chunks/feedback-page-RN6HRZMS.js +0 -1
  579. package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +0 -8
  580. package/dist/dashboard-web/chunks/monitoring-page-NKEKVQAP.js +0 -2
  581. package/dist/dashboard-web/chunks/office-page-GVJF73XW.js +0 -1
  582. package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +0 -1
  583. package/dist/dashboard-web/chunks/plugin-page-J3OF5IY4.js +0 -1
  584. package/dist/dashboard-web/chunks/roles-page-WQIRSOLZ.js +0 -1
  585. package/dist/dashboard-web/chunks/schedules-page-J2DEY2X6.js +0 -1
  586. package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +0 -8
  587. package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +0 -2
  588. package/dist/dashboard-web/chunks/skills-page-HGIFR3IU.js +0 -4
  589. package/dist/dashboard-web/chunks/team-federation-page-MR5ZPL4B.js +0 -1
  590. package/dist/dashboard-web/chunks/v3-page-GBR5JWPE.js +0 -94
  591. package/dist/dashboard-web/chunks/whiteboards-page-QAZM4BN3.js +0 -1
  592. package/dist/services/vc-meeting-consumer-profile-store.d.ts +0 -39
  593. package/dist/services/vc-meeting-consumer-profile-store.d.ts.map +0 -1
  594. package/dist/services/vc-meeting-consumer-profile-store.js +0 -191
  595. package/dist/services/vc-meeting-consumer-profile-store.js.map +0 -1
@@ -0,0 +1,542 @@
1
+ /**
2
+ * Customization store — user overrides for botmux's BUILT-IN prompts and skills.
3
+ *
4
+ * botmux ships two kinds of built-in content the model sees every session:
5
+ * - **Prompt fragments** — the `<botmux_routing>` / `<identity>` / skill-catalog
6
+ * copy, all resolved through the i18n `t(key, …, locale)` layer.
7
+ * - **Built-in skills** — the SKILL.md bodies in `src/skills/definitions.ts`.
8
+ *
9
+ * This store lets the user OVERRIDE either without editing shipped source, and
10
+ * SHARE the result. It is the single source of truth for:
11
+ * - per-locale prompt-key overrides (`t()` consults these first)
12
+ * - built-in skill body overrides + per-skill disables
13
+ * - a master on/off flag (disable everything without deleting it)
14
+ * - a snapshot history for non-destructive rollback / reset-to-factory
15
+ *
16
+ * DESIGN INVARIANTS
17
+ * 1. **Byte-identical when empty.** With no overrides (or master off) every
18
+ * resolver here returns `undefined` / the shipped default, so the prompt
19
+ * and skills are byte-for-byte what they were before this feature. The
20
+ * resolution layer (i18n `t()`, injection-mode, installer) short-circuits
21
+ * on `undefined`. This is the first regression red line.
22
+ * 2. **Non-destructive history.** Every mutation snapshots the *prior* state
23
+ * first, so rollback and "reset all to factory" can always be undone by
24
+ * rolling forward to a later snapshot — nothing is ever lost.
25
+ * 3. **Live.** State is read fresh (short TTL cache) so a change takes effect
26
+ * on the next session with no daemon restart, matching whiteboard /
27
+ * skillInjection semantics.
28
+ *
29
+ * Storage layout under `{dataDir}/customizations/`:
30
+ * state.json — the current CustomizationState (overrides + flags)
31
+ * skills/<name>.md — full SKILL.md body for an overridden built-in skill
32
+ * history/<snapshotId>/state.json + skills/*.md — a full point-in-time copy
33
+ * history/index.json — ordered snapshot metadata (newest first)
34
+ *
35
+ * The master enabled flag also mirrors into GlobalConfig (`customization.enabled`)
36
+ * so it participates in the dashboard settings surface; this store owns the rest.
37
+ */
38
+ import { existsSync, mkdirSync, readFileSync, rmSync, cpSync, } from 'node:fs';
39
+ import { join } from 'node:path';
40
+ import { randomUUID } from 'node:crypto';
41
+ import { config } from '../config.js';
42
+ import { atomicWriteFileSync } from '../utils/atomic-write.js';
43
+ import { withFileLockSync } from '../utils/file-lock.js';
44
+ import { SUPPORTED_LOCALES } from '../i18n/types.js';
45
+ // ─── Paths ───────────────────────────────────────────────────────────────────
46
+ const SCHEMA_VERSION = 1;
47
+ /** Cap retained snapshots so an active editor can't grow history unbounded. */
48
+ const MAX_SNAPSHOTS = 50;
49
+ /** Per-skill body cap — mirrors the spirit of role-resolver's MAX_ROLE_BYTES. */
50
+ export const MAX_SKILL_BODY_BYTES = 64 * 1024;
51
+ /** Per prompt-override value cap. Individual fragments are short; this is a
52
+ * generous ceiling that still stops a paste-bomb from bloating every prompt. */
53
+ export const MAX_PROMPT_OVERRIDE_BYTES = 16 * 1024;
54
+ export function customizationsRoot() {
55
+ return join(config.session.dataDir, 'customizations');
56
+ }
57
+ function statePath() {
58
+ return join(customizationsRoot(), 'state.json');
59
+ }
60
+ function skillsDir() {
61
+ return join(customizationsRoot(), 'skills');
62
+ }
63
+ function skillOverridePath(name) {
64
+ return join(skillsDir(), `${safeSkillName(name)}.md`);
65
+ }
66
+ function historyDir() {
67
+ return join(customizationsRoot(), 'history');
68
+ }
69
+ function historyIndexPath() {
70
+ return join(historyDir(), 'index.json');
71
+ }
72
+ function snapshotDir(id) {
73
+ return join(historyDir(), safeSnapshotId(id));
74
+ }
75
+ // ─── Validation helpers ──────────────────────────────────────────────────────
76
+ /** Built-in skill names are the fixed `botmux-*` set; this guards path building
77
+ * against traversal even though callers pass known names. */
78
+ function safeSkillName(name) {
79
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/.test(name))
80
+ throw new Error('invalid_skill_name');
81
+ return name;
82
+ }
83
+ function safeSnapshotId(id) {
84
+ if (!/^snap_[a-zA-Z0-9]{1,40}$/.test(id))
85
+ throw new Error('invalid_snapshot_id');
86
+ return id;
87
+ }
88
+ function isLocaleKey(v) {
89
+ return SUPPORTED_LOCALES.includes(v);
90
+ }
91
+ // ─── State read/write ────────────────────────────────────────────────────────
92
+ const LOCK_TIMEOUT_MS = 5_000;
93
+ // Short TTL so dashboard/CLI writes are picked up by the next session without a
94
+ // restart, but hot prompt-build paths don't re-parse the file on every t() call.
95
+ const READ_CACHE_TTL_MS = 2_000;
96
+ let readCache;
97
+ function ensureRoot() {
98
+ mkdirSync(customizationsRoot(), { recursive: true });
99
+ }
100
+ function emptyState() {
101
+ return { schemaVersion: SCHEMA_VERSION };
102
+ }
103
+ /** Coerce arbitrary parsed JSON into a valid CustomizationState, dropping
104
+ * anything malformed (same defensive spirit as global-config's readX). */
105
+ function coerceState(raw) {
106
+ if (!raw || typeof raw !== 'object')
107
+ return emptyState();
108
+ const r = raw;
109
+ const out = { schemaVersion: SCHEMA_VERSION };
110
+ if (typeof r.enabled === 'boolean')
111
+ out.enabled = r.enabled;
112
+ if (typeof r.updatedAt === 'string')
113
+ out.updatedAt = r.updatedAt;
114
+ if (r.promptOverrides && typeof r.promptOverrides === 'object') {
115
+ const po = {};
116
+ for (const [loc, map] of Object.entries(r.promptOverrides)) {
117
+ if (!isLocaleKey(loc) || !map || typeof map !== 'object')
118
+ continue;
119
+ const clean = {};
120
+ for (const [k, v] of Object.entries(map)) {
121
+ if (typeof v === 'string' && k)
122
+ clean[k] = v;
123
+ }
124
+ if (Object.keys(clean).length)
125
+ po[loc] = clean;
126
+ }
127
+ if (Object.keys(po).length)
128
+ out.promptOverrides = po;
129
+ }
130
+ if (r.conditionalLines && typeof r.conditionalLines === 'object') {
131
+ const cl = {};
132
+ for (const [k, v] of Object.entries(r.conditionalLines)) {
133
+ if (typeof v === 'boolean' && k)
134
+ cl[k] = v;
135
+ }
136
+ if (Object.keys(cl).length)
137
+ out.conditionalLines = cl;
138
+ }
139
+ if (r.builtinSkills && typeof r.builtinSkills === 'object') {
140
+ const bs = {};
141
+ for (const [name, ov] of Object.entries(r.builtinSkills)) {
142
+ if (!ov || typeof ov !== 'object')
143
+ continue;
144
+ const o = ov;
145
+ const entry = {};
146
+ if (typeof o.body === 'string')
147
+ entry.body = o.body;
148
+ if (o.disabled === true)
149
+ entry.disabled = true;
150
+ if (typeof o.updatedAt === 'string')
151
+ entry.updatedAt = o.updatedAt;
152
+ // Skip no-op entries (neither a body nor a disable) so an empty override
153
+ // never counts as "modified".
154
+ if (entry.body !== undefined || entry.disabled)
155
+ bs[name] = entry;
156
+ }
157
+ if (Object.keys(bs).length)
158
+ out.builtinSkills = bs;
159
+ }
160
+ return out;
161
+ }
162
+ /** Read the current state (short-TTL cached). Never throws — a missing or
163
+ * corrupt file yields the empty baseline. */
164
+ export function readCustomizationState() {
165
+ const now = Date.now();
166
+ if (readCache && now - readCache.at < READ_CACHE_TTL_MS)
167
+ return readCache.state;
168
+ let state = emptyState();
169
+ const fp = statePath();
170
+ if (existsSync(fp)) {
171
+ try {
172
+ state = coerceState(JSON.parse(readFileSync(fp, 'utf-8')));
173
+ }
174
+ catch {
175
+ state = emptyState();
176
+ }
177
+ }
178
+ readCache = { at: now, state };
179
+ return state;
180
+ }
181
+ export function invalidateCustomizationCache() {
182
+ readCache = undefined;
183
+ }
184
+ function writeStateUnlocked(state) {
185
+ ensureRoot();
186
+ const next = { ...state, schemaVersion: SCHEMA_VERSION, updatedAt: nowIso() };
187
+ atomicWriteFileSync(statePath(), JSON.stringify(next, null, 2) + '\n');
188
+ invalidateCustomizationCache();
189
+ }
190
+ function nowIso() {
191
+ return new Date().toISOString();
192
+ }
193
+ function withStateLock(fn) {
194
+ ensureRoot();
195
+ return withFileLockSync(statePath(), fn, { maxWaitMs: LOCK_TIMEOUT_MS });
196
+ }
197
+ // ─── Master enabled flag ─────────────────────────────────────────────────────
198
+ /** Whether customizations are active. Missing flag = enabled (opt-out master
199
+ * switch); an explicit `false` disables everything. The resolution layer also
200
+ * consults this so a single check short-circuits all override lookups. */
201
+ export function customizationEnabled() {
202
+ return readCustomizationState().enabled !== false;
203
+ }
204
+ // ─── Snapshot / history ──────────────────────────────────────────────────────
205
+ function readHistoryIndex() {
206
+ const fp = historyIndexPath();
207
+ if (!existsSync(fp))
208
+ return { schemaVersion: SCHEMA_VERSION, snapshots: [] };
209
+ try {
210
+ const parsed = JSON.parse(readFileSync(fp, 'utf-8'));
211
+ return {
212
+ schemaVersion: SCHEMA_VERSION,
213
+ snapshots: Array.isArray(parsed.snapshots) ? parsed.snapshots : [],
214
+ };
215
+ }
216
+ catch {
217
+ return { schemaVersion: SCHEMA_VERSION, snapshots: [] };
218
+ }
219
+ }
220
+ function writeHistoryIndex(index) {
221
+ mkdirSync(historyDir(), { recursive: true });
222
+ atomicWriteFileSync(historyIndexPath(), JSON.stringify(index, null, 2) + '\n');
223
+ }
224
+ function summarize(state) {
225
+ const promptKeys = Object.values(state.promptOverrides ?? {})
226
+ .reduce((n, m) => n + Object.keys(m ?? {}).length, 0)
227
+ + Object.keys(state.conditionalLines ?? {}).length;
228
+ const skills = Object.keys(state.builtinSkills ?? {}).length;
229
+ return { promptKeys, skills, enabled: state.enabled !== false };
230
+ }
231
+ /** Capture the CURRENT on-disk state (+ its skill bodies) as a new snapshot.
232
+ * Must be called *before* a mutation writes the new state, so the snapshot
233
+ * preserves the prior point-in-time. Prunes to MAX_SNAPSHOTS. Best-effort:
234
+ * a snapshot failure never blocks the mutation itself (caller ignores throw). */
235
+ function snapshotCurrentUnlocked(label) {
236
+ const current = existsSync(statePath()) ? readStateFromDisk() : emptyState();
237
+ const id = `snap_${randomUUID().replace(/-/g, '').slice(0, 20)}`;
238
+ const dir = snapshotDir(id);
239
+ mkdirSync(dir, { recursive: true });
240
+ atomicWriteFileSync(join(dir, 'state.json'), JSON.stringify(current, null, 2) + '\n');
241
+ // Copy the skill override bodies so a rollback restores exact SKILL.md text,
242
+ // not just the state.json pointers.
243
+ if (existsSync(skillsDir())) {
244
+ try {
245
+ cpSync(skillsDir(), join(dir, 'skills'), { recursive: true });
246
+ }
247
+ catch { /* best-effort */ }
248
+ }
249
+ const snap = { id, at: nowIso(), label: label.slice(0, 200), summary: summarize(current) };
250
+ const index = readHistoryIndex();
251
+ index.snapshots.unshift(snap);
252
+ // Prune oldest beyond the cap and delete their dirs.
253
+ while (index.snapshots.length > MAX_SNAPSHOTS) {
254
+ const dropped = index.snapshots.pop();
255
+ if (dropped) {
256
+ try {
257
+ rmSync(snapshotDir(dropped.id), { recursive: true, force: true });
258
+ }
259
+ catch { /* ignore */ }
260
+ }
261
+ }
262
+ writeHistoryIndex(index);
263
+ return snap;
264
+ }
265
+ /** Uncached direct disk read — used inside locked sections where the TTL cache
266
+ * could be stale relative to a sibling process's just-committed write. */
267
+ function readStateFromDisk() {
268
+ const fp = statePath();
269
+ if (!existsSync(fp))
270
+ return emptyState();
271
+ try {
272
+ return coerceState(JSON.parse(readFileSync(fp, 'utf-8')));
273
+ }
274
+ catch {
275
+ return emptyState();
276
+ }
277
+ }
278
+ export function listSnapshots() {
279
+ return readHistoryIndex().snapshots;
280
+ }
281
+ /** Read the full state stored in a snapshot (for diff preview before rollback). */
282
+ export function readSnapshotState(id) {
283
+ const fp = join(snapshotDir(id), 'state.json');
284
+ if (!existsSync(fp))
285
+ return undefined;
286
+ try {
287
+ return coerceState(JSON.parse(readFileSync(fp, 'utf-8')));
288
+ }
289
+ catch {
290
+ return undefined;
291
+ }
292
+ }
293
+ /** Read a skill body as it existed in a snapshot (mirrors {@link readSkillOverrideBody}). */
294
+ export function readSnapshotSkillBody(id, name) {
295
+ const fp = join(snapshotDir(id), 'skills', `${safeSkillName(name)}.md`);
296
+ if (!existsSync(fp))
297
+ return undefined;
298
+ try {
299
+ return readFileSync(fp, 'utf-8');
300
+ }
301
+ catch {
302
+ return undefined;
303
+ }
304
+ }
305
+ // ─── Skill override bodies (stored as .md files, referenced by state) ─────────
306
+ /** Read the override SKILL.md body for a built-in skill, or undefined if none.
307
+ * Reads the .md file when the state entry has a body; the state's `body` field
308
+ * is a presence marker, the file is the source of truth for large text. */
309
+ export function readSkillOverrideBody(name) {
310
+ const fp = skillOverridePath(name);
311
+ if (!existsSync(fp))
312
+ return undefined;
313
+ try {
314
+ return readFileSync(fp, 'utf-8');
315
+ }
316
+ catch {
317
+ return undefined;
318
+ }
319
+ }
320
+ // ─── Mutations (each snapshots the prior state first) ─────────────────────────
321
+ /** Set (or clear) the master enabled flag. */
322
+ export function setCustomizationEnabled(enabled) {
323
+ return withStateLock(() => {
324
+ try {
325
+ snapshotCurrentUnlocked(enabled ? 'enable customization' : 'disable customization');
326
+ }
327
+ catch { /* best-effort */ }
328
+ const state = readStateFromDisk();
329
+ state.enabled = enabled;
330
+ writeStateUnlocked(state);
331
+ return state;
332
+ });
333
+ }
334
+ /** Override (value set) or clear (value === null) a single prompt key for a locale. */
335
+ export function setPromptOverride(locale, key, value) {
336
+ if (value !== null && Buffer.byteLength(value, 'utf-8') > MAX_PROMPT_OVERRIDE_BYTES) {
337
+ throw new Error('prompt_override_too_large');
338
+ }
339
+ return withStateLock(() => {
340
+ try {
341
+ snapshotCurrentUnlocked(`${value === null ? 'reset' : 'set'} ${key} (${locale})`);
342
+ }
343
+ catch { /* best-effort */ }
344
+ const state = readStateFromDisk();
345
+ const po = state.promptOverrides ?? {};
346
+ const map = { ...(po[locale] ?? {}) };
347
+ if (value === null)
348
+ delete map[key];
349
+ else
350
+ map[key] = value;
351
+ if (Object.keys(map).length)
352
+ po[locale] = map;
353
+ else
354
+ delete po[locale];
355
+ if (Object.keys(po).length)
356
+ state.promptOverrides = po;
357
+ else
358
+ delete state.promptOverrides;
359
+ writeStateUnlocked(state);
360
+ return state;
361
+ });
362
+ }
363
+ /** Force a conditional prompt line on/off, or clear the override (follow shipped gating). */
364
+ export function setConditionalLine(key, value) {
365
+ return withStateLock(() => {
366
+ try {
367
+ snapshotCurrentUnlocked(`${value === null ? 'reset' : 'set'} condition ${key}`);
368
+ }
369
+ catch { /* best-effort */ }
370
+ const state = readStateFromDisk();
371
+ const cl = { ...(state.conditionalLines ?? {}) };
372
+ if (value === null)
373
+ delete cl[key];
374
+ else
375
+ cl[key] = value;
376
+ if (Object.keys(cl).length)
377
+ state.conditionalLines = cl;
378
+ else
379
+ delete state.conditionalLines;
380
+ writeStateUnlocked(state);
381
+ return state;
382
+ });
383
+ }
384
+ /** Set (body != null) or clear (body === null) the override body for a built-in skill.
385
+ * Clearing removes the body but leaves any `disabled` flag intact. */
386
+ export function setSkillOverrideBody(name, body) {
387
+ const clean = safeSkillName(name);
388
+ if (body !== null && Buffer.byteLength(body, 'utf-8') > MAX_SKILL_BODY_BYTES) {
389
+ throw new Error('skill_body_too_large');
390
+ }
391
+ return withStateLock(() => {
392
+ try {
393
+ snapshotCurrentUnlocked(`${body === null ? 'reset body' : 'override body'} ${clean}`);
394
+ }
395
+ catch { /* best-effort */ }
396
+ const state = readStateFromDisk();
397
+ const bs = { ...(state.builtinSkills ?? {}) };
398
+ const entry = { ...(bs[clean] ?? {}) };
399
+ if (body === null) {
400
+ delete entry.body;
401
+ try {
402
+ rmSync(skillOverridePath(clean), { force: true });
403
+ }
404
+ catch { /* ignore */ }
405
+ }
406
+ else {
407
+ entry.body = body;
408
+ entry.updatedAt = nowIso();
409
+ mkdirSync(skillsDir(), { recursive: true });
410
+ atomicWriteFileSync(skillOverridePath(clean), body);
411
+ }
412
+ if (entry.body !== undefined || entry.disabled)
413
+ bs[clean] = entry;
414
+ else
415
+ delete bs[clean];
416
+ if (Object.keys(bs).length)
417
+ state.builtinSkills = bs;
418
+ else
419
+ delete state.builtinSkills;
420
+ writeStateUnlocked(state);
421
+ return state;
422
+ });
423
+ }
424
+ /** Enable/disable injection of a built-in skill (independent of any body override). */
425
+ export function setSkillDisabled(name, disabled) {
426
+ const clean = safeSkillName(name);
427
+ return withStateLock(() => {
428
+ try {
429
+ snapshotCurrentUnlocked(`${disabled ? 'disable' : 'enable'} skill ${clean}`);
430
+ }
431
+ catch { /* best-effort */ }
432
+ const state = readStateFromDisk();
433
+ const bs = { ...(state.builtinSkills ?? {}) };
434
+ const entry = { ...(bs[clean] ?? {}) };
435
+ if (disabled)
436
+ entry.disabled = true;
437
+ else
438
+ delete entry.disabled;
439
+ entry.updatedAt = nowIso();
440
+ if (entry.body !== undefined || entry.disabled)
441
+ bs[clean] = entry;
442
+ else
443
+ delete bs[clean];
444
+ if (Object.keys(bs).length)
445
+ state.builtinSkills = bs;
446
+ else
447
+ delete state.builtinSkills;
448
+ writeStateUnlocked(state);
449
+ return state;
450
+ });
451
+ }
452
+ /** Reset EVERYTHING to factory: clears all overrides + skill bodies. Snapshots
453
+ * first, so this is fully reversible via rollback. Keeps the master enabled
454
+ * flag (resetting content is orthogonal to the on/off switch). */
455
+ export function resetAllToFactory() {
456
+ return withStateLock(() => {
457
+ try {
458
+ snapshotCurrentUnlocked('reset all to factory');
459
+ }
460
+ catch { /* best-effort */ }
461
+ const prior = readStateFromDisk();
462
+ // Wipe the skill body files.
463
+ try {
464
+ rmSync(skillsDir(), { recursive: true, force: true });
465
+ }
466
+ catch { /* ignore */ }
467
+ const next = { schemaVersion: SCHEMA_VERSION };
468
+ // Preserve the master switch across a content reset.
469
+ if (prior.enabled !== undefined)
470
+ next.enabled = prior.enabled;
471
+ writeStateUnlocked(next);
472
+ return next;
473
+ });
474
+ }
475
+ /** Roll the current state back to a snapshot's contents. Non-destructive: the
476
+ * pre-rollback state is snapshotted first, so a rollback can itself be undone
477
+ * by rolling forward to that new snapshot. */
478
+ export function rollbackToSnapshot(id) {
479
+ const target = readSnapshotState(id);
480
+ if (!target)
481
+ throw new Error('snapshot_not_found');
482
+ return withStateLock(() => {
483
+ try {
484
+ snapshotCurrentUnlocked(`rollback to ${id}`);
485
+ }
486
+ catch { /* best-effort */ }
487
+ // Restore skill bodies from the snapshot dir.
488
+ try {
489
+ rmSync(skillsDir(), { recursive: true, force: true });
490
+ }
491
+ catch { /* ignore */ }
492
+ const snapSkills = join(snapshotDir(id), 'skills');
493
+ if (existsSync(snapSkills)) {
494
+ try {
495
+ cpSync(snapSkills, skillsDir(), { recursive: true });
496
+ }
497
+ catch { /* best-effort */ }
498
+ }
499
+ writeStateUnlocked(target);
500
+ return target;
501
+ });
502
+ }
503
+ /** Replace the entire state atomically (used by bundle import after diff
504
+ * confirmation). Snapshots first. `skillBodies` maps skill name → SKILL.md so
505
+ * the .md files are materialised alongside the state pointers. */
506
+ export function replaceState(next, skillBodies, label) {
507
+ return withStateLock(() => {
508
+ try {
509
+ snapshotCurrentUnlocked(label);
510
+ }
511
+ catch { /* best-effort */ }
512
+ const clean = coerceState(next);
513
+ // Rewrite skill body files to exactly match the incoming set.
514
+ try {
515
+ rmSync(skillsDir(), { recursive: true, force: true });
516
+ }
517
+ catch { /* ignore */ }
518
+ if (clean.builtinSkills) {
519
+ mkdirSync(skillsDir(), { recursive: true });
520
+ for (const [name, entry] of Object.entries(clean.builtinSkills)) {
521
+ if (entry.body === undefined)
522
+ continue;
523
+ const body = skillBodies[name];
524
+ if (typeof body === 'string') {
525
+ atomicWriteFileSync(skillOverridePath(name), body);
526
+ }
527
+ else {
528
+ // Body marked present but no text supplied — drop the marker so state
529
+ // never references a missing file.
530
+ delete entry.body;
531
+ if (entry.body === undefined && !entry.disabled)
532
+ delete clean.builtinSkills[name];
533
+ }
534
+ }
535
+ if (clean.builtinSkills && !Object.keys(clean.builtinSkills).length)
536
+ delete clean.builtinSkills;
537
+ }
538
+ writeStateUnlocked(clean);
539
+ return clean;
540
+ });
541
+ }
542
+ //# sourceMappingURL=customization-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customization-store.js","sourceRoot":"","sources":["../../src/services/customization-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-bridge-path.d.ts","sourceRoot":"","sources":["../../src/services/file-bridge-path.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,kBAAkB,GACvB,MAAM,GAAG,SAAS,CAYpB"}
1
+ {"version":3,"file":"file-bridge-path.d.ts","sourceRoot":"","sources":["../../src/services/file-bridge-path.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,kBAAkB,GACvB,MAAM,GAAG,SAAS,CAYpB"}
@@ -15,6 +15,7 @@ import { cocoEventsPathForSession, findCocoSessionByPid } from './coco-transcrip
15
15
  import { findPiTranscriptByPid, findPiTranscriptBySessionId } from './pi-transcript.js';
16
16
  import { findGrokSessionByPid, findGrokUpdatesBySessionId } from './grok-transcript.js';
17
17
  import { findCursorTranscriptByChatId, findCursorTranscriptByPid } from './cursor-transcript.js';
18
+ import { ompTranscriptPath } from '../adapters/cli/oh-my-pi.js';
18
19
  /** Resolve a transcript/events path for a file-backed structured-bridge CLI. */
19
20
  export function resolveFileBridgePath(cliId, opts) {
20
21
  if (!cliId)
@@ -38,6 +39,8 @@ function resolveBySessionId(cliId, sessionId, cwd) {
38
39
  }
39
40
  case 'pi':
40
41
  return findPiTranscriptBySessionId(sessionId, cwd);
42
+ case 'oh-my-pi':
43
+ return ompTranscriptPath(sessionId) ?? undefined;
41
44
  case 'grok':
42
45
  return findGrokUpdatesBySessionId(sessionId, cwd);
43
46
  case 'traex':
@@ -1 +1 @@
1
- {"version":3,"file":"file-bridge-path.js","sourceRoot":"","sources":["../../src/services/file-bridge-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAQjG,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CACnC,KAAyB,EACzB,IAAwB;IAExB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,SAAiB,EAAE,GAAY;IACxE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,KAAK,IAAI;YACP,OAAO,2BAA2B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACpD,KAAK,OAAO;YACV,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACjD,KAAK,OAAO;YACV,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAChD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,CAAC;QACD,KAAK,IAAI;YACP,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,CAAC;QACD,KAAK,OAAO;YACV,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,yBAAyB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC1C;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"file-bridge-path.js","sourceRoot":"","sources":["../../src/services/file-bridge-path.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grok-transcript.d.ts","sourceRoot":"","sources":["../../src/services/grok-transcript.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAgB/C,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAQtF;AAED;;;;2CAI2C;AAC3C,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAc7E;AA6BD;;4DAE4D;AAC5D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GACV;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgDxD;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAoIlF;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAqD3C;AAkCD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6D7B;AAED,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"grok-transcript.d.ts","sourceRoot":"","sources":["../../src/services/grok-transcript.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAgB/C,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAQtF;AAED;;;;2CAI2C;AAC3C,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAc7E;AA6BD;;4DAE4D;AAC5D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GACV;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgDxD;AAwED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CA6IlF;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAqD3C;AAkCD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6D7B;AAED,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,CAAC"}