botmux 3.13.0 → 3.15.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 (541) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +25 -1
  3. package/dist/.runtime-build-id +1 -1
  4. package/dist/adapters/adopt-route.d.ts +58 -0
  5. package/dist/adapters/adopt-route.d.ts.map +1 -1
  6. package/dist/adapters/adopt-route.js +136 -0
  7. package/dist/adapters/adopt-route.js.map +1 -1
  8. package/dist/adapters/backend/capabilities.js +1 -1
  9. package/dist/adapters/backend/capabilities.js.map +1 -1
  10. package/dist/adapters/backend/herdr-backend.d.ts +1 -1
  11. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/herdr-backend.js +2 -1
  13. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  14. package/dist/adapters/backend/riff-backend.d.ts +97 -0
  15. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  16. package/dist/adapters/backend/riff-backend.js +380 -66
  17. package/dist/adapters/backend/riff-backend.js.map +1 -1
  18. package/dist/adapters/backend/sandbox.d.ts +8 -0
  19. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  20. package/dist/adapters/backend/sandbox.js +16 -2
  21. package/dist/adapters/backend/sandbox.js.map +1 -1
  22. package/dist/adapters/backend/tmux-backend.d.ts +12 -13
  23. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  24. package/dist/adapters/backend/tmux-backend.js +113 -53
  25. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  26. package/dist/adapters/backend/tmux-pipe-backend.d.ts +34 -3
  27. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  28. package/dist/adapters/backend/tmux-pipe-backend.js +72 -9
  29. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  30. package/dist/adapters/backend/types.d.ts +7 -0
  31. package/dist/adapters/backend/types.d.ts.map +1 -1
  32. package/dist/adapters/backend/types.js.map +1 -1
  33. package/dist/adapters/backend/zellij-backend.d.ts +2 -3
  34. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  35. package/dist/adapters/backend/zellij-backend.js +6 -13
  36. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  37. package/dist/adapters/backend/zellij-observe-backend.d.ts +2 -1
  38. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -1
  39. package/dist/adapters/backend/zellij-observe-backend.js +6 -3
  40. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -1
  41. package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
  42. package/dist/adapters/backend/zmx-backend.js +40 -18
  43. package/dist/adapters/backend/zmx-backend.js.map +1 -1
  44. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  45. package/dist/adapters/cli/claude-code.js +12 -1
  46. package/dist/adapters/cli/claude-code.js.map +1 -1
  47. package/dist/adapters/cli/codex.d.ts.map +1 -1
  48. package/dist/adapters/cli/codex.js +3 -2
  49. package/dist/adapters/cli/codex.js.map +1 -1
  50. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  51. package/dist/adapters/cli/cursor.js +13 -1
  52. package/dist/adapters/cli/cursor.js.map +1 -1
  53. package/dist/adapters/cli/dsh.d.ts +4 -0
  54. package/dist/adapters/cli/dsh.d.ts.map +1 -0
  55. package/dist/adapters/cli/dsh.js +100 -0
  56. package/dist/adapters/cli/dsh.js.map +1 -0
  57. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  58. package/dist/adapters/cli/fs-policy.js +5 -0
  59. package/dist/adapters/cli/fs-policy.js.map +1 -1
  60. package/dist/adapters/cli/opencode.d.ts +52 -1
  61. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  62. package/dist/adapters/cli/opencode.js +117 -76
  63. package/dist/adapters/cli/opencode.js.map +1 -1
  64. package/dist/adapters/cli/opencode2.d.ts +4 -0
  65. package/dist/adapters/cli/opencode2.d.ts.map +1 -0
  66. package/dist/adapters/cli/opencode2.js +137 -0
  67. package/dist/adapters/cli/opencode2.js.map +1 -0
  68. package/dist/adapters/cli/pi.d.ts +14 -1
  69. package/dist/adapters/cli/pi.d.ts.map +1 -1
  70. package/dist/adapters/cli/pi.js +21 -1
  71. package/dist/adapters/cli/pi.js.map +1 -1
  72. package/dist/adapters/cli/read-isolation.d.ts +1 -1
  73. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  74. package/dist/adapters/cli/read-isolation.js +5 -2
  75. package/dist/adapters/cli/read-isolation.js.map +1 -1
  76. package/dist/adapters/cli/registry.d.ts +7 -1
  77. package/dist/adapters/cli/registry.d.ts.map +1 -1
  78. package/dist/adapters/cli/registry.js +19 -6
  79. package/dist/adapters/cli/registry.js.map +1 -1
  80. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  81. package/dist/adapters/cli/shared-hints.js +41 -23
  82. package/dist/adapters/cli/shared-hints.js.map +1 -1
  83. package/dist/adapters/cli/types.d.ts +28 -3
  84. package/dist/adapters/cli/types.d.ts.map +1 -1
  85. package/dist/adapters/hook-command.d.ts +8 -0
  86. package/dist/adapters/hook-command.d.ts.map +1 -1
  87. package/dist/adapters/hook-command.js +11 -0
  88. package/dist/adapters/hook-command.js.map +1 -1
  89. package/dist/adapters/hook-installer.d.ts +16 -1
  90. package/dist/adapters/hook-installer.d.ts.map +1 -1
  91. package/dist/adapters/hook-installer.js +232 -2
  92. package/dist/adapters/hook-installer.js.map +1 -1
  93. package/dist/bot-registry.d.ts +138 -8
  94. package/dist/bot-registry.d.ts.map +1 -1
  95. package/dist/bot-registry.js +76 -4
  96. package/dist/bot-registry.js.map +1 -1
  97. package/dist/cli/pm2-start-transaction.d.ts +14 -0
  98. package/dist/cli/pm2-start-transaction.d.ts.map +1 -1
  99. package/dist/cli/pm2-start-transaction.js +25 -9
  100. package/dist/cli/pm2-start-transaction.js.map +1 -1
  101. package/dist/cli/restart-failure-notification.d.ts +54 -0
  102. package/dist/cli/restart-failure-notification.d.ts.map +1 -0
  103. package/dist/cli/restart-failure-notification.js +142 -0
  104. package/dist/cli/restart-failure-notification.js.map +1 -0
  105. package/dist/cli/restart-failure-owner.d.ts +20 -0
  106. package/dist/cli/restart-failure-owner.d.ts.map +1 -0
  107. package/dist/cli/restart-failure-owner.js +27 -0
  108. package/dist/cli/restart-failure-owner.js.map +1 -0
  109. package/dist/cli/restart-shutdown-preflight.d.ts +24 -0
  110. package/dist/cli/restart-shutdown-preflight.d.ts.map +1 -0
  111. package/dist/cli/restart-shutdown-preflight.js +105 -0
  112. package/dist/cli/restart-shutdown-preflight.js.map +1 -0
  113. package/dist/cli/send-dispatch.d.ts +26 -0
  114. package/dist/cli/send-dispatch.d.ts.map +1 -1
  115. package/dist/cli/send-dispatch.js +30 -0
  116. package/dist/cli/send-dispatch.js.map +1 -1
  117. package/dist/cli.d.ts +4 -1
  118. package/dist/cli.d.ts.map +1 -1
  119. package/dist/cli.js +673 -402
  120. package/dist/cli.js.map +1 -1
  121. package/dist/codex-app-runner.js +38 -15
  122. package/dist/codex-app-runner.js.map +1 -1
  123. package/dist/codex-rpc-lifecycle.d.ts +14 -2
  124. package/dist/codex-rpc-lifecycle.d.ts.map +1 -1
  125. package/dist/codex-rpc-lifecycle.js +13 -3
  126. package/dist/codex-rpc-lifecycle.js.map +1 -1
  127. package/dist/core/ask-broker.d.ts +3 -0
  128. package/dist/core/ask-broker.d.ts.map +1 -1
  129. package/dist/core/ask-broker.js +29 -7
  130. package/dist/core/ask-broker.js.map +1 -1
  131. package/dist/core/ask-hook/registry.d.ts.map +1 -1
  132. package/dist/core/ask-hook/registry.js +4 -0
  133. package/dist/core/ask-hook/registry.js.map +1 -1
  134. package/dist/core/ask-types.d.ts +5 -1
  135. package/dist/core/ask-types.d.ts.map +1 -1
  136. package/dist/core/ask-types.js.map +1 -1
  137. package/dist/core/browser-restart.d.ts +112 -0
  138. package/dist/core/browser-restart.d.ts.map +1 -0
  139. package/dist/core/browser-restart.js +233 -0
  140. package/dist/core/browser-restart.js.map +1 -0
  141. package/dist/core/command-discovery.d.ts.map +1 -1
  142. package/dist/core/command-discovery.js +4 -1
  143. package/dist/core/command-discovery.js.map +1 -1
  144. package/dist/core/command-handler.d.ts +19 -11
  145. package/dist/core/command-handler.d.ts.map +1 -1
  146. package/dist/core/command-handler.js +237 -43
  147. package/dist/core/command-handler.js.map +1 -1
  148. package/dist/core/current-turn-provenance.d.ts.map +1 -1
  149. package/dist/core/current-turn-provenance.js +7 -27
  150. package/dist/core/current-turn-provenance.js.map +1 -1
  151. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  152. package/dist/core/dashboard-ipc-server.js +359 -11
  153. package/dist/core/dashboard-ipc-server.js.map +1 -1
  154. package/dist/core/dispatch-registry.d.ts.map +1 -1
  155. package/dist/core/dispatch-registry.js +6 -0
  156. package/dist/core/dispatch-registry.js.map +1 -1
  157. package/dist/core/dispatch-report-binding.d.ts +31 -0
  158. package/dist/core/dispatch-report-binding.d.ts.map +1 -0
  159. package/dist/core/dispatch-report-binding.js +88 -0
  160. package/dist/core/dispatch-report-binding.js.map +1 -0
  161. package/dist/core/doc-comment-prompt.d.ts +2 -0
  162. package/dist/core/doc-comment-prompt.d.ts.map +1 -1
  163. package/dist/core/doc-comment-prompt.js +6 -0
  164. package/dist/core/doc-comment-prompt.js.map +1 -1
  165. package/dist/core/host-overload-alert.d.ts +25 -1
  166. package/dist/core/host-overload-alert.d.ts.map +1 -1
  167. package/dist/core/host-overload-alert.js +69 -8
  168. package/dist/core/host-overload-alert.js.map +1 -1
  169. package/dist/core/local-terminal-opener.js +1 -1
  170. package/dist/core/local-terminal-opener.js.map +1 -1
  171. package/dist/core/managed-origin-capability.d.ts +7 -6
  172. package/dist/core/managed-origin-capability.d.ts.map +1 -1
  173. package/dist/core/managed-origin-capability.js +32 -1
  174. package/dist/core/managed-origin-capability.js.map +1 -1
  175. package/dist/core/passthrough-commands.d.ts.map +1 -1
  176. package/dist/core/passthrough-commands.js +3 -2
  177. package/dist/core/passthrough-commands.js.map +1 -1
  178. package/dist/core/plugins/materializer.d.ts.map +1 -1
  179. package/dist/core/plugins/materializer.js +1 -0
  180. package/dist/core/plugins/materializer.js.map +1 -1
  181. package/dist/core/producer-quiescence.d.ts +70 -0
  182. package/dist/core/producer-quiescence.d.ts.map +1 -0
  183. package/dist/core/producer-quiescence.js +90 -0
  184. package/dist/core/producer-quiescence.js.map +1 -0
  185. package/dist/core/raw-command-write-options.d.ts +10 -0
  186. package/dist/core/raw-command-write-options.d.ts.map +1 -0
  187. package/dist/core/raw-command-write-options.js +23 -0
  188. package/dist/core/raw-command-write-options.js.map +1 -0
  189. package/dist/core/raw-command-writer.d.ts +4 -0
  190. package/dist/core/raw-command-writer.d.ts.map +1 -1
  191. package/dist/core/raw-command-writer.js +15 -6
  192. package/dist/core/raw-command-writer.js.map +1 -1
  193. package/dist/core/reply-target.d.ts +11 -0
  194. package/dist/core/reply-target.d.ts.map +1 -1
  195. package/dist/core/reply-target.js +22 -7
  196. package/dist/core/reply-target.js.map +1 -1
  197. package/dist/core/report-session-relay.d.ts +53 -0
  198. package/dist/core/report-session-relay.d.ts.map +1 -0
  199. package/dist/core/report-session-relay.js +116 -0
  200. package/dist/core/report-session-relay.js.map +1 -0
  201. package/dist/core/session-discovery.d.ts +5 -0
  202. package/dist/core/session-discovery.d.ts.map +1 -1
  203. package/dist/core/session-discovery.js +13 -0
  204. package/dist/core/session-discovery.js.map +1 -1
  205. package/dist/core/session-group-birth.d.ts +7 -0
  206. package/dist/core/session-group-birth.d.ts.map +1 -0
  207. package/dist/core/session-group-birth.js +145 -0
  208. package/dist/core/session-group-birth.js.map +1 -0
  209. package/dist/core/session-manager.d.ts +16 -21
  210. package/dist/core/session-manager.d.ts.map +1 -1
  211. package/dist/core/session-manager.js +140 -21
  212. package/dist/core/session-manager.js.map +1 -1
  213. package/dist/core/skills/frontmatter.d.ts.map +1 -1
  214. package/dist/core/skills/frontmatter.js +6 -1
  215. package/dist/core/skills/frontmatter.js.map +1 -1
  216. package/dist/core/trigger-session.d.ts.map +1 -1
  217. package/dist/core/trigger-session.js +18 -3
  218. package/dist/core/trigger-session.js.map +1 -1
  219. package/dist/core/types.d.ts +18 -0
  220. package/dist/core/types.d.ts.map +1 -1
  221. package/dist/core/types.js.map +1 -1
  222. package/dist/core/worker-pool.d.ts +63 -11
  223. package/dist/core/worker-pool.d.ts.map +1 -1
  224. package/dist/core/worker-pool.js +262 -21
  225. package/dist/core/worker-pool.js.map +1 -1
  226. package/dist/daemon.d.ts +33 -0
  227. package/dist/daemon.d.ts.map +1 -1
  228. package/dist/daemon.js +904 -147
  229. package/dist/daemon.js.map +1 -1
  230. package/dist/dashboard/auth.d.ts +20 -0
  231. package/dist/dashboard/auth.d.ts.map +1 -1
  232. package/dist/dashboard/auth.js +86 -1
  233. package/dist/dashboard/auth.js.map +1 -1
  234. package/dist/dashboard/bot-payload.d.ts +9 -0
  235. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  236. package/dist/dashboard/bot-payload.js +5 -1
  237. package/dist/dashboard/bot-payload.js.map +1 -1
  238. package/dist/dashboard/federation-spoke-api.d.ts.map +1 -1
  239. package/dist/dashboard/federation-spoke-api.js +27 -3
  240. package/dist/dashboard/federation-spoke-api.js.map +1 -1
  241. package/dist/dashboard/feedback-analytics-api.d.ts +6 -0
  242. package/dist/dashboard/feedback-analytics-api.d.ts.map +1 -0
  243. package/dist/dashboard/feedback-analytics-api.js +39 -0
  244. package/dist/dashboard/feedback-analytics-api.js.map +1 -0
  245. package/dist/dashboard/session-action-timeout.d.ts +3 -0
  246. package/dist/dashboard/session-action-timeout.d.ts.map +1 -0
  247. package/dist/dashboard/session-action-timeout.js +12 -0
  248. package/dist/dashboard/session-action-timeout.js.map +1 -0
  249. package/dist/dashboard/vc-consumer-profiles-api.d.ts +9 -3
  250. package/dist/dashboard/vc-consumer-profiles-api.d.ts.map +1 -1
  251. package/dist/dashboard/vc-consumer-profiles-api.js +2 -1
  252. package/dist/dashboard/vc-consumer-profiles-api.js.map +1 -1
  253. package/dist/dashboard/web/app.d.ts.map +1 -1
  254. package/dist/dashboard/web/app.js +48 -5
  255. package/dist/dashboard/web/app.js.map +1 -1
  256. package/dist/dashboard/web/bot-defaults-page.d.ts +11 -0
  257. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  258. package/dist/dashboard/web/bot-defaults-page.js +368 -36
  259. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  260. package/dist/dashboard/web/bot-defaults.d.ts +8 -0
  261. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  262. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  263. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  264. package/dist/dashboard/web/dashboard-routes.js +1 -0
  265. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  266. package/dist/dashboard/web/feedback-page.d.ts +3 -0
  267. package/dist/dashboard/web/feedback-page.d.ts.map +1 -0
  268. package/dist/dashboard/web/feedback-page.js +34 -0
  269. package/dist/dashboard/web/feedback-page.js.map +1 -0
  270. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  271. package/dist/dashboard/web/groups-page.js +7 -2
  272. package/dist/dashboard/web/groups-page.js.map +1 -1
  273. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  274. package/dist/dashboard/web/i18n.js +122 -22
  275. package/dist/dashboard/web/i18n.js.map +1 -1
  276. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  277. package/dist/dashboard/web/skills-page.js +4 -2
  278. package/dist/dashboard/web/skills-page.js.map +1 -1
  279. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  280. package/dist/dashboard/web/team-federation-page.js +26 -2
  281. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  282. package/dist/dashboard/web/team-federation.d.ts +19 -0
  283. package/dist/dashboard/web/team-federation.d.ts.map +1 -1
  284. package/dist/dashboard/web/team-federation.js +3 -0
  285. package/dist/dashboard/web/team-federation.js.map +1 -1
  286. package/dist/dashboard/web/update-action.d.ts +8 -0
  287. package/dist/dashboard/web/update-action.d.ts.map +1 -1
  288. package/dist/dashboard/web/update-action.js +10 -0
  289. package/dist/dashboard/web/update-action.js.map +1 -1
  290. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -1
  291. package/dist/dashboard/web/vc-consumer-profiles-section.js +58 -9
  292. package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -1
  293. package/dist/dashboard-web/app.js +1 -1
  294. package/dist/dashboard-web/chunks/bot-defaults-page-65SMZ4QY.js +10 -0
  295. package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +1 -0
  296. package/dist/dashboard-web/chunks/chunk-IKN6WURK.js +1 -0
  297. package/dist/dashboard-web/chunks/{chunk-6JTZJRQJ.js → chunk-VMWNR3SV.js} +15 -15
  298. package/dist/dashboard-web/chunks/{chunk-CU4SUKK3.js → chunk-Z7B3E3US.js} +1 -1
  299. package/dist/dashboard-web/chunks/{chunk-5QJB24I2.js → chunk-Z7DO42GJ.js} +1 -1
  300. package/dist/dashboard-web/chunks/connectors-page-CPH6VVFY.js +1 -0
  301. package/dist/dashboard-web/chunks/feedback-page-J2FKQ3LK.js +1 -0
  302. package/dist/dashboard-web/chunks/groups-page-VDOOLS4M.js +8 -0
  303. package/dist/dashboard-web/chunks/{insights-page-EVGGJI5L.js → insights-page-A2LWTKJD.js} +1 -1
  304. package/dist/dashboard-web/chunks/{monitor-room-HRGR2ENP.js → monitor-room-2YR752E3.js} +1 -1
  305. package/dist/dashboard-web/chunks/monitoring-page-BGYSKZGM.js +2 -0
  306. package/dist/dashboard-web/chunks/office-page-ZZHTEAE4.js +1 -0
  307. package/dist/dashboard-web/chunks/overview-page-7NYPKQSB.js +1 -0
  308. package/dist/dashboard-web/chunks/roles-page-YUC4YLJG.js +1 -0
  309. package/dist/dashboard-web/chunks/schedules-page-2L2NKTDJ.js +1 -0
  310. package/dist/dashboard-web/chunks/{sessions-page-DXBCDWCS.js → sessions-page-DYZZMKFL.js} +1 -1
  311. package/dist/dashboard-web/chunks/settings-page-LIULUSMH.js +2 -0
  312. package/dist/dashboard-web/chunks/{skills-page-2QAVB2SA.js → skills-page-DQPBBI3T.js} +2 -2
  313. package/dist/dashboard-web/chunks/team-federation-page-LQKLDV4K.js +1 -0
  314. package/dist/dashboard-web/chunks/{v3-page-AY35LKCX.js → v3-page-RVKQIMAP.js} +1 -1
  315. package/dist/dashboard-web/chunks/whiteboards-page-S5K55HRZ.js +1 -0
  316. package/dist/dashboard-web/style.css +35 -0
  317. package/dist/dashboard.js +210 -13
  318. package/dist/dashboard.js.map +1 -1
  319. package/dist/desktop/shared/shell-path-probes.d.ts +1 -1
  320. package/dist/desktop/shared/shell-path-probes.js +2 -2
  321. package/dist/desktop/shared/shell-path-probes.js.map +1 -1
  322. package/dist/dsh-runner.d.ts +3 -0
  323. package/dist/dsh-runner.d.ts.map +1 -0
  324. package/dist/dsh-runner.js +673 -0
  325. package/dist/dsh-runner.js.map +1 -0
  326. package/dist/global-config.d.ts +24 -0
  327. package/dist/global-config.d.ts.map +1 -1
  328. package/dist/global-config.js +35 -0
  329. package/dist/global-config.js.map +1 -1
  330. package/dist/i18n/en.d.ts.map +1 -1
  331. package/dist/i18n/en.js +39 -31
  332. package/dist/i18n/en.js.map +1 -1
  333. package/dist/i18n/zh.d.ts.map +1 -1
  334. package/dist/i18n/zh.js +39 -31
  335. package/dist/i18n/zh.js.map +1 -1
  336. package/dist/im/lark/ask-card.d.ts +3 -1
  337. package/dist/im/lark/ask-card.d.ts.map +1 -1
  338. package/dist/im/lark/ask-card.js +61 -5
  339. package/dist/im/lark/ask-card.js.map +1 -1
  340. package/dist/im/lark/card-builder.d.ts.map +1 -1
  341. package/dist/im/lark/card-builder.js +13 -6
  342. package/dist/im/lark/card-builder.js.map +1 -1
  343. package/dist/im/lark/card-handler.d.ts +2 -1
  344. package/dist/im/lark/card-handler.d.ts.map +1 -1
  345. package/dist/im/lark/card-handler.js +145 -5
  346. package/dist/im/lark/card-handler.js.map +1 -1
  347. package/dist/im/lark/event-dispatcher.d.ts +18 -0
  348. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  349. package/dist/im/lark/event-dispatcher.js +41 -28
  350. package/dist/im/lark/event-dispatcher.js.map +1 -1
  351. package/dist/im/lark/md-card.d.ts +18 -0
  352. package/dist/im/lark/md-card.d.ts.map +1 -1
  353. package/dist/im/lark/md-card.js +21 -0
  354. package/dist/im/lark/md-card.js.map +1 -1
  355. package/dist/im/lark/relay-target-routing.d.ts.map +1 -1
  356. package/dist/im/lark/relay-target-routing.js +3 -2
  357. package/dist/im/lark/relay-target-routing.js.map +1 -1
  358. package/dist/im/lark/reply-mode-command.d.ts.map +1 -1
  359. package/dist/im/lark/reply-mode-command.js +19 -8
  360. package/dist/im/lark/reply-mode-command.js.map +1 -1
  361. package/dist/im/lark/skill-feedback-card.d.ts +15 -0
  362. package/dist/im/lark/skill-feedback-card.d.ts.map +1 -0
  363. package/dist/im/lark/skill-feedback-card.js +149 -0
  364. package/dist/im/lark/skill-feedback-card.js.map +1 -0
  365. package/dist/services/bot-config-store.d.ts +10 -1
  366. package/dist/services/bot-config-store.d.ts.map +1 -1
  367. package/dist/services/bot-config-store.js +103 -3
  368. package/dist/services/bot-config-store.js.map +1 -1
  369. package/dist/services/bridge-fallback-gate.d.ts +29 -7
  370. package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
  371. package/dist/services/bridge-fallback-gate.js +58 -16
  372. package/dist/services/bridge-fallback-gate.js.map +1 -1
  373. package/dist/services/codex-reasoning-effort.d.ts +9 -0
  374. package/dist/services/codex-reasoning-effort.d.ts.map +1 -0
  375. package/dist/services/codex-reasoning-effort.js +23 -0
  376. package/dist/services/codex-reasoning-effort.js.map +1 -0
  377. package/dist/services/codex-service-tier.d.ts +1 -1
  378. package/dist/services/codex-service-tier.d.ts.map +1 -1
  379. package/dist/services/codex-transcript.d.ts +9 -0
  380. package/dist/services/codex-transcript.d.ts.map +1 -1
  381. package/dist/services/codex-transcript.js +13 -6
  382. package/dist/services/codex-transcript.js.map +1 -1
  383. package/dist/services/feed-group-tagger.d.ts +15 -0
  384. package/dist/services/feed-group-tagger.d.ts.map +1 -0
  385. package/dist/services/feed-group-tagger.js +348 -0
  386. package/dist/services/feed-group-tagger.js.map +1 -0
  387. package/dist/services/feedback-analytics.d.ts +82 -0
  388. package/dist/services/feedback-analytics.d.ts.map +1 -0
  389. package/dist/services/feedback-analytics.js +95 -0
  390. package/dist/services/feedback-analytics.js.map +1 -0
  391. package/dist/services/feedback-outbox.d.ts +24 -0
  392. package/dist/services/feedback-outbox.d.ts.map +1 -0
  393. package/dist/services/feedback-outbox.js +12 -0
  394. package/dist/services/feedback-outbox.js.map +1 -0
  395. package/dist/services/feedback-policy-resolver.d.ts +56 -0
  396. package/dist/services/feedback-policy-resolver.d.ts.map +1 -0
  397. package/dist/services/feedback-policy-resolver.js +156 -0
  398. package/dist/services/feedback-policy-resolver.js.map +1 -0
  399. package/dist/services/feedback-policy.d.ts +41 -0
  400. package/dist/services/feedback-policy.d.ts.map +1 -0
  401. package/dist/services/feedback-policy.js +102 -0
  402. package/dist/services/feedback-policy.js.map +1 -0
  403. package/dist/services/feedback-webhook-dispatcher.d.ts +76 -0
  404. package/dist/services/feedback-webhook-dispatcher.d.ts.map +1 -0
  405. package/dist/services/feedback-webhook-dispatcher.js +237 -0
  406. package/dist/services/feedback-webhook-dispatcher.js.map +1 -0
  407. package/dist/services/grant-prefs-store.d.ts +3 -0
  408. package/dist/services/grant-prefs-store.d.ts.map +1 -1
  409. package/dist/services/grant-prefs-store.js +30 -1
  410. package/dist/services/grant-prefs-store.js.map +1 -1
  411. package/dist/services/groups-store.d.ts +14 -0
  412. package/dist/services/groups-store.d.ts.map +1 -1
  413. package/dist/services/groups-store.js +23 -0
  414. package/dist/services/groups-store.js.map +1 -1
  415. package/dist/services/local-cli-opener.d.ts +1 -1
  416. package/dist/services/local-cli-opener.d.ts.map +1 -1
  417. package/dist/services/local-cli-opener.js +2 -0
  418. package/dist/services/local-cli-opener.js.map +1 -1
  419. package/dist/services/peer-cross-ref-store.d.ts +8 -0
  420. package/dist/services/peer-cross-ref-store.d.ts.map +1 -0
  421. package/dist/services/peer-cross-ref-store.js +95 -0
  422. package/dist/services/peer-cross-ref-store.js.map +1 -0
  423. package/dist/services/pi-transcript.d.ts.map +1 -1
  424. package/dist/services/pi-transcript.js +10 -6
  425. package/dist/services/pi-transcript.js.map +1 -1
  426. package/dist/services/prompt-context-store.d.ts +29 -0
  427. package/dist/services/prompt-context-store.d.ts.map +1 -0
  428. package/dist/services/prompt-context-store.js +205 -0
  429. package/dist/services/prompt-context-store.js.map +1 -0
  430. package/dist/services/session-group-avatar.d.ts +6 -0
  431. package/dist/services/session-group-avatar.d.ts.map +1 -0
  432. package/dist/services/session-group-avatar.js +96 -0
  433. package/dist/services/session-group-avatar.js.map +1 -0
  434. package/dist/services/session-group-title.d.ts +47 -0
  435. package/dist/services/session-group-title.d.ts.map +1 -0
  436. package/dist/services/session-group-title.js +226 -0
  437. package/dist/services/session-group-title.js.map +1 -0
  438. package/dist/services/session-groups-store.d.ts +30 -0
  439. package/dist/services/session-groups-store.d.ts.map +1 -0
  440. package/dist/services/session-groups-store.js +132 -0
  441. package/dist/services/session-groups-store.js.map +1 -0
  442. package/dist/services/session-store.d.ts +58 -0
  443. package/dist/services/session-store.d.ts.map +1 -1
  444. package/dist/services/session-store.js +174 -0
  445. package/dist/services/session-store.js.map +1 -1
  446. package/dist/services/skill-feedback-store.d.ts +252 -0
  447. package/dist/services/skill-feedback-store.d.ts.map +1 -0
  448. package/dist/services/skill-feedback-store.js +795 -0
  449. package/dist/services/skill-feedback-store.js.map +1 -0
  450. package/dist/services/skill-registry-store.d.ts +23 -0
  451. package/dist/services/skill-registry-store.d.ts.map +1 -1
  452. package/dist/services/skill-registry-store.js +93 -7
  453. package/dist/services/skill-registry-store.js.map +1 -1
  454. package/dist/services/structured-bridge-clis.d.ts +13 -4
  455. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  456. package/dist/services/structured-bridge-clis.js +13 -3
  457. package/dist/services/structured-bridge-clis.js.map +1 -1
  458. package/dist/services/team-store.d.ts +4 -0
  459. package/dist/services/team-store.d.ts.map +1 -1
  460. package/dist/services/team-store.js +16 -0
  461. package/dist/services/team-store.js.map +1 -1
  462. package/dist/services/traex-transcript.d.ts +32 -4
  463. package/dist/services/traex-transcript.d.ts.map +1 -1
  464. package/dist/services/traex-transcript.js +116 -8
  465. package/dist/services/traex-transcript.js.map +1 -1
  466. package/dist/services/trigger-types.d.ts +1 -1
  467. package/dist/services/trigger-types.d.ts.map +1 -1
  468. package/dist/services/trigger-types.js +2 -2
  469. package/dist/services/trigger-types.js.map +1 -1
  470. package/dist/services/turn-completion-events.d.ts +57 -0
  471. package/dist/services/turn-completion-events.d.ts.map +1 -0
  472. package/dist/services/turn-completion-events.js +179 -0
  473. package/dist/services/turn-completion-events.js.map +1 -0
  474. package/dist/services/vc-meeting-consumer-isolation.d.ts +21 -12
  475. package/dist/services/vc-meeting-consumer-isolation.d.ts.map +1 -1
  476. package/dist/services/vc-meeting-consumer-isolation.js +25 -19
  477. package/dist/services/vc-meeting-consumer-isolation.js.map +1 -1
  478. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts +8 -2
  479. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts.map +1 -1
  480. package/dist/services/vc-meeting-consumer-profile-bootstrap.js +18 -10
  481. package/dist/services/vc-meeting-consumer-profile-bootstrap.js.map +1 -1
  482. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  483. package/dist/setup/bot-config-editor.js +6 -0
  484. package/dist/setup/bot-config-editor.js.map +1 -1
  485. package/dist/setup/cli-availability.d.ts +2 -1
  486. package/dist/setup/cli-availability.d.ts.map +1 -1
  487. package/dist/setup/cli-availability.js +2 -1
  488. package/dist/setup/cli-availability.js.map +1 -1
  489. package/dist/setup/cli-selection.d.ts +8 -0
  490. package/dist/setup/cli-selection.d.ts.map +1 -1
  491. package/dist/setup/cli-selection.js +31 -0
  492. package/dist/setup/cli-selection.js.map +1 -1
  493. package/dist/setup/ensure-fonts.d.ts +5 -0
  494. package/dist/setup/ensure-fonts.d.ts.map +1 -1
  495. package/dist/setup/ensure-fonts.js +26 -1
  496. package/dist/setup/ensure-fonts.js.map +1 -1
  497. package/dist/setup/lark-scopes.json +3 -1
  498. package/dist/setup/open-platform-automation.d.ts +1 -1
  499. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  500. package/dist/setup/open-platform-automation.js +15 -3
  501. package/dist/setup/open-platform-automation.js.map +1 -1
  502. package/dist/skills/definitions.d.ts +1 -1
  503. package/dist/skills/definitions.d.ts.map +1 -1
  504. package/dist/skills/definitions.js +9 -2
  505. package/dist/skills/definitions.js.map +1 -1
  506. package/dist/types.d.ts +11 -4
  507. package/dist/types.d.ts.map +1 -1
  508. package/dist/utils/bot-routing.d.ts +1 -1
  509. package/dist/utils/bot-routing.d.ts.map +1 -1
  510. package/dist/utils/bot-routing.js.map +1 -1
  511. package/dist/utils/user-token.d.ts +38 -0
  512. package/dist/utils/user-token.d.ts.map +1 -1
  513. package/dist/utils/user-token.js +76 -1
  514. package/dist/utils/user-token.js.map +1 -1
  515. package/dist/utils/web-terminal-scroll.d.ts +27 -0
  516. package/dist/utils/web-terminal-scroll.d.ts.map +1 -0
  517. package/dist/utils/web-terminal-scroll.js +60 -0
  518. package/dist/utils/web-terminal-scroll.js.map +1 -0
  519. package/dist/vc-agent/polling-source.d.ts +70 -0
  520. package/dist/vc-agent/polling-source.d.ts.map +1 -1
  521. package/dist/vc-agent/polling-source.js +115 -0
  522. package/dist/vc-agent/polling-source.js.map +1 -1
  523. package/dist/worker.js +469 -86
  524. package/dist/worker.js.map +1 -1
  525. package/dist/workflows/definition.d.ts +22 -22
  526. package/dist/workflows/events/payloads.d.ts +8 -8
  527. package/dist/workflows/events/schema.d.ts +20 -20
  528. package/dist/workflows/migration/v2-run-archive-schema.d.ts +20 -20
  529. package/package.json +5 -1
  530. package/dist/dashboard-web/chunks/bot-defaults-page-NQJFJ45Z.js +0 -10
  531. package/dist/dashboard-web/chunks/chunk-KEEYQ3WF.js +0 -1
  532. package/dist/dashboard-web/chunks/connectors-page-HADHZXXZ.js +0 -1
  533. package/dist/dashboard-web/chunks/groups-page-5TYF46RS.js +0 -8
  534. package/dist/dashboard-web/chunks/monitoring-page-LBU7TTTW.js +0 -2
  535. package/dist/dashboard-web/chunks/office-page-DF6RRBMN.js +0 -1
  536. package/dist/dashboard-web/chunks/overview-page-ZB6QH2EX.js +0 -1
  537. package/dist/dashboard-web/chunks/roles-page-ZBZGHIIF.js +0 -1
  538. package/dist/dashboard-web/chunks/schedules-page-NQVQC3QY.js +0 -1
  539. package/dist/dashboard-web/chunks/settings-page-E7NN4NVQ.js +0 -2
  540. package/dist/dashboard-web/chunks/team-federation-page-VGWL53AE.js +0 -1
  541. package/dist/dashboard-web/chunks/whiteboards-page-BNWUU4KG.js +0 -1
