botmux 3.4.3 → 3.5.2

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 (415) hide show
  1. package/README.en.md +10 -7
  2. package/README.md +11 -6
  3. package/dist/adapters/backend/herdr-backend.d.ts +43 -6
  4. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  5. package/dist/adapters/backend/herdr-backend.js +362 -28
  6. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  7. package/dist/adapters/backend/reproduce-command.d.ts +39 -0
  8. package/dist/adapters/backend/reproduce-command.d.ts.map +1 -0
  9. package/dist/adapters/backend/reproduce-command.js +63 -0
  10. package/dist/adapters/backend/reproduce-command.js.map +1 -0
  11. package/dist/adapters/backend/sandbox.d.ts +99 -279
  12. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  13. package/dist/adapters/backend/sandbox.js +424 -826
  14. package/dist/adapters/backend/sandbox.js.map +1 -1
  15. package/dist/adapters/backend/session-backend-selector.d.ts +10 -1
  16. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  17. package/dist/adapters/backend/session-backend-selector.js +73 -4
  18. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  19. package/dist/adapters/backend/types.d.ts +16 -0
  20. package/dist/adapters/backend/types.d.ts.map +1 -1
  21. package/dist/adapters/backend/types.js.map +1 -1
  22. package/dist/adapters/cli/codex.d.ts.map +1 -1
  23. package/dist/adapters/cli/codex.js +4 -0
  24. package/dist/adapters/cli/codex.js.map +1 -1
  25. package/dist/adapters/cli/fs-policy.d.ts +244 -0
  26. package/dist/adapters/cli/fs-policy.d.ts.map +1 -0
  27. package/dist/adapters/cli/fs-policy.js +539 -0
  28. package/dist/adapters/cli/fs-policy.js.map +1 -0
  29. package/dist/adapters/cli/pi-initial-prompt.d.ts.map +1 -1
  30. package/dist/adapters/cli/pi-initial-prompt.js +5 -1
  31. package/dist/adapters/cli/pi-initial-prompt.js.map +1 -1
  32. package/dist/adapters/cli/read-isolation.d.ts +14 -200
  33. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  34. package/dist/adapters/cli/read-isolation.js +18 -477
  35. package/dist/adapters/cli/read-isolation.js.map +1 -1
  36. package/dist/adapters/cli/traex.d.ts.map +1 -1
  37. package/dist/adapters/cli/traex.js +5 -0
  38. package/dist/adapters/cli/traex.js.map +1 -1
  39. package/dist/adapters/cli/types.d.ts +3 -3
  40. package/dist/adapters/cli/types.d.ts.map +1 -1
  41. package/dist/adapters/hook-installer.d.ts +7 -0
  42. package/dist/adapters/hook-installer.d.ts.map +1 -1
  43. package/dist/adapters/hook-installer.js +56 -0
  44. package/dist/adapters/hook-installer.js.map +1 -1
  45. package/dist/bot-registry.d.ts +39 -23
  46. package/dist/bot-registry.d.ts.map +1 -1
  47. package/dist/bot-registry.js +134 -2
  48. package/dist/bot-registry.js.map +1 -1
  49. package/dist/cli/capabilities.d.ts +24 -0
  50. package/dist/cli/capabilities.d.ts.map +1 -0
  51. package/dist/cli/capabilities.js +25 -0
  52. package/dist/cli/capabilities.js.map +1 -0
  53. package/dist/cli/create-group-resolver.d.ts +24 -0
  54. package/dist/cli/create-group-resolver.d.ts.map +1 -1
  55. package/dist/cli/create-group-resolver.js +23 -0
  56. package/dist/cli/create-group-resolver.js.map +1 -1
  57. package/dist/cli/daemon-lifecycle-env.d.ts +5 -7
  58. package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
  59. package/dist/cli/daemon-lifecycle-env.js +13 -7
  60. package/dist/cli/daemon-lifecycle-env.js.map +1 -1
  61. package/dist/cli/exact-chat-grant-client.d.ts +48 -0
  62. package/dist/cli/exact-chat-grant-client.d.ts.map +1 -0
  63. package/dist/cli/exact-chat-grant-client.js +108 -0
  64. package/dist/cli/exact-chat-grant-client.js.map +1 -0
  65. package/dist/cli/exact-chat-grant.d.ts +18 -0
  66. package/dist/cli/exact-chat-grant.d.ts.map +1 -0
  67. package/dist/cli/exact-chat-grant.js +97 -0
  68. package/dist/cli/exact-chat-grant.js.map +1 -0
  69. package/dist/cli.d.ts +10 -1
  70. package/dist/cli.d.ts.map +1 -1
  71. package/dist/cli.js +795 -144
  72. package/dist/cli.js.map +1 -1
  73. package/dist/codex-rpc-engine.d.ts +26 -0
  74. package/dist/codex-rpc-engine.d.ts.map +1 -1
  75. package/dist/codex-rpc-engine.js +113 -2
  76. package/dist/codex-rpc-engine.js.map +1 -1
  77. package/dist/config.d.ts +16 -0
  78. package/dist/config.d.ts.map +1 -1
  79. package/dist/config.js +16 -0
  80. package/dist/config.js.map +1 -1
  81. package/dist/core/bot-live-control.d.ts +41 -0
  82. package/dist/core/bot-live-control.d.ts.map +1 -0
  83. package/dist/core/bot-live-control.js +135 -0
  84. package/dist/core/bot-live-control.js.map +1 -0
  85. package/dist/core/command-handler.d.ts.map +1 -1
  86. package/dist/core/command-handler.js +44 -66
  87. package/dist/core/command-handler.js.map +1 -1
  88. package/dist/core/daemon-config-fence.d.ts +8 -0
  89. package/dist/core/daemon-config-fence.d.ts.map +1 -0
  90. package/dist/core/daemon-config-fence.js +13 -0
  91. package/dist/core/daemon-config-fence.js.map +1 -0
  92. package/dist/core/dashboard-events.d.ts +5 -0
  93. package/dist/core/dashboard-events.d.ts.map +1 -1
  94. package/dist/core/dashboard-events.js.map +1 -1
  95. package/dist/core/dashboard-ipc-server.d.ts +21 -2
  96. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  97. package/dist/core/dashboard-ipc-server.js +258 -32
  98. package/dist/core/dashboard-ipc-server.js.map +1 -1
  99. package/dist/core/dispatch-registry.d.ts +12 -0
  100. package/dist/core/dispatch-registry.d.ts.map +1 -0
  101. package/dist/core/dispatch-registry.js +33 -0
  102. package/dist/core/dispatch-registry.js.map +1 -0
  103. package/dist/core/dispatch.d.ts +99 -0
  104. package/dist/core/dispatch.d.ts.map +1 -1
  105. package/dist/core/dispatch.js +136 -0
  106. package/dist/core/dispatch.js.map +1 -1
  107. package/dist/core/maintenance.d.ts.map +1 -1
  108. package/dist/core/maintenance.js +10 -3
  109. package/dist/core/maintenance.js.map +1 -1
  110. package/dist/core/passthrough-commands.d.ts.map +1 -1
  111. package/dist/core/passthrough-commands.js +1 -1
  112. package/dist/core/passthrough-commands.js.map +1 -1
  113. package/dist/core/persistent-backend.d.ts +16 -2
  114. package/dist/core/persistent-backend.d.ts.map +1 -1
  115. package/dist/core/persistent-backend.js +40 -0
  116. package/dist/core/persistent-backend.js.map +1 -1
  117. package/dist/core/plugins/mcp/gateway-installer.d.ts.map +1 -1
  118. package/dist/core/plugins/mcp/gateway-installer.js +14 -2
  119. package/dist/core/plugins/mcp/gateway-installer.js.map +1 -1
  120. package/dist/core/session-discovery.d.ts +8 -1
  121. package/dist/core/session-discovery.d.ts.map +1 -1
  122. package/dist/core/session-discovery.js +140 -8
  123. package/dist/core/session-discovery.js.map +1 -1
  124. package/dist/core/session-manager.d.ts.map +1 -1
  125. package/dist/core/session-manager.js +102 -68
  126. package/dist/core/session-manager.js.map +1 -1
  127. package/dist/core/session-title.d.ts +8 -0
  128. package/dist/core/session-title.d.ts.map +1 -1
  129. package/dist/core/session-title.js +54 -0
  130. package/dist/core/session-title.js.map +1 -1
  131. package/dist/core/terminal-write-auth.d.ts +15 -0
  132. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  133. package/dist/core/terminal-write-auth.js +20 -0
  134. package/dist/core/terminal-write-auth.js.map +1 -1
  135. package/dist/core/trigger-session.d.ts.map +1 -1
  136. package/dist/core/trigger-session.js +3 -2
  137. package/dist/core/trigger-session.js.map +1 -1
  138. package/dist/core/types.d.ts +33 -0
  139. package/dist/core/types.d.ts.map +1 -1
  140. package/dist/core/types.js.map +1 -1
  141. package/dist/core/worker-pool.d.ts +51 -8
  142. package/dist/core/worker-pool.d.ts.map +1 -1
  143. package/dist/core/worker-pool.js +439 -25
  144. package/dist/core/worker-pool.js.map +1 -1
  145. package/dist/daemon.d.ts +4 -2
  146. package/dist/daemon.d.ts.map +1 -1
  147. package/dist/daemon.js +403 -26
  148. package/dist/daemon.js.map +1 -1
  149. package/dist/dashboard/bot-onboarding.d.ts +127 -1
  150. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  151. package/dist/dashboard/bot-onboarding.js +1104 -25
  152. package/dist/dashboard/bot-onboarding.js.map +1 -1
  153. package/dist/dashboard/bot-payload.d.ts +5 -0
  154. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  155. package/dist/dashboard/bot-payload.js +7 -0
  156. package/dist/dashboard/bot-payload.js.map +1 -1
  157. package/dist/dashboard/debug-terminal.d.ts +18 -0
  158. package/dist/dashboard/debug-terminal.d.ts.map +1 -0
  159. package/dist/dashboard/debug-terminal.js +338 -0
  160. package/dist/dashboard/debug-terminal.js.map +1 -0
  161. package/dist/dashboard/public-redact.d.ts +2 -0
  162. package/dist/dashboard/public-redact.d.ts.map +1 -1
  163. package/dist/dashboard/public-redact.js +12 -3
  164. package/dist/dashboard/public-redact.js.map +1 -1
  165. package/dist/dashboard/registry.d.ts +8 -0
  166. package/dist/dashboard/registry.d.ts.map +1 -1
  167. package/dist/dashboard/registry.js +13 -0
  168. package/dist/dashboard/registry.js.map +1 -1
  169. package/dist/dashboard/settings-write-applier.d.ts +47 -1
  170. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  171. package/dist/dashboard/settings-write-applier.js +102 -1
  172. package/dist/dashboard/settings-write-applier.js.map +1 -1
  173. package/dist/dashboard/web/app.d.ts.map +1 -1
  174. package/dist/dashboard/web/app.js +2 -0
  175. package/dist/dashboard/web/app.js.map +1 -1
  176. package/dist/dashboard/web/bot-defaults-page.d.ts +17 -0
  177. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  178. package/dist/dashboard/web/bot-defaults-page.js +249 -11
  179. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  180. package/dist/dashboard/web/bot-defaults.d.ts +22 -0
  181. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  182. package/dist/dashboard/web/bot-defaults.js +19 -0
  183. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  184. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  185. package/dist/dashboard/web/i18n.js +114 -28
  186. package/dist/dashboard/web/i18n.js.map +1 -1
  187. package/dist/dashboard/web/icon-tooltip.d.ts +3 -0
  188. package/dist/dashboard/web/icon-tooltip.d.ts.map +1 -0
  189. package/dist/dashboard/web/icon-tooltip.js +108 -0
  190. package/dist/dashboard/web/icon-tooltip.js.map +1 -0
  191. package/dist/dashboard/web/sessions-kanban.js +2 -2
  192. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  193. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  194. package/dist/dashboard/web/sessions-page.js +49 -53
  195. package/dist/dashboard/web/sessions-page.js.map +1 -1
  196. package/dist/dashboard/web/sessions.d.ts +2 -0
  197. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  198. package/dist/dashboard/web/sessions.js +46 -2
  199. package/dist/dashboard/web/sessions.js.map +1 -1
  200. package/dist/dashboard/web/settings-page.d.ts +78 -0
  201. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  202. package/dist/dashboard/web/settings-page.js +88 -1
  203. package/dist/dashboard/web/settings-page.js.map +1 -1
  204. package/dist/dashboard/web/store.d.ts +2 -0
  205. package/dist/dashboard/web/store.d.ts.map +1 -1
  206. package/dist/dashboard/web/store.js +13 -1
  207. package/dist/dashboard/web/store.js.map +1 -1
  208. package/dist/dashboard-web/app.js +1 -1
  209. package/dist/dashboard-web/chunks/bot-defaults-page-AUKV7P4L.js +10 -0
  210. package/dist/dashboard-web/chunks/{chunk-P6GO5KT4.js → chunk-KPQAUX7V.js} +1 -1
  211. package/dist/dashboard-web/chunks/{chunk-UBOLHQCK.js → chunk-NRL6CVAS.js} +1 -1
  212. package/dist/dashboard-web/chunks/{chunk-JNRSPKLS.js → chunk-R7IAKAYX.js} +1 -1
  213. package/dist/dashboard-web/chunks/{chunk-CUV65BIQ.js → chunk-X2L65IOM.js} +8 -8
  214. package/dist/dashboard-web/chunks/{connectors-page-KTC2QWNW.js → connectors-page-HDQFEXZI.js} +1 -1
  215. package/dist/dashboard-web/chunks/{groups-page-B3EKGOLY.js → groups-page-6DKXBYOM.js} +1 -1
  216. package/dist/dashboard-web/chunks/{insights-page-X6RXNCWX.js → insights-page-NWARTJ6J.js} +1 -1
  217. package/dist/dashboard-web/chunks/{monitor-room-LLRA5LQW.js → monitor-room-AGX3XRJX.js} +1 -1
  218. package/dist/dashboard-web/chunks/{monitoring-page-7MT5FEOS.js → monitoring-page-GGGIWN4C.js} +1 -1
  219. package/dist/dashboard-web/chunks/{office-page-KD46D5TD.js → office-page-6SIVKSK3.js} +1 -1
  220. package/dist/dashboard-web/chunks/{overview-page-JUWNH32O.js → overview-page-FVR3NKAF.js} +1 -1
  221. package/dist/dashboard-web/chunks/{roles-page-P6F7NLOI.js → roles-page-WE2YB7KN.js} +1 -1
  222. package/dist/dashboard-web/chunks/{schedules-page-XIHWZST4.js → schedules-page-TB3I24XN.js} +1 -1
  223. package/dist/dashboard-web/chunks/sessions-page-KOOOASIL.js +2 -0
  224. package/dist/dashboard-web/chunks/settings-page-IEBR7TGN.js +2 -0
  225. package/dist/dashboard-web/chunks/{skills-page-A46KVWBL.js → skills-page-3QAT2IWD.js} +1 -1
  226. package/dist/dashboard-web/chunks/{team-federation-page-SDUC56DF.js → team-federation-page-K4VVAVAK.js} +1 -1
  227. package/dist/dashboard-web/chunks/{v3-page-J5JOTUSQ.js → v3-page-V6IOJR2B.js} +1 -1
  228. package/dist/dashboard-web/chunks/{whiteboards-page-U7LSOAWI.js → whiteboards-page-V6CGKRNX.js} +1 -1
  229. package/dist/dashboard-web/style.css +218 -10
  230. package/dist/dashboard.js +380 -8
  231. package/dist/dashboard.js.map +1 -1
  232. package/dist/features/codex-notifier/adoption.d.ts +11 -0
  233. package/dist/features/codex-notifier/adoption.d.ts.map +1 -0
  234. package/dist/features/codex-notifier/adoption.js +11 -0
  235. package/dist/features/codex-notifier/adoption.js.map +1 -0
  236. package/dist/features/codex-notifier/app-opener.d.ts +21 -0
  237. package/dist/features/codex-notifier/app-opener.d.ts.map +1 -0
  238. package/dist/features/codex-notifier/app-opener.js +33 -0
  239. package/dist/features/codex-notifier/app-opener.js.map +1 -0
  240. package/dist/features/codex-notifier/card-action.d.ts +27 -0
  241. package/dist/features/codex-notifier/card-action.d.ts.map +1 -0
  242. package/dist/features/codex-notifier/card-action.js +84 -0
  243. package/dist/features/codex-notifier/card-action.js.map +1 -0
  244. package/dist/features/codex-notifier/card.d.ts +12 -0
  245. package/dist/features/codex-notifier/card.d.ts.map +1 -0
  246. package/dist/features/codex-notifier/card.js +150 -0
  247. package/dist/features/codex-notifier/card.js.map +1 -0
  248. package/dist/features/codex-notifier/codex-context.d.ts +12 -0
  249. package/dist/features/codex-notifier/codex-context.d.ts.map +1 -0
  250. package/dist/features/codex-notifier/codex-context.js +161 -0
  251. package/dist/features/codex-notifier/codex-context.js.map +1 -0
  252. package/dist/features/codex-notifier/config.d.ts +9 -0
  253. package/dist/features/codex-notifier/config.d.ts.map +1 -0
  254. package/dist/features/codex-notifier/config.js +11 -0
  255. package/dist/features/codex-notifier/config.js.map +1 -0
  256. package/dist/features/codex-notifier/confirmed-turn.d.ts +20 -0
  257. package/dist/features/codex-notifier/confirmed-turn.d.ts.map +1 -0
  258. package/dist/features/codex-notifier/confirmed-turn.js +130 -0
  259. package/dist/features/codex-notifier/confirmed-turn.js.map +1 -0
  260. package/dist/features/codex-notifier/emitter.d.ts +13 -0
  261. package/dist/features/codex-notifier/emitter.d.ts.map +1 -0
  262. package/dist/features/codex-notifier/emitter.js +33 -0
  263. package/dist/features/codex-notifier/emitter.js.map +1 -0
  264. package/dist/features/codex-notifier/event-store.d.ts +29 -0
  265. package/dist/features/codex-notifier/event-store.d.ts.map +1 -0
  266. package/dist/features/codex-notifier/event-store.js +217 -0
  267. package/dist/features/codex-notifier/event-store.js.map +1 -0
  268. package/dist/features/codex-notifier/event.d.ts +46 -0
  269. package/dist/features/codex-notifier/event.d.ts.map +1 -0
  270. package/dist/features/codex-notifier/event.js +188 -0
  271. package/dist/features/codex-notifier/event.js.map +1 -0
  272. package/dist/features/codex-notifier/hook-cli.d.ts +23 -0
  273. package/dist/features/codex-notifier/hook-cli.d.ts.map +1 -0
  274. package/dist/features/codex-notifier/hook-cli.js +130 -0
  275. package/dist/features/codex-notifier/hook-cli.js.map +1 -0
  276. package/dist/features/codex-notifier/hook-installer.d.ts +19 -0
  277. package/dist/features/codex-notifier/hook-installer.d.ts.map +1 -0
  278. package/dist/features/codex-notifier/hook-installer.js +158 -0
  279. package/dist/features/codex-notifier/hook-installer.js.map +1 -0
  280. package/dist/features/codex-notifier/index.d.ts +21 -0
  281. package/dist/features/codex-notifier/index.d.ts.map +1 -0
  282. package/dist/features/codex-notifier/index.js +19 -0
  283. package/dist/features/codex-notifier/index.js.map +1 -0
  284. package/dist/features/codex-notifier/internal-turn.d.ts +5 -0
  285. package/dist/features/codex-notifier/internal-turn.d.ts.map +1 -0
  286. package/dist/features/codex-notifier/internal-turn.js +43 -0
  287. package/dist/features/codex-notifier/internal-turn.js.map +1 -0
  288. package/dist/features/codex-notifier/outbox-worker.d.ts +71 -0
  289. package/dist/features/codex-notifier/outbox-worker.d.ts.map +1 -0
  290. package/dist/features/codex-notifier/outbox-worker.js +290 -0
  291. package/dist/features/codex-notifier/outbox-worker.js.map +1 -0
  292. package/dist/features/codex-notifier/outbox.d.ts +25 -0
  293. package/dist/features/codex-notifier/outbox.d.ts.map +1 -0
  294. package/dist/features/codex-notifier/outbox.js +225 -0
  295. package/dist/features/codex-notifier/outbox.js.map +1 -0
  296. package/dist/features/codex-notifier/paths.d.ts +7 -0
  297. package/dist/features/codex-notifier/paths.d.ts.map +1 -0
  298. package/dist/features/codex-notifier/paths.js +20 -0
  299. package/dist/features/codex-notifier/paths.js.map +1 -0
  300. package/dist/features/codex-notifier/screen-lock.d.ts +12 -0
  301. package/dist/features/codex-notifier/screen-lock.d.ts.map +1 -0
  302. package/dist/features/codex-notifier/screen-lock.js +47 -0
  303. package/dist/features/codex-notifier/screen-lock.js.map +1 -0
  304. package/dist/features/codex-notifier/side-conversation-monitor.d.ts +102 -0
  305. package/dist/features/codex-notifier/side-conversation-monitor.d.ts.map +1 -0
  306. package/dist/features/codex-notifier/side-conversation-monitor.js +774 -0
  307. package/dist/features/codex-notifier/side-conversation-monitor.js.map +1 -0
  308. package/dist/features/codex-notifier/types.d.ts +42 -0
  309. package/dist/features/codex-notifier/types.d.ts.map +1 -0
  310. package/dist/features/codex-notifier/types.js +2 -0
  311. package/dist/features/codex-notifier/types.js.map +1 -0
  312. package/dist/features/codex-notifier/worker-lock.d.ts +8 -0
  313. package/dist/features/codex-notifier/worker-lock.d.ts.map +1 -0
  314. package/dist/features/codex-notifier/worker-lock.js +108 -0
  315. package/dist/features/codex-notifier/worker-lock.js.map +1 -0
  316. package/dist/global-config.d.ts +13 -0
  317. package/dist/global-config.d.ts.map +1 -1
  318. package/dist/global-config.js +34 -1
  319. package/dist/global-config.js.map +1 -1
  320. package/dist/i18n/en.d.ts.map +1 -1
  321. package/dist/i18n/en.js +1 -19
  322. package/dist/i18n/en.js.map +1 -1
  323. package/dist/i18n/zh.d.ts.map +1 -1
  324. package/dist/i18n/zh.js +1 -19
  325. package/dist/i18n/zh.js.map +1 -1
  326. package/dist/im/lark/card-builder.d.ts +0 -13
  327. package/dist/im/lark/card-builder.d.ts.map +1 -1
  328. package/dist/im/lark/card-builder.js +2 -36
  329. package/dist/im/lark/card-builder.js.map +1 -1
  330. package/dist/im/lark/card-handler.d.ts +2 -0
  331. package/dist/im/lark/card-handler.d.ts.map +1 -1
  332. package/dist/im/lark/card-handler.js +166 -64
  333. package/dist/im/lark/card-handler.js.map +1 -1
  334. package/dist/im/lark/client.d.ts +98 -4
  335. package/dist/im/lark/client.d.ts.map +1 -1
  336. package/dist/im/lark/client.js +317 -29
  337. package/dist/im/lark/client.js.map +1 -1
  338. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  339. package/dist/im/lark/event-dispatcher.js +48 -33
  340. package/dist/im/lark/event-dispatcher.js.map +1 -1
  341. package/dist/services/codex-app-threads.d.ts +47 -0
  342. package/dist/services/codex-app-threads.d.ts.map +1 -1
  343. package/dist/services/codex-app-threads.js +502 -10
  344. package/dist/services/codex-app-threads.js.map +1 -1
  345. package/dist/services/exact-chat-grant.d.ts +83 -0
  346. package/dist/services/exact-chat-grant.d.ts.map +1 -0
  347. package/dist/services/exact-chat-grant.js +249 -0
  348. package/dist/services/exact-chat-grant.js.map +1 -0
  349. package/dist/services/group-creator.d.ts +11 -0
  350. package/dist/services/group-creator.d.ts.map +1 -1
  351. package/dist/services/group-creator.js +18 -9
  352. package/dist/services/group-creator.js.map +1 -1
  353. package/dist/services/local-cli-opener.d.ts.map +1 -1
  354. package/dist/services/local-cli-opener.js +10 -5
  355. package/dist/services/local-cli-opener.js.map +1 -1
  356. package/dist/services/sandbox-migration.d.ts +14 -0
  357. package/dist/services/sandbox-migration.d.ts.map +1 -0
  358. package/dist/services/sandbox-migration.js +85 -0
  359. package/dist/services/sandbox-migration.js.map +1 -0
  360. package/dist/services/sandbox-store.d.ts +28 -0
  361. package/dist/services/sandbox-store.d.ts.map +1 -1
  362. package/dist/services/sandbox-store.js +82 -0
  363. package/dist/services/sandbox-store.js.map +1 -1
  364. package/dist/services/traex-user-input.d.ts +19 -0
  365. package/dist/services/traex-user-input.d.ts.map +1 -0
  366. package/dist/services/traex-user-input.js +57 -0
  367. package/dist/services/traex-user-input.js.map +1 -0
  368. package/dist/setup/open-platform-automation.d.ts +24 -3
  369. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  370. package/dist/setup/open-platform-automation.js +45 -8
  371. package/dist/setup/open-platform-automation.js.map +1 -1
  372. package/dist/setup/verify-permissions.d.ts +18 -0
  373. package/dist/setup/verify-permissions.d.ts.map +1 -1
  374. package/dist/setup/verify-permissions.js +60 -0
  375. package/dist/setup/verify-permissions.js.map +1 -1
  376. package/dist/types.d.ts +83 -5
  377. package/dist/types.d.ts.map +1 -1
  378. package/dist/utils/child-env.d.ts +2 -2
  379. package/dist/utils/child-env.d.ts.map +1 -1
  380. package/dist/utils/child-env.js +14 -0
  381. package/dist/utils/child-env.js.map +1 -1
  382. package/dist/utils/stuck-detector.d.ts +45 -0
  383. package/dist/utils/stuck-detector.d.ts.map +1 -0
  384. package/dist/utils/stuck-detector.js +188 -0
  385. package/dist/utils/stuck-detector.js.map +1 -0
  386. package/dist/utils/stuck-key-guard.d.ts +75 -0
  387. package/dist/utils/stuck-key-guard.d.ts.map +1 -0
  388. package/dist/utils/stuck-key-guard.js +77 -0
  389. package/dist/utils/stuck-key-guard.js.map +1 -0
  390. package/dist/worker.js +1119 -588
  391. package/dist/worker.js.map +1 -1
  392. package/dist/workflows/events/payloads.d.ts +56 -0
  393. package/dist/workflows/events/payloads.d.ts.map +1 -1
  394. package/dist/workflows/events/payloads.js +9 -0
  395. package/dist/workflows/events/payloads.js.map +1 -1
  396. package/dist/workflows/events/schema.d.ts +86 -0
  397. package/dist/workflows/events/schema.d.ts.map +1 -1
  398. package/dist/workflows/shared/sandbox-policy.d.ts +10 -1
  399. package/dist/workflows/shared/sandbox-policy.d.ts.map +1 -1
  400. package/dist/workflows/shared/sandbox-policy.js +12 -0
  401. package/dist/workflows/shared/sandbox-policy.js.map +1 -1
  402. package/dist/workflows/v3/bot-resolve.d.ts.map +1 -1
  403. package/dist/workflows/v3/bot-resolve.js +36 -0
  404. package/dist/workflows/v3/bot-resolve.js.map +1 -1
  405. package/dist/workflows/v3/contract.d.ts +8 -0
  406. package/dist/workflows/v3/contract.d.ts.map +1 -1
  407. package/dist/workflows/v3/contract.js.map +1 -1
  408. package/package.json +1 -1
  409. package/dist/dashboard-web/chunks/bot-defaults-page-B5AY4B2J.js +0 -5
  410. package/dist/dashboard-web/chunks/sessions-page-2VECQ27T.js +0 -3
  411. package/dist/dashboard-web/chunks/settings-page-HMIUE2JA.js +0 -2
  412. package/dist/services/sandbox-land.d.ts +0 -45
  413. package/dist/services/sandbox-land.d.ts.map +0 -1
  414. package/dist/services/sandbox-land.js +0 -394
  415. package/dist/services/sandbox-land.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ /**
2
+ * bots.json sandbox-config auto-migration (old fields → fs-policy model).
3
+ *
4
+ * Runs at daemon startup, inside the shared cross-process file lock (multiple
5
+ * per-bot daemons boot concurrently against the same bots.json). Writes the
6
+ * NEW fields while KEEPING the legacy ones on disk — a downgraded daemon reads
7
+ * the untouched legacy fields, so downgrade needs no reverse script (design
8
+ * doc §6.2: upgrade rewrites, downgrade is zero-op). The original file is
9
+ * backed up once to `bots.json.bak-sandbox-v1` before the first rewrite.
10
+ *
11
+ * Idempotent: entries that already carry `sandboxPaths` (or have nothing to
12
+ * migrate) are skipped, so every subsequent boot is a no-op.
13
+ */
14
+ import { promises as fsp, existsSync } from 'node:fs';
15
+ import { resolve } from 'node:path';
16
+ import { homedir } from 'node:os';
17
+ import { withFileLock } from '../utils/file-lock.js';
18
+ import { writeRawConfigAtomic } from './config-store.js';
19
+ import { migrateLegacySandboxFields } from '../adapters/cli/fs-policy.js';
20
+ import { logger } from '../utils/logger.js';
21
+ /** The bots.json path the daemon will load (same resolution as loadBotConfigs). */
22
+ export function resolveBotsConfigPath() {
23
+ const fromEnv = process.env.BOTS_CONFIG;
24
+ if (fromEnv) {
25
+ const p = resolve(fromEnv);
26
+ return existsSync(p) ? p : null;
27
+ }
28
+ const p = resolve(homedir(), '.botmux', 'bots.json');
29
+ return existsSync(p) ? p : null;
30
+ }
31
+ /**
32
+ * Migrate every entry's legacy sandbox fields in `path`. Returns the appIds
33
+ * that were migrated (empty = file untouched). Never throws on a malformed
34
+ * file — migration must not brick daemon startup; loadBotConfigs surfaces
35
+ * parse errors with better context right after.
36
+ */
37
+ export async function migrateSandboxConfigOnDisk(path) {
38
+ try {
39
+ return await withFileLock(path, async () => {
40
+ let raw;
41
+ try {
42
+ raw = JSON.parse(await fsp.readFile(path, 'utf-8'));
43
+ }
44
+ catch {
45
+ return { migrated: [] };
46
+ }
47
+ if (!Array.isArray(raw))
48
+ return { migrated: [] };
49
+ const migrated = [];
50
+ for (const entry of raw) {
51
+ if (!entry || typeof entry !== 'object')
52
+ continue;
53
+ const m = migrateLegacySandboxFields(entry);
54
+ if (!m)
55
+ continue;
56
+ entry.sandbox = m.sandbox;
57
+ if (m.sandboxPaths)
58
+ entry.sandboxPaths = m.sandboxPaths;
59
+ migrated.push(typeof entry.larkAppId === 'string' ? entry.larkAppId : '<unknown>');
60
+ }
61
+ if (!migrated.length)
62
+ return { migrated };
63
+ const bak = `${path}.bak-sandbox-v1`;
64
+ if (!existsSync(bak)) {
65
+ await fsp.copyFile(path, bak);
66
+ await fsp.chmod(bak, 0o600);
67
+ }
68
+ await writeRawConfigAtomic(path, raw);
69
+ logger.info(`[sandbox-migration] migrated legacy sandbox fields for ${migrated.length} bot(s): ${migrated.join(', ')} (backup: ${bak})`);
70
+ return { migrated };
71
+ });
72
+ }
73
+ catch (err) {
74
+ logger.warn(`[sandbox-migration] skipped (${err instanceof Error ? err.message : String(err)})`);
75
+ return { migrated: [] };
76
+ }
77
+ }
78
+ /** Startup convenience: resolve the config path and migrate if present. */
79
+ export async function migrateSandboxConfigAtStartup() {
80
+ const path = resolveBotsConfigPath();
81
+ if (!path)
82
+ return;
83
+ await migrateSandboxConfigOnDisk(path);
84
+ }
85
+ //# sourceMappingURL=sandbox-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-migration.js","sourceRoot":"","sources":["../../src/services/sandbox-migration.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,32 @@ export declare function updateBotReadIsolation(larkAppId: string, enabled: boole
19
19
  ok: false;
