botmux 2.106.1-canary.0 → 2.108.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 (738) hide show
  1. package/README.en.md +17 -14
  2. package/README.md +19 -14
  3. package/dist/adapters/backend/sandbox.d.ts +9 -21
  4. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  5. package/dist/adapters/backend/sandbox.js +45 -153
  6. package/dist/adapters/backend/sandbox.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +16 -1
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts +25 -16
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-pipe-backend.js +76 -44
  13. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  14. package/dist/adapters/backend/zellij-observe-backend.d.ts +1 -1
  15. package/dist/adapters/backend/zellij-observe-backend.js +1 -1
  16. package/dist/adapters/cli/genius.d.ts.map +1 -1
  17. package/dist/adapters/cli/genius.js +9 -15
  18. package/dist/adapters/cli/genius.js.map +1 -1
  19. package/dist/adapters/cli/grok.d.ts +73 -0
  20. package/dist/adapters/cli/grok.d.ts.map +1 -0
  21. package/dist/adapters/cli/grok.js +298 -0
  22. package/dist/adapters/cli/grok.js.map +1 -0
  23. package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
  24. package/dist/adapters/cli/oh-my-pi.js +133 -12
  25. package/dist/adapters/cli/oh-my-pi.js.map +1 -1
  26. package/dist/adapters/cli/read-isolation.d.ts +2 -1
  27. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  28. package/dist/adapters/cli/read-isolation.js +51 -4
  29. package/dist/adapters/cli/read-isolation.js.map +1 -1
  30. package/dist/adapters/cli/registry.d.ts +2 -1
  31. package/dist/adapters/cli/registry.d.ts.map +1 -1
  32. package/dist/adapters/cli/registry.js +3 -1
  33. package/dist/adapters/cli/registry.js.map +1 -1
  34. package/dist/adapters/cli/shared-hints.d.ts +8 -4
  35. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  36. package/dist/adapters/cli/shared-hints.js +8 -4
  37. package/dist/adapters/cli/shared-hints.js.map +1 -1
  38. package/dist/adapters/cli/types.d.ts +18 -16
  39. package/dist/adapters/cli/types.d.ts.map +1 -1
  40. package/dist/adapters/hook-installer.d.ts +5 -4
  41. package/dist/adapters/hook-installer.d.ts.map +1 -1
  42. package/dist/adapters/hook-installer.js +42 -0
  43. package/dist/adapters/hook-installer.js.map +1 -1
  44. package/dist/bot-registry.d.ts +90 -1
  45. package/dist/bot-registry.d.ts.map +1 -1
  46. package/dist/bot-registry.js +151 -0
  47. package/dist/bot-registry.js.map +1 -1
  48. package/dist/cli/send-dispatch.d.ts +21 -0
  49. package/dist/cli/send-dispatch.d.ts.map +1 -1
  50. package/dist/cli/send-dispatch.js +159 -0
  51. package/dist/cli/send-dispatch.js.map +1 -1
  52. package/dist/cli/session-list-liveness.d.ts +22 -0
  53. package/dist/cli/session-list-liveness.d.ts.map +1 -0
  54. package/dist/cli/session-list-liveness.js +22 -0
  55. package/dist/cli/session-list-liveness.js.map +1 -0
  56. package/dist/cli/vc-agent.d.ts +2 -0
  57. package/dist/cli/vc-agent.d.ts.map +1 -0
  58. package/dist/cli/vc-agent.js +331 -0
  59. package/dist/cli/vc-agent.js.map +1 -0
  60. package/dist/cli.d.ts.map +1 -1
  61. package/dist/cli.js +211 -36
  62. package/dist/cli.js.map +1 -1
  63. package/dist/config.d.ts +8 -0
  64. package/dist/config.d.ts.map +1 -1
  65. package/dist/config.js +13 -1
  66. package/dist/config.js.map +1 -1
  67. package/dist/core/ask-types.d.ts +4 -0
  68. package/dist/core/ask-types.d.ts.map +1 -1
  69. package/dist/core/ask-types.js +10 -0
  70. package/dist/core/ask-types.js.map +1 -1
  71. package/dist/core/command-handler.d.ts.map +1 -1
  72. package/dist/core/command-handler.js +7 -1
  73. package/dist/core/command-handler.js.map +1 -1
  74. package/dist/core/cost-calculator.d.ts.map +1 -1
  75. package/dist/core/cost-calculator.js +35 -13
  76. package/dist/core/cost-calculator.js.map +1 -1
  77. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  78. package/dist/core/dashboard-ipc-server.js +162 -18
  79. package/dist/core/dashboard-ipc-server.js.map +1 -1
  80. package/dist/core/dashboard-rows.d.ts +6 -0
  81. package/dist/core/dashboard-rows.d.ts.map +1 -1
  82. package/dist/core/dashboard-rows.js +31 -2
  83. package/dist/core/dashboard-rows.js.map +1 -1
  84. package/dist/core/dashboard-url.d.ts +6 -5
  85. package/dist/core/dashboard-url.d.ts.map +1 -1
  86. package/dist/core/dashboard-url.js +11 -8
  87. package/dist/core/dashboard-url.js.map +1 -1
  88. package/dist/core/idle-worker-sweeper.d.ts +1 -1
  89. package/dist/core/idle-worker-sweeper.js +1 -1
  90. package/dist/core/maintenance.d.ts +11 -8
  91. package/dist/core/maintenance.d.ts.map +1 -1
  92. package/dist/core/maintenance.js +45 -20
  93. package/dist/core/maintenance.js.map +1 -1
  94. package/dist/core/passthrough-commands.d.ts.map +1 -1
  95. package/dist/core/passthrough-commands.js +2 -1
  96. package/dist/core/passthrough-commands.js.map +1 -1
  97. package/dist/core/pending-response.d.ts +1 -0
  98. package/dist/core/pending-response.d.ts.map +1 -1
  99. package/dist/core/pending-response.js +1 -0
  100. package/dist/core/pending-response.js.map +1 -1
  101. package/dist/core/per-bot-env.d.ts.map +1 -1
  102. package/dist/core/per-bot-env.js +4 -0
  103. package/dist/core/per-bot-env.js.map +1 -1
  104. package/dist/core/resource-monitor/attribution.d.ts +70 -0
  105. package/dist/core/resource-monitor/attribution.d.ts.map +1 -0
  106. package/dist/core/resource-monitor/attribution.js +222 -0
  107. package/dist/core/resource-monitor/attribution.js.map +1 -0
  108. package/dist/core/resource-monitor/procfs.d.ts +22 -0
  109. package/dist/core/resource-monitor/procfs.d.ts.map +1 -0
  110. package/dist/core/resource-monitor/procfs.js +134 -0
  111. package/dist/core/resource-monitor/procfs.js.map +1 -0
  112. package/dist/core/resource-monitor/ring-buffer.d.ts +15 -0
  113. package/dist/core/resource-monitor/ring-buffer.d.ts.map +1 -0
  114. package/dist/core/resource-monitor/ring-buffer.js +61 -0
  115. package/dist/core/resource-monitor/ring-buffer.js.map +1 -0
  116. package/dist/core/resource-monitor/runtime.d.ts +31 -0
  117. package/dist/core/resource-monitor/runtime.d.ts.map +1 -0
  118. package/dist/core/resource-monitor/runtime.js +92 -0
  119. package/dist/core/resource-monitor/runtime.js.map +1 -0
  120. package/dist/core/resource-monitor/top-selector.d.ts +18 -0
  121. package/dist/core/resource-monitor/top-selector.d.ts.map +1 -0
  122. package/dist/core/resource-monitor/top-selector.js +57 -0
  123. package/dist/core/resource-monitor/top-selector.js.map +1 -0
  124. package/dist/core/resource-monitor/types.d.ts +181 -0
  125. package/dist/core/resource-monitor/types.d.ts.map +1 -0
  126. package/dist/core/resource-monitor/types.js +2 -0
  127. package/dist/core/resource-monitor/types.js.map +1 -0
  128. package/dist/core/session-discovery.d.ts.map +1 -1
  129. package/dist/core/session-discovery.js +4 -0
  130. package/dist/core/session-discovery.js.map +1 -1
  131. package/dist/core/session-manager.d.ts +4 -2
  132. package/dist/core/session-manager.d.ts.map +1 -1
  133. package/dist/core/session-manager.js +82 -7
  134. package/dist/core/session-manager.js.map +1 -1
  135. package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
  136. package/dist/core/skills/cli-admin-command.js +8 -2
  137. package/dist/core/skills/cli-admin-command.js.map +1 -1
  138. package/dist/core/skills/im-command.d.ts.map +1 -1
  139. package/dist/core/skills/im-command.js +3 -1
  140. package/dist/core/skills/im-command.js.map +1 -1
  141. package/dist/core/skills/sources.d.ts +33 -1
  142. package/dist/core/skills/sources.d.ts.map +1 -1
  143. package/dist/core/skills/sources.js +97 -0
  144. package/dist/core/skills/sources.js.map +1 -1
  145. package/dist/core/skills/types.d.ts +8 -0
  146. package/dist/core/skills/types.d.ts.map +1 -1
  147. package/dist/core/terminal-url.d.ts.map +1 -1
  148. package/dist/core/terminal-url.js +12 -2
  149. package/dist/core/terminal-url.js.map +1 -1
  150. package/dist/core/terminal-write-auth.d.ts +34 -0
  151. package/dist/core/terminal-write-auth.d.ts.map +1 -0
  152. package/dist/core/terminal-write-auth.js +76 -0
  153. package/dist/core/terminal-write-auth.js.map +1 -0
  154. package/dist/core/tmux-recovery.d.ts +11 -0
  155. package/dist/core/tmux-recovery.d.ts.map +1 -0
  156. package/dist/core/tmux-recovery.js +19 -0
  157. package/dist/core/tmux-recovery.js.map +1 -0
  158. package/dist/core/trigger-session.d.ts.map +1 -1
  159. package/dist/core/trigger-session.js +7 -2
  160. package/dist/core/trigger-session.js.map +1 -1
  161. package/dist/core/types.d.ts +14 -7
  162. package/dist/core/types.d.ts.map +1 -1
  163. package/dist/core/types.js.map +1 -1
  164. package/dist/core/update-check.d.ts +2 -2
  165. package/dist/core/update-check.js +2 -2
  166. package/dist/core/worker-pool.d.ts +7 -0
  167. package/dist/core/worker-pool.d.ts.map +1 -1
  168. package/dist/core/worker-pool.js +97 -12
  169. package/dist/core/worker-pool.js.map +1 -1
  170. package/dist/core/zellij-adopt-discovery.js +1 -1
  171. package/dist/core/zellij-adopt-discovery.js.map +1 -1
  172. package/dist/daemon.d.ts +145 -1
  173. package/dist/daemon.d.ts.map +1 -1
  174. package/dist/daemon.js +3500 -150
  175. package/dist/daemon.js.map +1 -1
  176. package/dist/dashboard/auth.d.ts +1 -1
  177. package/dist/dashboard/auth.d.ts.map +1 -1
  178. package/dist/dashboard/auth.js +7 -2
  179. package/dist/dashboard/auth.js.map +1 -1
  180. package/dist/dashboard/bot-payload.d.ts +4 -0
  181. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  182. package/dist/dashboard/bot-payload.js +4 -0
  183. package/dist/dashboard/bot-payload.js.map +1 -1
  184. package/dist/dashboard/connector-api.d.ts.map +1 -1
  185. package/dist/dashboard/connector-api.js +39 -13
  186. package/dist/dashboard/connector-api.js.map +1 -1
  187. package/dist/dashboard/federated-group-core.js +1 -1
  188. package/dist/dashboard/federated-group-core.js.map +1 -1
  189. package/dist/dashboard/federation-api.js +1 -1
  190. package/dist/dashboard/history-senders.d.ts +37 -0
  191. package/dist/dashboard/history-senders.d.ts.map +1 -0
  192. package/dist/dashboard/history-senders.js +60 -0
  193. package/dist/dashboard/history-senders.js.map +1 -0
  194. package/dist/dashboard/resource-monitor-service.d.ts +56 -0
  195. package/dist/dashboard/resource-monitor-service.d.ts.map +1 -0
  196. package/dist/dashboard/resource-monitor-service.js +446 -0
  197. package/dist/dashboard/resource-monitor-service.js.map +1 -0
  198. package/dist/dashboard/roles-batch.d.ts +31 -0
  199. package/dist/dashboard/roles-batch.d.ts.map +1 -0
  200. package/dist/dashboard/roles-batch.js +87 -0
  201. package/dist/dashboard/roles-batch.js.map +1 -0
  202. package/dist/dashboard/settings-card-model.d.ts +4 -2
  203. package/dist/dashboard/settings-card-model.d.ts.map +1 -1
  204. package/dist/dashboard/settings-card-model.js +13 -5
  205. package/dist/dashboard/settings-card-model.js.map +1 -1
  206. package/dist/dashboard/settings-write-applier.d.ts +34 -1
  207. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  208. package/dist/dashboard/settings-write-applier.js +53 -1
  209. package/dist/dashboard/settings-write-applier.js.map +1 -1
  210. package/dist/dashboard/skill-install-request.d.ts +4 -0
  211. package/dist/dashboard/skill-install-request.d.ts.map +1 -1
  212. package/dist/dashboard/skill-install-request.js +11 -1
  213. package/dist/dashboard/skill-install-request.js.map +1 -1
  214. package/dist/dashboard/trigger-api.d.ts +9 -1
  215. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  216. package/dist/dashboard/trigger-api.js +48 -10
  217. package/dist/dashboard/trigger-api.js.map +1 -1
  218. package/dist/dashboard/web/app.d.ts.map +1 -1
  219. package/dist/dashboard/web/app.js +286 -271
  220. package/dist/dashboard/web/app.js.map +1 -1
  221. package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
  222. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  223. package/dist/dashboard/web/bot-defaults-page.js +1408 -12
  224. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  225. package/dist/dashboard/web/bot-defaults.d.ts +91 -4
  226. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  227. package/dist/dashboard/web/bot-defaults.js +43 -1982
  228. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  229. package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
  230. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  231. package/dist/dashboard/web/bot-onboarding.js +261 -306
  232. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  233. package/dist/dashboard/web/connectors-page.d.ts +4 -0
  234. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  235. package/dist/dashboard/web/connectors-page.js +228 -48
  236. package/dist/dashboard/web/connectors-page.js.map +1 -1
  237. package/dist/dashboard/web/dashboard-api.d.ts +9 -0
  238. package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
  239. package/dist/dashboard/web/dashboard-api.js +18 -0
  240. package/dist/dashboard/web/dashboard-api.js.map +1 -0
  241. package/dist/dashboard/web/dashboard-components.d.ts +92 -0
  242. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
  243. package/dist/dashboard/web/dashboard-components.js +250 -0
  244. package/dist/dashboard/web/dashboard-components.js.map +1 -0
  245. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  246. package/dist/dashboard/web/dashboard-routes.js +30 -165
  247. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  248. package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
  249. package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
  250. package/dist/dashboard/web/floating-scrollbars.js +264 -0
  251. package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
  252. package/dist/dashboard/web/groups-api.d.ts +36 -0
  253. package/dist/dashboard/web/groups-api.d.ts.map +1 -0
  254. package/dist/dashboard/web/groups-api.js +44 -0
  255. package/dist/dashboard/web/groups-api.js.map +1 -0
  256. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  257. package/dist/dashboard/web/groups-page.js +746 -15
  258. package/dist/dashboard/web/groups-page.js.map +1 -1
  259. package/dist/dashboard/web/groups.d.ts +51 -18
  260. package/dist/dashboard/web/groups.d.ts.map +1 -1
  261. package/dist/dashboard/web/groups.js +145 -1096
  262. package/dist/dashboard/web/groups.js.map +1 -1
  263. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  264. package/dist/dashboard/web/i18n.js +824 -240
  265. package/dist/dashboard/web/i18n.js.map +1 -1
  266. package/dist/dashboard/web/insights-page.d.ts.map +1 -1
  267. package/dist/dashboard/web/insights-page.js +1047 -14
  268. package/dist/dashboard/web/insights-page.js.map +1 -1
  269. package/dist/dashboard/web/insights.d.ts +177 -7
  270. package/dist/dashboard/web/insights.d.ts.map +1 -1
  271. package/dist/dashboard/web/insights.js +187 -1926
  272. package/dist/dashboard/web/insights.js.map +1 -1
  273. package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
  274. package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
  275. package/dist/dashboard/web/legacy-workflow-page.js +717 -0
  276. package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
  277. package/dist/dashboard/web/monitor-room-store.d.ts +20 -0
  278. package/dist/dashboard/web/monitor-room-store.d.ts.map +1 -0
  279. package/dist/dashboard/web/monitor-room-store.js +80 -0
  280. package/dist/dashboard/web/monitor-room-store.js.map +1 -0
  281. package/dist/dashboard/web/monitor-room.d.ts +31 -0
  282. package/dist/dashboard/web/monitor-room.d.ts.map +1 -0
  283. package/dist/dashboard/web/monitor-room.js +395 -0
  284. package/dist/dashboard/web/monitor-room.js.map +1 -0
  285. package/dist/dashboard/web/monitoring-page.d.ts +155 -0
  286. package/dist/dashboard/web/monitoring-page.d.ts.map +1 -0
  287. package/dist/dashboard/web/monitoring-page.js +363 -0
  288. package/dist/dashboard/web/monitoring-page.js.map +1 -0
  289. package/dist/dashboard/web/office-page.d.ts.map +1 -1
  290. package/dist/dashboard/web/office-page.js +11 -23
  291. package/dist/dashboard/web/office-page.js.map +1 -1
  292. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  293. package/dist/dashboard/web/overview-page.js +141 -40
  294. package/dist/dashboard/web/overview-page.js.map +1 -1
  295. package/dist/dashboard/web/overview.d.ts +0 -1
  296. package/dist/dashboard/web/overview.d.ts.map +1 -1
  297. package/dist/dashboard/web/overview.js +3 -275
  298. package/dist/dashboard/web/overview.js.map +1 -1
  299. package/dist/dashboard/web/preferences.d.ts +4 -6
  300. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  301. package/dist/dashboard/web/preferences.js +18 -21
  302. package/dist/dashboard/web/preferences.js.map +1 -1
  303. package/dist/dashboard/web/role-batch.d.ts +9 -0
  304. package/dist/dashboard/web/role-batch.d.ts.map +1 -0
  305. package/dist/dashboard/web/role-batch.js +42 -0
  306. package/dist/dashboard/web/role-batch.js.map +1 -0
  307. package/dist/dashboard/web/roles-page.d.ts.map +1 -1
  308. package/dist/dashboard/web/roles-page.js +538 -13
  309. package/dist/dashboard/web/roles-page.js.map +1 -1
  310. package/dist/dashboard/web/roles.d.ts +98 -1
  311. package/dist/dashboard/web/roles.d.ts.map +1 -1
  312. package/dist/dashboard/web/roles.js +117 -903
  313. package/dist/dashboard/web/roles.js.map +1 -1
  314. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  315. package/dist/dashboard/web/schedules-page.js +82 -24
  316. package/dist/dashboard/web/schedules-page.js.map +1 -1
  317. package/dist/dashboard/web/session-terminal.d.ts +7 -0
  318. package/dist/dashboard/web/session-terminal.d.ts.map +1 -0
  319. package/dist/dashboard/web/session-terminal.js +17 -0
  320. package/dist/dashboard/web/session-terminal.js.map +1 -0
  321. package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
  322. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
  323. package/dist/dashboard/web/sessions-kanban.js +481 -0
  324. package/dist/dashboard/web/sessions-kanban.js.map +1 -0
  325. package/dist/dashboard/web/sessions-page.d.ts +4 -0
  326. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  327. package/dist/dashboard/web/sessions-page.js +1633 -17
  328. package/dist/dashboard/web/sessions-page.js.map +1 -1
  329. package/dist/dashboard/web/sessions.d.ts +49 -4
  330. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  331. package/dist/dashboard/web/sessions.js +76 -2477
  332. package/dist/dashboard/web/sessions.js.map +1 -1
  333. package/dist/dashboard/web/settings-page.d.ts +0 -2
  334. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  335. package/dist/dashboard/web/settings-page.js +134 -69
  336. package/dist/dashboard/web/settings-page.js.map +1 -1
  337. package/dist/dashboard/web/skills-page.d.ts +10 -1
  338. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  339. package/dist/dashboard/web/skills-page.js +235 -93
  340. package/dist/dashboard/web/skills-page.js.map +1 -1
  341. package/dist/dashboard/web/substitute-targets.d.ts +30 -0
  342. package/dist/dashboard/web/substitute-targets.d.ts.map +1 -0
  343. package/dist/dashboard/web/substitute-targets.js +99 -0
  344. package/dist/dashboard/web/substitute-targets.js.map +1 -0
  345. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  346. package/dist/dashboard/web/team-federation-page.js +446 -28
  347. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  348. package/dist/dashboard/web/team-federation.d.ts +91 -2
  349. package/dist/dashboard/web/team-federation.d.ts.map +1 -1
  350. package/dist/dashboard/web/team-federation.js +87 -474
  351. package/dist/dashboard/web/team-federation.js.map +1 -1
  352. package/dist/dashboard/web/theme-menu.d.ts +1 -0
  353. package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
  354. package/dist/dashboard/web/theme-menu.js +79 -20
  355. package/dist/dashboard/web/theme-menu.js.map +1 -1
  356. package/dist/dashboard/web/ui.d.ts +2 -3
  357. package/dist/dashboard/web/ui.d.ts.map +1 -1
  358. package/dist/dashboard/web/ui.js +12 -21
  359. package/dist/dashboard/web/ui.js.map +1 -1
  360. package/dist/dashboard/web/v3-api.d.ts +16 -0
  361. package/dist/dashboard/web/v3-api.d.ts.map +1 -0
  362. package/dist/dashboard/web/v3-api.js +21 -0
  363. package/dist/dashboard/web/v3-api.js.map +1 -0
  364. package/dist/dashboard/web/v3-components.d.ts +2 -0
  365. package/dist/dashboard/web/v3-components.d.ts.map +1 -0
  366. package/dist/dashboard/web/v3-components.js +290 -0
  367. package/dist/dashboard/web/v3-components.js.map +1 -0
  368. package/dist/dashboard/web/v3-model.d.ts +80 -0
  369. package/dist/dashboard/web/v3-model.d.ts.map +1 -0
  370. package/dist/dashboard/web/v3-model.js +240 -0
  371. package/dist/dashboard/web/v3-model.js.map +1 -0
  372. package/dist/dashboard/web/v3-page.d.ts.map +1 -1
  373. package/dist/dashboard/web/v3-page.js +2 -22
  374. package/dist/dashboard/web/v3-page.js.map +1 -1
  375. package/dist/dashboard/web/v3-terminal.d.ts +14 -0
  376. package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
  377. package/dist/dashboard/web/v3-terminal.js +31 -19
  378. package/dist/dashboard/web/v3-terminal.js.map +1 -1
  379. package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
  380. package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
  381. package/dist/dashboard/web/webhook-logs-page.js +195 -0
  382. package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
  383. package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
  384. package/dist/dashboard/web/whiteboards-page.js +18 -23
  385. package/dist/dashboard/web/whiteboards-page.js.map +1 -1
  386. package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
  387. package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
  388. package/dist/dashboard/web/workflow-version-switch.js +9 -0
  389. package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
  390. package/dist/dashboard/web/workflows.d.ts +272 -1
  391. package/dist/dashboard/web/workflows.d.ts.map +1 -1
  392. package/dist/dashboard/web/workflows.js +211 -1397
  393. package/dist/dashboard/web/workflows.js.map +1 -1
  394. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  395. package/dist/dashboard/webhook-routes.js +92 -39
  396. package/dist/dashboard/webhook-routes.js.map +1 -1
  397. package/dist/dashboard-web/app.js +1 -65
  398. package/dist/dashboard-web/brand-logo.png +0 -0
  399. package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
  400. package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
  401. package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
  402. package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
  403. package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
  404. package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
  405. package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
  406. package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
  407. package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
  408. package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
  409. package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
  410. package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
  411. package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
  412. package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
  413. package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
  414. package/dist/dashboard-web/chunks/monitor-room-WTZNYAFV.js +53 -0
  415. package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
  416. package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
  417. package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
  418. package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
  419. package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
  420. package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
  421. package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
  422. package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
  423. package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
  424. package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
  425. package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
  426. package/dist/dashboard-web/favicon.png +0 -0
  427. package/dist/dashboard-web/index.html +5 -68
  428. package/dist/dashboard-web/style.css +19227 -6687
  429. package/dist/dashboard.js +554 -35
  430. package/dist/dashboard.js.map +1 -1
  431. package/dist/global-config.d.ts +25 -2
  432. package/dist/global-config.d.ts.map +1 -1
  433. package/dist/global-config.js +58 -1
  434. package/dist/global-config.js.map +1 -1
  435. package/dist/i18n/en.d.ts.map +1 -1
  436. package/dist/i18n/en.js +20 -6
  437. package/dist/i18n/en.js.map +1 -1
  438. package/dist/i18n/zh.d.ts.map +1 -1
  439. package/dist/i18n/zh.js +20 -6
  440. package/dist/i18n/zh.js.map +1 -1
  441. package/dist/im/lark/card-builder.d.ts +7 -5
  442. package/dist/im/lark/card-builder.d.ts.map +1 -1
  443. package/dist/im/lark/card-builder.js +28 -7
  444. package/dist/im/lark/card-builder.js.map +1 -1
  445. package/dist/im/lark/card-handler.d.ts +3 -0
  446. package/dist/im/lark/card-handler.d.ts.map +1 -1
  447. package/dist/im/lark/card-handler.js +45 -3
  448. package/dist/im/lark/card-handler.js.map +1 -1
  449. package/dist/im/lark/event-dispatcher.d.ts +13 -0
  450. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  451. package/dist/im/lark/event-dispatcher.js +225 -5
  452. package/dist/im/lark/event-dispatcher.js.map +1 -1
  453. package/dist/im/lark/grant-command.d.ts +1 -1
  454. package/dist/im/lark/grant-command.js +1 -1
  455. package/dist/im/lark/message-parser.d.ts +41 -0
  456. package/dist/im/lark/message-parser.d.ts.map +1 -1
  457. package/dist/im/lark/message-parser.js +70 -0
  458. package/dist/im/lark/message-parser.js.map +1 -1
  459. package/dist/im/lark/substitute-command.d.ts +2 -0
  460. package/dist/im/lark/substitute-command.d.ts.map +1 -0
  461. package/dist/im/lark/substitute-command.js +51 -0
  462. package/dist/im/lark/substitute-command.js.map +1 -0
  463. package/dist/mir-prompt.d.ts +16 -0
  464. package/dist/mir-prompt.d.ts.map +1 -0
  465. package/dist/mir-prompt.js +170 -0
  466. package/dist/mir-prompt.js.map +1 -0
  467. package/dist/mir-runner.js +1 -149
  468. package/dist/mir-runner.js.map +1 -1
  469. package/dist/platform/binding.d.ts +9 -0
  470. package/dist/platform/binding.d.ts.map +1 -1
  471. package/dist/platform/binding.js +14 -0
  472. package/dist/platform/binding.js.map +1 -1
  473. package/dist/platform/tunnel-client.d.ts.map +1 -1
  474. package/dist/platform/tunnel-client.js +9 -0
  475. package/dist/platform/tunnel-client.js.map +1 -1
  476. package/dist/services/bot-config-store.d.ts +1 -1
  477. package/dist/services/bot-config-store.d.ts.map +1 -1
  478. package/dist/services/bot-config-store.js +11 -5
  479. package/dist/services/bot-config-store.js.map +1 -1
  480. package/dist/services/deployment-identity.d.ts +1 -1
  481. package/dist/services/deployment-identity.d.ts.map +1 -1
  482. package/dist/services/deployment-identity.js +1 -1
  483. package/dist/services/deployment-identity.js.map +1 -1
  484. package/dist/services/doc-subs-store.js +1 -1
  485. package/dist/services/file-bridge-path.d.ts +8 -0
  486. package/dist/services/file-bridge-path.d.ts.map +1 -0
  487. package/dist/services/file-bridge-path.js +75 -0
  488. package/dist/services/file-bridge-path.js.map +1 -0
  489. package/dist/services/grok-paths.d.ts +27 -0
  490. package/dist/services/grok-paths.d.ts.map +1 -0
  491. package/dist/services/grok-paths.js +106 -0
  492. package/dist/services/grok-paths.js.map +1 -0
  493. package/dist/services/grok-transcript.d.ts +67 -0
  494. package/dist/services/grok-transcript.d.ts.map +1 -0
  495. package/dist/services/grok-transcript.js +630 -0
  496. package/dist/services/grok-transcript.js.map +1 -0
  497. package/dist/services/hermes-session-filter.d.ts +28 -0
  498. package/dist/services/hermes-session-filter.d.ts.map +1 -0
  499. package/dist/services/hermes-session-filter.js +53 -0
  500. package/dist/services/hermes-session-filter.js.map +1 -0
  501. package/dist/services/hermes-transcript.d.ts +3 -0
  502. package/dist/services/hermes-transcript.d.ts.map +1 -1
  503. package/dist/services/hermes-transcript.js +20 -2
  504. package/dist/services/hermes-transcript.js.map +1 -1
  505. package/dist/services/resumable-session-discovery.d.ts +3 -0
  506. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  507. package/dist/services/resumable-session-discovery.js +6 -1
  508. package/dist/services/resumable-session-discovery.js.map +1 -1
  509. package/dist/services/skill-registry-store.d.ts +9 -0
  510. package/dist/services/skill-registry-store.d.ts.map +1 -1
  511. package/dist/services/skill-registry-store.js +304 -1
  512. package/dist/services/skill-registry-store.js.map +1 -1
  513. package/dist/services/structured-bridge-clis.d.ts +29 -0
  514. package/dist/services/structured-bridge-clis.d.ts.map +1 -0
  515. package/dist/services/structured-bridge-clis.js +76 -0
  516. package/dist/services/structured-bridge-clis.js.map +1 -0
  517. package/dist/services/substitute-chat-toggle-store.d.ts +3 -0
  518. package/dist/services/substitute-chat-toggle-store.d.ts.map +1 -0
  519. package/dist/services/substitute-chat-toggle-store.js +58 -0
  520. package/dist/services/substitute-chat-toggle-store.js.map +1 -0
  521. package/dist/services/substitute-mode-normalize.d.ts +22 -0
  522. package/dist/services/substitute-mode-normalize.d.ts.map +1 -0
  523. package/dist/services/substitute-mode-normalize.js +56 -0
  524. package/dist/services/substitute-mode-normalize.js.map +1 -0
  525. package/dist/services/substitute-mode-store.d.ts +50 -0
  526. package/dist/services/substitute-mode-store.d.ts.map +1 -0
  527. package/dist/services/substitute-mode-store.js +115 -0
  528. package/dist/services/substitute-mode-store.js.map +1 -0
  529. package/dist/services/team-board-store.js +1 -1
  530. package/dist/services/team-board-store.js.map +1 -1
  531. package/dist/services/trigger-log-store.d.ts +59 -0
  532. package/dist/services/trigger-log-store.d.ts.map +1 -1
  533. package/dist/services/trigger-log-store.js +81 -10
  534. package/dist/services/trigger-log-store.js.map +1 -1
  535. package/dist/services/trigger-types.d.ts +1 -1
  536. package/dist/services/trigger-types.d.ts.map +1 -1
  537. package/dist/services/usage-ledger.d.ts +4 -1
  538. package/dist/services/usage-ledger.d.ts.map +1 -1
  539. package/dist/services/usage-ledger.js +48 -10
  540. package/dist/services/usage-ledger.js.map +1 -1
  541. package/dist/services/vc-meeting-runtime-store.d.ts +59 -0
  542. package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -0
  543. package/dist/services/vc-meeting-runtime-store.js +339 -0
  544. package/dist/services/vc-meeting-runtime-store.js.map +1 -0
  545. package/dist/services/voice/index.d.ts +6 -1
  546. package/dist/services/voice/index.d.ts.map +1 -1
  547. package/dist/services/voice/index.js +12 -5
  548. package/dist/services/voice/index.js.map +1 -1
  549. package/dist/services/webhook-audit.d.ts +10 -0
  550. package/dist/services/webhook-audit.d.ts.map +1 -0
  551. package/dist/services/webhook-audit.js +116 -0
  552. package/dist/services/webhook-audit.js.map +1 -0
  553. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  554. package/dist/setup/bot-config-editor.js +2 -0
  555. package/dist/setup/bot-config-editor.js.map +1 -1
  556. package/dist/setup/ensure-tmux.d.ts +26 -12
  557. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  558. package/dist/setup/ensure-tmux.js +85 -18
  559. package/dist/setup/ensure-tmux.js.map +1 -1
  560. package/dist/setup/lark-scopes.json +5 -0
  561. package/dist/setup/open-platform-automation.d.ts +20 -0
  562. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  563. package/dist/setup/open-platform-automation.js +78 -1
  564. package/dist/setup/open-platform-automation.js.map +1 -1
  565. package/dist/setup/verify-permissions.d.ts +6 -0
  566. package/dist/setup/verify-permissions.d.ts.map +1 -1
  567. package/dist/setup/verify-permissions.js +17 -0
  568. package/dist/setup/verify-permissions.js.map +1 -1
  569. package/dist/skills/definitions.d.ts.map +1 -1
  570. package/dist/skills/definitions.js +14 -1
  571. package/dist/skills/definitions.js.map +1 -1
  572. package/dist/skills/injection-mode.d.ts +16 -0
  573. package/dist/skills/injection-mode.d.ts.map +1 -1
  574. package/dist/skills/injection-mode.js +25 -0
  575. package/dist/skills/injection-mode.js.map +1 -1
  576. package/dist/types.d.ts +28 -0
  577. package/dist/types.d.ts.map +1 -1
  578. package/dist/utils/daemon-discovery.d.ts +2 -0
  579. package/dist/utils/daemon-discovery.d.ts.map +1 -1
  580. package/dist/utils/daemon-discovery.js +2 -0
  581. package/dist/utils/daemon-discovery.js.map +1 -1
  582. package/dist/utils/global-install.d.ts +22 -0
  583. package/dist/utils/global-install.d.ts.map +1 -0
  584. package/dist/utils/global-install.js +106 -0
  585. package/dist/utils/global-install.js.map +1 -0
  586. package/dist/utils/install-diagnostics.d.ts +1 -1
  587. package/dist/utils/install-diagnostics.d.ts.map +1 -1
  588. package/dist/utils/install-diagnostics.js +6 -4
  589. package/dist/utils/install-diagnostics.js.map +1 -1
  590. package/dist/utils/install-info.d.ts +2 -0
  591. package/dist/utils/install-info.d.ts.map +1 -1
  592. package/dist/utils/install-info.js +10 -4
  593. package/dist/utils/install-info.js.map +1 -1
  594. package/dist/vc-agent/cards.d.ts +49 -0
  595. package/dist/vc-agent/cards.d.ts.map +1 -0
  596. package/dist/vc-agent/cards.js +505 -0
  597. package/dist/vc-agent/cards.js.map +1 -0
  598. package/dist/vc-agent/meeting-state.d.ts +39 -0
  599. package/dist/vc-agent/meeting-state.d.ts.map +1 -0
  600. package/dist/vc-agent/meeting-state.js +186 -0
  601. package/dist/vc-agent/meeting-state.js.map +1 -0
  602. package/dist/vc-agent/normalizer.d.ts +13 -0
  603. package/dist/vc-agent/normalizer.d.ts.map +1 -0
  604. package/dist/vc-agent/normalizer.js +470 -0
  605. package/dist/vc-agent/normalizer.js.map +1 -0
  606. package/dist/vc-agent/polling-source.d.ts +64 -0
  607. package/dist/vc-agent/polling-source.d.ts.map +1 -0
  608. package/dist/vc-agent/polling-source.js +181 -0
  609. package/dist/vc-agent/polling-source.js.map +1 -0
  610. package/dist/vc-agent/push-source.d.ts +13 -0
  611. package/dist/vc-agent/push-source.d.ts.map +1 -0
  612. package/dist/vc-agent/push-source.js +109 -0
  613. package/dist/vc-agent/push-source.js.map +1 -0
  614. package/dist/vc-agent/realtime/audio-source.d.ts +6 -0
  615. package/dist/vc-agent/realtime/audio-source.d.ts.map +1 -0
  616. package/dist/vc-agent/realtime/audio-source.js +17 -0
  617. package/dist/vc-agent/realtime/audio-source.js.map +1 -0
  618. package/dist/vc-agent/realtime/endpoint.d.ts +6 -0
  619. package/dist/vc-agent/realtime/endpoint.d.ts.map +1 -0
  620. package/dist/vc-agent/realtime/endpoint.js +25 -0
  621. package/dist/vc-agent/realtime/endpoint.js.map +1 -0
  622. package/dist/vc-agent/realtime/errors.d.ts +9 -0
  623. package/dist/vc-agent/realtime/errors.d.ts.map +1 -0
  624. package/dist/vc-agent/realtime/errors.js +17 -0
  625. package/dist/vc-agent/realtime/errors.js.map +1 -0
  626. package/dist/vc-agent/realtime/events.d.ts +24 -0
  627. package/dist/vc-agent/realtime/events.d.ts.map +1 -0
  628. package/dist/vc-agent/realtime/events.js +190 -0
  629. package/dist/vc-agent/realtime/events.js.map +1 -0
  630. package/dist/vc-agent/realtime/frontier.d.ts +34 -0
  631. package/dist/vc-agent/realtime/frontier.d.ts.map +1 -0
  632. package/dist/vc-agent/realtime/frontier.js +40 -0
  633. package/dist/vc-agent/realtime/frontier.js.map +1 -0
  634. package/dist/vc-agent/realtime/index.d.ts +11 -0
  635. package/dist/vc-agent/realtime/index.d.ts.map +1 -0
  636. package/dist/vc-agent/realtime/index.js +11 -0
  637. package/dist/vc-agent/realtime/index.js.map +1 -0
  638. package/dist/vc-agent/realtime/pacer.d.ts +21 -0
  639. package/dist/vc-agent/realtime/pacer.d.ts.map +1 -0
  640. package/dist/vc-agent/realtime/pacer.js +80 -0
  641. package/dist/vc-agent/realtime/pacer.js.map +1 -0
  642. package/dist/vc-agent/realtime/protobuf.d.ts +33 -0
  643. package/dist/vc-agent/realtime/protobuf.d.ts.map +1 -0
  644. package/dist/vc-agent/realtime/protobuf.js +159 -0
  645. package/dist/vc-agent/realtime/protobuf.js.map +1 -0
  646. package/dist/vc-agent/realtime/protocol.d.ts +4 -0
  647. package/dist/vc-agent/realtime/protocol.d.ts.map +1 -0
  648. package/dist/vc-agent/realtime/protocol.js +59 -0
  649. package/dist/vc-agent/realtime/protocol.js.map +1 -0
  650. package/dist/vc-agent/realtime/session.d.ts +39 -0
  651. package/dist/vc-agent/realtime/session.d.ts.map +1 -0
  652. package/dist/vc-agent/realtime/session.js +221 -0
  653. package/dist/vc-agent/realtime/session.js.map +1 -0
  654. package/dist/vc-agent/realtime/transport.d.ts +23 -0
  655. package/dist/vc-agent/realtime/transport.d.ts.map +1 -0
  656. package/dist/vc-agent/realtime/transport.js +112 -0
  657. package/dist/vc-agent/realtime/transport.js.map +1 -0
  658. package/dist/vc-agent/realtime/types.d.ts +84 -0
  659. package/dist/vc-agent/realtime/types.d.ts.map +1 -0
  660. package/dist/vc-agent/realtime/types.js +5 -0
  661. package/dist/vc-agent/realtime/types.js.map +1 -0
  662. package/dist/vc-agent/types.d.ts +143 -0
  663. package/dist/vc-agent/types.d.ts.map +1 -0
  664. package/dist/vc-agent/types.js +2 -0
  665. package/dist/vc-agent/types.js.map +1 -0
  666. package/dist/worker.js +364 -184
  667. package/dist/worker.js.map +1 -1
  668. package/dist/workflows/definition.d.ts +14 -14
  669. package/dist/workflows/events/payloads.d.ts +18 -18
  670. package/dist/workflows/events/schema.d.ts +480 -480
  671. package/dist/workflows/v3/contract.d.ts +3 -3
  672. package/dist/workflows/v3/contract.js +3 -3
  673. package/dist/workflows/v3/runtime.js +1 -1
  674. package/dist/workflows/v3/runtime.js.map +1 -1
  675. package/package.json +8 -7
  676. package/dist/dashboard/web/connectors.d.ts +0 -2
  677. package/dist/dashboard/web/connectors.d.ts.map +0 -1
  678. package/dist/dashboard/web/connectors.js +0 -2
  679. package/dist/dashboard/web/connectors.js.map +0 -1
  680. package/dist/dashboard/web/office.d.ts +0 -2
  681. package/dist/dashboard/web/office.d.ts.map +0 -1
  682. package/dist/dashboard/web/office.js +0 -2
  683. package/dist/dashboard/web/office.js.map +0 -1
  684. package/dist/dashboard/web/schedules.d.ts +0 -2
  685. package/dist/dashboard/web/schedules.d.ts.map +0 -1
  686. package/dist/dashboard/web/schedules.js +0 -2
  687. package/dist/dashboard/web/schedules.js.map +0 -1
  688. package/dist/dashboard/web/settings.d.ts +0 -2
  689. package/dist/dashboard/web/settings.d.ts.map +0 -1
  690. package/dist/dashboard/web/settings.js +0 -2
  691. package/dist/dashboard/web/settings.js.map +0 -1
  692. package/dist/dashboard/web/skills.d.ts +0 -2
  693. package/dist/dashboard/web/skills.d.ts.map +0 -1
  694. package/dist/dashboard/web/skills.js +0 -2
  695. package/dist/dashboard/web/skills.js.map +0 -1
  696. package/dist/dashboard/web/skin-intro.d.ts +0 -4
  697. package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
  698. package/dist/dashboard/web/skin-intro.js +0 -49
  699. package/dist/dashboard/web/skin-intro.js.map +0 -1
  700. package/dist/dashboard/web/v3.d.ts +0 -3
  701. package/dist/dashboard/web/v3.d.ts.map +0 -1
  702. package/dist/dashboard/web/v3.js +0 -539
  703. package/dist/dashboard/web/v3.js.map +0 -1
  704. package/dist/dashboard/web/whiteboards.d.ts +0 -2
  705. package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
  706. package/dist/dashboard/web/whiteboards.js +0 -2
  707. package/dist/dashboard/web/whiteboards.js.map +0 -1
  708. package/dist/dashboard-web/chunks/bot-defaults-page-4IF5NB4O.js +0 -409
  709. package/dist/dashboard-web/chunks/chunk-2KX53XHS.js +0 -317
  710. package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
  711. package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
  712. package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
  713. package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
  714. package/dist/dashboard-web/chunks/chunk-NHI3SY2K.js +0 -31
  715. package/dist/dashboard-web/chunks/chunk-RRBSPQVK.js +0 -1
  716. package/dist/dashboard-web/chunks/connectors-WZR7MAXE.js +0 -1
  717. package/dist/dashboard-web/chunks/groups-page-NK6U5JIU.js +0 -207
  718. package/dist/dashboard-web/chunks/insights-page-2TN3ZR33.js +0 -309
  719. package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
  720. package/dist/dashboard-web/chunks/overview-page-TADULZBE.js +0 -1
  721. package/dist/dashboard-web/chunks/roles-page-J6CRSIJ6.js +0 -98
  722. package/dist/dashboard-web/chunks/schedules-6RONVOOV.js +0 -1
  723. package/dist/dashboard-web/chunks/sessions-I4EZWL5Q.js +0 -1
  724. package/dist/dashboard-web/chunks/sessions-page-YTQC2EM6.js +0 -1
  725. package/dist/dashboard-web/chunks/settings-page-TRYWNJ5Y.js +0 -2
  726. package/dist/dashboard-web/chunks/skills-page-ZZLGLEEL.js +0 -2
  727. package/dist/dashboard-web/chunks/team-federation-page-QYAP7XJF.js +0 -10
  728. package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
  729. package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
  730. package/dist/dashboard-web/chunks/workflows-2L4DKNCK.js +0 -184
  731. package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
  732. package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
  733. package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
  734. package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
  735. package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
  736. package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
  737. package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
  738. package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
