botmux 3.15.0 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (792) hide show
  1. package/README.en.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/.runtime-build-id +1 -1
  4. package/dist/adapters/backend/destroy-result.d.ts +159 -0
  5. package/dist/adapters/backend/destroy-result.d.ts.map +1 -0
  6. package/dist/adapters/backend/destroy-result.js +223 -0
  7. package/dist/adapters/backend/destroy-result.js.map +1 -0
  8. package/dist/adapters/backend/herdr-backend.d.ts +4 -0
  9. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  10. package/dist/adapters/backend/herdr-backend.js +23 -1
  11. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  12. package/dist/adapters/backend/mojo-backend.d.ts +577 -0
  13. package/dist/adapters/backend/mojo-backend.d.ts.map +1 -0
  14. package/dist/adapters/backend/mojo-backend.js +2471 -0
  15. package/dist/adapters/backend/mojo-backend.js.map +1 -0
  16. package/dist/adapters/backend/mojo-budgets.d.ts +21 -0
  17. package/dist/adapters/backend/mojo-budgets.d.ts.map +1 -0
  18. package/dist/adapters/backend/mojo-budgets.js +22 -0
  19. package/dist/adapters/backend/mojo-budgets.js.map +1 -0
  20. package/dist/adapters/backend/mojo-isolated-workspace.d.ts +69 -0
  21. package/dist/adapters/backend/mojo-isolated-workspace.d.ts.map +1 -0
  22. package/dist/adapters/backend/mojo-isolated-workspace.js +213 -0
  23. package/dist/adapters/backend/mojo-isolated-workspace.js.map +1 -0
  24. package/dist/adapters/backend/mojo-process-tree.d.ts +292 -0
  25. package/dist/adapters/backend/mojo-process-tree.d.ts.map +1 -0
  26. package/dist/adapters/backend/mojo-process-tree.js +486 -0
  27. package/dist/adapters/backend/mojo-process-tree.js.map +1 -0
  28. package/dist/adapters/backend/mojo-types.d.ts +542 -0
  29. package/dist/adapters/backend/mojo-types.d.ts.map +1 -0
  30. package/dist/adapters/backend/mojo-types.js +682 -0
  31. package/dist/adapters/backend/mojo-types.js.map +1 -0
  32. package/dist/adapters/backend/reproduce-command.js +3 -3
  33. package/dist/adapters/backend/reproduce-command.js.map +1 -1
  34. package/dist/adapters/backend/riff-backend.js +1 -1
  35. package/dist/adapters/backend/riff-backend.js.map +1 -1
  36. package/dist/adapters/backend/sandbox.d.ts +44 -7
  37. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  38. package/dist/adapters/backend/sandbox.js +30 -7
  39. package/dist/adapters/backend/sandbox.js.map +1 -1
  40. package/dist/adapters/backend/session-backend-selector.d.ts +14 -1
  41. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  42. package/dist/adapters/backend/session-backend-selector.js +82 -10
  43. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  44. package/dist/adapters/backend/types.d.ts +101 -6
  45. package/dist/adapters/backend/types.d.ts.map +1 -1
  46. package/dist/adapters/backend/types.js.map +1 -1
  47. package/dist/adapters/backend/zmx-backend.d.ts +11 -0
  48. package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
  49. package/dist/adapters/backend/zmx-backend.js +16 -1
  50. package/dist/adapters/backend/zmx-backend.js.map +1 -1
  51. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  52. package/dist/adapters/cli/codex-app.js +2 -2
  53. package/dist/adapters/cli/codex-app.js.map +1 -1
  54. package/dist/adapters/cli/codex.d.ts.map +1 -1
  55. package/dist/adapters/cli/codex.js +7 -0
  56. package/dist/adapters/cli/codex.js.map +1 -1
  57. package/dist/adapters/cli/copilot.d.ts +3 -1
  58. package/dist/adapters/cli/copilot.d.ts.map +1 -1
  59. package/dist/adapters/cli/copilot.js +23 -5
  60. package/dist/adapters/cli/copilot.js.map +1 -1
  61. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  62. package/dist/adapters/cli/cursor.js +13 -3
  63. package/dist/adapters/cli/cursor.js.map +1 -1
  64. package/dist/adapters/cli/grok.d.ts.map +1 -1
  65. package/dist/adapters/cli/grok.js +24 -5
  66. package/dist/adapters/cli/grok.js.map +1 -1
  67. package/dist/adapters/cli/kimi.d.ts.map +1 -1
  68. package/dist/adapters/cli/kimi.js +19 -1
  69. package/dist/adapters/cli/kimi.js.map +1 -1
  70. package/dist/adapters/cli/mojo.d.ts +28 -0
  71. package/dist/adapters/cli/mojo.d.ts.map +1 -0
  72. package/dist/adapters/cli/mojo.js +58 -0
  73. package/dist/adapters/cli/mojo.js.map +1 -0
  74. package/dist/adapters/cli/pi.d.ts +6 -4
  75. package/dist/adapters/cli/pi.d.ts.map +1 -1
  76. package/dist/adapters/cli/pi.js +6 -4
  77. package/dist/adapters/cli/pi.js.map +1 -1
  78. package/dist/adapters/cli/read-isolation.d.ts +251 -1
  79. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  80. package/dist/adapters/cli/read-isolation.js +254 -1
  81. package/dist/adapters/cli/read-isolation.js.map +1 -1
  82. package/dist/adapters/cli/registry.d.ts +13 -1
  83. package/dist/adapters/cli/registry.d.ts.map +1 -1
  84. package/dist/adapters/cli/registry.js +19 -1
  85. package/dist/adapters/cli/registry.js.map +1 -1
  86. package/dist/adapters/cli/runner-input.d.ts +3 -3
  87. package/dist/adapters/cli/runner-input.d.ts.map +1 -1
  88. package/dist/adapters/cli/runner-input.js +4 -3
  89. package/dist/adapters/cli/runner-input.js.map +1 -1
  90. package/dist/adapters/cli/shared-hints.d.ts +3 -1
  91. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  92. package/dist/adapters/cli/shared-hints.js +22 -6
  93. package/dist/adapters/cli/shared-hints.js.map +1 -1
  94. package/dist/adapters/cli/types.d.ts +29 -4
  95. package/dist/adapters/cli/types.d.ts.map +1 -1
  96. package/dist/bot-registry.d.ts +20 -0
  97. package/dist/bot-registry.d.ts.map +1 -1
  98. package/dist/bot-registry.js +30 -4
  99. package/dist/bot-registry.js.map +1 -1
  100. package/dist/cli/arg-utils.d.ts +5 -0
  101. package/dist/cli/arg-utils.d.ts.map +1 -1
  102. package/dist/cli/arg-utils.js +7 -0
  103. package/dist/cli/arg-utils.js.map +1 -1
  104. package/dist/cli/bots-list-output.d.ts +130 -2
  105. package/dist/cli/bots-list-output.d.ts.map +1 -1
  106. package/dist/cli/bots-list-output.js +173 -27
  107. package/dist/cli/bots-list-output.js.map +1 -1
  108. package/dist/cli/daemon-lifecycle-env.d.ts +10 -3
  109. package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
  110. package/dist/cli/daemon-lifecycle-env.js +38 -11
  111. package/dist/cli/daemon-lifecycle-env.js.map +1 -1
  112. package/dist/cli/dashboard-command.d.ts +15 -0
  113. package/dist/cli/dashboard-command.d.ts.map +1 -1
  114. package/dist/cli/dashboard-command.js +22 -0
  115. package/dist/cli/dashboard-command.js.map +1 -1
  116. package/dist/cli/log-tail.d.ts +54 -0
  117. package/dist/cli/log-tail.d.ts.map +1 -0
  118. package/dist/cli/log-tail.js +167 -0
  119. package/dist/cli/log-tail.js.map +1 -0
  120. package/dist/cli/pm2-env.d.ts +16 -0
  121. package/dist/cli/pm2-env.d.ts.map +1 -0
  122. package/dist/cli/pm2-env.js +63 -0
  123. package/dist/cli/pm2-env.js.map +1 -0
  124. package/dist/cli/pm2-fleet-lock.d.ts +26 -0
  125. package/dist/cli/pm2-fleet-lock.d.ts.map +1 -0
  126. package/dist/cli/pm2-fleet-lock.js +50 -0
  127. package/dist/cli/pm2-fleet-lock.js.map +1 -0
  128. package/dist/cli/pm2-god-retirement.d.ts +59 -0
  129. package/dist/cli/pm2-god-retirement.d.ts.map +1 -0
  130. package/dist/cli/pm2-god-retirement.js +95 -0
  131. package/dist/cli/pm2-god-retirement.js.map +1 -0
  132. package/dist/cli/session-list-wake.d.ts +41 -0
  133. package/dist/cli/session-list-wake.d.ts.map +1 -0
  134. package/dist/cli/session-list-wake.js +102 -0
  135. package/dist/cli/session-list-wake.js.map +1 -0
  136. package/dist/cli/workflow.d.ts.map +1 -1
  137. package/dist/cli/workflow.js +26 -0
  138. package/dist/cli/workflow.js.map +1 -1
  139. package/dist/cli.d.ts.map +1 -1
  140. package/dist/cli.js +933 -115
  141. package/dist/cli.js.map +1 -1
  142. package/dist/codex-app-runner.js +261 -49
  143. package/dist/codex-app-runner.js.map +1 -1
  144. package/dist/core/cli-runtime-update.d.ts +8 -0
  145. package/dist/core/cli-runtime-update.d.ts.map +1 -1
  146. package/dist/core/cli-runtime-update.js +127 -8
  147. package/dist/core/cli-runtime-update.js.map +1 -1
  148. package/dist/core/close-residual.d.ts +64 -0
  149. package/dist/core/close-residual.d.ts.map +1 -0
  150. package/dist/core/close-residual.js +93 -0
  151. package/dist/core/close-residual.js.map +1 -0
  152. package/dist/core/closed-session-card.d.ts.map +1 -1
  153. package/dist/core/closed-session-card.js +11 -3
  154. package/dist/core/closed-session-card.js.map +1 -1
  155. package/dist/core/command-handler.d.ts.map +1 -1
  156. package/dist/core/command-handler.js +129 -27
  157. package/dist/core/command-handler.js.map +1 -1
  158. package/dist/core/cost-calculator.d.ts +3 -1
  159. package/dist/core/cost-calculator.d.ts.map +1 -1
  160. package/dist/core/cost-calculator.js +230 -1
  161. package/dist/core/cost-calculator.js.map +1 -1
  162. package/dist/core/daemon-background-close.d.ts +19 -0
  163. package/dist/core/daemon-background-close.d.ts.map +1 -0
  164. package/dist/core/daemon-background-close.js +39 -0
  165. package/dist/core/daemon-background-close.js.map +1 -0
  166. package/dist/core/dashboard-command/overview.d.ts +4 -0
  167. package/dist/core/dashboard-command/overview.d.ts.map +1 -1
  168. package/dist/core/dashboard-command/overview.js +8 -1
  169. package/dist/core/dashboard-command/overview.js.map +1 -1
  170. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  171. package/dist/core/dashboard-ipc-server.js +373 -41
  172. package/dist/core/dashboard-ipc-server.js.map +1 -1
  173. package/dist/core/dashboard-rows.d.ts +4 -0
  174. package/dist/core/dashboard-rows.d.ts.map +1 -1
  175. package/dist/core/dashboard-rows.js +3 -0
  176. package/dist/core/dashboard-rows.js.map +1 -1
  177. package/dist/core/dashboard-url.d.ts +47 -1
  178. package/dist/core/dashboard-url.d.ts.map +1 -1
  179. package/dist/core/dashboard-url.js +83 -2
  180. package/dist/core/dashboard-url.js.map +1 -1
  181. package/dist/core/deferred-schedule-settlement.d.ts +15 -1
  182. package/dist/core/deferred-schedule-settlement.d.ts.map +1 -1
  183. package/dist/core/deferred-schedule-settlement.js +4 -1
  184. package/dist/core/deferred-schedule-settlement.js.map +1 -1
  185. package/dist/core/device-isolation-daemon.d.ts +91 -1
  186. package/dist/core/device-isolation-daemon.d.ts.map +1 -1
  187. package/dist/core/device-isolation-daemon.js +346 -2
  188. package/dist/core/device-isolation-daemon.js.map +1 -1
  189. package/dist/core/local-terminal-opener.d.ts.map +1 -1
  190. package/dist/core/local-terminal-opener.js +5 -1
  191. package/dist/core/local-terminal-opener.js.map +1 -1
  192. package/dist/core/loopback-target.d.ts +14 -0
  193. package/dist/core/loopback-target.d.ts.map +1 -0
  194. package/dist/core/loopback-target.js +20 -0
  195. package/dist/core/loopback-target.js.map +1 -0
  196. package/dist/core/maintenance.d.ts.map +1 -1
  197. package/dist/core/maintenance.js +16 -2
  198. package/dist/core/maintenance.js.map +1 -1
  199. package/dist/core/mojo-containment-command.d.ts +20 -0
  200. package/dist/core/mojo-containment-command.d.ts.map +1 -0
  201. package/dist/core/mojo-containment-command.js +266 -0
  202. package/dist/core/mojo-containment-command.js.map +1 -0
  203. package/dist/core/mojo-containment.d.ts +575 -0
  204. package/dist/core/mojo-containment.d.ts.map +1 -0
  205. package/dist/core/mojo-containment.js +1158 -0
  206. package/dist/core/mojo-containment.js.map +1 -0
  207. package/dist/core/mojo-launcher-env-quarantine.d.ts +30 -0
  208. package/dist/core/mojo-launcher-env-quarantine.d.ts.map +1 -0
  209. package/dist/core/mojo-launcher-env-quarantine.js +175 -0
  210. package/dist/core/mojo-launcher-env-quarantine.js.map +1 -0
  211. package/dist/core/mojo-session-identity.d.ts +3 -0
  212. package/dist/core/mojo-session-identity.d.ts.map +1 -0
  213. package/dist/core/mojo-session-identity.js +126 -0
  214. package/dist/core/mojo-session-identity.js.map +1 -0
  215. package/dist/core/persistent-backend.d.ts +32 -8
  216. package/dist/core/persistent-backend.d.ts.map +1 -1
  217. package/dist/core/persistent-backend.js +55 -17
  218. package/dist/core/persistent-backend.js.map +1 -1
  219. package/dist/core/plugins/mcp/gateway.d.ts +41 -4
  220. package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
  221. package/dist/core/plugins/mcp/gateway.js +342 -29
  222. package/dist/core/plugins/mcp/gateway.js.map +1 -1
  223. package/dist/core/plugins/mcp/host.d.ts +20 -0
  224. package/dist/core/plugins/mcp/host.d.ts.map +1 -1
  225. package/dist/core/plugins/mcp/host.js +82 -16
  226. package/dist/core/plugins/mcp/host.js.map +1 -1
  227. package/dist/core/plugins/mcp/launch-record.d.ts +14 -0
  228. package/dist/core/plugins/mcp/launch-record.d.ts.map +1 -0
  229. package/dist/core/plugins/mcp/launch-record.js +63 -0
  230. package/dist/core/plugins/mcp/launch-record.js.map +1 -0
  231. package/dist/core/plugins/pm2.d.ts.map +1 -1
  232. package/dist/core/plugins/pm2.js +16 -3
  233. package/dist/core/plugins/pm2.js.map +1 -1
  234. package/dist/core/plugins/service-manager.d.ts +9 -0
  235. package/dist/core/plugins/service-manager.d.ts.map +1 -1
  236. package/dist/core/plugins/service-manager.js +33 -16
  237. package/dist/core/plugins/service-manager.js.map +1 -1
  238. package/dist/core/preview-port-owner.d.ts +109 -0
  239. package/dist/core/preview-port-owner.d.ts.map +1 -0
  240. package/dist/core/preview-port-owner.js +320 -0
  241. package/dist/core/preview-port-owner.js.map +1 -0
  242. package/dist/core/remote-cli-ids.d.ts +5 -0
  243. package/dist/core/remote-cli-ids.d.ts.map +1 -0
  244. package/dist/core/remote-cli-ids.js +24 -0
  245. package/dist/core/remote-cli-ids.js.map +1 -0
  246. package/dist/core/{riff-shutdown-detach.d.ts → remote-shutdown-detach.d.ts} +40 -39
  247. package/dist/core/remote-shutdown-detach.d.ts.map +1 -0
  248. package/dist/core/{riff-shutdown-detach.js → remote-shutdown-detach.js} +85 -83
  249. package/dist/core/remote-shutdown-detach.js.map +1 -0
  250. package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts} +5 -4
  251. package/dist/core/remote-worker-shutdown-readiness.d.ts.map +1 -0
  252. package/dist/core/{riff-worker-shutdown-readiness.js → remote-worker-shutdown-readiness.js} +4 -3
  253. package/dist/core/remote-worker-shutdown-readiness.js.map +1 -0
  254. package/dist/core/reply-target.d.ts +16 -1
  255. package/dist/core/reply-target.d.ts.map +1 -1
  256. package/dist/core/reply-target.js +61 -0
  257. package/dist/core/reply-target.js.map +1 -1
  258. package/dist/core/session-group-birth.d.ts +26 -0
  259. package/dist/core/session-group-birth.d.ts.map +1 -1
  260. package/dist/core/session-group-birth.js +81 -4
  261. package/dist/core/session-group-birth.js.map +1 -1
  262. package/dist/core/session-manager.d.ts +15 -2
  263. package/dist/core/session-manager.d.ts.map +1 -1
  264. package/dist/core/session-manager.js +259 -5
  265. package/dist/core/session-manager.js.map +1 -1
  266. package/dist/core/session-model.d.ts +46 -0
  267. package/dist/core/session-model.d.ts.map +1 -0
  268. package/dist/core/session-model.js +42 -0
  269. package/dist/core/session-model.js.map +1 -0
  270. package/dist/core/session-owner-reminder.d.ts +63 -0
  271. package/dist/core/session-owner-reminder.d.ts.map +1 -0
  272. package/dist/core/session-owner-reminder.js +196 -0
  273. package/dist/core/session-owner-reminder.js.map +1 -0
  274. package/dist/core/session-preview-registry.d.ts +53 -0
  275. package/dist/core/session-preview-registry.d.ts.map +1 -0
  276. package/dist/core/session-preview-registry.js +82 -0
  277. package/dist/core/session-preview-registry.js.map +1 -0
  278. package/dist/core/session-preview.d.ts +114 -0
  279. package/dist/core/session-preview.d.ts.map +1 -0
  280. package/dist/core/session-preview.js +184 -0
  281. package/dist/core/session-preview.js.map +1 -0
  282. package/dist/core/session-rename.d.ts.map +1 -1
  283. package/dist/core/session-rename.js +5 -3
  284. package/dist/core/session-rename.js.map +1 -1
  285. package/dist/core/session-wake-deadline.d.ts +5 -0
  286. package/dist/core/session-wake-deadline.d.ts.map +1 -0
  287. package/dist/core/session-wake-deadline.js +13 -0
  288. package/dist/core/session-wake-deadline.js.map +1 -0
  289. package/dist/core/shutdown-budgets.d.ts +7 -6
  290. package/dist/core/shutdown-budgets.d.ts.map +1 -1
  291. package/dist/core/shutdown-budgets.js +11 -10
  292. package/dist/core/shutdown-budgets.js.map +1 -1
  293. package/dist/core/terminal-control-grant.d.ts +74 -0
  294. package/dist/core/terminal-control-grant.d.ts.map +1 -0
  295. package/dist/core/terminal-control-grant.js +183 -0
  296. package/dist/core/terminal-control-grant.js.map +1 -0
  297. package/dist/core/terminal-proxy.d.ts.map +1 -1
  298. package/dist/core/terminal-proxy.js +4 -5
  299. package/dist/core/terminal-proxy.js.map +1 -1
  300. package/dist/core/terminal-write-auth.d.ts +4 -11
  301. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  302. package/dist/core/terminal-write-auth.js +19 -16
  303. package/dist/core/terminal-write-auth.js.map +1 -1
  304. package/dist/core/trigger-session.d.ts.map +1 -1
  305. package/dist/core/trigger-session.js +36 -29
  306. package/dist/core/trigger-session.js.map +1 -1
  307. package/dist/core/types.d.ts +88 -10
  308. package/dist/core/types.d.ts.map +1 -1
  309. package/dist/core/types.js +9 -7
  310. package/dist/core/types.js.map +1 -1
  311. package/dist/core/workbench-link.d.ts +81 -0
  312. package/dist/core/workbench-link.d.ts.map +1 -0
  313. package/dist/core/workbench-link.js +109 -0
  314. package/dist/core/workbench-link.js.map +1 -0
  315. package/dist/core/worker-pool.d.ts +321 -12
  316. package/dist/core/worker-pool.d.ts.map +1 -1
  317. package/dist/core/worker-pool.js +2524 -212
  318. package/dist/core/worker-pool.js.map +1 -1
  319. package/dist/daemon.d.ts +6 -0
  320. package/dist/daemon.d.ts.map +1 -1
  321. package/dist/daemon.js +443 -106
  322. package/dist/daemon.js.map +1 -1
  323. package/dist/dashboard/aggregator.d.ts +33 -3
  324. package/dist/dashboard/aggregator.d.ts.map +1 -1
  325. package/dist/dashboard/aggregator.js +93 -17
  326. package/dist/dashboard/aggregator.js.map +1 -1
  327. package/dist/dashboard/auth-session-connections.d.ts +59 -0
  328. package/dist/dashboard/auth-session-connections.d.ts.map +1 -0
  329. package/dist/dashboard/auth-session-connections.js +109 -0
  330. package/dist/dashboard/auth-session-connections.js.map +1 -0
  331. package/dist/dashboard/auth.d.ts +99 -1
  332. package/dist/dashboard/auth.d.ts.map +1 -1
  333. package/dist/dashboard/auth.js +176 -64
  334. package/dist/dashboard/auth.js.map +1 -1
  335. package/dist/dashboard/bot-payload.d.ts +1 -0
  336. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  337. package/dist/dashboard/bot-payload.js +3 -0
  338. package/dist/dashboard/bot-payload.js.map +1 -1
  339. package/dist/dashboard/control-audit.d.ts +112 -0
  340. package/dist/dashboard/control-audit.d.ts.map +1 -0
  341. package/dist/dashboard/control-audit.js +195 -0
  342. package/dist/dashboard/control-audit.js.map +1 -0
  343. package/dist/dashboard/control-csrf.d.ts +123 -0
  344. package/dist/dashboard/control-csrf.d.ts.map +1 -0
  345. package/dist/dashboard/control-csrf.js +397 -0
  346. package/dist/dashboard/control-csrf.js.map +1 -0
  347. package/dist/dashboard/daemon-reconcile.d.ts +26 -0
  348. package/dist/dashboard/daemon-reconcile.d.ts.map +1 -0
  349. package/dist/dashboard/daemon-reconcile.js +46 -0
  350. package/dist/dashboard/daemon-reconcile.js.map +1 -0
  351. package/dist/dashboard/debug-terminal.d.ts.map +1 -1
  352. package/dist/dashboard/debug-terminal.js +18 -4
  353. package/dist/dashboard/debug-terminal.js.map +1 -1
  354. package/dist/dashboard/events-sse.d.ts +60 -0
  355. package/dist/dashboard/events-sse.d.ts.map +1 -0
  356. package/dist/dashboard/events-sse.js +63 -0
  357. package/dist/dashboard/events-sse.js.map +1 -0
  358. package/dist/dashboard/h5-auth.d.ts +256 -0
  359. package/dist/dashboard/h5-auth.d.ts.map +1 -0
  360. package/dist/dashboard/h5-auth.js +825 -0
  361. package/dist/dashboard/h5-auth.js.map +1 -0
  362. package/dist/dashboard/managed-spawn.d.ts +36 -0
  363. package/dist/dashboard/managed-spawn.d.ts.map +1 -0
  364. package/dist/dashboard/managed-spawn.js +169 -0
  365. package/dist/dashboard/managed-spawn.js.map +1 -0
  366. package/dist/dashboard/preview-content-capability.d.ts +41 -0
  367. package/dist/dashboard/preview-content-capability.d.ts.map +1 -0
  368. package/dist/dashboard/preview-content-capability.js +127 -0
  369. package/dist/dashboard/preview-content-capability.js.map +1 -0
  370. package/dist/dashboard/preview-contract.d.ts +85 -0
  371. package/dist/dashboard/preview-contract.d.ts.map +1 -0
  372. package/dist/dashboard/preview-contract.js +198 -0
  373. package/dist/dashboard/preview-contract.js.map +1 -0
  374. package/dist/dashboard/preview-guard-page.d.ts +52 -0
  375. package/dist/dashboard/preview-guard-page.d.ts.map +1 -0
  376. package/dist/dashboard/preview-guard-page.js +162 -0
  377. package/dist/dashboard/preview-guard-page.js.map +1 -0
  378. package/dist/dashboard/preview-interaction.d.ts +57 -0
  379. package/dist/dashboard/preview-interaction.d.ts.map +1 -0
  380. package/dist/dashboard/preview-interaction.js +198 -0
  381. package/dist/dashboard/preview-interaction.js.map +1 -0
  382. package/dist/dashboard/preview-proxy.d.ts +113 -0
  383. package/dist/dashboard/preview-proxy.d.ts.map +1 -0
  384. package/dist/dashboard/preview-proxy.js +543 -0
  385. package/dist/dashboard/preview-proxy.js.map +1 -0
  386. package/dist/dashboard/public-redact.d.ts +23 -0
  387. package/dist/dashboard/public-redact.d.ts.map +1 -1
  388. package/dist/dashboard/public-redact.js +90 -21
  389. package/dist/dashboard/public-redact.js.map +1 -1
  390. package/dist/dashboard/request-identity.d.ts +77 -0
  391. package/dist/dashboard/request-identity.d.ts.map +1 -0
  392. package/dist/dashboard/request-identity.js +72 -0
  393. package/dist/dashboard/request-identity.js.map +1 -0
  394. package/dist/dashboard/session-cleanup.d.ts +5 -0
  395. package/dist/dashboard/session-cleanup.d.ts.map +1 -1
  396. package/dist/dashboard/session-cleanup.js +4 -0
  397. package/dist/dashboard/session-cleanup.js.map +1 -1
  398. package/dist/dashboard/settings-write-applier.d.ts +5 -1
  399. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  400. package/dist/dashboard/settings-write-applier.js +14 -0
  401. package/dist/dashboard/settings-write-applier.js.map +1 -1
  402. package/dist/dashboard/standing-link.d.ts +76 -0
  403. package/dist/dashboard/standing-link.d.ts.map +1 -0
  404. package/dist/dashboard/standing-link.js +111 -0
  405. package/dist/dashboard/standing-link.js.map +1 -0
  406. package/dist/dashboard/terminal-control.d.ts +105 -0
  407. package/dist/dashboard/terminal-control.d.ts.map +1 -0
  408. package/dist/dashboard/terminal-control.js +296 -0
  409. package/dist/dashboard/terminal-control.js.map +1 -0
  410. package/dist/dashboard/terminal-front-proxy.d.ts +55 -0
  411. package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -0
  412. package/dist/dashboard/terminal-front-proxy.js +415 -0
  413. package/dist/dashboard/terminal-front-proxy.js.map +1 -0
  414. package/dist/dashboard/terminal-view-capability.d.ts +97 -0
  415. package/dist/dashboard/terminal-view-capability.d.ts.map +1 -0
  416. package/dist/dashboard/terminal-view-capability.js +145 -0
  417. package/dist/dashboard/terminal-view-capability.js.map +1 -0
  418. package/dist/dashboard/web/agent-workbench-api.d.ts +59 -0
  419. package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -0
  420. package/dist/dashboard/web/agent-workbench-api.js +227 -0
  421. package/dist/dashboard/web/agent-workbench-api.js.map +1 -0
  422. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +59 -0
  423. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -0
  424. package/dist/dashboard/web/agent-workbench-appearance-menu.js +195 -0
  425. package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -0
  426. package/dist/dashboard/web/agent-workbench-appearance.d.ts +222 -0
  427. package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -0
  428. package/dist/dashboard/web/agent-workbench-appearance.js +499 -0
  429. package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -0
  430. package/dist/dashboard/web/agent-workbench-capabilities.d.ts +13 -0
  431. package/dist/dashboard/web/agent-workbench-capabilities.d.ts.map +1 -0
  432. package/dist/dashboard/web/agent-workbench-capabilities.js +24 -0
  433. package/dist/dashboard/web/agent-workbench-capabilities.js.map +1 -0
  434. package/dist/dashboard/web/agent-workbench-chat.d.ts +90 -0
  435. package/dist/dashboard/web/agent-workbench-chat.d.ts.map +1 -0
  436. package/dist/dashboard/web/agent-workbench-chat.js +168 -0
  437. package/dist/dashboard/web/agent-workbench-chat.js.map +1 -0
  438. package/dist/dashboard/web/agent-workbench-dock-page.d.ts +3 -0
  439. package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -0
  440. package/dist/dashboard/web/agent-workbench-dock-page.js +23 -0
  441. package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -0
  442. package/dist/dashboard/web/agent-workbench-dock-view.d.ts +22 -0
  443. package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -0
  444. package/dist/dashboard/web/agent-workbench-dock-view.js +76 -0
  445. package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -0
  446. package/dist/dashboard/web/agent-workbench-model.d.ts +196 -0
  447. package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -0
  448. package/dist/dashboard/web/agent-workbench-model.js +529 -0
  449. package/dist/dashboard/web/agent-workbench-model.js.map +1 -0
  450. package/dist/dashboard/web/agent-workbench-page.d.ts +3 -0
  451. package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -0
  452. package/dist/dashboard/web/agent-workbench-page.js +27 -0
  453. package/dist/dashboard/web/agent-workbench-page.js.map +1 -0
  454. package/dist/dashboard/web/agent-workbench-panes.d.ts +49 -0
  455. package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -0
  456. package/dist/dashboard/web/agent-workbench-panes.js +468 -0
  457. package/dist/dashboard/web/agent-workbench-panes.js.map +1 -0
  458. package/dist/dashboard/web/agent-workbench-session-list.d.ts +42 -0
  459. package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -0
  460. package/dist/dashboard/web/agent-workbench-session-list.js +353 -0
  461. package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -0
  462. package/dist/dashboard/web/agent-workbench-storage.d.ts +49 -0
  463. package/dist/dashboard/web/agent-workbench-storage.d.ts.map +1 -0
  464. package/dist/dashboard/web/agent-workbench-storage.js +197 -0
  465. package/dist/dashboard/web/agent-workbench-storage.js.map +1 -0
  466. package/dist/dashboard/web/agent-workbench-touch.d.ts +46 -0
  467. package/dist/dashboard/web/agent-workbench-touch.d.ts.map +1 -0
  468. package/dist/dashboard/web/agent-workbench-touch.js +96 -0
  469. package/dist/dashboard/web/agent-workbench-touch.js.map +1 -0
  470. package/dist/dashboard/web/agent-workbench-view.d.ts +34 -0
  471. package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -0
  472. package/dist/dashboard/web/agent-workbench-view.js +439 -0
  473. package/dist/dashboard/web/agent-workbench-view.js.map +1 -0
  474. package/dist/dashboard/web/app.d.ts.map +1 -1
  475. package/dist/dashboard/web/app.js +63 -2
  476. package/dist/dashboard/web/app.js.map +1 -1
  477. package/dist/dashboard/web/bot-defaults-page.d.ts +11 -0
  478. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  479. package/dist/dashboard/web/bot-defaults-page.js +267 -36
  480. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  481. package/dist/dashboard/web/bot-defaults.d.ts +6 -0
  482. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  483. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  484. package/dist/dashboard/web/control-csrf.d.ts +4 -0
  485. package/dist/dashboard/web/control-csrf.d.ts.map +1 -0
  486. package/dist/dashboard/web/control-csrf.js +26 -0
  487. package/dist/dashboard/web/control-csrf.js.map +1 -0
  488. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  489. package/dist/dashboard/web/dashboard-routes.js +2 -0
  490. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  491. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  492. package/dist/dashboard/web/groups-page.js +11 -2
  493. package/dist/dashboard/web/groups-page.js.map +1 -1
  494. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  495. package/dist/dashboard/web/i18n.js +132 -6
  496. package/dist/dashboard/web/i18n.js.map +1 -1
  497. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  498. package/dist/dashboard/web/overview-page.js +3 -2
  499. package/dist/dashboard/web/overview-page.js.map +1 -1
  500. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  501. package/dist/dashboard/web/sessions-page.js +41 -1
  502. package/dist/dashboard/web/sessions-page.js.map +1 -1
  503. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  504. package/dist/dashboard/web/sessions.js +5 -1
  505. package/dist/dashboard/web/sessions.js.map +1 -1
  506. package/dist/dashboard/web/settings-page.d.ts +3 -0
  507. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  508. package/dist/dashboard/web/settings-page.js +56 -10
  509. package/dist/dashboard/web/settings-page.js.map +1 -1
  510. package/dist/dashboard/web/store.d.ts +27 -2
  511. package/dist/dashboard/web/store.d.ts.map +1 -1
  512. package/dist/dashboard/web/store.js +43 -4
  513. package/dist/dashboard/web/store.js.map +1 -1
  514. package/dist/dashboard/web/ui.d.ts +3 -0
  515. package/dist/dashboard/web/ui.d.ts.map +1 -1
  516. package/dist/dashboard/web/ui.js +11 -0
  517. package/dist/dashboard/web/ui.js.map +1 -1
  518. package/dist/dashboard/web/update-action.d.ts +12 -0
  519. package/dist/dashboard/web/update-action.d.ts.map +1 -1
  520. package/dist/dashboard/web/update-action.js +11 -0
  521. package/dist/dashboard/web/update-action.js.map +1 -1
  522. package/dist/dashboard/workbench-doctor.d.ts +114 -0
  523. package/dist/dashboard/workbench-doctor.d.ts.map +1 -0
  524. package/dist/dashboard/workbench-doctor.js +620 -0
  525. package/dist/dashboard/workbench-doctor.js.map +1 -0
  526. package/dist/dashboard/workbench-ticket.d.ts +165 -0
  527. package/dist/dashboard/workbench-ticket.d.ts.map +1 -0
  528. package/dist/dashboard/workbench-ticket.js +495 -0
  529. package/dist/dashboard/workbench-ticket.js.map +1 -0
  530. package/dist/dashboard-web/app.js +1 -1
  531. package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +1 -0
  532. package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +1 -0
  533. package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +10 -0
  534. package/dist/dashboard-web/chunks/chunk-22WIADUT.js +2 -0
  535. package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +1 -0
  536. package/dist/dashboard-web/chunks/{chunk-Z7B3E3US.js → chunk-2W6SCN3M.js} +1 -1
  537. package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +1 -0
  538. package/dist/dashboard-web/chunks/{chunk-VMWNR3SV.js → chunk-F6KNPF4R.js} +11 -9
  539. package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +1 -0
  540. package/dist/dashboard-web/chunks/chunk-G5ZS2YUS.js +1 -0
  541. package/dist/dashboard-web/chunks/chunk-KTQ7B6ZR.js +1 -0
  542. package/dist/dashboard-web/chunks/{chunk-Z7DO42GJ.js → chunk-NACP7BMR.js} +1 -1
  543. package/dist/dashboard-web/chunks/{connectors-page-CPH6VVFY.js → connectors-page-VOISXXII.js} +1 -1
  544. package/dist/dashboard-web/chunks/{feedback-page-J2FKQ3LK.js → feedback-page-RN6HRZMS.js} +1 -1
  545. package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +8 -0
  546. package/dist/dashboard-web/chunks/{insights-page-A2LWTKJD.js → insights-page-HJFDYR5N.js} +3 -3
  547. package/dist/dashboard-web/chunks/{monitor-room-2YR752E3.js → monitor-room-V7PCP47V.js} +1 -1
  548. package/dist/dashboard-web/chunks/{monitoring-page-BGYSKZGM.js → monitoring-page-NKEKVQAP.js} +1 -1
  549. package/dist/dashboard-web/chunks/{office-page-ZZHTEAE4.js → office-page-GVJF73XW.js} +1 -1
  550. package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +1 -0
  551. package/dist/dashboard-web/chunks/{plugin-page-VEGTCEAS.js → plugin-page-J3OF5IY4.js} +1 -1
  552. package/dist/dashboard-web/chunks/{roles-page-YUC4YLJG.js → roles-page-WQIRSOLZ.js} +1 -1
  553. package/dist/dashboard-web/chunks/{schedules-page-2L2NKTDJ.js → schedules-page-J2DEY2X6.js} +1 -1
  554. package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +8 -0
  555. package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +2 -0
  556. package/dist/dashboard-web/chunks/{skills-page-DQPBBI3T.js → skills-page-HGIFR3IU.js} +1 -1
  557. package/dist/dashboard-web/chunks/{team-federation-page-LQKLDV4K.js → team-federation-page-MR5ZPL4B.js} +1 -1
  558. package/dist/dashboard-web/chunks/{v3-page-RVKQIMAP.js → v3-page-GBR5JWPE.js} +2 -2
  559. package/dist/dashboard-web/chunks/{whiteboards-page-S5K55HRZ.js → whiteboards-page-QAZM4BN3.js} +1 -1
  560. package/dist/dashboard-web/index.html +8 -1
  561. package/dist/dashboard-web/style.css +2006 -10
  562. package/dist/dashboard.js +1006 -263
  563. package/dist/dashboard.js.map +1 -1
  564. package/dist/global-config.d.ts +30 -0
  565. package/dist/global-config.d.ts.map +1 -1
  566. package/dist/global-config.js +33 -0
  567. package/dist/global-config.js.map +1 -1
  568. package/dist/i18n/en.d.ts.map +1 -1
  569. package/dist/i18n/en.js +32 -1
  570. package/dist/i18n/en.js.map +1 -1
  571. package/dist/i18n/zh.d.ts.map +1 -1
  572. package/dist/i18n/zh.js +29 -1
  573. package/dist/i18n/zh.js.map +1 -1
  574. package/dist/im/lark/card-builder.d.ts +1 -1
  575. package/dist/im/lark/card-builder.d.ts.map +1 -1
  576. package/dist/im/lark/card-builder.js +22 -6
  577. package/dist/im/lark/card-builder.js.map +1 -1
  578. package/dist/im/lark/card-handler.d.ts.map +1 -1
  579. package/dist/im/lark/card-handler.js +182 -27
  580. package/dist/im/lark/card-handler.js.map +1 -1
  581. package/dist/im/lark/client.d.ts +15 -0
  582. package/dist/im/lark/client.d.ts.map +1 -1
  583. package/dist/im/lark/client.js +30 -0
  584. package/dist/im/lark/client.js.map +1 -1
  585. package/dist/im/lark/event-dispatcher.d.ts +48 -0
  586. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  587. package/dist/im/lark/event-dispatcher.js +133 -22
  588. package/dist/im/lark/event-dispatcher.js.map +1 -1
  589. package/dist/im/lark/identity-cache.d.ts +14 -6
  590. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  591. package/dist/im/lark/identity-cache.js +69 -26
  592. package/dist/im/lark/identity-cache.js.map +1 -1
  593. package/dist/im/lark/lark-hosts.d.ts +13 -0
  594. package/dist/im/lark/lark-hosts.d.ts.map +1 -1
  595. package/dist/im/lark/lark-hosts.js +16 -0
  596. package/dist/im/lark/lark-hosts.js.map +1 -1
  597. package/dist/im/lark/overview-card.d.ts +22 -0
  598. package/dist/im/lark/overview-card.d.ts.map +1 -1
  599. package/dist/im/lark/overview-card.js +53 -3
  600. package/dist/im/lark/overview-card.js.map +1 -1
  601. package/dist/im/lark/sessions-card.d.ts.map +1 -1
  602. package/dist/im/lark/sessions-card.js +26 -3
  603. package/dist/im/lark/sessions-card.js.map +1 -1
  604. package/dist/im/lark/workflow-slash-command.d.ts +6 -0
  605. package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
  606. package/dist/im/lark/workflow-slash-command.js +7 -0
  607. package/dist/im/lark/workflow-slash-command.js.map +1 -1
  608. package/dist/index-daemon.js +27 -4
  609. package/dist/index-daemon.js.map +1 -1
  610. package/dist/index-dashboard.d.ts +3 -0
  611. package/dist/index-dashboard.d.ts.map +1 -0
  612. package/dist/index-dashboard.js +94 -0
  613. package/dist/index-dashboard.js.map +1 -0
  614. package/dist/platform/binding.d.ts +27 -0
  615. package/dist/platform/binding.d.ts.map +1 -1
  616. package/dist/platform/binding.js +40 -0
  617. package/dist/platform/binding.js.map +1 -1
  618. package/dist/platform/team-agents-client.d.ts +199 -0
  619. package/dist/platform/team-agents-client.d.ts.map +1 -0
  620. package/dist/platform/team-agents-client.js +263 -0
  621. package/dist/platform/team-agents-client.js.map +1 -0
  622. package/dist/platform/tunnel-client.d.ts +6 -0
  623. package/dist/platform/tunnel-client.d.ts.map +1 -1
  624. package/dist/platform/tunnel-client.js.map +1 -1
  625. package/dist/services/async-trigger-state.d.ts +7 -3
  626. package/dist/services/async-trigger-state.d.ts.map +1 -1
  627. package/dist/services/async-trigger-state.js +28 -0
  628. package/dist/services/async-trigger-state.js.map +1 -1
  629. package/dist/services/async-trigger-store.d.ts +13 -4
  630. package/dist/services/async-trigger-store.d.ts.map +1 -1
  631. package/dist/services/async-trigger-store.js +55 -8
  632. package/dist/services/async-trigger-store.js.map +1 -1
  633. package/dist/services/bot-config-store.d.ts +1 -11
  634. package/dist/services/bot-config-store.d.ts.map +1 -1
  635. package/dist/services/bot-config-store.js +27 -3
  636. package/dist/services/bot-config-store.js.map +1 -1
  637. package/dist/services/bot-profile-store.d.ts +17 -2
  638. package/dist/services/bot-profile-store.d.ts.map +1 -1
  639. package/dist/services/bot-profile-store.js +93 -12
  640. package/dist/services/bot-profile-store.js.map +1 -1
  641. package/dist/services/bridge-turn-journal.d.ts +63 -0
  642. package/dist/services/bridge-turn-journal.d.ts.map +1 -0
  643. package/dist/services/bridge-turn-journal.js +149 -0
  644. package/dist/services/bridge-turn-journal.js.map +1 -0
  645. package/dist/services/bridge-turn-queue.d.ts +18 -2
  646. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  647. package/dist/services/bridge-turn-queue.js +31 -10
  648. package/dist/services/bridge-turn-queue.js.map +1 -1
  649. package/dist/services/claude-transcript.d.ts +19 -0
  650. package/dist/services/claude-transcript.d.ts.map +1 -1
  651. package/dist/services/claude-transcript.js +57 -5
  652. package/dist/services/claude-transcript.js.map +1 -1
  653. package/dist/services/codex-app-threads.d.ts +2 -0
  654. package/dist/services/codex-app-threads.d.ts.map +1 -1
  655. package/dist/services/codex-app-threads.js +1 -1
  656. package/dist/services/codex-app-threads.js.map +1 -1
  657. package/dist/services/codex-reasoning-effort.d.ts +8 -0
  658. package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
  659. package/dist/services/codex-reasoning-effort.js +24 -0
  660. package/dist/services/codex-reasoning-effort.js.map +1 -1
  661. package/dist/services/cursor-resume-policy.d.ts.map +1 -1
  662. package/dist/services/cursor-resume-policy.js +15 -3
  663. package/dist/services/cursor-resume-policy.js.map +1 -1
  664. package/dist/services/open-platform-rename.d.ts.map +1 -1
  665. package/dist/services/open-platform-rename.js +3 -2
  666. package/dist/services/open-platform-rename.js.map +1 -1
  667. package/dist/services/ordinary-turn-recovery.d.ts +76 -0
  668. package/dist/services/ordinary-turn-recovery.d.ts.map +1 -0
  669. package/dist/services/ordinary-turn-recovery.js +349 -0
  670. package/dist/services/ordinary-turn-recovery.js.map +1 -0
  671. package/dist/services/resume-fresh-policy.d.ts +17 -0
  672. package/dist/services/resume-fresh-policy.d.ts.map +1 -0
  673. package/dist/services/resume-fresh-policy.js +24 -0
  674. package/dist/services/resume-fresh-policy.js.map +1 -0
  675. package/dist/services/session-group-title.d.ts +1 -0
  676. package/dist/services/session-group-title.d.ts.map +1 -1
  677. package/dist/services/session-group-title.js +16 -1
  678. package/dist/services/session-group-title.js.map +1 -1
  679. package/dist/services/session-groups-store.d.ts +30 -0
  680. package/dist/services/session-groups-store.d.ts.map +1 -1
  681. package/dist/services/session-groups-store.js +26 -4
  682. package/dist/services/session-groups-store.js.map +1 -1
  683. package/dist/services/session-owner-notification.d.ts +9 -0
  684. package/dist/services/session-owner-notification.d.ts.map +1 -0
  685. package/dist/services/session-owner-notification.js +10 -0
  686. package/dist/services/session-owner-notification.js.map +1 -0
  687. package/dist/services/session-owner-reminder-config-store.d.ts +9 -0
  688. package/dist/services/session-owner-reminder-config-store.d.ts.map +1 -0
  689. package/dist/services/session-owner-reminder-config-store.js +24 -0
  690. package/dist/services/session-owner-reminder-config-store.js.map +1 -0
  691. package/dist/services/session-owner-reminder-store.d.ts +5 -0
  692. package/dist/services/session-owner-reminder-store.d.ts.map +1 -0
  693. package/dist/services/session-owner-reminder-store.js +54 -0
  694. package/dist/services/session-owner-reminder-store.js.map +1 -0
  695. package/dist/services/session-store.d.ts +98 -21
  696. package/dist/services/session-store.d.ts.map +1 -1
  697. package/dist/services/session-store.js +406 -48
  698. package/dist/services/session-store.js.map +1 -1
  699. package/dist/services/structured-bridge-clis.d.ts +9 -5
  700. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  701. package/dist/services/structured-bridge-clis.js +9 -4
  702. package/dist/services/structured-bridge-clis.js.map +1 -1
  703. package/dist/services/transcript-resolver.d.ts +1 -1
  704. package/dist/services/transcript-resolver.d.ts.map +1 -1
  705. package/dist/services/transcript-resolver.js +6 -1
  706. package/dist/services/transcript-resolver.js.map +1 -1
  707. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  708. package/dist/setup/bot-config-editor.js +7 -2
  709. package/dist/setup/bot-config-editor.js.map +1 -1
  710. package/dist/setup/ensure-herdr-integrations.d.ts +13 -0
  711. package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -1
  712. package/dist/setup/ensure-herdr-integrations.js +21 -3
  713. package/dist/setup/ensure-herdr-integrations.js.map +1 -1
  714. package/dist/setup/open-platform-automation.d.ts +1 -0
  715. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  716. package/dist/setup/open-platform-automation.js +107 -7
  717. package/dist/setup/open-platform-automation.js.map +1 -1
  718. package/dist/skills/definitions.d.ts +17 -0
  719. package/dist/skills/definitions.d.ts.map +1 -1
  720. package/dist/skills/definitions.js +78 -8
  721. package/dist/skills/definitions.js.map +1 -1
  722. package/dist/skills/injection-mode.d.ts +24 -3
  723. package/dist/skills/injection-mode.d.ts.map +1 -1
  724. package/dist/skills/injection-mode.js +64 -15
  725. package/dist/skills/injection-mode.js.map +1 -1
  726. package/dist/skills/installer.d.ts +18 -0
  727. package/dist/skills/installer.d.ts.map +1 -1
  728. package/dist/skills/installer.js +45 -1
  729. package/dist/skills/installer.js.map +1 -1
  730. package/dist/types.d.ts +221 -10
  731. package/dist/types.d.ts.map +1 -1
  732. package/dist/utils/child-env.d.ts +92 -2
  733. package/dist/utils/child-env.d.ts.map +1 -1
  734. package/dist/utils/child-env.js +195 -1
  735. package/dist/utils/child-env.js.map +1 -1
  736. package/dist/utils/cli-usage-limit.d.ts +25 -14
  737. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  738. package/dist/utils/cli-usage-limit.js +25 -15
  739. package/dist/utils/cli-usage-limit.js.map +1 -1
  740. package/dist/utils/daemon-rejection-guard.d.ts +35 -0
  741. package/dist/utils/daemon-rejection-guard.d.ts.map +1 -0
  742. package/dist/utils/daemon-rejection-guard.js +101 -0
  743. package/dist/utils/daemon-rejection-guard.js.map +1 -0
  744. package/dist/utils/dashboard-env.d.ts +53 -0
  745. package/dist/utils/dashboard-env.d.ts.map +1 -0
  746. package/dist/utils/dashboard-env.js +116 -0
  747. package/dist/utils/dashboard-env.js.map +1 -0
  748. package/dist/utils/global-install.d.ts.map +1 -1
  749. package/dist/utils/global-install.js +61 -5
  750. package/dist/utils/global-install.js.map +1 -1
  751. package/dist/utils/install-diagnostics.d.ts +14 -7
  752. package/dist/utils/install-diagnostics.d.ts.map +1 -1
  753. package/dist/utils/install-diagnostics.js +20 -11
  754. package/dist/utils/install-diagnostics.js.map +1 -1
  755. package/dist/utils/local-dev-update.d.ts +132 -0
  756. package/dist/utils/local-dev-update.d.ts.map +1 -0
  757. package/dist/utils/local-dev-update.js +176 -0
  758. package/dist/utils/local-dev-update.js.map +1 -0
  759. package/dist/utils/pending-input-queue.d.ts +12 -1
  760. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  761. package/dist/utils/pending-input-queue.js.map +1 -1
  762. package/dist/worker.js +1551 -241
  763. package/dist/worker.js.map +1 -1
  764. package/dist/workflows/definition.d.ts +68 -68
  765. package/dist/workflows/events/payloads.d.ts +14 -14
  766. package/dist/workflows/events/schema.d.ts +312 -312
  767. package/dist/workflows/migration/v2-run-archive-schema.d.ts +40 -40
  768. package/dist/workflows/v3/cli-run.d.ts.map +1 -1
  769. package/dist/workflows/v3/cli-run.js +7 -0
  770. package/dist/workflows/v3/cli-run.js.map +1 -1
  771. package/dist/workflows/v3/goal-cli.d.ts +3 -0
  772. package/dist/workflows/v3/goal-cli.d.ts.map +1 -1
  773. package/dist/workflows/v3/goal-cli.js +11 -0
  774. package/dist/workflows/v3/goal-cli.js.map +1 -1
  775. package/dist/workflows/v3/run-envelope.d.ts +144 -144
  776. package/package.json +3 -2
  777. package/dist/cli/pm2-god-admission.d.ts +0 -8
  778. package/dist/cli/pm2-god-admission.d.ts.map +0 -1
  779. package/dist/cli/pm2-god-admission.js +0 -25
  780. package/dist/cli/pm2-god-admission.js.map +0 -1
  781. package/dist/core/riff-shutdown-detach.d.ts.map +0 -1
  782. package/dist/core/riff-shutdown-detach.js.map +0 -1
  783. package/dist/core/riff-worker-shutdown-readiness.d.ts.map +0 -1
  784. package/dist/core/riff-worker-shutdown-readiness.js.map +0 -1
  785. package/dist/dashboard-web/chunks/bot-defaults-page-65SMZ4QY.js +0 -10
  786. package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +0 -1
  787. package/dist/dashboard-web/chunks/chunk-IKN6WURK.js +0 -1
  788. package/dist/dashboard-web/chunks/chunk-WLIVBPJC.js +0 -1
  789. package/dist/dashboard-web/chunks/groups-page-VDOOLS4M.js +0 -8
  790. package/dist/dashboard-web/chunks/overview-page-7NYPKQSB.js +0 -1
  791. package/dist/dashboard-web/chunks/sessions-page-DYZZMKFL.js +0 -8
  792. package/dist/dashboard-web/chunks/settings-page-LIULUSMH.js +0 -2