20
20
  reason: string;
21
21
  }>;
22
+ /** The three-tier sandbox path lists a bot may declare (highest-precedence
23
+ * layer of the FsPolicy). Empty/absent tiers fall back to deny-by-default. */
24
+ export interface SandboxPathTiers {
25
+ readWrite?: string[];
26
+ readOnly?: string[];
27
+ deny?: string[];
28
+ }
29
+ /** Current configured sandboxPaths for a bot (undefined = none set). */
30
+ export declare function getBotSandboxPaths(larkAppId: string): SandboxPathTiers | undefined;
31
+ /** Normalize a three-tier sandboxPaths object for storage: per-tier trim/dedup,
32
+ * then CROSS-TIER dedup resolving a path listed in >1 tier to the MORE
33
+ * RESTRICTIVE tier (deny > readOnly > readWrite) — matching fs-policy's
34
+ * mergeFsRules same-source tie-break, so what's stored matches what the sandbox
35
+ * (and the dashboard UI/tester) resolve. Returns `{}` when every tier is empty
36
+ * (caller treats that as "clear the field"). Pure — unit-tested directly. */
37
+ export declare function normalizeSandboxPaths(tiers: SandboxPathTiers): SandboxPathTiers;
38
+ /** Per-bot sandboxPaths (readWrite/readOnly/deny) persistence. Same contract as
39
+ * {@link updateBotSandbox}: atomic bots.json write + in-memory sync, so the next
40
+ * session spawn reads `botCfg.sandboxPaths` without a daemon restart. Passing an
41
+ * all-empty tiers object CLEARS the field (bots.json stays clean → pure
42
+ * deny-by-default baseline). */
43
+ export declare function updateBotSandboxPaths(larkAppId: string, tiers: SandboxPathTiers): Promise<{
44
+ ok: true;
45
+ sandboxPaths?: SandboxPathTiers;
46
+ } | {
47
+ ok: false;
48
+ reason: string;
49
+ }>;
22
50
  //# sourceMappingURL=sandbox-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-store.d.ts","sourceRoot":"","sources":["../../src/services/sandbox-store.ts"],"names":[],"mappings":"AAUA,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAczE;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;uFAEuF;AACvF,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAc/E"}