package/README.en.md CHANGED
@@ -15,14 +15,14 @@
15
15
  <a href="#design-philosophy">Design</a> &middot;
16
16
  <a href="#key-advantages">Advantages</a> &middot;
17
17
  <a href="#5-minute-setup">Quick Start</a> &middot;
18
- <a href="https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/"><b>📖 Docs</b></a>
18
+ <a href="https://deepcoldy.github.io/botmux/en/"><b>📖 Docs</b></a>
19
19
  </p>
20
20
 
21
21
  [中文](README.md) | English
22
22
 
23
23
  **Plug any AI coding CLI into Feishu/Lark — every DM, group or topic gets its own CLI session, with live-streaming cards, a web terminal, and zero glue code.**
24
24
 
25
- > 📖 **Full docs** (commands / config / best practices / troubleshooting): **<https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/>** — this README only covers why and how to get started fast.
25
+ > 📖 **Full docs** (commands / config / best practices / troubleshooting): **<https://deepcoldy.github.io/botmux/en/>** — this README only covers why and how to get started fast.
26
26
 
27
27
  | Lark Streaming Cards | Web Terminal | tmux Session Management | Multi-Bot Collaboration |
28
28
  |:-:|:-:|:-:|:-:|
@@ -40,7 +40,7 @@
40
40
 