@@ -17,7 +17,8 @@ import { delay } from '../../utils/timing.js';
17
17
  */
18
18
  const OPENCODE_SESSION_ID_RE = /^ses_[0-9A-Za-z]+$/;
19
19
  const OPENCODE_PASTE_THRESHOLD = 150;
20
- function isOpenCodeSessionId(value) {
20
+ /** 判断是否 OpenCode 原生会话 id(`ses_…`)。opencode2 复用同一套 id 规则。 */
21
+ export function isOpenCodeSessionId(value) {
21
22
  return typeof value === 'string' && OPENCODE_SESSION_ID_RE.test(value);
22
23
  }
23
24
  function normaliseText(text) {
@@ -55,8 +56,8 @@ function loadSqlite() {
55
56
  }
56
57
  /** 只读打开 opencode.db 执行一次查询。DB 是 WAL 模式且被活跃 OpenCode 进程持有,
57
58
  * read-only 连接可并发读;任何失败(模块缺失/文件不存在/短暂锁忙)都回落 null,
58
- * 上层按"无法验证"降级,不影响输入投递本身。 */
59
- function withDb(fn) {
59
+ * 上层按"无法验证"降级,不影响输入投递本身。opencode2 与 opencode 共用该库。 */
60
+ export function withDb(fn) {
60
61
  const mod = loadSqlite();
61
62
  if (!mod)
62
63
  return null;
@@ -78,26 +79,36 @@ function withDb(fn) {
78
79
  catch { /* ignore */ }
79
80
  }
80
81
  }
81
- /** 提交验证基线:part 表当前最大 time_created(epoch ms,与 worker 同机同钟)。
82
+ /** 提交验证基线:当前存储层最大 time_created(epoch ms,与 worker 同机同钟)。
82
83
  * 之后只认 >= 基线的新行,避免历史消息误配。 */
83
- function snapPartBaseline() {
84
+ export function snapPartBaseline(kind = 'v1') {
85
+ const table = kind === 'v2' ? 'session_message' : 'part';
84
86
  return withDb((db) => {
85
- const row = db.prepare('SELECT COALESCE(MAX(time_created), 0) AS ts FROM part').get();
87
+ const row = db.prepare(`SELECT COALESCE(MAX(time_created), 0) AS ts FROM ${table}`).get();
86
88
  return row?.ts ?? 0;
87
89
  });
88
90
  }
89
- /** 基线之后是否出现文本匹配的 user part;命中则带回其 session_id(= OpenCode 原生
90
- * 会话 id)。全局 DB 多实例并发写也安全:靠文本相等排除别的会话的行。
91
- * 严格 `>` 基线:`>=` 会在"用户因疑似丢失而重发同一段文本"时误配上一条的行,
92
- * 把真丢失误报为已提交;同毫秒漏检的窗口可忽略(新行时间戳必然晚于既有最大值)。 */
93
- function detectNewSubmit(baseline, expectedText) {
94
- return withDb((db) => {
95
- const rows = db.prepare("SELECT p.session_id AS sid, json_extract(p.data, '$.text') AS text " +
91
+ /**
92
+ * 基线之后是否出现文本匹配的 user 行;命中则带回其 session_id(= OpenCode 原生
93
+ * 会话 id)。全局 DB 多实例并发写也安全:靠文本相等排除别的会话的行。
94
+ * 严格 `>` 基线:`>=` 会在"用户因疑似丢失而重发同一段文本"时误配上一条的行,
95
+ * 把真丢失误报为已提交;同毫秒漏检的窗口可忽略(新行时间戳必然晚于既有最大值)。
96
+ */
97
+ function detectNewSubmit(baseline, expectedText, kind) {
98
+ const q = kind === 'v2'
99
+ ? "SELECT session_id AS sid, json_extract(data, '$.text') AS text " +
100
+ "FROM session_message WHERE type = 'user' " +
101
+ " AND json_extract(data, '$.text') IS NOT NULL " +
102
+ ' AND time_created > ? ' +
103
+ 'ORDER BY time_created DESC LIMIT 20'
104
+ : "SELECT p.session_id AS sid, json_extract(p.data, '$.text') AS text " +
96
105
  'FROM part p JOIN message m ON m.id = p.message_id ' +
97
106
  "WHERE json_extract(m.data, '$.role') = 'user' " +
98
107
  " AND json_extract(p.data, '$.type') = 'text' " +
99
108
  ' AND p.time_created > ? ' +
100
- 'ORDER BY p.time_created DESC LIMIT 20').all(baseline);
109
+ 'ORDER BY p.time_created DESC LIMIT 20';
110
+ return withDb((db) => {
111
+ const rows = db.prepare(q).all(baseline);
101
112
  for (const r of rows) {
102
113
  if (r.text && textMatches(r.text, expectedText)) {
103
114
  return { found: true, cliSessionId: r.sid };
@@ -106,26 +117,100 @@ function detectNewSubmit(baseline, expectedText) {
106
117
  return { found: false };
107
118
  }) ?? { found: false };
108
119
  }
120
+ /** 提交验证轮询(writeInput 共用实现,opencode2 复用):基线已由调用方采样,
121
+ * 之后只认 > 基线的新 user 行;命中则带回 cliSessionId。斜杠命令基线为 null
122
+ * (不产生 user message 行),直接视为已提交。kind 选存储层(v1/v2)。 */
123
+ export async function detectOpenCodeSubmit(pty, baseline, content, delayFn = delay, kind = 'v1') {
124
+ const trySendEnter = () => {
125
+ try {
126
+ if (pty.sendSpecialKeys)
127
+ pty.sendSpecialKeys('Enter');
128
+ else
129
+ pty.write('\r');
130
+ return true;
131
+ }
132
+ catch {
133
+ return false;
134
+ }
135
+ };
136
+ if (baseline === null)
137
+ return { submitted: true };
138
+ for (let attempt = 0; attempt < 3; attempt++) {
139
+ const match = detectNewSubmit(baseline, content, kind);
140
+ if (match.found) {
141
+ return match.cliSessionId
142
+ ? { submitted: true, cliSessionId: match.cliSessionId }
143
+ : { submitted: true };
144
+ }
145
+ await delayFn(800);
146
+ if (!trySendEnter())
147
+ return { submitted: false };
148
+ }
149
+ const finalMatch = detectNewSubmit(baseline, content, kind);
150
+ if (finalMatch.found) {
151
+ return finalMatch.cliSessionId
152
+ ? { submitted: true, cliSessionId: finalMatch.cliSessionId }
153
+ : { submitted: true };
154
+ }
155
+ const recheck = () => {
156
+ const late = detectNewSubmit(baseline, content, kind);
157
+ return late.found
158
+ ? { submitted: true, cliSessionId: late.cliSessionId }
159
+ : false;
160
+ };
161
+ return { submitted: false, recheck };
162
+ }
109
163
  /** 兜底反查:botmux 每条 prompt 都带 `<session_id>xxx</session_id>` 块,按该文本在
110
- * user part 里找最近命中的 OpenCode 会话。用于 cliSessionId 尚未持久化时的 resume
111
- * (典型:首条消息经 --prompt 注入、没走 writeInput 就被 suspend/重启)。 */
112
- function latestOpenCodeSessionForBotmuxSession(botmuxSessionId) {
113
- return withDb((db) => {
114
- const row = db.prepare('SELECT p.session_id AS sid ' +
164
+ * user 行里找最近命中的 OpenCode 会话。用于 cliSessionId 尚未持久化时的 resume
165
+ * (典型:首条消息经输入队列投递、没走 writeInput 验证就被 suspend/重启)。 */
166
+ export function latestOpenCodeSessionForBotmuxSession(botmuxSessionId, kind = 'v1') {
167
+ const q = kind === 'v2'
168
+ ? "SELECT session_id AS sid FROM session_message WHERE type = 'user' AND instr(data, ?) > 0 " +
169
+ 'ORDER BY time_created DESC LIMIT 1'
170
+ : 'SELECT p.session_id AS sid ' +
115
171
  'FROM part p JOIN message m ON m.id = p.message_id ' +
116
172
  "WHERE json_extract(m.data, '$.role') = 'user' " +
117
173
  " AND json_extract(p.data, '$.type') = 'text' " +
118
174
  ' AND instr(p.data, ?) > 0 ' +
119
- 'ORDER BY p.time_created DESC LIMIT 1').get(botmuxSessionId);
175
+ 'ORDER BY p.time_created DESC LIMIT 1';
176
+ return withDb((db) => {
177
+ const row = db.prepare(q).get(botmuxSessionId);
120
178
  return row?.sid;
121
179
  }) ?? undefined;
122
180
  }
123
- function sessionRowExists(cliSessionId) {
181
+ export function sessionRowExists(cliSessionId, kind = 'v1') {
182
+ const table = kind === 'v2' ? 'session_v2' : 'session';
124
183
  return withDb((db) => {
125
- const row = db.prepare('SELECT 1 AS ok FROM session WHERE id = ? LIMIT 1').get(cliSessionId);
184
+ const row = db.prepare(`SELECT 1 AS ok FROM ${table} WHERE id = ? LIMIT 1`).get(cliSessionId);
126
185
  return !!row?.ok;
127
186
  });
128
187
  }
188
+ /** Import path(/adopt 第二过滤器)共用实现:从当前存储层的会话表列出可续接的
189
+ * 顶层会话(parent_id 非空的是子代理会话,跳过)。opencode2 与 opencode 共用
190
+ * 同一库文件,kind 区分表空间。 */
191
+ export function listOpenCodeResumableSessions(opts, kind = 'v1') {
192
+ const { limit, exclude } = opts;
193
+ const table = kind === 'v2' ? 'session_v2' : 'session';
194
+ const rows = withDb((db) => db.prepare(`SELECT id, directory, title, time_updated AS timeUpdated FROM ${table} ` +
195
+ 'WHERE parent_id IS NULL AND time_archived IS NULL ' +
196
+ 'ORDER BY time_updated DESC LIMIT ?').all(limit + (exclude?.size ?? 0))) ?? [];
197
+ const out = [];
198
+ for (const r of rows) {
199
+ if (out.length >= limit)
200
+ break;
201
+ if (exclude?.has(r.id))
202
+ continue;
203
+ if (!r.directory || !existsSync(r.directory))
204
+ continue;
205
+ out.push({
206
+ cliSessionId: r.id,
207
+ cwd: r.directory,
208
+ title: (r.title ?? '').trim() || r.id,
209
+ lastActivityAt: r.timeUpdated,
210
+ });
211
+ }
212
+ return out;
213
+ }
129
214
  // -------------------------------------------------------------------------
130
215
  export function createOpenCodeAdapter(pathOverride) {
131
216
  // resolvedBin is lazy: setup constructs adapters only to read static
@@ -170,6 +255,8 @@ export function createOpenCodeAdapter(pathOverride) {
170
255
  // OpenCode 只在"新会话"应用 --prompt,`-s` 续接时静默忽略(消息会丢)。
171
256
  // 置位后 worker 在 resume spawn 时把初始 prompt 转入常规输入队列。
172
257
  initialPromptArgsIgnoredOnResume: true,
258
+ rawCommandInputMode: 'paste-line',
259
+ rawCommandSettleMs: 300,
173
260
  buildResumeCommand({ sessionId, cliSessionId }) {
174
261
  const sid = isOpenCodeSessionId(cliSessionId) ? cliSessionId : latestOpenCodeSessionForBotmuxSession(sessionId);
175
262
  if (!sid)
@@ -192,44 +279,14 @@ export function createOpenCodeAdapter(pathOverride) {
192
279
  },
193
280
  /** Import path(/adopt 第二过滤器):从全局 session 表列出可续接的顶层会话
194
281
  * (parent_id 非空的是子代理会话,跳过)。title 是 OpenCode 自动生成的摘要。 */
195
- listResumableSessions({ limit, exclude }) {
196
- const rows = withDb((db) => db.prepare('SELECT id, directory, title, time_updated AS timeUpdated FROM session ' +
197
- 'WHERE parent_id IS NULL AND time_archived IS NULL ' +
198
- 'ORDER BY time_updated DESC LIMIT ?').all(limit + (exclude?.size ?? 0))) ?? [];
199
- const out = [];
200
- for (const r of rows) {
201
- if (out.length >= limit)
202
- break;
203
- if (exclude?.has(r.id))
204
- continue;
205
- if (!r.directory || !existsSync(r.directory))
206
- continue;
207
- out.push({
208
- cliSessionId: r.id,
209
- cwd: r.directory,
210
- title: (r.title ?? '').trim() || r.id,
211
- lastActivityAt: r.timeUpdated,
212
- });
213
- }
214
- return Promise.resolve(out);
282
+ listResumableSessions(opts) {
283
+ return Promise.resolve(listOpenCodeResumableSessions(opts));
215
284
  },
216
285
  async writeInput(pty, content) {
217
286
  // 提交验证基线先于写入采样(traex 同款)。斜杠命令是 TUI 命令面板输入,
218
287
  // 不产生 user message 行,跳过验证(重试 Enter 还可能误触面板项)。
219
288
  const isSlashCommand = content.startsWith('/');
220
289
  const baseline = isSlashCommand ? null : snapPartBaseline();
221
- const trySendEnter = () => {
222
- try {
223
- if (pty.sendSpecialKeys)
224
- pty.sendSpecialKeys('Enter');
225
- else
226
- pty.write('\r');
227
- return true;
228
- }
229
- catch {
230
- return false;
231
- }
232
- };
233
290
  try {
234
291
  if (pty.sendText && pty.sendSpecialKeys) {
235
292
  if (!isSlashCommand && pty.pasteText && (content.length > OPENCODE_PASTE_THRESHOLD || content.includes('\n'))) {
@@ -254,35 +311,19 @@ export function createOpenCodeAdapter(pathOverride) {
254
311
  // DB 缺失(首次运行 / sandbox 未授权该 DB 路径)→ 维持旧行为:盲发、假定成功。
255
312
  if (baseline === null)
256
313
  return undefined;
257
- for (let attempt = 0; attempt < 3; attempt++) {
258
- const match = detectNewSubmit(baseline, content);
259
- if (match.found) {
260
- return match.cliSessionId
261
- ? { submitted: true, cliSessionId: match.cliSessionId }
262
- : { submitted: true };
263
- }
264
- await delay(800);
265
- if (!trySendEnter())
266
- return { submitted: false };
267
- }
268
- const finalMatch = detectNewSubmit(baseline, content);
269
- if (finalMatch.found) {
270
- return finalMatch.cliSessionId
271
- ? { submitted: true, cliSessionId: finalMatch.cliSessionId }
314
+ const result = await detectOpenCodeSubmit(pty, baseline, content, delay);
315
+ if (result.submitted) {
316
+ return result.cliSessionId
317
+ ? { submitted: true, cliSessionId: result.cliSessionId }
272
318
  : { submitted: true };
273
319
  }
274
- const recheck = () => {
275
- const late = detectNewSubmit(baseline, content);
276
- return late.found
277
- ? { submitted: true, cliSessionId: late.cliSessionId }
278
- : false;
279
- };
280
- return { submitted: false, recheck };
320
+ return { submitted: false, recheck: result.recheck };
281
321
  },
282
322
  completionPattern: undefined, // quiescence only — no explicit completion marker
283
323
  readyPattern: undefined, // Bubble Tea TUI — no reliable prompt indicator; rely on quiescence + spinner guard
284
324
  systemHints: BOTMUX_SHELL_HINTS,
285
325
  altScreen: true, // Bubble Tea renders in alternate screen buffer
326
+ readOnlyRemoteScroll: true,
286
327
  skillsDir: '~/.config/opencode/skills',
287
328
  // botmux hook 安装:spawn 时写入 OpenCode 插件文件,
288
329
  // 使 question.asked 事件自动转发到 `botmux hook opencode`。
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CliAdapter } from './types.js';
2
+ export declare function createOpenCode2Adapter(pathOverride?: string): CliAdapter;
3
+ export declare const create: typeof createOpenCode2Adapter;
4
+ //# sourceMappingURL=opencode2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode2.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/opencode2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AA0C1E,wBAAgB,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CA4GxE;AAED,eAAO,MAAM,MAAM,+BAAyB,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { resolveCommand } from './registry.js';
2
+ import { BOTMUX_SHELL_HINTS } from './shared-hints.js';
3
+ import { detectOpenCodeSubmit, isOpenCodeSessionId, latestOpenCodeSessionForBotmuxSession, listOpenCodeResumableSessions, sessionRowExists, snapPartBaseline, withDb, } from './opencode.js';
4
+ import { delay } from '../../utils/timing.js';
5
+ /**
6
+ * OpenCode 2.0(opencode2)适配器。OpenCode 2 是 1.x 的下一个主版本(beta,随
7
+ * `@opencode-ai/cli@next` 发布,二进制名 `opencode2`),与 V1 可并行安装。
8
+ *
9
+ * 与 V1 的关键差异(均在 next-17135 实测 / 源码确认):
10
+ * - **会话存储是 V2 新表结构**:opencode2 写同一个全局
11
+ * `~/.local/share/opencode/opencode.db`,但会话/消息落在 `session_v2` /
12
+ * `session_message` 表(V1 的 session/message/part 表已冻结)。resume 探测、
13
+ * submit 验证、cliSessionId 捕获、/adopt 导入复用 opencode.ts 导出的 SQLite
14
+ * 实现时统一走 v2 表空间。
15
+ * - **TUI 顶层命令没有 `--model` 标志**(只有 `run` 子命令有)。传了会被当作
16
+ * unknown flag 直接打印帮助退出 —— 模型只能通过 opencode 配置/UI 设置,
17
+ * 因此 buildArgs 不注入 model,modelChoices 也留空(setup 跳过模型询问)。
18
+ * - **`--prompt` 不自动提交**:next-17135 实测把 prompt 填进 composer 后不会
19
+ * submit(next-17082 上 -s resume 的自动提交行为已回归)。因此首条消息不走
20
+ * args 注入,改走输入队列 paste+Enter(worker 在 ready 后投递,经 DB 验证),
21
+ * fresh 与 resume 路径一致 —— 不设 passesInitialPromptViaArgs。
22
+ * - **插件 API 是全新 V2 契约**(default export `{ id, setup }`,事件走
23
+ * `ctx.event.subscribe()` 异步迭代流),V1 插件格式不兼容。ask-hook 插件由
24
+ * hook-installer 的 'opencode2-plugin' 格式写入 `~/.config/opencode/plugins/`
25
+ * (V2 的全局插件发现目录,复数),回复走新端点
26
+ * `POST /api/session/{sessionID}/question/{requestID}/reply` + 注册文件发现的
27
+ * Basic auth + `x-opencode-directory` 头(多 worktree 路由)。
28
+ * - **TUI 配置迁移到 `~/.config/opencode/cli.json`**(auto 迁移自 tui.json),
29
+ * skills 仍从 `~/.config/opencode/skills` 全局发现(V2 文档确认)。
30
+ */
31
+ const OPENCODE_PASTE_THRESHOLD = 150;
32
+ export function createOpenCode2Adapter(pathOverride) {
33
+ const rawBin = pathOverride ?? 'opencode2';
34
+ let cachedBin;
35
+ return {
36
+ id: 'opencode2',
37
+ // 与 opencode 共用同一数据根:opencode2 的全局 SQLite 库(opencode.db, WAL)
38
+ // 就在这个目录。沙盒 deny-by-default 下必须整目录真实 bind,否则 DB 不存在、
39
+ // SQLite fcntl 锁拿不到(与 codex/opencode 同款失败模式)。
40
+ authPaths: ['~/.local/share/opencode'],
41
+ // ask-hook 插件文件在全局插件发现目录;沙盒里按只读 bind 暴露,让服务端能加载
42
+ // (botmux 在 spawn 前已把文件写到真实宿主路径)。
43
+ sandboxReadonlyPaths: () => ['~/.config/opencode/plugins'],
44
+ get resolvedBin() { return (cachedBin ??= resolveCommand(rawBin)); },
45
+ buildArgs({ sessionId, resume, resumeSessionId }) {
46
+ const args = [];
47
+ // 注意:没有 --model —— V2 TUI 顶层不接受该标志(传了直接打帮助退出)。
48
+ const openCodeSessionId = resume
49
+ ? (isOpenCodeSessionId(resumeSessionId) ? resumeSessionId : latestOpenCodeSessionForBotmuxSession(sessionId, 'v2'))
50
+ : undefined;
51
+ if (openCodeSessionId) {
52
+ args.push('--session', openCodeSessionId);
53
+ }
54
+ // 不注入 --prompt:next-17135 实测 --prompt 只填 composer 不自动提交(不建
55
+ // 会话不写消息)。首条消息由 worker 走输入队列经 writeInput paste+Enter
56
+ // 投递(passesInitialPromptViaArgs 不置位),fresh 与 resume 路径一致。
57
+ return args;
58
+ },
59
+ // 首条消息走输入队列(ready 后 flush + DB 验证),不依赖 CLI 的 args 自动提交。
60
+ passesInitialPromptViaArgs: false,
61
+ buildResumeCommand({ sessionId, cliSessionId }) {
62
+ const sid = isOpenCodeSessionId(cliSessionId) ? cliSessionId : latestOpenCodeSessionForBotmuxSession(sessionId, 'v2');
63
+ if (!sid)
64
+ return null;
65
+ return `opencode2 -s ${sid}`;
66
+ },
67
+ /** Resume 目标预检:id 不在 session_v2 表 → false
68
+ * (worker 落回全新会话并提示),避免 `Session not found` exit 1 被放大成
69
+ * daemon 自动重启 crash-loop。DB 读不了 → undefined,交给 worker 二级护栏。 */
70
+ checkResumeTargetExists({ sessionId, cliSessionId }) {
71
+ const sid = isOpenCodeSessionId(cliSessionId) ? cliSessionId : latestOpenCodeSessionForBotmuxSession(sessionId, 'v2');
72
+ if (!sid) {
73
+ return withDb(() => true) === null ? undefined : false;
74
+ }
75
+ const exists = sessionRowExists(sid, 'v2');
76
+ return exists === null ? undefined : exists;
77
+ },
78
+ /** Import path(/adopt 第二过滤器):复用 opencode 的全局会话查询(V2 表空间)。 */
79
+ listResumableSessions(opts) {
80
+ return Promise.resolve(listOpenCodeResumableSessions(opts, 'v2'));
81
+ },
82
+ async writeInput(pty, content) {
83
+ const isSlashCommand = content.startsWith('/');
84
+ const baseline = isSlashCommand ? null : snapPartBaseline('v2');
85
+ try {
86
+ if (pty.sendText && pty.sendSpecialKeys) {
87
+ if (!isSlashCommand && pty.pasteText && (content.length > OPENCODE_PASTE_THRESHOLD || content.includes('\n'))) {
88
+ pty.pasteText(content);
89
+ }
90
+ else {
91
+ pty.sendText(content);
92
+ }
93
+ await delay(200);
94
+ pty.sendSpecialKeys('Enter');
95
+ }
96
+ else {
97
+ pty.write(content);
98
+ await delay(1000);
99
+ pty.write('\r');
100
+ }
101
+ }
102
+ catch {
103
+ return { submitted: false };
104
+ }
105
+ if (baseline === null)
106
+ return undefined;
107
+ const result = await detectOpenCodeSubmit(pty, baseline, content, delay, 'v2');
108
+ if (result.submitted) {
109
+ return result.cliSessionId
110
+ ? { submitted: true, cliSessionId: result.cliSessionId }
111
+ : { submitted: true };
112
+ }
113
+ return { submitted: false, recheck: result.recheck };
114
+ },
115
+ completionPattern: undefined,
116
+ readyPattern: undefined,
117
+ systemHints: BOTMUX_SHELL_HINTS,
118
+ altScreen: true, // V2 TUI 仍渲染在 alternate screen buffer(实测 \x1b[?1049h)
119
+ readOnlyRemoteScroll: true,
120
+ skillsDir: '~/.config/opencode/skills',
121
+ // botmux ask-hook:V2 插件(新插件 API),写入 V2 全局插件发现目录。
122
+ // ⚠️ beta 已知上游问题(next-17082):HOME 是符号链接(如 /home→/data00/home)的
123
+ // 主机上,V2 服务端无法 import 全局插件目录里"新写入"的插件文件(loader 的
124
+ // freshSpecifier 把 realpath+?mtime 拼成普通路径 specifier 后 Bun 解析失败;
125
+ // 项目级 .opencode/plugins/ 不受影响)。表现为日志 "Cannot find module ...?mtime=...",
126
+ // 该主机上 ask 走原生 picker 兜底(web 终端仍可作答),其余能力不受影响。
127
+ hookInstall: {
128
+ configPath: '~/.config/opencode/plugins/botmux-ask.js',
129
+ format: 'opencode2-plugin',
130
+ },
131
+ asksViaHook: true,
132
+ // V2 TUI 顶层无 --model,模型由 opencode 配置/UI 决定 —— modelChoices 留空,
133
+ // setup 为此 CLI 跳过模型询问(与「模型走配置文件管理」的 CLI 同一语义)。
134
+ };
135
+ }
136
+ export const create = createOpenCode2Adapter;
137
+ //# sourceMappingURL=opencode2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode2.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode2.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,20 @@ import type { CliAdapter } from './types.js';
52
52
  * idle probe and the reattach probe (`scheduleReattachIdleProbe`, gated on
53
53
  * `busyPattern`), so a turn — and a reattached persistent pane with no new PTY
54
54
  * output — is marked ready via the `Working...` marker exactly as before this
55
- * change. `assistant_final` events additionally fire idle when they land. */
55
+ * change. `assistant_final` events additionally fire idle when they land.
56
+ * Three guards keep quiescence honest (the raw heuristic alone mis-fires):
57
+ * 1. Startup window: the TUI renders its input box seconds before the CLI
58
+ * begins consuming an argv-baked first prompt (extension/model loading).
59
+ * The worker holds the first ready until the turn has visibly started —
60
+ * `Working...` seen on PTY, or the transcript's first user record
61
+ * (worker `spawnArgvTurnStartEvidenceSeen` gate).
62
+ * 2. Mid-turn: pi is in STRUCTURED_BRIDGE_LIFECYCLE_BLOCKING_CLI_IDS, so a
63
+ * transcript-started turn without a terminal suppresses screen idle
64
+ * (drainPiTranscript emits terminals for stop/length-no-toolcall and the
65
+ * hard error/aborted edges — see pi-transcript.ts for the accepted
66
+ * custom-tool `terminate:true` gap).
67
+ * 3. Post-idle: `idleToBusyPattern` flips a falsely published ready back to
68
+ * working when `Working...` reappears. */
56
69
  export declare function createPiAdapter(pathOverride?: string): CliAdapter;
57
70
  export declare const create: typeof createPiAdapter;
58
71
  //# sourceMappingURL=pi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/pi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAqD8E;AAC9E,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAiEjE;AAED,eAAO,MAAM,MAAM,wBAAkB,CAAC"}
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/pi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAkEgD;AAChD,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAwEjE;AAED,eAAO,MAAM,MAAM,wBAAkB,CAAC"}
@@ -55,7 +55,20 @@ import { delay } from '../../utils/timing.js';
55
55
  * idle probe and the reattach probe (`scheduleReattachIdleProbe`, gated on
56
56
  * `busyPattern`), so a turn — and a reattached persistent pane with no new PTY
57
57
  * output — is marked ready via the `Working...` marker exactly as before this
58
- * change. `assistant_final` events additionally fire idle when they land. */
58
+ * change. `assistant_final` events additionally fire idle when they land.
59
+ * Three guards keep quiescence honest (the raw heuristic alone mis-fires):
60
+ * 1. Startup window: the TUI renders its input box seconds before the CLI
61
+ * begins consuming an argv-baked first prompt (extension/model loading).
62
+ * The worker holds the first ready until the turn has visibly started —
63
+ * `Working...` seen on PTY, or the transcript's first user record
64
+ * (worker `spawnArgvTurnStartEvidenceSeen` gate).
65
+ * 2. Mid-turn: pi is in STRUCTURED_BRIDGE_LIFECYCLE_BLOCKING_CLI_IDS, so a
66
+ * transcript-started turn without a terminal suppresses screen idle
67
+ * (drainPiTranscript emits terminals for stop/length-no-toolcall and the
68
+ * hard error/aborted edges — see pi-transcript.ts for the accepted
69
+ * custom-tool `terminate:true` gap).
70
+ * 3. Post-idle: `idleToBusyPattern` flips a falsely published ready back to
71
+ * working when `Working...` reappears. */
59
72
  export function createPiAdapter(pathOverride) {
60
73
  const bin = resolveCommand(pathOverride ?? 'pi');
61
74
  return {
@@ -106,6 +119,13 @@ export function createPiAdapter(pathOverride) {
106
119
  },
107
120
  completionPattern: undefined,
108
121
  busyPattern: /Working\.\.\./,
122
+ // Self-heal for a falsely published ready (e.g. a startup-window quiescence
123
+ // idle slipping past the gates): if `Working...` renders AFTER an idle was
124
+ // reported, IdleDetector fires onBusy and the worker pulls isPromptReady
125
+ // back to false + republishes working. Safe as an idle→busy edge marker:
126
+ // Pi's `Working...` is an ephemeral status line, never part of transcript
127
+ // history redraws, so a completed turn cannot revive a closed card.
128
+ idleToBusyPattern: /Working\.\.\./,
109
129
  readyPattern: undefined,
110
130
  // Pi's native Message Queue parks/steers submit-while-busy input; the JSONL
111
131
  // transcript bridge (drainPiTranscript) + the `Working...` busy marker are
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/adapters/cli/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/adapters/cli/pi.ts"],"names":[],"mappings":"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"}
@@ -153,7 +153,7 @@ export declare function buildSeatbeltProfile(denyPaths: string[], allowPaths?: s
153
153
  denyWriteRegexes?: string[];
154
154
  denyWriteLiterals?: string[];
155
155
  }): string;
156
- export declare const ISOLATION_PANE_MARKER_VERSION = 9;
156
+ export declare const ISOLATION_PANE_MARKER_VERSION = 10;
157
157
  export type IsolationCapability = 'credential' | 'read' | 'write';
158
158
  export interface IsolationPanePolicyInput {
159
159
  readIsolation: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"read-isolation.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/read-isolation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-isolation.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/read-isolation.ts"],"names":[],"mappings":"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"}
@@ -252,10 +252,13 @@ export function buildSeatbeltProfile(denyPaths, allowPaths = [], finalDenyPaths
252
252
  // (sandboxReadonlyPaths) so goal-mode stops wedging on the TRAE first-run
253
253
  // migration prompt. That is a new spawn-time mount; a pane predating it warm-
254
254
  // reattaches with the old mount set and still wedges, so it must cold-spawn.
255
+ // · 9 → 10: credential-only Seatbelt/bwrap panes receive a private rotating
256
+ // managed-origin channel for capability-gated daemon IPC. A warm pane with
257
+ // the v9 marker lacks both the env and the private read carve-out.
255
258
  // #709 (→8) merged first; this PR (#714) rebased on top and takes 9. Numbers stay
256
259
  // strictly monotonic — a pane at any intermediate version must be rejected so it
257
260
  // cold-spawns under the current contract rather than bypassing a migration.
258
- export const ISOLATION_PANE_MARKER_VERSION = 9;
261
+ export const ISOLATION_PANE_MARKER_VERSION = 10;
259
262
  const ALL_ISOLATION_CAPABILITIES = [
260
263
  'credential',
261
264
  'read',
@@ -307,7 +310,7 @@ export function isolationPaneMarkerContent(bootId, capabilities, policy) {
307
310
  if (policy
308
311
  && (!/^[a-f0-9]{64}$/.test(policy.originChannelId)
309
312
  || !/^[a-f0-9]{64}$/.test(policy.policyDigest))) {
310
- throw new Error('invalid Darwin isolation marker policy');
313
+ throw new Error('invalid isolation marker policy');
311
314
  }
312
315
  return JSON.stringify({
313
316
  version: ISOLATION_PANE_MARKER_VERSION,