@@ -1,10 +1,17 @@
1
1
  /**
2
- * Team-level bot profile store: a short, human-facing **capability label** per
3
- * bot (keyed by larkAppId), separate from the full team role markdown.
2
+ * Team-level bot profile store: a short, human-facing **capability label** plus
3
+ * structured **specialties** tags per bot (keyed by larkAppId), separate from
4
+ * the full team role markdown.
4
5
  *
5
6
  * Why separate from the team role (see role-resolver.ts):
6
7
  * - The capability label is a one-liner used in the collaboration roster
7
8
  * (`botmux bots list`) for discovery/selection — "后端 bot,擅长服务端排查".
9
+ * - `specialties` is a structured string[] of short tags (e.g. ["backend",
10
+ * "pr-review"]) — the machine-matchable discovery signal reported to the
11
+ * centralized platform (BotInfo.specialties) so teammates can find a bot by
12
+ * what it's good at. Self-reported → display/selection only, NEVER a
13
+ * trusted credential (deliberately unrelated to the config `capabilities`
14
+ * field, which gates VC actions).
8
15
  * - The full team role is the persona injected into the CLI `<role>` block.
9
16
  * Keeping them apart lets the roster stay scannable while the role stays rich.
10
17
  *
@@ -20,6 +27,11 @@ import { join } from 'node:path';
20
27
  import { randomUUID } from 'node:crypto';
21
28
  /** A capability label longer than this is almost certainly a full role, not a tag. */