41
41
  ### Design Philosophy
42
42
 
43
- Core philosophy: **Bridge CLIs, don't rebuild them**. botmux doesn't reimplement Agent capabilities — it bridges existing AI coding CLIs (Claude Code, Codex, Cursor, Gemini, OpenCode, Antigravity, GitHub Copilot, Kimi Code) directly. Memory, context management, tool use, permission systems — these capabilities are evolving rapidly within the CLIs themselves. botmux rides on top of that evolution rather than rebuilding in parallel. Every CLI upgrade benefits botmux automatically with zero adaptation.
43
+ Core philosophy: **Bridge CLIs, don't rebuild them**. botmux doesn't reimplement Agent capabilities — it bridges existing AI coding CLIs (Claude Code, Codex, Cursor, Gemini, OpenCode, Antigravity, GitHub Copilot, Kimi Code, Grok Build) directly. Memory, context management, tool use, permission systems — these capabilities are evolving rapidly within the CLIs themselves. botmux rides on top of that evolution rather than rebuilding in parallel. Every CLI upgrade benefits botmux automatically with zero adaptation.
44
44
 
45
45
  ### Key Advantages
46
46
 
@@ -52,7 +52,7 @@ Compared to OpenClaw-style approaches built on Agent SDKs:
52
52
  | CLI Capabilities | Full runtime (hooks, memory, plan mode, skills, `/` commands) | SDK API subset, missing features must be reimplemented |