1
+ {"version":3,"file":"sandbox-store.d.ts","sourceRoot":"","sources":["../../src/services/sandbox-store.ts"],"names":[],"mappings":"AAUA,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAczE;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;uFAEuF;AACvF,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAc/E;AAED;+EAC+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAElF;AAkBD;;;;;8EAK8E;AAC9E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAc/E;AAED;;;;iCAIiC;AACjC,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBxF"}
@@ -70,4 +70,86 @@ export async function updateBotReadIsolation(larkAppId, enabled) {
70
70
  logger.info(`[read-isolation:${larkAppId}] readIsolation → ${enabled}`);
71
71
  return { ok: true, readIsolation: enabled };
72
72
  }
73
+ /** Current configured sandboxPaths for a bot (undefined = none set). */
74
+ export function getBotSandboxPaths(larkAppId) {
75
+ try {
76
+ return getBot(larkAppId).config.sandboxPaths;
77
+ }
78
+ catch {
79
+ return undefined;
80
+ }
81
+ }
82
+ /** Trim + drop empties + dedupe one tier's path list. Returns undefined for an
83
+ * empty result so an all-empty tiers object collapses to "no sandboxPaths". */
84
+ function normalizeTier(list) {
85
+ if (!Array.isArray(list))
86
+ return undefined;
87
+ const seen = new Set();
88
+ const out = [];
89
+ for (const raw of list) {
90
+ if (typeof raw !== 'string')
91
+ continue;
92
+ const p = raw.trim();
93
+ if (!p || seen.has(p))
94
+ continue;
95
+ seen.add(p);
96
+ out.push(p);
97
+ }
98
+ return out.length ? out : undefined;
99
+ }
100
+ /** Normalize a three-tier sandboxPaths object for storage: per-tier trim/dedup,
101
+ * then CROSS-TIER dedup resolving a path listed in >1 tier to the MORE
102
+ * RESTRICTIVE tier (deny > readOnly > readWrite) — matching fs-policy's
103
+ * mergeFsRules same-source tie-break, so what's stored matches what the sandbox
104
+ * (and the dashboard UI/tester) resolve. Returns `{}` when every tier is empty
105
+ * (caller treats that as "clear the field"). Pure — unit-tested directly. */
106
+ export function normalizeSandboxPaths(tiers) {
107
+ const rw = normalizeTier(tiers.readWrite);
108
+ const ro = normalizeTier(tiers.readOnly);
109
+ const deny = normalizeTier(tiers.deny);
110
+ const normPath = (p) => p.replace(/\/+$/, '') || '/';
111
+ const denySet = new Set((deny ?? []).map(normPath));
112
+ const roSet = new Set((ro ?? []).map(normPath));
113
+ const keptRw = (rw ?? []).filter(p => !denySet.has(normPath(p)) && !roSet.has(normPath(p)));
114
+ const keptRo = (ro ?? []).filter(p => !denySet.has(normPath(p)));
115
+ const out = {};
116
+ if (keptRw.length)
117
+ out.readWrite = keptRw;
118
+ if (keptRo.length)
119
+ out.readOnly = keptRo;
120
+ if (deny)
121
+ out.deny = deny;
122
+ return out;
123
+ }
124
+ /** Per-bot sandboxPaths (readWrite/readOnly/deny) persistence. Same contract as
125
+ * {@link updateBotSandbox}: atomic bots.json write + in-memory sync, so the next
126
+ * session spawn reads `botCfg.sandboxPaths` without a daemon restart. Passing an
127
+ * all-empty tiers object CLEARS the field (bots.json stays clean → pure
128
+ * deny-by-default baseline). */
129
+ export async function updateBotSandboxPaths(larkAppId, tiers) {
130
+ let bot;
131
+ try {
132
+ bot = getBot(larkAppId);
133
+ }
134
+ catch {
135
+ return { ok: false, reason: 'bot_not_registered' };
136
+ }
137
+ const normalized = normalizeSandboxPaths(tiers);
138
+ const isEmpty = !normalized.readWrite && !normalized.readOnly && !normalized.deny;
139
+ const r = await rmwBotEntry(larkAppId, (entry) => {
140
+ if (isEmpty)
141
+ delete entry.sandboxPaths; // clear → preserves deny-by-default baseline
142
+ else
143
+ entry.sandboxPaths = normalized;
144
+ return { write: true, result: isEmpty ? undefined : normalized };
145
+ });
146
+ if (!r.ok)
147
+ return { ok: false, reason: r.reason };
148
+ if (isEmpty)
149
+ delete bot.config.sandboxPaths;
150
+ else
151
+ bot.config.sandboxPaths = normalized;
152
+ logger.info(`[sandbox:${larkAppId}] sandboxPaths → rw=${normalized.readWrite?.length ?? 0} ro=${normalized.readOnly?.length ?? 0} deny=${normalized.deny?.length ?? 0}`);
153
+ return { ok: true, sandboxPaths: isEmpty ? undefined : normalized };
154
+ }
73
155
  //# sourceMappingURL=sandbox-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-store.js","sourceRoot":"","sources":["../../src/services/sandbox-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-store.js","sourceRoot":"","sources":["../../src/services/sandbox-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AskQuestion } from '../core/ask-types.js';