22
29
  const MAX_CAPABILITY_CHARS = 120;
30
+ /** Bounds for structured specialties tags. Discovery labels are short by design;
31
+ * cap both count and per-tag length so a bad writer can't bloat the heartbeat
32
+ * payload (specialties ride every register/heartbeat to the platform). */
33
+ const MAX_SPECIALTIES = 20;
34
+ const MAX_SPECIALTY_CHARS = 40;
23
35
  function profilesDir(dataDir) {
24
36
  return join(dataDir, 'bot-profiles');
25
37
  }
@@ -32,8 +44,15 @@ function readProfile(dataDir, larkAppId) {
32
44
  return null;
33
45
  try {
34
46
  const parsed = JSON.parse(readFileSync(fp, 'utf-8'));
35
- if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
36
- return parsed;
47
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
48
+ const p = parsed;
49
+ // Normalize specialties on read so a hand-edited / legacy file can never
50
+ // leak a dirty value (non-array, dupes, over-long) to the platform. Only
51
+ // materialize the field when the file actually had one.
52
+ if ('specialties' in p)
53
+ p.specialties = normalizeSpecialties(p.specialties);
54
+ return p;
55
+ }
37
56
  }
38
57
  catch { /* corrupt — treat as absent */ }
39
58
  return null;
@@ -57,21 +76,83 @@ export function getBotProfile(dataDir, larkAppId) {
57
76
  export function getBotCapability(dataDir, larkAppId) {
58
77
  return getBotProfile(dataDir, larkAppId)?.capability ?? null;
59
78
  }
60
- /** Set (or overwrite) a bot's capability label. Trimmed and length-capped. */
79
+ /** Normalize a specialties list: trim, drop empties, dedupe (order-preserving),
80
+ * cap per-tag length and total count. Non-array → []. */
81
+ function normalizeSpecialties(raw) {
82
+ if (!Array.isArray(raw))
83
+ return [];
84
+ const out = [];
85
+ const seen = new Set();
86
+ for (const v of raw) {
87
+ if (typeof v !== 'string')
88
+ continue;
89
+ const s = v.trim().slice(0, MAX_SPECIALTY_CHARS);
90
+ if (!s || seen.has(s))
91
+ continue;
92
+ seen.add(s);
93
+ out.push(s);
94
+ if (out.length >= MAX_SPECIALTIES)
95
+ break;
96
+ }
97
+ return out;
98
+ }
99
+ /** Structured discovery tags for a bot (empty array if none). */
100
+ export function getBotSpecialties(dataDir, larkAppId) {
101
+ return getBotProfile(dataDir, larkAppId)?.specialties ?? [];
102
+ }
103
+ /**
104
+ * Set (or overwrite) a bot's capability label. Trimmed and length-capped.
105
+ * Merges into the existing profile so it never clobbers `specialties`.
106
+ */
61
107
  export function setBotCapability(dataDir, larkAppId, capability, updatedBy, now = Date.now()) {
62
108
  if (!larkAppId)
63
109
  return;
64
110
  const label = capability.trim().slice(0, MAX_CAPABILITY_CHARS);
65
- writeProfileAtomic(dataDir, larkAppId, { capability: label, updatedAt: now, ...(updatedBy ? { updatedBy } : {}) });
111
+ const existing = readProfile(dataDir, larkAppId);
112
+ writeProfileAtomic(dataDir, larkAppId, {
113
+ ...(existing?.specialties ? { specialties: existing.specialties } : {}),
114
+ capability: label,
115
+ updatedAt: now,
116
+ ...(updatedBy ? { updatedBy } : {}),
117
+ });
66
118
  }
67
- /** Remove a bot's capability label (deletes its profile file). Returns true if one existed. */
119
+ /**
120
+ * Set (or overwrite) a bot's specialties tags. Normalized (trim/dedupe/capped).
121
+ * Merges into the existing profile so it never clobbers the `capability` label.
122
+ * An empty list persists as an explicit `[]` (owner cleared their tags).
123
+ */
124
+ export function setBotSpecialties(dataDir, larkAppId, specialties, updatedBy, now = Date.now()) {
125
+ if (!larkAppId)
126
+ return;
127
+ const tags = normalizeSpecialties(specialties);
128
+ const existing = readProfile(dataDir, larkAppId);
129
+ writeProfileAtomic(dataDir, larkAppId, {
130
+ ...(existing?.capability ? { capability: existing.capability } : {}),
131
+ specialties: tags,
132
+ updatedAt: now,
133
+ ...(updatedBy ? { updatedBy } : {}),
134
+ });
135
+ }
136
+ /** Remove a bot's capability label. Preserves `specialties`. Returns true if a
137
+ * label existed. Deletes the whole profile file only when nothing else remains. */
68
138
  export function clearBotCapability(dataDir, larkAppId) {
69
- const fp = profilePath(dataDir, larkAppId);
70
- const had = readProfile(dataDir, larkAppId)?.capability !== undefined;
71
- try {
72
- unlinkSync(fp);
139
+ const existing = readProfile(dataDir, larkAppId);
140
+ const had = existing?.capability !== undefined;
141
+ if (existing?.specialties && existing.specialties.length > 0) {
142
+ // Keep the file — specialties still live here. Preserve updatedBy so the
143
+ // audit trail (who last touched this profile) survives a capability clear.
144
+ writeProfileAtomic(dataDir, larkAppId, {
145
+ specialties: existing.specialties,
146
+ updatedAt: Date.now(),
147
+ ...(existing.updatedBy ? { updatedBy: existing.updatedBy } : {}),
148
+ });
149
+ }
150
+ else {
151
+ try {
152
+ unlinkSync(profilePath(dataDir, larkAppId));
153
+ }
154
+ catch { /* already gone */ }
73
155
  }
74
- catch { /* already gone */ }
75
156
  return had;
76
157
  }
77
158
  /** All recorded profiles, keyed by larkAppId. */
@@ -1 +1 @@
1
- {"version":3,"file":"bot-profile-store.js","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-profile-store.js","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export interface BridgeTurnJournalEntry {
2
+ turnId: string;
3
+ dispatchAttempt?: number;
4
+ /** Wall-clock millis of the original mark — restored verbatim so the
5
+ * send-marker window and the split cutoff keep their original bounds. */
6
+ markTimeMs: number;
7
+ fingerprint?: string;
8
+ contentNormalized?: string;
9
+ /** Transcript file the mark was armed against. Restore is scoped to the
10
+ * SAME file — a rotation between generations makes attribution unsafe. */
11
+ jsonlPath: string;
12
+ /** Consumed transcript offset when the mark was armed. The turn's user
13
+ * line can only exist at/after this byte, so restore re-drains from here
14
+ * instead of re-reading the whole file. Always a line boundary. */
15
+ offsetAtMark: number;
16
+ }
17
+ /** Entries older than this are dropped at restore instead of re-marked: a
18
+ * partial answer from days ago posted into a thread that has long moved on
19
+ * is noise, not recovery. */
20
+ export declare const BRIDGE_TURN_RESTORE_MAX_AGE_MS: number;
21
+ export declare function readBridgeTurnJournal(path: string): BridgeTurnJournalEntry[];
22
+ export declare function writeBridgeTurnJournal(path: string, pending: BridgeTurnJournalEntry[]): void;
23
+ export declare function appendBridgeTurnJournalEntry(path: string, entry: BridgeTurnJournalEntry): void;
24
+ export declare function removeBridgeTurnJournalEntry(path: string, turnId: string, dispatchAttempt?: number): void;
25
+ export declare function clearBridgeTurnJournal(path: string): void;
26
+ /** Pure restore filter: which journal entries may be re-marked on this
27
+ * worker generation? Scoped to the same transcript file (rotation between
28
+ * generations makes offset+fingerprint attribution unsafe) and bounded by
29
+ * age (stale partials are noise). */
30
+ export declare function selectRestorableBridgeTurns(entries: readonly BridgeTurnJournalEntry[], opts: {
31
+ currentJsonlPath: string;
32
+ nowMs?: number;
33
+ maxAgeMs?: number;
34
+ }): BridgeTurnJournalEntry[];
35
+ /**
36
+ * One-shot latch that confines journal restore to a worker process's FIRST
37
+ * bridge baseline. Extracted from worker.ts (like InflightInputTracker) so the
38
+ * "restore at most once, only on the first baseline" rule is unit-testable.
39
+ *
40
+ * Why it exists: the journal recovers a plain-IM turn orphaned by a
41
+ * CROSS-process death (daemon restart / worker crash) — there the whole worker
42
+ * is new and no other recovery owner survives. But an IN-worker CLI restart
43
+ * (crash-respawn / cwd-move / durable lease expiry) keeps the process alive, so
44
+ * its InflightInputTracker carryover ALREADY re-delivers the interrupted plain
45
+ * IM input as a full fresh answer. If the journal ALSO restored that turn on the
46
+ * post-restart baseline, the recovered partial and the fresh answer — same
47
+ * turnId, different lastUuid — would both reach Lark (the daemon dedupe can't
48
+ * collapse them). The worker arms this latch on every watcher teardown, so only
49
+ * the first baseline (the one with no competing recovery owner) may restore.
50
+ */
51
+ export declare class BridgeRestoreGate {
52
+ private consumed;
53
+ /** True only on the first call after construction — the process's first
54
+ * baseline. Every later call (a post-restart baseline) returns false. Does
55
+ * NOT itself consume the latch: an empty-journal first baseline must still
56
+ * arm it via markGenerationRetired so a later restart can't restore. */
57
+ mayRestoreOnThisBaseline(): boolean;
58
+ /** Arm the latch: a CLI generation has ended (watcher torn down), so any
59
+ * future baseline is an in-worker restart, never first-baseline recovery.
60
+ * Idempotent. */
61
+ markGenerationRetired(): void;
62
+ }
63
+ //# sourceMappingURL=bridge-turn-journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-turn-journal.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-journal.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;8EAC0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;+EAC2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB;;wEAEoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;8BAE8B;AAC9B,eAAO,MAAM,8BAA8B,QAAsB,CAAC;AAYlE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAkB5E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAS5F;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAK9F;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAWN;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;sCAGsC;AACtC,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,IAAI,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,sBAAsB,EAAE,CAgB1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;6EAGyE;IACzE,wBAAwB,IAAI,OAAO;IAInC;;sBAEkB;IAClB,qBAAqB,IAAI,IAAI;CAG9B"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Durable journal of PENDING (not yet terminalized) Lark bridge turns.
3
+ *
4
+ * The Claude-bridge attribution queue (`BridgeTurnQueue`) lives in worker
5
+ * memory: when the worker dies mid-turn (daemon restart / upgrade / crash),
6
+ * every pending mark is lost, and on respawn the bridge baselines the
7
+ * transcript to EOF — so the interrupted turn's user line AND whatever
8
+ * assistant text the model produced before the kill are silently skipped.
9
+ * The user gets neither a `botmux send` (the model never reached it) nor the
10
+ * transcript-driven fallback (nothing left to harvest). This journal closes
11
+ * that gap:
12
+ *
13
+ * - the worker appends an entry when it marks a Lark turn (delivery time),
14
+ * recording everything the queue needs to re-create the mark PLUS the
15
+ * consumed transcript offset at that moment;
16
+ * - the entry is removed at every turn-terminal outcome (emitted,
17
+ * suppressed, dropped, expired);
18
+ * - on respawn, `bridgeAbsorbBaseline` consults the journal instead of
19
+ * blindly baselining to EOF: surviving entries are re-marked and the
20
+ * transcript is re-drained from the recorded offset, so the interrupted
21
+ * turn's output is attributed and delivered through the NORMAL fallback
22
+ * gate (send-marker dedup still applies — `turn-sends` markers persist
23
+ * across restarts).
24
+ *
25
+ * Removal happens BEFORE the final_output IPC is sent (clear-at-pop): if the
26
+ * worker dies in between, the answer is lost rather than duplicated — the
27
+ * daemon-side dedupe key does not survive restarts, so duplicating would be
28
+ * the worse failure.
29
+ *
30
+ * The whole file is rewritten atomically (tmp + rename) on every mutation;
31
+ * the pending set is tiny (type-ahead depth, single digits), so this is
32
+ * cheaper and simpler than an append-only log with compaction.
33
+ */
34
+ import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
35
+ import { dirname } from 'node:path';
36
+ /** Entries older than this are dropped at restore instead of re-marked: a
37
+ * partial answer from days ago posted into a thread that has long moved on
38
+ * is noise, not recovery. */
39
+ export const BRIDGE_TURN_RESTORE_MAX_AGE_MS = 24 * 60 * 60 * 1000;
40
+ /** Bound on tracked entries — pathological mark storms must not grow the
41
+ * journal unboundedly. Oldest entries are shed first (they are also the
42
+ * first to fail the restore age gate). */
43
+ const MAX_JOURNAL_ENTRIES = 32;
44
+ export function readBridgeTurnJournal(path) {
45
+ let raw;
46
+ try {
47
+ raw = readFileSync(path, 'utf8');
48
+ }
49
+ catch {
50
+ return [];
51
+ }
52
+ try {
53
+ const parsed = JSON.parse(raw);
54
+ if (parsed?.version !== 1 || !Array.isArray(parsed.pending))
55
+ return [];
56
+ return parsed.pending.filter(entry => typeof entry?.turnId === 'string'
57
+ && typeof entry?.markTimeMs === 'number'
58
+ && typeof entry?.jsonlPath === 'string'
59
+ && typeof entry?.offsetAtMark === 'number');
60
+ }
61
+ catch {
62
+ return [];
63
+ }
64
+ }
65
+ export function writeBridgeTurnJournal(path, pending) {
66
+ const bounded = pending.length > MAX_JOURNAL_ENTRIES
67
+ ? pending.slice(pending.length - MAX_JOURNAL_ENTRIES)
68
+ : pending;
69
+ const payload = { version: 1, pending: bounded };
70
+ mkdirSync(dirname(path), { recursive: true });
71
+ const tmpPath = `${path}.${process.pid}.tmp`;
72
+ writeFileSync(tmpPath, `${JSON.stringify(payload)}\n`, { mode: 0o600 });
73
+ renameSync(tmpPath, path);
74
+ }
75
+ export function appendBridgeTurnJournalEntry(path, entry) {
76
+ const pending = readBridgeTurnJournal(path)
77
+ .filter(existing => !(existing.turnId === entry.turnId && existing.dispatchAttempt === entry.dispatchAttempt));
78
+ pending.push(entry);
79
+ writeBridgeTurnJournal(path, pending);
80
+ }
81
+ export function removeBridgeTurnJournalEntry(path, turnId, dispatchAttempt) {
82
+ const pending = readBridgeTurnJournal(path);
83
+ const remaining = pending.filter(entry => !(entry.turnId === turnId
84
+ && (dispatchAttempt === undefined || entry.dispatchAttempt === dispatchAttempt)));
85
+ if (remaining.length === pending.length)
86
+ return;
87
+ if (remaining.length === 0) {
88
+ rmSync(path, { force: true });
89
+ return;
90
+ }
91
+ writeBridgeTurnJournal(path, remaining);
92
+ }
93
+ export function clearBridgeTurnJournal(path) {
94
+ rmSync(path, { force: true });
95
+ }
96
+ /** Pure restore filter: which journal entries may be re-marked on this
97
+ * worker generation? Scoped to the same transcript file (rotation between
98
+ * generations makes offset+fingerprint attribution unsafe) and bounded by
99
+ * age (stale partials are noise). */
100
+ export function selectRestorableBridgeTurns(entries, opts) {
101
+ const nowMs = opts.nowMs ?? Date.now();
102
+ const maxAgeMs = opts.maxAgeMs ?? BRIDGE_TURN_RESTORE_MAX_AGE_MS;
103
+ return entries
104
+ .filter(entry => entry.jsonlPath === opts.currentJsonlPath
105
+ && nowMs - entry.markTimeMs <= maxAgeMs
106
+ // Only PLAIN Lark IM turns are restorable. Durable turns
107
+ // (dispatchAttempt set) have their own cross-restart recovery owner (the
108
+ // daemon's persisted queuedActivation* write-ahead + receipt
109
+ // auto-redispatch); restoring one from the journal would double-deliver
110
+ // (recovered partial + re-dispatched attempt share a turnId but carry
111
+ // different lastUuids, so the daemon dedupe can't collapse them). The
112
+ // write side already skips journaling them; this is belt-and-braces for a
113
+ // journal file left behind by a pre-fix build across an upgrade.
114
+ && entry.dispatchAttempt === undefined)
115
+ .sort((a, b) => a.markTimeMs - b.markTimeMs);
116
+ }
117
+ /**
118
+ * One-shot latch that confines journal restore to a worker process's FIRST
119
+ * bridge baseline. Extracted from worker.ts (like InflightInputTracker) so the
120
+ * "restore at most once, only on the first baseline" rule is unit-testable.
121
+ *
122
+ * Why it exists: the journal recovers a plain-IM turn orphaned by a
123
+ * CROSS-process death (daemon restart / worker crash) — there the whole worker
124
+ * is new and no other recovery owner survives. But an IN-worker CLI restart
125
+ * (crash-respawn / cwd-move / durable lease expiry) keeps the process alive, so
126
+ * its InflightInputTracker carryover ALREADY re-delivers the interrupted plain
127
+ * IM input as a full fresh answer. If the journal ALSO restored that turn on the
128
+ * post-restart baseline, the recovered partial and the fresh answer — same
129
+ * turnId, different lastUuid — would both reach Lark (the daemon dedupe can't
130
+ * collapse them). The worker arms this latch on every watcher teardown, so only
131
+ * the first baseline (the one with no competing recovery owner) may restore.
132
+ */
133
+ export class BridgeRestoreGate {
134
+ consumed = false;
135
+ /** True only on the first call after construction — the process's first
136
+ * baseline. Every later call (a post-restart baseline) returns false. Does
137
+ * NOT itself consume the latch: an empty-journal first baseline must still
138
+ * arm it via markGenerationRetired so a later restart can't restore. */
139
+ mayRestoreOnThisBaseline() {
140
+ return !this.consumed;
141
+ }
142
+ /** Arm the latch: a CLI generation has ended (watcher torn down), so any
143
+ * future baseline is an in-worker restart, never first-baseline recovery.
144
+ * Idempotent. */
145
+ markGenerationRetired() {
146
+ this.consumed = true;
147
+ }
148
+ }
149
+ //# sourceMappingURL=bridge-turn-journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-turn-journal.js","sourceRoot":"","sources":["../../src/services/bridge-turn-journal.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@
28
28
  * Baseline (`absorb()`) takes a batch of historical events and registers
29
29
  * their uuids as already-seen so future ingest doesn't double-attribute.
30
30
  */
31
- import { normaliseForFingerprint, type TranscriptEvent } from './claude-transcript.js';
31
+ import { normaliseForFingerprint, type ClaudeTerminalOutcome, type TranscriptEvent } from './claude-transcript.js';
32
32
  export { normaliseForFingerprint };
33
33
  export interface BridgePendingTurn {
34
34
  turnId: string;
@@ -39,6 +39,15 @@ export interface BridgePendingTurn {
39
39
  * never settle from screen-idle alone; worker terminal emission requires
40
40
  * this bit (or an explicit failure/exit path outside the queue). */
41
41
  terminalObserved?: boolean;
42
+ /** Structured execution result. This is independent from whether transcript
43
+ * fallback text is visible or suppressed by a prior `botmux send`. */
44
+ terminalOutcome?: Exclude<ClaudeTerminalOutcome, {
45
+ status: 'rate_limited';
46
+ }>;
47
+ /** Structured 429 observed for this turn. It remains owned by the existing
48
+ * limited/reset path and must not be converted into ordinary ambiguity when
49
+ * the following turn_duration closes the transcript boundary. */
50
+ rateLimited?: boolean;
42
51
  /** Set when this turn was synthesised from a local-terminal user event
43
52
  * (no matching Lark fingerprint). Causes the worker emit path to format
44
53
  * the Lark message with both user text and assistant text under a
@@ -76,6 +85,11 @@ export interface BridgePendingTurn {
76
85
  * the turn — short fingerprints ("hello", "test") would otherwise risk
77
86
  * matching pre-existing user lines in unrelated sibling jsonls. */
78
87
  markTimeMs?: number;
88
+ /** Set when this mark was re-created from the durable turn journal after a
89
+ * worker/daemon restart interrupted the turn. The emit path prefixes the
90
+ * delivered fallback with an "interrupted by restart" notice so the user
91
+ * can tell a recovered partial answer from a live one. */
92
+ restoredFromJournal?: boolean;
79
93
  }
80
94
  /** Trim a Lark message into a stable fingerprint. Keeps a leading window
81
95
  * of non-whitespace-collapsed content; long enough to disambiguate, short
@@ -124,7 +138,9 @@ export declare class BridgeTurnQueue {
124
138
  * `markTimeMs` is captured here so the rotation fallback can bound its
125
139
  * fingerprint scan to events written after this point — protects short
126
140
  * fingerprints from matching old history in unrelated sibling jsonls. */
127
- mark(turnId: string, contentFingerprint?: string, markTimeMs?: number, contentNormalized?: string, dispatchAttempt?: number): string;
141
+ mark(turnId: string, contentFingerprint?: string, markTimeMs?: number, contentNormalized?: string, dispatchAttempt?: number, opts?: {
142
+ restoredFromJournal?: boolean;
143
+ }): string;
128
144
  /** Drop all pending turns. Used when the worker discovers it can't
129
145
  * reliably attribute future events (e.g. baseline raced with a turn
130
146
  * already in flight) and wants to clear the slate. */
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EACL,uBAAuB,EAMvB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAQnC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;wEAEoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;+EAI2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;gEAG4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;2DAIuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;oEAMgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;mBAKe;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;6CAG6C;AAC7C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,GAAG,SAAS,CAK7E;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;4CAyB4C;AAC5C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAIxF;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAkC;IAEpD;uEACmE;IACnE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAMvC;;;;;;;8EAO0E;IAC1E,IAAI,CACF,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,GAAE,MAAmB,EAC/B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM;IAaT;;2DAEuD;IACvD,YAAY,IAAI,iBAAiB,EAAE;IAMnC;;;;;;;;kFAQ8E;IAC9E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAWnF;;;;;;;2BAOuB;IACvB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,iBAAiB,EAAE;IAY7E;;;;;;;;yEAQqE;IACrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAoFjE;;;;;;;;;;;;;;;;0DAgBsD;IACtD,OAAO,CAAC,eAAe;IA6FvB;;;;;4EAKwE;IACxE,cAAc,CAAC,IAAI,GAAE;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B;gFACwE;QACxE,iCAAiC,CAAC,EAAE,OAAO,CAAC;KACxC,GAAG,iBAAiB,EAAE;IAiB5B,qDAAqD;IACrD,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,iBAAiB,EAAE;CAGrC"}
1
+ {"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@
28
28
  * Baseline (`absorb()`) takes a batch of historical events and registers
29
29
  * their uuids as already-seen so future ingest doesn't double-attribute.
30
30
  */
31
- import { normaliseForFingerprint, isMeaningfulUserEvent, isMeaningfulQueuedCommand, extractTurnStartText, isClaudeTurnTerminalEvent, isTranscriptRateLimitEvent, } from './claude-transcript.js';
31
+ import { normaliseForFingerprint, isMeaningfulUserEvent, isMeaningfulQueuedCommand, extractTurnStartText, isClaudeTurnTerminalEvent, isTranscriptRateLimitEvent, classifyClaudeTerminalEvent, } from './claude-transcript.js';
32
32
  // Re-export so existing callers (worker.ts, tests) don't need to change
33
33
  // their import path now that these helpers live in claude-transcript.ts.
34
34
  export { normaliseForFingerprint };
@@ -109,7 +109,7 @@ export class BridgeTurnQueue {
109
109
  * `markTimeMs` is captured here so the rotation fallback can bound its
110
110
  * fingerprint scan to events written after this point — protects short
111
111
  * fingerprints from matching old history in unrelated sibling jsonls. */
112
- mark(turnId, contentFingerprint, markTimeMs = Date.now(), contentNormalized, dispatchAttempt) {
112
+ mark(turnId, contentFingerprint, markTimeMs = Date.now(), contentNormalized, dispatchAttempt, opts) {
113
113
  this.queue.push({
114
114
  turnId,
115
115
  dispatchAttempt,
@@ -118,6 +118,7 @@ export class BridgeTurnQueue {
118
118
  contentFingerprint,
119
119
  contentNormalized,
120
120
  markTimeMs,
121
+ ...(opts?.restoredFromJournal ? { restoredFromJournal: true } : {}),
121
122
  });
122
123
  return turnId;
123
124
  }
@@ -226,12 +227,22 @@ export class BridgeTurnQueue {
226
227
  // here: a rate-limited turn produced no real answer, so let the normal
227
228
  // terminal marker (or retry) close it.
228
229
  //
229
- // Other API errors (server_error / authentication_failed / the
230
- // terms-acceptance 400 / …) are NOT suppressed: they have no `limited`
231
- // surface, so forwarding their text is the user's only signal that the
232
- // request failed — matching pre-existing behavior.
233
- if (isTranscriptRateLimitEvent(ev))
230
+ // Every API-error record is execution metadata, never a model answer.
231
+ // Its structured terminal outcome is retained below; user visibility
232
+ // and bounded retry are owned by the worker/daemon, respectively.
233
+ if (isTranscriptRateLimitEvent(ev)) {
234
+ if (this.collecting)
235
+ this.collecting.rateLimited = true;
234
236
  continue;
237
+ }
238
+ const terminalOutcome = classifyClaudeTerminalEvent(ev);
239
+ if (ev.isApiErrorMessage === true) {
240
+ if (this.collecting && terminalOutcome?.status !== 'rate_limited') {
241
+ this.collecting.terminalOutcome = terminalOutcome;
242
+ this.collecting.terminalObserved = true;
243
+ }
244
+ continue;
245
+ }
235
246
  const hasVisibleText = assistantHasVisibleText(ev.message?.content);
236
247
  if (hasVisibleText && !this.collecting) {
237
248
  // Headless local turn: an assistant boundary arrived without any
@@ -263,14 +274,24 @@ export class BridgeTurnQueue {
263
274
  this.collecting?.assistantUuids.push(uuid);
264
275
  if (isClaudeTurnTerminalEvent(ev) && this.collecting) {
265
276
  this.collecting.terminalObserved = true;
277
+ if (terminalOutcome?.status !== 'rate_limited') {
278
+ this.collecting.terminalOutcome ??= terminalOutcome;
279
+ }
266
280
  }
267
281
  }
268
282
  else if (isClaudeTurnTerminalEvent(ev)) {
269
283
  // Claude normally writes this as `system/turn_duration` immediately
270
- // after the final assistant line. It is a second marker for the same
271
- // logical boundary; setting a bit is naturally idempotent.
272
- if (this.collecting)
284
+ // after the final assistant line. A local transcript can legitimately
285
+ // contain visible text with `stop_reason:null`; the duration marker is
286
+ // still authoritative proof that the turn completed. Keep a previously
287
+ // classified API failure, but otherwise use the same completed default
288
+ // as the next-turn-start compatibility boundary below.
289
+ if (this.collecting) {
273
290
  this.collecting.terminalObserved = true;
291
+ if (!this.collecting.rateLimited) {
292
+ this.collecting.terminalOutcome ??= { status: 'completed' };
293
+ }
294
+ }
274
295
  }
275
296
  }
276
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-turn-queue.js","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-turn-queue.js","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,25 @@ export declare function isTranscriptRateLimitEvent(ev: TranscriptEvent): boolean
48
48
  /** Concatenated text blocks of an API-error record, used to recover a human
49
49
  * retry clock ("... resets 10:40pm") when present. Returns '' if none. */
50
50
  export declare function apiErrorMessageText(ev: TranscriptEvent): string;
51
+ /** Provider-neutral terminal semantics derived from one Claude transcript
52
+ * event. The classifier is deliberately fail-closed: an `unknown` API error is
53
+ * retryable only when its bounded text matches a verified transient signature. */
54
+ export type ClaudeTerminalOutcome = {
55
+ status: 'completed';
56
+ } | {
57
+ status: 'failed';
58
+ errorCode: string;
59
+ retryable: boolean;
60
+ } | {
61
+ status: 'ambiguous';
62
+ errorCode: string;
63
+ retryable: false;
64
+ } | {
65
+ status: 'rate_limited';
66
+ errorCode: 'provider_rate_limited';
67
+ retryable: false;
68
+ };
69
+ export declare function classifyClaudeTerminalEvent(ev: TranscriptEvent): ClaudeTerminalOutcome | undefined;
51
70
  /**
52
71
  * Authoritative Claude Code end-of-turn markers observed in its JSONL:
53
72
  *
@@ -1 +1 @@
1
- {"version":3,"file":"claude-transcript.d.ts","sourceRoot":"","sources":["../../src/services/claude-transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-transcript.d.ts","sourceRoot":"","sources":["../../src/services/claude-transcript.ts"],"names":[],"mappings":"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"}