53
53
  | CLI Upgrades | Zero-adaptation automatic benefit | Must track SDK version changes |
54
54
  | Memory / Context | Reuses CLI's built-in memory system, improves as the CLI evolves | Must build custom memory system, duplicating CLI-native capabilities |
55
- | Multi-CLI Support | 8 CLIs, switch with one config (Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code) | Tied to a single SDK, cannot switch CLIs |
55
+ | Multi-CLI Support | Many CLIs, switch with one config (Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code / Grok Build, …) | Tied to a single SDK, cannot switch CLIs |
56
56
  | Web Terminal | Interactive full terminal, mobile shortcut toolbar, phone/desktop/Lark tri-screen sync | Usually web chat UI or read-only output |
57
57
  | Multi-Bot Collaboration | Multiple bots in same group via @mention routing, isolated processes, different CLIs sparring | Usually single bot |
58
58
  | Multi-Topic Collaboration | A lead bot auto-splits the task, opens multiple topics, and dispatches several bots to work in parallel (coder + reviewer), with a Lark task list as the shared progress board | Usually manual one-by-one assignment, no unified progress board |
@@ -64,7 +64,7 @@ Compared to OpenClaw-style approaches built on Agent SDKs:
64
64
  ## Prerequisites
65
65
 
66
66
  - **Node.js** >= 22