2
+ export interface TraexUserInputQuestion {
3
+ id: string;
4
+ question: AskQuestion;
5
+ }
6
+ export type TraexUserInputParseResult = {
7
+ kind: 'answerable';
8
+ questions: TraexUserInputQuestion[];
9
+ } | {
10
+ kind: 'unsupported';
11
+ reason: string;
12
+ };
13
+ /**
14
+ * Convert TRAE's app-server requestUserInput payload into the existing
15
+ * button-card contract. The card cannot faithfully represent a free-text or
16
+ * malformed question, so a mixed batch must not silently drop those questions.
17
+ */
18
+ export declare function parseTraexUserInputQuestions(params: unknown): TraexUserInputParseResult;
19
+ //# sourceMappingURL=traex-user-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traex-user-input.d.ts","sourceRoot":"","sources":["../../src/services/traex-user-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,sBAAsB,EAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,yBAAyB,CAqDvF"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Convert TRAE's app-server requestUserInput payload into the existing
3
+ * button-card contract. The card cannot faithfully represent a free-text or
4
+ * malformed question, so a mixed batch must not silently drop those questions.
5
+ */
6
+ export function parseTraexUserInputQuestions(params) {
7
+ if (!params || typeof params !== 'object' || Array.isArray(params)) {
8
+ return { kind: 'unsupported', reason: 'missing request parameters' };
9
+ }
10
+ const rawQuestions = params.questions;
11
+ if (!Array.isArray(rawQuestions) || rawQuestions.length === 0) {
12
+ return { kind: 'unsupported', reason: 'missing questions' };
13
+ }
14
+ const questions = [];
15
+ const ids = new Set();
16
+ for (let index = 0; index < rawQuestions.length; index++) {
17
+ const raw = rawQuestions[index];
18
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
19
+ return { kind: 'unsupported', reason: `question ${index + 1} is malformed` };
20
+ }
21
+ const question = raw;
22
+ if (!Array.isArray(question.options) || question.options.length < 2) {
23
+ return { kind: 'unsupported', reason: `question ${index + 1} has fewer than two options` };
24
+ }
25
+ const options = [];
26
+ for (const option of question.options) {
27
+ if (!option || typeof option !== 'object' || Array.isArray(option)) {
28
+ return { kind: 'unsupported', reason: `question ${index + 1} has a malformed option` };
29
+ }
30
+ const label = option.label;
31
+ if (typeof label !== 'string' || !label.trim()) {
32
+ return { kind: 'unsupported', reason: `question ${index + 1} has an invalid option label` };
33
+ }
34
+ options.push({ key: label, label });
35
+ }
36
+ const id = typeof question.id === 'string' && question.id ? question.id : `q${index}`;
37
+ if (ids.has(id)) {
38
+ return { kind: 'unsupported', reason: `duplicate question id: ${id}` };
39
+ }
40
+ ids.add(id);
41
+ const prompt = typeof question.question === 'string' && question.question.trim()
42
+ ? question.question
43
+ : typeof question.header === 'string' && question.header.trim()
44
+ ? question.header
45
+ : `Question ${index + 1}`;
46
+ questions.push({
47
+ id,
48
+ question: {
49
+ prompt,
50
+ multiSelect: question.multiSelect === true,
51
+ options,
52
+ },
53
+ });
54
+ }
55
+ return { kind: 'answerable', questions };
56
+ }
57
+ //# sourceMappingURL=traex-user-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traex-user-input.js","sourceRoot":"","sources":["../../src/services/traex-user-input.ts"],"names":[],"mappings":"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"}
@@ -64,10 +64,14 @@ export type OpenPlatformAutomationResult = {
64
64
  missingVcEvents: string[];
65
65
  /** 回读确认事件接收方式已是长连接(ok:true 时恒为 true,显式带回供门函数统一判定)。 */
66
66
  eventModeReady: boolean;
67
+ /** Managed onboarding only: exact same-session event mode readback. */
68
+ eventMode?: number;
69
+ /** Managed onboarding only: exact baseline event + callback count read back before session cleanup. */
70
+ verifiedEventCount?: number;
67
71
  versionId?: string;
68
72
  } | {
69
73
  ok: false;
70
- reason: 'unsupported_brand' | 'missing_session' | 'invalid_session' | 'login_failed' | 'qr_expired' | 'timeout' | 'missing_csrf' | 'scope_mapping_failed' | 'network' | 'api_error';
74
+ reason: 'unsupported_brand' | 'missing_session' | 'invalid_session' | 'login_failed' | 'qr_expired' | 'timeout' | 'missing_csrf' | 'owner_session_mismatch' | 'scope_mapping_failed' | 'event_verification_failed' | 'version_verification_failed' | 'network' | 'api_error';
71
75
  message: string;
72
76
  sessionFile?: string;
73
77
  /** Number of events successfully subscribed (0 when event update failed before downstream error). */
@@ -78,6 +82,12 @@ export type OpenPlatformAutomationResult = {
78
82
  missingVcEvents?: string[];
79
83
  /** 事件接收方式是否回读确认为长连接(走到订阅阶段才有;早期失败为 undefined)。 */
80
84
  eventModeReady?: boolean;
85
+ /** Managed onboarding exact event-mode ACK, preserved across later scope propagation failure. */
86
+ eventMode?: number;
87
+ /** Managed onboarding exact baseline count ACK, preserved across later scope propagation failure. */
88
+ verifiedEventCount?: number;
89
+ /** Exact published version ACK, preserved across later scope propagation failure. */
90
+ versionId?: string;
81
91
  };
82
92
  export interface OpenPlatformAutomationOptions {
83
93
  appId: string;
@@ -85,10 +95,12 @@ export interface OpenPlatformAutomationOptions {
85
95
  sessionFilePath?: string;
86
96
  bytedcliFallbackSessionFilePath?: string;
87
97
  disableBytedcliFallback?: boolean;
88
- /** Ignore cached sessions and require a fresh QR login. */
98
+ /** Ignore any shared cached account and require the exact App owner to scan. */
89
99
  forceQrLogin?: boolean;
90
100
  /** Reuse a valid cache or fail instead of presenting another QR. */
91
101
  disableQrLogin?: boolean;
102
+ /** Require all baseline events/callbacks and a published version to be proven before managed activation. */
103
+ requireVerifiedEvents?: boolean;
92
104
  fetchImpl?: typeof fetch;
93
105
  scopeManifest?: ScopeManifest;
94
106
  pollIntervalMs?: number;
@@ -97,6 +109,10 @@ export interface OpenPlatformAutomationOptions {
97
109
  qrText: string;
98
110
  qrPayload: string;
99
111
  }) => void | Promise<void>;
112
+ /** Emitted once only after Feishu reports this exact QR as scanned. */
113
+ onQrScanConfirmed?: (info: {
114
+ confirmedAt: number;
115
+ }) => void | Promise<void>;
100
116
  onStatus?: (message: string) => void | Promise<void>;
101
117
  }
102
118
  export type FeishuWebSessionSource = 'botmux_cache' | 'qr_login' | 'bytedcli_fallback';
@@ -133,6 +149,10 @@ export interface FeishuWebSessionOptions {
133
149
  qrText: string;
134
150
  qrPayload: string;
135
151
  }) => void | Promise<void>;