67
- - **AI coding CLI / local agent app** installed and authenticated (`claude`, `codex`, `coco`, `cursor-agent`, `gemini`, `genius`, `opencode`, `hermes`, `seed` (Seed CLI, a Claude Code fork), `relay` (Relay CLI, the new release of Seed), `pi`, `omp` (oh-my-pi, a Pi fork), `copilot` (GitHub Copilot CLI), `traex` (TRAE CLI), `mircli` (Mir CLI), `agy` (Antigravity), or `kimi` (Kimi Code) in PATH)
67
+ - **AI coding CLI / local agent app** installed and authenticated (`claude`, `codex`, `coco`, `cursor-agent`, `gemini`, `genius`, `opencode`, `hermes`, `seed` (Seed CLI, a Claude Code fork), `relay` (Relay CLI, the new release of Seed), `pi`, `omp` (oh-my-pi, a Pi fork), `copilot` (GitHub Copilot CLI), `traex` (TRAE CLI), `mircli` (Mir CLI), `agy` (Antigravity), `kimi` (Kimi Code), or `grok` (Grok Build) in PATH)
68
68
  - **CoCo requires `0.120.32+`**: type-ahead (sending a new message while a turn is still running, parked in CoCo's own message queue) relies on 0.120.32+ behavior; earlier versions may drop or serialize input while busy — upgrade before use
69
69
  - **tmux** >= 3.x (optional — auto-enabled when installed for persistent CLI sessions)
70
70
  - **CJK fonts** (only needed for screenshot rendering of Chinese text / emoji):
@@ -80,8 +80,11 @@ Compared to OpenClaw-style approaches built on Agent SDKs:
80
80
 
81
81
  ```bash
82
82
  npm install -g botmux
83
+ # or: pnpm add -g botmux
83
84
  ```
84
85
 
86
+ Manual and scheduled updates keep using the npm or pnpm global location that owns the running botmux install. Unknown install layouts are never silently updated with npm.
87
+
85
88
  > Requires **Node.js ≥ 22**, with at least one AI coding CLI installed and authenticated (`claude` / `codex` / `cursor-agent` / `gemini` / `opencode` / `coco` / `agy` / `kimi` on your PATH). Installing **tmux** too is recommended (enables session persistence automatically).
86
89
 
87
90
  ### 2. Create the App & Configure (`botmux setup`)
@@ -223,7 +226,7 @@ On mobile/tablet, a floating shortcut toolbar provides Esc, Ctrl+C, Tab, arrow k
223
226
 
224
227
  ### Multi-Bot Collaboration
225
228
 
226
- Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @. In a regular (non-topic) group, `@<bot1> @<bot2> /t xxx` spawns one independent thread per mentioned bot anchored at the same message. Send `@<bot1> @<bot2> /introduce` once so they register each other's open_id; afterwards each bot can explicitly @-mention the others from within its own session (commands: [📖 Docs · Slash Commands](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands)).
229
+ Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @. In a regular (non-topic) group, `@<bot1> @<bot2> /t xxx` spawns one independent thread per mentioned bot anchored at the same message. Send `@<bot1> @<bot2> /introduce` once so they register each other's open_id; afterwards each bot can explicitly @-mention the others from within its own session (commands: [📖 Docs · Slash Commands](https://deepcoldy.github.io/botmux/en/slash-commands)).
227
230
 
228
231
  ### Multi-Topic Collaboration
229
232
 
@@ -311,7 +314,7 @@ ISO timestamp (`2026-05-01T10:00`).
311
314
  When a CLI spawns inside a botmux session it automatically gets
312
315
  `~/.botmux/bin` on PATH plus a set of ready-to-use Skills:
313
316
 
314
- - `botmux send` — send a message to the current thread (text, images, files, @mention)
317
+ - `botmux send` — send a message to the current thread (text, images, files, interactive card JSON, @mention)
315
318
  - `botmux history` — fetch session history (topic groups → in-thread, regular groups → whole chat)
316
319
  - `botmux quoted <message_id>` — when the user @ed the bot via Lark's quote-reply UI, fetch the quoted message on demand
317
320
  - `botmux bots list` — discover bots + their `open_id`s
@@ -387,16 +390,16 @@ Notes:
387
390
 
388
391
  The full reference — commands, config, best practices, troubleshooting — lives in the docs site; not duplicated here —
389
392
 
390
- ### 👉 https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/
393
+ ### 👉 https://deepcoldy.github.io/botmux/en/
391
394
 
392
395
  | Topic | Docs |
393
396
  |-------|------|
394
- | Slash commands / CLI commands / agent-facing subcommands | [Commands](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands) |
395
- | `bots.json` fields / env vars / file locations | [Configuration](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/bots-json) |
396
- | Multi-CLI adapters (incl. wrapper / gateway integration) | [Adapters](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/adapters) |
397
- | Scenario-based best practices (Oncall / alerting-ops / solo dev / team) | [Best Practices](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/best-practices) |
398
- | Common pitfalls / FAQ | [Pitfalls](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/pitfalls) · [FAQ](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/faq) |
399
- | Features: scheduled tasks / Oncall / Dashboard / multi-bot / session relay | [Schedule](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/schedule) · [Oncall](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/oncall) · [Dashboard](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/dashboard) · [Multi-bot](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/multi-bot) · [Relay](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/relay) |
397
+ | Slash commands / CLI commands / agent-facing subcommands | [Commands](https://deepcoldy.github.io/botmux/en/slash-commands) |
398
+ | `bots.json` fields / env vars / file locations | [Configuration](https://deepcoldy.github.io/botmux/en/bots-json) |
399
+ | Multi-CLI adapters (incl. wrapper / gateway integration) | [Adapters](https://deepcoldy.github.io/botmux/en/adapters) |
400
+ | Scenario-based best practices (Oncall / alerting-ops / solo dev / team) | [Best Practices](https://deepcoldy.github.io/botmux/en/best-practices) |
401
+ | Common pitfalls / FAQ | [Pitfalls](https://deepcoldy.github.io/botmux/en/pitfalls) · [FAQ](https://deepcoldy.github.io/botmux/en/faq) |
402
+ | Features: scheduled tasks / Oncall / Dashboard / multi-bot / session relay | [Schedule](https://deepcoldy.github.io/botmux/en/schedule) · [Oncall](https://deepcoldy.github.io/botmux/en/oncall) · [Dashboard](https://deepcoldy.github.io/botmux/en/dashboard) · [Multi-bot](https://deepcoldy.github.io/botmux/en/multi-bot) · [Relay](https://deepcoldy.github.io/botmux/en/relay) |
400
403
 
401
404
  ## Contributing
402
405
 
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  </p>
13
13
 
14
14
  <p align="center">
15
- <a href="#设计理念">设计理念</a> · <a href="#核心优势">核心优势</a> · <a href="#5-分钟快速接入">快速接入</a> · <a href="https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/"><b>📖 文档</b></a>
15
+ <a href="#设计理念">设计理念</a> · <a href="#核心优势">核心优势</a> · <a href="#5-分钟快速接入">快速接入</a> · <a href="https://deepcoldy.github.io/botmux/"><b>📖 文档</b></a> · <a href="https://bytedance.larkoffice.com/wiki/UBOXwH01CixfxfkqxUpcKgvQnsg"><b>✨ 效果展示</b></a>
16
16
  </p>
17
17
 
18
18
  <p align="center">
@@ -21,9 +21,11 @@
21
21
 
22
22
  ---
23
23
 
24
- **飞书 + AI 编程 CLI——私聊 / 群聊 / 话题,每个会话一个独立 CLI 进程,实时流式回传。** Daemon 监听飞书消息,为每个新会话自动启动独立 CLI 进程(Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code),提供实时流式卡片和可交互 Web 终端。
24
+ **飞书 + AI 编程 CLI——私聊 / 群聊 / 话题,每个会话一个独立 CLI 进程,实时流式回传。** Daemon 监听飞书消息,为每个新会话自动启动独立 CLI 进程(Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code / Grok Build),提供实时流式卡片和可交互 Web 终端。
25
25
 
26
- > 📖 **完整文档**(命令 / 配置 / 最佳实践 / 排错):**<https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/>** ——本 README 只讲为什么用它和怎么快速上手。
26
+ > **先看效果**:[**《5 分钟创建一个真正好用的飞书助理》**](https://bytedance.larkoffice.com/wiki/UBOXwH01CixfxfkqxUpcKgvQnsg) —— 飞书图文 + 视频演示:AI 消息提醒 / 多端同步跨端操作 / 多 Bot 协作 / 多话题并行编排 / 语音总结 + 飞书会议 / Oncall 与个人替身。
27
+
28
+ > 📖 **完整文档**(命令 / 配置 / 最佳实践 / 排错):**<https://deepcoldy.github.io/botmux/>** ——本 README 只讲为什么用它和怎么快速上手。
27
29
 
28
30
  ## 演示
29
31
 
@@ -57,7 +59,7 @@ botmux 不重新实现 Agent 能力,而是直接桥接已有的 AI 编程 CLI
57
59
  | CLI 能力 | 完整运行时(hooks、memory、plan mode、Skill、`/` 命令) | SDK API 子集,需手动实现缺失功能 |
58
60
  | CLI 升级 | 零适配自动受益 | 需要跟进 SDK 版本变更 |
59
61
  | 记忆 / 上下文 | 直接复用 CLI 内建的记忆系统,随 CLI 迭代自动增强 | 需自建记忆系统,与 CLI 原生能力重复 |
60
- | 多 CLI 支持 | 8 CLI 一键切换(Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code | 绑定单一 SDK,无法切换 CLI |
62
+ | 多 CLI 支持 | 多种 CLI 一键切换(Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity / GitHub Copilot / Kimi Code / Grok Build 等) | 绑定单一 SDK,无法切换 CLI |
61
63
  | Web 终端 | 可交互的完整终端,移动端快捷键工具栏,手机/电脑/飞书三端同步 | 通常仅 Web 聊天界面或只读输出 |
62
64
  | 多机器人协作 | 多 bot 同群 @mention 路由,独立进程隔离,不同 CLI 赛博斗蛐蛐 | 通常单机器人 |
63
65
  | 多话题协作模式 | 主 bot 自动拆任务、开多话题、派多 bot 并行协作(coder+reviewer),飞书任务清单当共享进度板 | 通常需人工逐个分派、无统一进度板 |
@@ -92,7 +94,7 @@ botmux 可以管理 CLI 无关的自定义 Skill Registry,并按 bot 配置在
92
94
 
93
95
  ### 多机器人协作
94
96
 
95
- 同一台机器上可运行多个飞书机器人,每个机器人可对应不同的 CLI。同一群聊中通过 @mention 路由消息,仅有一个机器人时无需 @ 自动响应;多机器人时 `@<bot1> @<bot2> /t xxx` 可让每个被 @ 的机器人在同一条消息上各自独立开新话题。先发一次 `@<bot1> @<bot2> /introduce` 让它们互相登记 open_id,之后各 bot 就能在自己的会话里显式 @mention 对方协作(命令详见 [📖 文档 · 斜杠命令](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands))。
97
+ 同一台机器上可运行多个飞书机器人,每个机器人可对应不同的 CLI。同一群聊中通过 @mention 路由消息,仅有一个机器人时无需 @ 自动响应;多机器人时 `@<bot1> @<bot2> /t xxx` 可让每个被 @ 的机器人在同一条消息上各自独立开新话题。先发一次 `@<bot1> @<bot2> /introduce` 让它们互相登记 open_id,之后各 bot 就能在自己的会话里显式 @mention 对方协作(命令详见 [📖 文档 · 斜杠命令](https://deepcoldy.github.io/botmux/slash-commands))。
96
98
 
97
99
  ### 多话题协作模式
98
100
 
@@ -176,7 +178,7 @@ BACKEND_TYPE=pty botmux start
176
178
 
177
179
  CLI 进入 botmux 会话时自动获得 `~/.botmux/bin` 在 PATH 中,以及一组开箱即用的 Skill:
178
180
 
179
- - `botmux send` — 向当前话题发消息(支持文本、图片、文件、@mention)
181
+ - `botmux send` — 向当前话题发消息(支持文本、图片、文件、interactive 卡片 JSON、@mention)
180
182
  - `botmux history` — 读取当前会话历史消息(话题/thread 会话拉话题内,普通群 chat-scope 会话拉整群)
181
183
  - `botmux quoted <message_id>` — 用户用引用 UI @ 机器人时,按需读取被引用的那条消息
182
184
  - `botmux bots list` — 查询当前群聊的机器人及 open_id
@@ -205,7 +207,7 @@ CLI 进入 botmux 会话时自动获得 `~/.botmux/bin` 在 PATH 中,以及一
205
207
  ## 前置要求
206
208
 
207
209
  - **Node.js** >= 22
208
- - **AI 编程 CLI / 本地 Agent 应用** 已安装并完成认证(`claude`、`codex`、`coco`、`cursor-agent`、`gemini`、`genius`、`opencode`、`hermes`、`seed`(Seed CLI,Claude Code 衍生)、`relay`(Relay CLI,Seed 新版)、`pi`、`omp`(oh-my-pi,Pi 衍生)、`copilot`(GitHub Copilot CLI)、`traex`(TRAE CLI)、`mircli`(Mir CLI)、`agy`(Antigravity)或 `kimi`(Kimi Code)在 PATH 中)
210
+ - **AI 编程 CLI / 本地 Agent 应用** 已安装并完成认证(`claude`、`codex`、`coco`、`cursor-agent`、`gemini`、`genius`、`opencode`、`hermes`、`seed`(Seed CLI,Claude Code 衍生)、`relay`(Relay CLI,Seed 新版)、`pi`、`omp`(oh-my-pi,Pi 衍生)、`copilot`(GitHub Copilot CLI)、`traex`(TRAE CLI)、`mircli`(Mir CLI)、`agy`(Antigravity)、`kimi`(Kimi Code)或 `grok`(Grok Build)在 PATH 中)
209
211
  - **CoCo 最低版本 `0.120.32`**:type-ahead(会话忙时即可发新消息,由 CoCo 自己的消息队列接住)依赖 0.120.32+ 的行为;更早版本忙时输入可能丢失或串行,请升级后再用
210
212
  - **tmux** >= 3.x(可选,安装后自动启用会话常驻)
211
213
  - **CJK 字体**(用于截图渲染中文/emoji):
@@ -221,8 +223,11 @@ CLI 进入 botmux 会话时自动获得 `~/.botmux/bin` 在 PATH 中,以及一
221
223
 
222
224
  ```bash
223
225
  npm install -g botmux
226
+ # 或:pnpm add -g botmux
224
227
  ```
225
228
 
229
+ botmux 的手动/定时更新会识别当前全局安装归属,并继续使用同一个 npm 或 pnpm 安装位置;无法安全识别的安装方式不会自动回退到 npm。
230
+
226
231
  > 要求 **Node.js ≥ 22**,且本地已装好并登录至少一种 AI 编程 CLI(`claude` / `codex` / `cursor-agent` / `gemini` / `opencode` / `coco` / `agy` 等在 PATH 中)。推荐顺手装 **tmux**(装了自动启用会话常驻)。
227
232
 
228
233
  ### 2. 创建应用并配置(`botmux setup`)
@@ -384,16 +389,16 @@ PersonalAgent 默认配好事件订阅 + bot 能力,正常情况下不用动
384
389
 
385
390
  命令、配置、最佳实践、排错的完整内容都在文档站,这里不再重复 ——
386
391
 
387
- ### 👉 https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/
392
+ ### 👉 https://deepcoldy.github.io/botmux/
388
393
 
389
394
  | 主题 | 文档 |
390
395
  |------|------|
391
- | 斜杠命令 / CLI 命令 / 会话内子命令 | [命令参考](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands) |
392
- | `bots.json` 字段 / 环境变量 / 文件位置 | [配置参考](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/bots-json) |
393
- | 多 CLI 适配器(含 wrapper / 网关接入) | [适配器](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/adapters) |
394
- | 按场景的最佳实践(Oncall / 报警运维 / 个人研发 / 多人协作) | [最佳实践](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/best-practices) |
395
- | 常见踩坑 / FAQ 排错 | [踩坑](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/pitfalls) · [FAQ](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/faq) |
396
- | 功能详解:定时任务 / Oncall / Dashboard / 多机器人协作 / 会话接力 | [定时](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/schedule) · [Oncall](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/oncall) · [Dashboard](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/dashboard) · [多 bot](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/multi-bot) · [接力](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/relay) |
396
+ | 斜杠命令 / CLI 命令 / 会话内子命令 | [命令参考](https://deepcoldy.github.io/botmux/slash-commands) |
397
+ | `bots.json` 字段 / 环境变量 / 文件位置 | [配置参考](https://deepcoldy.github.io/botmux/bots-json) |
398
+ | 多 CLI 适配器(含 wrapper / 网关接入) | [适配器](https://deepcoldy.github.io/botmux/adapters) |
399
+ | 按场景的最佳实践(Oncall / 报警运维 / 个人研发 / 多人协作) | [最佳实践](https://deepcoldy.github.io/botmux/best-practices) |
400
+ | 常见踩坑 / FAQ 排错 | [踩坑](https://deepcoldy.github.io/botmux/pitfalls) · [FAQ](https://deepcoldy.github.io/botmux/faq) |
401
+ | 功能详解:定时任务 / Oncall / Dashboard / 多机器人协作 / 会话接力 | [定时](https://deepcoldy.github.io/botmux/schedule) · [Oncall](https://deepcoldy.github.io/botmux/oncall) · [Dashboard](https://deepcoldy.github.io/botmux/dashboard) · [多 bot](https://deepcoldy.github.io/botmux/multi-bot) · [接力](https://deepcoldy.github.io/botmux/relay) |
397
402
 
398
403
  ## 贡献
399
404
 
@@ -1,4 +1,3 @@
1
- export declare function sandboxVartmpRoot(): string;
2
1
  /**
3
2
  * Mount an overlayfs: reads fall through to `lower` (real, zero copy); writes
4
3
  * copy-up into `upper` (the landable changeset). `work` is overlayfs scratch on
@@ -124,7 +123,7 @@ export interface SandboxSpawn {
124
123
  outbox: string;
125
124
  /** Project overlay UPPER dir — THE LANDABLE CHANGESET (used by sandbox-land). */
126
125
  workDir: string;
127
- /** HOME overlay UPPER dir (/var/tmp/botmux-sbx-<uid>/<sid>/home-upper). The sandboxed
126
+ /** HOME overlay UPPER dir (/var/tmp/botmux-sbx/<sid>/home-upper). The sandboxed
128
127
  * CLI's $HOME writes — INCLUDING its session jsonl under CLAUDE_CONFIG_DIR —
129
128
  * land here (invisible at the real path). The worker redirects its bridge/idle
130
129
  * watch into this via sandboxedClaudeDataDir() so it sees the CLI's turns. */
@@ -150,12 +149,10 @@ export declare function sandboxedClaudeDataDir(sessionId: string, realDataDir: s
150
149
  * is off / unsupported / a required overlay mount fails (fail-safe = the worker
151
150
  * treats null as a hard error and does NOT silently run unsandboxed).
152
151
  *
153
- * Layout under <dataDir>/sandboxes/<sessionId>/: shimbin, proj-upper (the
154
- * landable changeset), proj-work, proj-merged, home-merged. The HOME overlay's
155
- * upper/work and the daemon-mediated outbox live under
156
- * /var/tmp/botmux-sbx-<uid>/<sessionId>/ because overlayfs forbids upper/work inside
157
- * the lower (= the real home), and keeping the outbox outside HOME avoids a
158
- * nested bind under the HOME overlay on bwrap hosts that hang on that pattern.
152
+ * Layout under <dataDir>/sandboxes/<sessionId>/: outbox, shimbin, proj-upper
153
+ * (the landable changeset), proj-work, proj-merged, home-merged. The HOME
154
+ * overlay's upper/work live under /var/tmp/botmux-sbx/<sessionId>/ because
155
+ * overlayfs forbids upper/work inside the lower (= the real home).
159
156
  */
160
157
  export declare function prepareSandbox(opts: {
161
158
  /** Whether the sandbox is on for THIS session (per-bot BotConfig.sandbox OR
@@ -197,10 +194,7 @@ export declare function prepareSandbox(opts: {
197
194
  * path back so the watcher can keep servicing the live CLI's `botmux send`, plus
198
195
  * the workDir (upper changeset for landing) and a cleanup that tears the residue
199
196
  * down at close/exit. Returns null if the session has no sandbox tree on disk
200
- * (never sandboxed). Linux-only, mirrors prepareSandbox's layout. New sessions
201
- * keep outbox under /var/tmp/botmux-sbx-<uid>/<sid>/outbox; fall back to legacy
202
- * /var/tmp/botmux-sbx/<sid>/outbox or <dataDir>/sandboxes/<sid>/outbox for
203
- * sessions that were already running before the layout changed.
197
+ * (never sandboxed). Linux-only, mirrors prepareSandbox's layout.
204
198
  */
205
199
  export declare function attachSandboxOutbox(opts: {
206
200
  sessionId: string;
@@ -234,6 +228,7 @@ export declare function attachSandboxOutbox(opts: {
234
228
  export declare function sweepOrphanSandboxes(dataDir: string, activeSessionIds: Set<string>): void;
235
229
  export interface RelayRequest {
236
230
  contentFile?: unknown;
231
+ cardFile?: unknown;
237
232
  attachments?: unknown;
238
233
  videos?: unknown;
239
234
  videoCovers?: unknown;
@@ -241,6 +236,7 @@ export interface RelayRequest {
241
236
  }
242
237
  export interface ValidatedRelay {
243
238
  contentName: string;
239
+ cardName?: string;
244
240
  attachmentNames: string[];
245
241
  videoNames: string[];
246
242
  videoCoverNames: string[];
@@ -249,7 +245,7 @@ export interface ValidatedRelay {
249
245
  /**
250
246
  * PURE validation of an outbox relay request (schema + flag allowlist only — no
251
247
  * filesystem access, so it's deterministically testable):
252
- * - contentFile/attachments/videos/videoCovers must be plain basenames (no `/`, `\`, `..`).
248
+ * - contentFile/cardFile/attachments/videos/videoCovers must be plain basenames (no `/`, `\`, `..`).
253
249
  * - only allowlisted presentation flags pass; any other flag → reject (this
254
250
  * rejects raw `--content-file`/`--session-id`/path flags etc.).
255
251
  * The TOCTOU-safe filesystem read is handled separately by materializeOutboxFile,
@@ -275,14 +271,6 @@ export declare function validateRelayRequest(req: RelayRequest): {
275
271
  * be swapped under us. Returns false (reject) on symlink / non-regular / any error.
276
272
  */
277
273
  export declare function materializeOutboxFile(outbox: string, name: string, dest: string): boolean;
278
- /**
279
- * TOCTOU-safe read of the `.req.json` trigger file itself. The request file is
280
- * also sandbox-controlled input, so it needs the same hardening as content and
281
- * attachments: no symlinks, no FIFO/device files, no blocking opens, and a small
282
- * size cap before JSON.parse. Returns null on any unsafe/non-regular/oversized
283
- * input so the watcher can reject and keep its event loop moving.
284
- */
285
- export declare function readRelayRequestFile(reqPath: string): string | null;
286
274
  /**
287
275
  * Daemon/worker-side outbox watcher. The sandboxed `botmux send` (relay mode)
288
276
  * drops `<id>.req.json`; we validate (validateRelayRequest) and then MATERIALIZE
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}