152
+ /** Emitted once only after polling observes Feishu status=2 for this QR. */
153
+ onQrScanConfirmed?: (info: {
154
+ confirmedAt: number;
155
+ }) => void | Promise<void>;
136
156
  onStatus?: (message: string) => void | Promise<void>;
137
157
  }
138
158
  export type FeishuOpenPlatformSessionInspectionResult = {
@@ -378,7 +398,8 @@ export declare function listOpenPlatformApps(client: OpenPlatformApiClient, opts
378
398
  export declare function fetchOpenPlatformAppSecret(client: OpenPlatformApiClient, clientId: string): Promise<string>;
379
399
  export declare class OpenPlatformApiError extends Error {
380
400
  readonly payload: unknown;
381
- constructor(message: string, payload: unknown);
401
+ readonly status: number;
402
+ constructor(message: string, payload: unknown, status: number);
382
403
  }
383
404
  /** 从 app_version/list 响应算下一个版本号(最新已发布 +1,无发布版 → 0.0.1)。 */
384
405
  export declare function nextAppVersion(payload: unknown): string;
@@ -1 +1 @@
1
- {"version":3,"file":"open-platform-automation.d.ts","sourceRoot":"","sources":["../../src/setup/open-platform-automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-platform-automation.d.ts","sourceRoot":"","sources":["../../src/setup/open-platform-automation.ts"],"names":[],"mappings":"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"}
@@ -394,6 +394,7 @@ export async function automateOpenPlatformSetup(options) {
394
394
  pollIntervalMs: options.pollIntervalMs,
395
395
  maxWaitMs: options.maxWaitMs,
396
396
  onQrCode: options.onQrCode,
397
+ onQrScanConfirmed: options.onQrScanConfirmed,
397
398
  onStatus: options.onStatus,
398
399
  });
399
400
  if (!preparedSession.ok) {
@@ -460,10 +461,10 @@ export async function automateOpenPlatformSetup(options) {
460
461
  data = null;
461
462
  }
462
463
  if (!response.ok) {
463
- throw new OpenPlatformApiError(`HTTP ${response.status} ${path}: ${summarizeOpenPlatformPayload(data)}`, data);
464
+ throw new OpenPlatformApiError(`HTTP ${response.status} ${path}: ${summarizeOpenPlatformPayload(data)}`, data, response.status);
464
465
  }
465
466
  if (data && typeof data === 'object' && typeof data.code === 'number' && data.code !== 0) {
466
- throw new OpenPlatformApiError(`code=${data.code} msg=${data.msg ?? data.message ?? ''}`, data);
467
+ throw new OpenPlatformApiError(`code=${data.code} msg=${data.msg ?? data.message ?? ''}`, data, response.status);
467
468
  }
468
469
  return data;
469
470
  };
@@ -472,7 +473,12 @@ export async function automateOpenPlatformSetup(options) {
472
473
  allScopesPayload = await postJson(`/developers/v1/scope/all/${options.appId}`);
473
474
  }
474
475
  catch (err) {
475
- return { ok: false, reason: 'api_error', message: `读取开放平台 scope 列表失败: ${safeErrorMessage(err)}`, sessionFile };
476
+ return {
477
+ ok: false,
478
+ reason: openPlatformOwnerAccessDenied(err) ? 'owner_session_mismatch' : 'api_error',
479
+ message: `读取开放平台 scope 列表失败: ${safeErrorMessage(err)}`,
480
+ sessionFile,
481
+ };
476
482
  }
477
483
  const manifest = options.scopeManifest ?? readDefaultScopeManifest();
478
484
  const catalog = extractOpenPlatformScopeEntries(allScopesPayload);
@@ -615,7 +621,7 @@ export async function automateOpenPlatformSetup(options) {
615
621
  + BOT_BASELINE_CALLBACKS.filter(name => callbackState?.callbacks.includes(name)).length;
616
622
  const eventWarning = eventWarnings.length > 0 ? eventWarnings.join('; ') : undefined;
617
623
  const criticalIssues = [
618
- ...BOT_CRITICAL_APP_EVENTS.filter(name => !hasEvent(name)),
624
+ ...(options.requireVerifiedEvents ? missingBaselineEvents : BOT_CRITICAL_APP_EVENTS.filter(name => !hasEvent(name))),
619
625
  ...missingCallbacks,
620
626
  ];
621
627
  // 长连接模式必须以回读为准:switch 接口返回成功≠生效,mode 不是 4 时
@@ -631,7 +637,7 @@ export async function automateOpenPlatformSetup(options) {
631
637
  if (criticalIssues.length > 0) {
632
638
  return {
633
639
  ok: false,
634
- reason: 'api_error',
640
+ reason: options.requireVerifiedEvents ? 'event_verification_failed' : 'api_error',
635
641
  message: `核心事件/回调订阅未生效(${criticalIssues.join('; ')}),机器人将收不到消息或卡片点击;请到开放平台「事件与回调」手动补齐后重试`,
636
642
  sessionFile,
637
643
  subscribedEventCount,
@@ -653,6 +659,18 @@ export async function automateOpenPlatformSetup(options) {
653
659
  const appVersion = nextAppVersion(versionList);
654
660
  const created = await postJson(`/developers/v1/app_version/create/${options.appId}`, buildAppVersionCreatePayload(appVersion, visibleMemberIds));
655
661
  const versionId = extractVersionId(created);
662
+ if (options.requireVerifiedEvents && !versionId) {
663
+ return {
664
+ ok: false,
665
+ reason: 'version_verification_failed',
666
+ message: '开放平台未返回可发布的精确版本 ID,受管机器人保持未激活',
667
+ sessionFile,
668
+ subscribedEventCount,
669
+ eventWarning,
670
+ missingVcEvents,
671
+ eventModeReady,
672
+ };
673
+ }
656
674
  if (versionId) {
657
675
  await postJson(`/developers/v1/publish/commit/${options.appId}/${versionId}`, { clientId: options.appId });
658
676
  }
@@ -668,6 +686,12 @@ export async function automateOpenPlatformSetup(options) {
668
686
  eventWarning,
669
687
  missingVcEvents,
670
688
  eventModeReady,
689
+ ...(options.requireVerifiedEvents
690
+ ? {
691
+ eventMode: eventState?.eventMode,
692
+ verifiedEventCount: BOT_BASELINE_APP_EVENTS.length + BOT_BASELINE_CALLBACKS.length,
693
+ }
694
+ : {}),
671
695
  versionId,
672
696
  };
673
697
  }
@@ -755,10 +779,10 @@ export async function createOpenPlatformApiClient(cookies, opts = {}) {
755
779
  data = null;
756
780
  }
757
781
  if (!response.ok) {
758
- throw new OpenPlatformApiError(`HTTP ${response.status} ${path}: ${summarizeOpenPlatformPayload(data)}`, data);
782
+ throw new OpenPlatformApiError(`HTTP ${response.status} ${path}: ${summarizeOpenPlatformPayload(data)}`, data, response.status);
759
783
  }
760
784
  if (data && typeof data === 'object' && typeof data.code === 'number' && data.code !== 0) {
761
- throw new OpenPlatformApiError(`code=${data.code} msg=${data.msg ?? data.message ?? ''}`, data);
785
+ throw new OpenPlatformApiError(`code=${data.code} msg=${data.msg ?? data.message ?? ''}`, data, response.status);
762
786
  }
763
787
  return data;
764
788
  };
@@ -1095,11 +1119,16 @@ async function loginFeishuWebSession(fetcher, options) {
1095
1119
  const maxWaitMs = options.maxWaitMs ?? 120_000;
1096
1120
  const start = Date.now();
1097
1121
  let lastStatusMessage = '';
1122
+ let scanConfirmationEmitted = false;
1098
1123
  for (;;) {
1099
1124
  if (Date.now() - start > maxWaitMs) {
1100
1125
  throw new FeishuWebSessionError('等待飞书扫码超时', 'timeout');
1101
1126
  }
1102
1127
  const poll = await pollFeishuQrLogin(session, fetcher, qrInit.flowKey);
1128
+ if (poll.status === 2 && !scanConfirmationEmitted) {
1129
+ scanConfirmationEmitted = true;
1130
+ await options.onQrScanConfirmed?.({ confirmedAt: Date.now() });
1131
+ }
1103
1132
  if (poll.nextStep === 'enter_app') {
1104
1133
  if (poll.crossLoginUri) {
1105
1134
  await session.fetchRaw(fetcher, poll.crossLoginUri, { method: 'GET' });
@@ -1255,11 +1284,19 @@ class MutableCookieJar {
1255
1284
  }
1256
1285
  export class OpenPlatformApiError extends Error {
1257
1286
  payload;
1258
- constructor(message, payload) {
1287
+ status;
1288
+ constructor(message, payload, status) {
1259
1289
  super(message);
1260
1290
  this.payload = payload;
1291
+ this.status = status;
1261
1292
  }
1262
1293
  }
1294
+ function openPlatformOwnerAccessDenied(error) {
1295
+ if (!(error instanceof OpenPlatformApiError))
1296
+ return false;
1297
+ const payload = asRecord(error.payload);
1298
+ return error.status === 403 && payload.code === 10003;
1299
+ }
1263
1300
  class FeishuWebSessionError extends Error {
1264
1301
  reason;
1265
1302
  constructor(message, reason) {