botmux 2.47.0 → 2.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.en.md +10 -5
  2. package/README.md +10 -5
  3. package/dist/adapters/adopt-route.d.ts +63 -0
  4. package/dist/adapters/adopt-route.d.ts.map +1 -0
  5. package/dist/adapters/adopt-route.js +195 -0
  6. package/dist/adapters/adopt-route.js.map +1 -0
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +11 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts +11 -0
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-pipe-backend.js +17 -1
  13. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  14. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  15. package/dist/adapters/cli/claude-code.js +36 -9
  16. package/dist/adapters/cli/claude-code.js.map +1 -1
  17. package/dist/adapters/cli/coco.d.ts.map +1 -1
  18. package/dist/adapters/cli/coco.js +26 -1
  19. package/dist/adapters/cli/coco.js.map +1 -1
  20. package/dist/adapters/cli/codex-app.d.ts +4 -0
  21. package/dist/adapters/cli/codex-app.d.ts.map +1 -0
  22. package/dist/adapters/cli/codex-app.js +72 -0
  23. package/dist/adapters/cli/codex-app.js.map +1 -0
  24. package/dist/adapters/cli/codex.d.ts.map +1 -1
  25. package/dist/adapters/cli/codex.js +6 -1
  26. package/dist/adapters/cli/codex.js.map +1 -1
  27. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  28. package/dist/adapters/cli/cursor.js +58 -12
  29. package/dist/adapters/cli/cursor.js.map +1 -1
  30. package/dist/adapters/cli/gemini.d.ts.map +1 -1
  31. package/dist/adapters/cli/gemini.js +5 -1
  32. package/dist/adapters/cli/gemini.js.map +1 -1
  33. package/dist/adapters/cli/hermes.d.ts +4 -0
  34. package/dist/adapters/cli/hermes.d.ts.map +1 -0
  35. package/dist/adapters/cli/hermes.js +40 -0
  36. package/dist/adapters/cli/hermes.js.map +1 -0
  37. package/dist/adapters/cli/mira.d.ts +4 -0
  38. package/dist/adapters/cli/mira.d.ts.map +1 -0
  39. package/dist/adapters/cli/mira.js +67 -0
  40. package/dist/adapters/cli/mira.js.map +1 -0
  41. package/dist/adapters/cli/mtr.d.ts +5 -0
  42. package/dist/adapters/cli/mtr.d.ts.map +1 -0
  43. package/dist/adapters/cli/mtr.js +62 -0
  44. package/dist/adapters/cli/mtr.js.map +1 -0
  45. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  46. package/dist/adapters/cli/opencode.js +19 -1
  47. package/dist/adapters/cli/opencode.js.map +1 -1
  48. package/dist/adapters/cli/registry.d.ts +5 -1
  49. package/dist/adapters/cli/registry.d.ts.map +1 -1
  50. package/dist/adapters/cli/registry.js +22 -2
  51. package/dist/adapters/cli/registry.js.map +1 -1
  52. package/dist/adapters/cli/shared-hints.d.ts +1 -1
  53. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  54. package/dist/adapters/cli/shared-hints.js +2 -1
  55. package/dist/adapters/cli/shared-hints.js.map +1 -1
  56. package/dist/adapters/cli/types.d.ts +35 -2
  57. package/dist/adapters/cli/types.d.ts.map +1 -1
  58. package/dist/adapters/hook-command.d.ts +18 -0
  59. package/dist/adapters/hook-command.d.ts.map +1 -0
  60. package/dist/adapters/hook-command.js +38 -0
  61. package/dist/adapters/hook-command.js.map +1 -0
  62. package/dist/adapters/hook-installer.d.ts +14 -0
  63. package/dist/adapters/hook-installer.d.ts.map +1 -0
  64. package/dist/adapters/hook-installer.js +192 -0
  65. package/dist/adapters/hook-installer.js.map +1 -0
  66. package/dist/bot-registry.d.ts +59 -0
  67. package/dist/bot-registry.d.ts.map +1 -1
  68. package/dist/bot-registry.js +67 -0
  69. package/dist/bot-registry.js.map +1 -1
  70. package/dist/cli/bots-list-output.d.ts +8 -0
  71. package/dist/cli/bots-list-output.d.ts.map +1 -1
  72. package/dist/cli/bots-list-output.js +9 -0
  73. package/dist/cli/bots-list-output.js.map +1 -1
  74. package/dist/cli.d.ts +15 -1
  75. package/dist/cli.d.ts.map +1 -1
  76. package/dist/cli.js +603 -106
  77. package/dist/cli.js.map +1 -1
  78. package/dist/codex-app-runner.d.ts +3 -0
  79. package/dist/codex-app-runner.d.ts.map +1 -0
  80. package/dist/codex-app-runner.js +512 -0
  81. package/dist/codex-app-runner.js.map +1 -0
  82. package/dist/config.d.ts +11 -2
  83. package/dist/config.d.ts.map +1 -1
  84. package/dist/config.js +17 -4
  85. package/dist/config.js.map +1 -1
  86. package/dist/core/ask-api.d.ts +47 -0
  87. package/dist/core/ask-api.d.ts.map +1 -0
  88. package/dist/core/ask-api.js +139 -0
  89. package/dist/core/ask-api.js.map +1 -0
  90. package/dist/core/ask-args.d.ts +53 -0
  91. package/dist/core/ask-args.d.ts.map +1 -0
  92. package/dist/core/ask-args.js +122 -0
  93. package/dist/core/ask-args.js.map +1 -0
  94. package/dist/core/ask-broker.d.ts +98 -0
  95. package/dist/core/ask-broker.d.ts.map +1 -0
  96. package/dist/core/ask-broker.js +329 -0
  97. package/dist/core/ask-broker.js.map +1 -0
  98. package/dist/core/ask-hook/claude-code.d.ts +50 -0
  99. package/dist/core/ask-hook/claude-code.d.ts.map +1 -0
  100. package/dist/core/ask-hook/claude-code.js +145 -0
  101. package/dist/core/ask-hook/claude-code.js.map +1 -0
  102. package/dist/core/ask-hook/codex.d.ts +43 -0
  103. package/dist/core/ask-hook/codex.d.ts.map +1 -0
  104. package/dist/core/ask-hook/codex.js +69 -0
  105. package/dist/core/ask-hook/codex.js.map +1 -0
  106. package/dist/core/ask-hook/opencode.d.ts +41 -0
  107. package/dist/core/ask-hook/opencode.d.ts.map +1 -0
  108. package/dist/core/ask-hook/opencode.js +108 -0
  109. package/dist/core/ask-hook/opencode.js.map +1 -0
  110. package/dist/core/ask-hook/registry.d.ts +3 -0
  111. package/dist/core/ask-hook/registry.d.ts.map +1 -0
  112. package/dist/core/ask-hook/registry.js +12 -0
  113. package/dist/core/ask-hook/registry.js.map +1 -0
  114. package/dist/core/ask-hook/types.d.ts +26 -0
  115. package/dist/core/ask-hook/types.d.ts.map +1 -0
  116. package/dist/core/ask-hook/types.js +2 -0
  117. package/dist/core/ask-hook/types.js.map +1 -0
  118. package/dist/core/ask-types.d.ts +146 -0
  119. package/dist/core/ask-types.d.ts.map +1 -0
  120. package/dist/core/ask-types.js +18 -0
  121. package/dist/core/ask-types.js.map +1 -0
  122. package/dist/core/command-handler.d.ts +20 -0
  123. package/dist/core/command-handler.d.ts.map +1 -1
  124. package/dist/core/command-handler.js +774 -311
  125. package/dist/core/command-handler.js.map +1 -1
  126. package/dist/core/dashboard-ipc-server.d.ts +2 -0
  127. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  128. package/dist/core/dashboard-ipc-server.js +222 -2
  129. package/dist/core/dashboard-ipc-server.js.map +1 -1
  130. package/dist/core/role-resolver.d.ts +17 -1
  131. package/dist/core/role-resolver.d.ts.map +1 -1
  132. package/dist/core/role-resolver.js +64 -10
  133. package/dist/core/role-resolver.js.map +1 -1
  134. package/dist/core/session-discovery.d.ts.map +1 -1
  135. package/dist/core/session-discovery.js +19 -5
  136. package/dist/core/session-discovery.js.map +1 -1
  137. package/dist/core/session-manager.d.ts +1 -1
  138. package/dist/core/session-manager.d.ts.map +1 -1
  139. package/dist/core/session-manager.js +37 -20
  140. package/dist/core/session-manager.js.map +1 -1
  141. package/dist/core/trigger-session.d.ts +9 -0
  142. package/dist/core/trigger-session.d.ts.map +1 -0
  143. package/dist/core/trigger-session.js +158 -0
  144. package/dist/core/trigger-session.js.map +1 -0
  145. package/dist/core/types.d.ts +5 -0
  146. package/dist/core/types.d.ts.map +1 -1
  147. package/dist/core/types.js.map +1 -1
  148. package/dist/core/worker-pool.d.ts +141 -0
  149. package/dist/core/worker-pool.d.ts.map +1 -1
  150. package/dist/core/worker-pool.js +543 -24
  151. package/dist/core/worker-pool.js.map +1 -1
  152. package/dist/daemon.d.ts.map +1 -1
  153. package/dist/daemon.js +213 -58
  154. package/dist/daemon.js.map +1 -1
  155. package/dist/dashboard/auth.d.ts +6 -1
  156. package/dist/dashboard/auth.d.ts.map +1 -1
  157. package/dist/dashboard/auth.js +9 -1
  158. package/dist/dashboard/auth.js.map +1 -1
  159. package/dist/dashboard/connector-api.d.ts +3 -0
  160. package/dist/dashboard/connector-api.d.ts.map +1 -0
  161. package/dist/dashboard/connector-api.js +351 -0
  162. package/dist/dashboard/connector-api.js.map +1 -0
  163. package/dist/dashboard/federated-group-core.d.ts +54 -0
  164. package/dist/dashboard/federated-group-core.d.ts.map +1 -0
  165. package/dist/dashboard/federated-group-core.js +165 -0
  166. package/dist/dashboard/federated-group-core.js.map +1 -0
  167. package/dist/dashboard/federation-api.d.ts +42 -0
  168. package/dist/dashboard/federation-api.d.ts.map +1 -0
  169. package/dist/dashboard/federation-api.js +408 -0
  170. package/dist/dashboard/federation-api.js.map +1 -0
  171. package/dist/dashboard/federation-spoke-api.d.ts +76 -0
  172. package/dist/dashboard/federation-spoke-api.d.ts.map +1 -0
  173. package/dist/dashboard/federation-spoke-api.js +618 -0
  174. package/dist/dashboard/federation-spoke-api.js.map +1 -0
  175. package/dist/dashboard/team-group.d.ts +18 -0
  176. package/dist/dashboard/team-group.d.ts.map +1 -0
  177. package/dist/dashboard/team-group.js +7 -0
  178. package/dist/dashboard/team-group.js.map +1 -0
  179. package/dist/dashboard/trigger-api.d.ts +13 -0
  180. package/dist/dashboard/trigger-api.d.ts.map +1 -0
  181. package/dist/dashboard/trigger-api.js +77 -0
  182. package/dist/dashboard/trigger-api.js.map +1 -0
  183. package/dist/dashboard/web/app.js +8 -0
  184. package/dist/dashboard/web/app.js.map +1 -1
  185. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  186. package/dist/dashboard/web/bot-defaults.js +205 -21
  187. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  188. package/dist/dashboard/web/connectors.d.ts +2 -0
  189. package/dist/dashboard/web/connectors.d.ts.map +1 -0
  190. package/dist/dashboard/web/connectors.js +187 -0
  191. package/dist/dashboard/web/connectors.js.map +1 -0
  192. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  193. package/dist/dashboard/web/i18n.js +43 -5
  194. package/dist/dashboard/web/i18n.js.map +1 -1
  195. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  196. package/dist/dashboard/web/sessions.js +4 -0
  197. package/dist/dashboard/web/sessions.js.map +1 -1
  198. package/dist/dashboard/web/team-federation.d.ts +3 -0
  199. package/dist/dashboard/web/team-federation.d.ts.map +1 -0
  200. package/dist/dashboard/web/team-federation.js +487 -0
  201. package/dist/dashboard/web/team-federation.js.map +1 -0
  202. package/dist/dashboard/web/workflows.js +3 -3
  203. package/dist/dashboard/web/workflows.js.map +1 -1
  204. package/dist/dashboard/webhook-routes.d.ts +19 -0
  205. package/dist/dashboard/webhook-routes.d.ts.map +1 -0
  206. package/dist/dashboard/webhook-routes.js +321 -0
  207. package/dist/dashboard/webhook-routes.js.map +1 -0
  208. package/dist/dashboard/workflow-api.d.ts +8 -1
  209. package/dist/dashboard/workflow-api.d.ts.map +1 -1
  210. package/dist/dashboard/workflow-api.js +19 -4
  211. package/dist/dashboard/workflow-api.js.map +1 -1
  212. package/dist/dashboard-web/app.js +539 -375
  213. package/dist/dashboard-web/index.html +3 -1
  214. package/dist/dashboard-web/style.css +22 -0
  215. package/dist/dashboard.js +199 -2
  216. package/dist/dashboard.js.map +1 -1
  217. package/dist/i18n/en.d.ts.map +1 -1
  218. package/dist/i18n/en.js +104 -11
  219. package/dist/i18n/en.js.map +1 -1
  220. package/dist/i18n/zh.d.ts.map +1 -1
  221. package/dist/i18n/zh.js +104 -11
  222. package/dist/i18n/zh.js.map +1 -1
  223. package/dist/im/lark/ask-card.d.ts +55 -0
  224. package/dist/im/lark/ask-card.d.ts.map +1 -0
  225. package/dist/im/lark/ask-card.js +328 -0
  226. package/dist/im/lark/ask-card.js.map +1 -0
  227. package/dist/im/lark/card-builder.d.ts +108 -3
  228. package/dist/im/lark/card-builder.d.ts.map +1 -1
  229. package/dist/im/lark/card-builder.js +480 -50
  230. package/dist/im/lark/card-builder.js.map +1 -1
  231. package/dist/im/lark/card-handler.d.ts.map +1 -1
  232. package/dist/im/lark/card-handler.js +241 -18
  233. package/dist/im/lark/card-handler.js.map +1 -1
  234. package/dist/im/lark/client.d.ts +83 -0
  235. package/dist/im/lark/client.d.ts.map +1 -1
  236. package/dist/im/lark/client.js +286 -70
  237. package/dist/im/lark/client.js.map +1 -1
  238. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  239. package/dist/im/lark/event-dispatcher.js +29 -4
  240. package/dist/im/lark/event-dispatcher.js.map +1 -1
  241. package/dist/im/lark/grant-command.d.ts +2 -1
  242. package/dist/im/lark/grant-command.d.ts.map +1 -1
  243. package/dist/im/lark/grant-command.js +3 -2
  244. package/dist/im/lark/grant-command.js.map +1 -1
  245. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  246. package/dist/im/lark/identity-cache.js +3 -3
  247. package/dist/im/lark/identity-cache.js.map +1 -1
  248. package/dist/im/lark/md-card.d.ts +20 -2
  249. package/dist/im/lark/md-card.d.ts.map +1 -1
  250. package/dist/im/lark/md-card.js +49 -17
  251. package/dist/im/lark/md-card.js.map +1 -1
  252. package/dist/im/lark/message-parser.d.ts.map +1 -1
  253. package/dist/im/lark/message-parser.js +87 -31
  254. package/dist/im/lark/message-parser.js.map +1 -1
  255. package/dist/im/lark/workflow-card-handler.d.ts +2 -2
  256. package/dist/im/lark/workflow-card-handler.d.ts.map +1 -1
  257. package/dist/im/lark/workflow-card-handler.js +12 -1
  258. package/dist/im/lark/workflow-card-handler.js.map +1 -1
  259. package/dist/im/lark/workflow-progress-card.d.ts.map +1 -1
  260. package/dist/im/lark/workflow-progress-card.js +53 -0
  261. package/dist/im/lark/workflow-progress-card.js.map +1 -1
  262. package/dist/mira-output.d.ts +3 -0
  263. package/dist/mira-output.d.ts.map +1 -0
  264. package/dist/mira-output.js +136 -0
  265. package/dist/mira-output.js.map +1 -0
  266. package/dist/mira-runner.d.ts +3 -0
  267. package/dist/mira-runner.d.ts.map +1 -0
  268. package/dist/mira-runner.js +534 -0
  269. package/dist/mira-runner.js.map +1 -0
  270. package/dist/services/bot-owner-store.d.ts +28 -0
  271. package/dist/services/bot-owner-store.d.ts.map +1 -0
  272. package/dist/services/bot-owner-store.js +82 -0
  273. package/dist/services/bot-owner-store.js.map +1 -0
  274. package/dist/services/bot-profile-store.d.ts +16 -0
  275. package/dist/services/bot-profile-store.d.ts.map +1 -0
  276. package/dist/services/bot-profile-store.js +98 -0
  277. package/dist/services/bot-profile-store.js.map +1 -0
  278. package/dist/services/brand-store.d.ts +15 -0
  279. package/dist/services/brand-store.d.ts.map +1 -0
  280. package/dist/services/brand-store.js +47 -0
  281. package/dist/services/brand-store.js.map +1 -0
  282. package/dist/services/card-prefs-store.d.ts +20 -0
  283. package/dist/services/card-prefs-store.d.ts.map +1 -0
  284. package/dist/services/card-prefs-store.js +82 -0
  285. package/dist/services/card-prefs-store.js.map +1 -0
  286. package/dist/services/codex-bridge-queue.d.ts +1 -0
  287. package/dist/services/codex-bridge-queue.d.ts.map +1 -1
  288. package/dist/services/codex-bridge-queue.js +23 -0
  289. package/dist/services/codex-bridge-queue.js.map +1 -1
  290. package/dist/services/codex-transcript.d.ts +1 -0
  291. package/dist/services/codex-transcript.d.ts.map +1 -1
  292. package/dist/services/codex-transcript.js.map +1 -1
  293. package/dist/services/connector-store.d.ts +58 -0
  294. package/dist/services/connector-store.d.ts.map +1 -0
  295. package/dist/services/connector-store.js +79 -0
  296. package/dist/services/connector-store.js.map +1 -0
  297. package/dist/services/deployment-identity.d.ts +22 -0
  298. package/dist/services/deployment-identity.d.ts.map +1 -0
  299. package/dist/services/deployment-identity.js +67 -0
  300. package/dist/services/deployment-identity.js.map +1 -0
  301. package/dist/services/federation-membership-store.d.ts +23 -0
  302. package/dist/services/federation-membership-store.d.ts.map +1 -0
  303. package/dist/services/federation-membership-store.js +66 -0
  304. package/dist/services/federation-membership-store.js.map +1 -0
  305. package/dist/services/federation-roster.d.ts +54 -0
  306. package/dist/services/federation-roster.d.ts.map +1 -0
  307. package/dist/services/federation-roster.js +51 -0
  308. package/dist/services/federation-roster.js.map +1 -0
  309. package/dist/services/federation-store.d.ts +76 -0
  310. package/dist/services/federation-store.d.ts.map +1 -0
  311. package/dist/services/federation-store.js +133 -0
  312. package/dist/services/federation-store.js.map +1 -0
  313. package/dist/services/grant-store.d.ts +12 -2
  314. package/dist/services/grant-store.d.ts.map +1 -1
  315. package/dist/services/grant-store.js +51 -4
  316. package/dist/services/grant-store.js.map +1 -1
  317. package/dist/services/group-creator.d.ts +10 -0
  318. package/dist/services/group-creator.d.ts.map +1 -1
  319. package/dist/services/group-creator.js +26 -1
  320. package/dist/services/group-creator.js.map +1 -1
  321. package/dist/services/groups-store.d.ts +30 -0
  322. package/dist/services/groups-store.d.ts.map +1 -1
  323. package/dist/services/groups-store.js +85 -12
  324. package/dist/services/groups-store.js.map +1 -1
  325. package/dist/services/hermes-transcript.d.ts +7 -0
  326. package/dist/services/hermes-transcript.d.ts.map +1 -0
  327. package/dist/services/hermes-transcript.js +117 -0
  328. package/dist/services/hermes-transcript.js.map +1 -0
  329. package/dist/services/invite-store.d.ts +28 -0
  330. package/dist/services/invite-store.d.ts.map +1 -0
  331. package/dist/services/invite-store.js +85 -0
  332. package/dist/services/invite-store.js.map +1 -0
  333. package/dist/services/pairing-store.d.ts +47 -0
  334. package/dist/services/pairing-store.d.ts.map +1 -0
  335. package/dist/services/pairing-store.js +132 -0
  336. package/dist/services/pairing-store.js.map +1 -0
  337. package/dist/services/project-scanner.d.ts +10 -0
  338. package/dist/services/project-scanner.d.ts.map +1 -1
  339. package/dist/services/project-scanner.js +11 -0
  340. package/dist/services/project-scanner.js.map +1 -1
  341. package/dist/services/relay-picker.d.ts +22 -0
  342. package/dist/services/relay-picker.d.ts.map +1 -0
  343. package/dist/services/relay-picker.js +62 -0
  344. package/dist/services/relay-picker.js.map +1 -0
  345. package/dist/services/send-policy.d.ts +55 -0
  346. package/dist/services/send-policy.d.ts.map +1 -0
  347. package/dist/services/send-policy.js +47 -0
  348. package/dist/services/send-policy.js.map +1 -0
  349. package/dist/services/session-store.js +1 -1
  350. package/dist/services/session-store.js.map +1 -1
  351. package/dist/services/team-roster.d.ts +38 -0
  352. package/dist/services/team-roster.d.ts.map +1 -0
  353. package/dist/services/team-roster.js +82 -0
  354. package/dist/services/team-roster.js.map +1 -0
  355. package/dist/services/team-store.d.ts +54 -0
  356. package/dist/services/team-store.d.ts.map +1 -0
  357. package/dist/services/team-store.js +156 -0
  358. package/dist/services/team-store.js.map +1 -0
  359. package/dist/services/trigger-log-store.d.ts +46 -0
  360. package/dist/services/trigger-log-store.d.ts.map +1 -0
  361. package/dist/services/trigger-log-store.js +132 -0
  362. package/dist/services/trigger-log-store.js.map +1 -0
  363. package/dist/services/trigger-types.d.ts +57 -0
  364. package/dist/services/trigger-types.d.ts.map +1 -0
  365. package/dist/services/trigger-types.js +28 -0
  366. package/dist/services/trigger-types.js.map +1 -0
  367. package/dist/services/webhook-key.d.ts +16 -0
  368. package/dist/services/webhook-key.d.ts.map +1 -0
  369. package/dist/services/webhook-key.js +123 -0
  370. package/dist/services/webhook-key.js.map +1 -0
  371. package/dist/services/webhook-lifecycle-extractors.d.ts +15 -0
  372. package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -0
  373. package/dist/services/webhook-lifecycle-extractors.js +59 -0
  374. package/dist/services/webhook-lifecycle-extractors.js.map +1 -0
  375. package/dist/services/webhook-lifecycle-store.d.ts +45 -0
  376. package/dist/services/webhook-lifecycle-store.d.ts.map +1 -0
  377. package/dist/services/webhook-lifecycle-store.js +159 -0
  378. package/dist/services/webhook-lifecycle-store.js.map +1 -0
  379. package/dist/setup/bot-config-editor.d.ts +8 -1
  380. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  381. package/dist/setup/bot-config-editor.js +20 -2
  382. package/dist/setup/bot-config-editor.js.map +1 -1
  383. package/dist/setup/ensure-tmux.d.ts +0 -22
  384. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  385. package/dist/setup/ensure-tmux.js +25 -1
  386. package/dist/setup/ensure-tmux.js.map +1 -1
  387. package/dist/setup/verify-permissions.d.ts.map +1 -1
  388. package/dist/setup/verify-permissions.js +15 -1
  389. package/dist/setup/verify-permissions.js.map +1 -1
  390. package/dist/skills/definitions.d.ts +2 -0
  391. package/dist/skills/definitions.d.ts.map +1 -1
  392. package/dist/skills/definitions.js +178 -12
  393. package/dist/skills/definitions.js.map +1 -1
  394. package/dist/skills/installer.d.ts +34 -0
  395. package/dist/skills/installer.d.ts.map +1 -1
  396. package/dist/skills/installer.js +119 -2
  397. package/dist/skills/installer.js.map +1 -1
  398. package/dist/types.d.ts +25 -0
  399. package/dist/types.d.ts.map +1 -1
  400. package/dist/utils/bot-routing.d.ts +50 -0
  401. package/dist/utils/bot-routing.d.ts.map +1 -1
  402. package/dist/utils/bot-routing.js +83 -0
  403. package/dist/utils/bot-routing.js.map +1 -1
  404. package/dist/utils/daemon-discovery.d.ts +11 -0
  405. package/dist/utils/daemon-discovery.d.ts.map +1 -0
  406. package/dist/utils/daemon-discovery.js +59 -0
  407. package/dist/utils/daemon-discovery.js.map +1 -0
  408. package/dist/utils/user-token.d.ts.map +1 -1
  409. package/dist/utils/user-token.js +0 -2
  410. package/dist/utils/user-token.js.map +1 -1
  411. package/dist/worker.js +198 -27
  412. package/dist/worker.js.map +1 -1
  413. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  414. package/dist/workflows/attempt-resume.js +2 -2
  415. package/dist/workflows/attempt-resume.js.map +1 -1
  416. package/dist/workflows/definition.d.ts +412 -9
  417. package/dist/workflows/definition.d.ts.map +1 -1
  418. package/dist/workflows/definition.js +238 -3
  419. package/dist/workflows/definition.js.map +1 -1
  420. package/dist/workflows/events/payloads.d.ts +114 -11
  421. package/dist/workflows/events/payloads.d.ts.map +1 -1
  422. package/dist/workflows/events/payloads.js +46 -0
  423. package/dist/workflows/events/payloads.js.map +1 -1
  424. package/dist/workflows/events/replay.d.ts +21 -0
  425. package/dist/workflows/events/replay.d.ts.map +1 -1
  426. package/dist/workflows/events/replay.js +103 -0
  427. package/dist/workflows/events/replay.js.map +1 -1
  428. package/dist/workflows/events/schema.d.ts +1301 -606
  429. package/dist/workflows/events/schema.d.ts.map +1 -1
  430. package/dist/workflows/events/schema.js +37 -1
  431. package/dist/workflows/events/schema.js.map +1 -1
  432. package/dist/workflows/events/types.d.ts +5 -1
  433. package/dist/workflows/events/types.d.ts.map +1 -1
  434. package/dist/workflows/loader.d.ts +14 -0
  435. package/dist/workflows/loader.d.ts.map +1 -1
  436. package/dist/workflows/loader.js +27 -0
  437. package/dist/workflows/loader.js.map +1 -1
  438. package/dist/workflows/loop.js +58 -0
  439. package/dist/workflows/loop.js.map +1 -1
  440. package/dist/workflows/ops-projection.d.ts +58 -0
  441. package/dist/workflows/ops-projection.d.ts.map +1 -1
  442. package/dist/workflows/ops-projection.js +74 -0
  443. package/dist/workflows/ops-projection.js.map +1 -1
  444. package/dist/workflows/orchestrator.d.ts +65 -1
  445. package/dist/workflows/orchestrator.d.ts.map +1 -1
  446. package/dist/workflows/orchestrator.js +486 -74
  447. package/dist/workflows/orchestrator.js.map +1 -1
  448. package/dist/workflows/output-binding.d.ts +8 -1
  449. package/dist/workflows/output-binding.d.ts.map +1 -1
  450. package/dist/workflows/output-binding.js +75 -11
  451. package/dist/workflows/output-binding.js.map +1 -1
  452. package/dist/workflows/runtime.d.ts +1 -1
  453. package/dist/workflows/runtime.d.ts.map +1 -1
  454. package/dist/workflows/runtime.js +39 -4
  455. package/dist/workflows/runtime.js.map +1 -1
  456. package/dist/workflows/trigger-from-envelope.d.ts +13 -0
  457. package/dist/workflows/trigger-from-envelope.d.ts.map +1 -0
  458. package/dist/workflows/trigger-from-envelope.js +67 -0
  459. package/dist/workflows/trigger-from-envelope.js.map +1 -0
  460. package/dist/workflows/wait.d.ts +23 -2
  461. package/dist/workflows/wait.d.ts.map +1 -1
  462. package/dist/workflows/wait.js +39 -17
  463. package/dist/workflows/wait.js.map +1 -1
  464. package/package.json +1 -1
  465. package/dist/services/feishu-task-client.d.ts +0 -28
  466. package/dist/services/feishu-task-client.d.ts.map +0 -1
  467. package/dist/services/feishu-task-client.js +0 -123
  468. package/dist/services/feishu-task-client.js.map +0 -1
  469. package/dist/services/task-store.d.ts +0 -37
  470. package/dist/services/task-store.d.ts.map +0 -1
  471. package/dist/services/task-store.js +0 -115
  472. package/dist/services/task-store.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"card-builder.js","sourceRoot":"","sources":["../../../src/im/lark/card-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-builder.js","sourceRoot":"","sources":["../../../src/im/lark/card-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AASpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKrE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA21BpH"}
1
+ {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKrE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA4kCpH"}
@@ -1,16 +1,17 @@
1
1
  import { config } from '../../config.js';
2
2
  import { getBot, getAllBots, getOwnerOpenId } from '../../bot-registry.js';
3
3
  import { canOperate } from './event-dispatcher.js';
4
- import { sendUserMessage, updateMessage, deleteMessage, replyMessage } from './client.js';
4
+ import { sendUserMessage, updateMessage, deleteMessage, replyMessage, sendMessage, sendEphemeralCard } from './client.js';
5
5
  import { buildSessionCard, buildStreamingCard, buildTuiPromptCard, buildTuiPromptProcessingCard, buildTuiPromptResolvedCard, buildSessionClosedCard, buildGrantResultCard, buildGrantNotifyCard, getCliDisplayName, truncateContent } from './card-builder.js';
6
- import { addChatGrant } from '../../services/grant-store.js';
6
+ import { addChatGrant, addGlobalGrant } from '../../services/grant-store.js';
7
7
  import { checkNonce, clearPending, markDenied } from './grant-pending.js';
8
8
  import { handleWorkflowApprovalAction, isWorkflowApprovalAction, } from './workflow-card-handler.js';
9
+ import { handleAskCardAction, isAskCardAction } from './ask-card.js';
9
10
  import { createCliAdapterSync } from '../../adapters/cli/registry.js';
10
11
  import { logger } from '../../utils/logger.js';
11
12
  import * as sessionStore from '../../services/session-store.js';
12
13
  import { loadFrozenCards, saveFrozenCards } from '../../services/frozen-card-store.js';
13
- import { forkWorker, killWorker, scheduleCardPatch, parkStreamCard, clearUsageLimitState, cardUsageLimit, CARD_POSTING_SENTINEL } from '../../core/worker-pool.js';
14
+ import { forkWorker, killWorker, scheduleCardPatch, parkStreamCard, clearUsageLimitState, cardUsageLimit, writableTerminalLinkFor, resolvePrivateCardAudience, CARD_POSTING_SENTINEL } from '../../core/worker-pool.js';
14
15
  import { getSessionWorkingDir, buildNewTopicPrompt, getAvailableBots, persistStreamCardState, resumeSession, rememberLastCliInput } from '../../core/session-manager.js';
15
16
  import { sessionKey, sessionAnchorId, frozenDisplayMode } from '../../core/types.js';
16
17
  import { t, localeForBot } from '../../i18n/index.js';
@@ -79,9 +80,9 @@ export async function handleCardAction(data, deps, larkAppId) {
79
80
  // Use the receiving bot's allowedUsers — the operator open_id in card actions
80
81
  // is scoped to the app that received the callback.
81
82
  const operatorOpenId = data?.operator?.open_id;
82
- // ─── 群内授权卡片动作(grant_chat / grant_deny,talk-only)─────────────
83
+ // ─── 群内授权卡片动作(grant_chat / grant_global / grant_deny,talk-only)─────
83
84
  // 不绑定 session,必须在 session 解析之前处理。owner 强闸门 + nonce 校验。
84
- if (value?.action && (value.action === 'grant_chat' || value.action === 'grant_deny') && larkAppId) {
85
+ if (value?.action && (value.action === 'grant_chat' || value.action === 'grant_global' || value.action === 'grant_deny') && larkAppId) {
85
86
  const loc = localeForBot(larkAppId);
86
87
  const owner = getOwnerOpenId(larkAppId);
87
88
  // owner 强闸门:必须是当前 app 的 owner 本人(比 canOperate 更严)
@@ -101,15 +102,18 @@ export async function handleCardAction(data, deps, larkAppId) {
101
102
  markDenied(larkAppId, grantChatId, target);
102
103
  return JSON.parse(buildGrantResultCard('deny', loc));
103
104
  }
104
- // 授权(talk-only):只写本群 chatGrants,绝不碰 allowedUsers(operate 只由 bots.json 配)。
105
+ // 授权(talk-only):grant_chat 写本群 chatGrants,grant_global 写全局 globalGrants,
106
+ // 两者都绝不碰 allowedUsers(operate 只由 bots.json 配)。
105
107
  // 落库失败不撤卡、保留 pending(owner 可重试),给 toast。
106
- const res = await addChatGrant(larkAppId, grantChatId, target);
108
+ const kind = value.action === 'grant_global' ? 'global' : 'chat';
109
+ const res = kind === 'global'
110
+ ? await addGlobalGrant(larkAppId, target)
111
+ : await addChatGrant(larkAppId, grantChatId, target);
107
112
  if (!res.ok) {
108
113
  logger.warn(`Grant action "${value.action}" store failed: ${res.reason}`);
109
114
  return { toast: { type: 'error', content: t('card.grant.toast_failed', { reason: res.reason }, loc) } };
110
115
  }
111
116
  clearPending(larkAppId, grantChatId, target);
112
- const kind = 'chat';
113
117
  // 授权成功后:在原线程 @ 被授权人发通知 + 撤回授权卡(用户要求)。
114
118
  // 这两步失败不回滚授权(已落库),仅记日志,并兜底用 in-place patch 让 owner 看到结果。
115
119
  if (cardMessageId) {
@@ -130,6 +134,203 @@ export async function handleCardAction(data, deps, larkAppId) {
130
134
  // 兜底(无 card message_id,或撤回失败):靠 callback 返回 patch 原地更新卡。
131
135
  return JSON.parse(buildGrantResultCard(kind, loc));
132
136
  }
137
+ if (isAskCardAction(value?.action)) {
138
+ return handleAskCardAction(data);
139
+ }
140
+ // ─── /relay picker: state-changing actions (select / page / search) ────
141
+ // These three actions all re-render the picker card with updated state:
142
+ // • relay_select — user clicked a session card → set as selectedSessionId
143
+ // • relay_page — user clicked prev/next page → bump page index
144
+ // • relay_search — user submitted the search form → apply new query (reset page)
145
+ //
146
+ // The card is stateless on the Lark side, so each callback value carries
147
+ // the FULL state (search / page / selected / target_chat_id / root_id);
148
+ // we just compute the new state from the action and re-render.
149
+ if (value?.action && larkAppId && ['relay_select', 'relay_page', 'relay_search'].includes(value.action)) {
150
+ const loc = localeForBot(larkAppId);
151
+ const targetChatId = value.target_chat_id;
152
+ const targetRootId = value.root_id;
153
+ const invokerOpenId = value.invoker_open_id;
154
+ if (!targetChatId || !targetRootId || !operatorOpenId) {
155
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: 'missing_value' }, loc) } };
156
+ }
157
+ // Picker is owner-only: only the user who summoned it may flip pages,
158
+ // search, or select. Otherwise A's invocation in a shared chat could be
159
+ // silently swapped to C's session list when C clicks a button. Cards
160
+ // built before this guard was deployed lack invoker_open_id — we let
161
+ // them through (legacy) rather than break in-flight pickers; new cards
162
+ // are protected from the moment they're rendered.
163
+ if (invokerOpenId && invokerOpenId !== operatorOpenId) {
164
+ return { toast: { type: 'error', content: t('card.relay.toast_not_invoker', undefined, loc) } };
165
+ }
166
+ // Reconstruct the next state from the action.
167
+ const carriedSearch = value.search ?? '';
168
+ const carriedPage = Number(value.page ?? 0) || 0;
169
+ const carriedSelected = value.selected ?? '';
170
+ let nextSearch = carriedSearch;
171
+ let nextPage = carriedPage;
172
+ let nextSelected = carriedSelected || undefined;
173
+ if (value.action === 'relay_search') {
174
+ // v2 input fires `behaviors[].callback` directly — the typed text
175
+ // arrives as action.input_value (NOT form_value), since we're no
176
+ // longer wrapping the input in a form. Reset page on new search.
177
+ nextSearch = String(action?.input_value ?? '').trim();
178
+ nextPage = 0;
179
+ // Don't carry over the selection on a new search — the selected entry
180
+ // may not match the new filter, and even if it does, "I just searched
181
+ // for something else" implies the user is changing what they want.
182
+ nextSelected = undefined;
183
+ }
184
+ else if (value.action === 'relay_page') {
185
+ nextPage = Number(value.page ?? 0) || 0;
186
+ }
187
+ else if (value.action === 'relay_select') {
188
+ nextSelected = value.session_id;
189
+ }
190
+ const { collectRelayPickerEntries } = await import('../../services/relay-picker.js');
191
+ const entries = await collectRelayPickerEntries(activeSessions, larkAppId, targetChatId, operatorOpenId);
192
+ const { buildRelayPickerCard } = await import('./card-builder.js');
193
+ const cardJson = buildRelayPickerCard(entries, targetChatId, targetRootId,
194
+ // Preserve the original invoker so the re-rendered card stays bound
195
+ // to them. Fall back to operatorOpenId for legacy cards rendered
196
+ // before invoker_open_id was added (shouldn't normally happen since
197
+ // the check above already lets legacy through, but a render needs a
198
+ // string regardless).
199
+ invokerOpenId ?? operatorOpenId, loc, {
200
+ selectedSessionId: nextSelected,
201
+ searchQuery: nextSearch,
202
+ page: nextPage,
203
+ });
204
+ // Return an updated card body — event-dispatcher wraps this as
205
+ // { card: { type: 'raw', data: <body> } } so Lark patches the picker
206
+ // in place rather than appending a new message.
207
+ return JSON.parse(cardJson);
208
+ }
209
+ // ─── /relay picker: confirm transfer (stage 2 → done) ──────────────────
210
+ // The confirm button on the picker card fires this. Same logic as the
211
+ // original (pre-two-stage) relay_pickup action: owner-check, pre-flight
212
+ // conflict check, send M1, transferSession, delete picker card.
213
+ if (value?.action === 'relay_confirm' && larkAppId) {
214
+ const loc = localeForBot(larkAppId);
215
+ const sourceSessionId = value.session_id;
216
+ const targetChatId = value.target_chat_id;
217
+ const targetRootId = value.root_id;
218
+ const invokerOpenId = value.invoker_open_id;
219
+ if (!sourceSessionId || !targetChatId || !targetRootId) {
220
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: 'missing_value' }, loc) } };
221
+ }
222
+ // Invoker-only confirm: redundant with the ownerOpenId check below in
223
+ // normal flow (invoker = session owner = picker invoker), but defends
224
+ // against the edge case where the source session changed owners after
225
+ // the picker was rendered, OR where the picker was shared/forwarded.
226
+ // Legacy cards (no invoker_open_id) fall through to ownerOpenId only.
227
+ if (invokerOpenId && operatorOpenId && invokerOpenId !== operatorOpenId) {
228
+ return { toast: { type: 'error', content: t('card.relay.toast_not_invoker', undefined, loc) } };
229
+ }
230
+ // Locate the source session in the in-process registry. Since picker only
231
+ // lists sessions of THIS bot in OTHER chats, the source must live in our
232
+ // activeSessions — if it's gone, treat as not found rather than reaching
233
+ // across daemons (cross-daemon pull is out of v1 scope).
234
+ let sourceDs;
235
+ for (const cand of activeSessions.values()) {
236
+ if (cand.larkAppId === larkAppId && cand.session.sessionId === sourceSessionId) {
237
+ sourceDs = cand;
238
+ break;
239
+ }
240
+ }
241
+ if (!sourceDs) {
242
+ return { toast: { type: 'error', content: t('card.relay.toast_not_found', undefined, loc) } };
243
+ }
244
+ if (sourceDs.session.ownerOpenId && sourceDs.session.ownerOpenId !== operatorOpenId) {
245
+ return { toast: { type: 'error', content: t('card.relay.toast_not_owner', undefined, loc) } };
246
+ }
247
+ if (sourceDs.chatId === targetChatId) {
248
+ return { toast: { type: 'error', content: t('card.relay.toast_same_chat', undefined, loc) } };
249
+ }
250
+ // Real-session preflight — done BEFORE M1 send so a refusal doesn't
251
+ // leave a misleading "已接力" announcement in the target chat.
252
+ // collectRelayPickerEntries already filters scratches at render time,
253
+ // but a stale picker (rendered before a scratch was created) could
254
+ // still produce a confirm click; this is the depth defense.
255
+ {
256
+ const { isRelayableRealSession } = await import('../../core/worker-pool.js');
257
+ if (!isRelayableRealSession(sourceDs)) {
258
+ return { toast: { type: 'error', content: t('card.relay.toast_not_started_yet', undefined, loc) } };
259
+ }
260
+ }
261
+ // Pre-flight target-chat conflict check — done BEFORE sendMessage M1 so
262
+ // a refusal doesn't leave a misleading "已接力" announcement in the
263
+ // target chat (王皓 caught this in testing). Mirror the same predicate
264
+ // transferSession uses, plus the `!!worker` filter that excludes daemon
265
+ // command scratch sessions (e.g. the /relay command's own session,
266
+ // which shares the bot's larkAppId + chatId but has no worker).
267
+ const targetConflict = [...activeSessions.values()].find(c => c !== sourceDs
268
+ && c.larkAppId === larkAppId
269
+ && c.chatId === targetChatId
270
+ && c.scope === 'chat'
271
+ && !!c.worker);
272
+ if (targetConflict) {
273
+ const conflictTitle = targetConflict.session.title || targetConflict.session.sessionId.substring(0, 8);
274
+ // Send as a regular text message in the target chat instead of a
275
+ // popup toast — per王皓's preference for visible/persistent error
276
+ // ("不要用弹窗,就用消息形式"). No toast returned so the operator
277
+ // sees the chat message land where the error actually applies.
278
+ // Pass raw text — sendMessage wraps text-msgType bodies itself; the
279
+ // earlier `JSON.stringify({text: ...})` caused double-wrapping and
280
+ // Lark rendered the JSON literally (王皓 caught this in the M1).
281
+ const errText = t('cmd.relay.target_has_session_msg', { title: conflictTitle }, loc);
282
+ sendMessage(larkAppId, targetChatId, errText, 'text').catch(() => undefined);
283
+ return;
284
+ }
285
+ // Resolve a friendly source chat label for the M1 announcement — falls
286
+ // back to the raw chatId if Lark can't return a name.
287
+ const { getChatName } = await import('./client.js');
288
+ const sourceLabel = (await getChatName(larkAppId, sourceDs.chatId)) ?? sourceDs.chatId;
289
+ // Send the M1 announcement — its message_id becomes the new
290
+ // rootMessageId after the transfer (mirrors /relay --create's flow).
291
+ let m1MessageId;
292
+ try {
293
+ const m1Text = t('cmd.relay.m1_announce', { sourceChat: sourceLabel, groupName: targetChatId }, loc);
294
+ m1MessageId = await sendMessage(larkAppId, targetChatId, m1Text, 'text');
295
+ }
296
+ catch (err) {
297
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: err?.message ?? 'send_m1_failed' }, loc) } };
298
+ }
299
+ const { transferSession } = await import('../../core/worker-pool.js');
300
+ // Target is always a regular group in the picker path — picker-mode's
301
+ // entry guard in command-handler.ts refused p2p / topic before the card
302
+ // even rendered. Passing literal 'group' here makes that contract
303
+ // explicit at the call site.
304
+ const r = await transferSession(sourceDs.session.sessionId, targetChatId, m1MessageId, 'group');
305
+ if (!r.ok) {
306
+ // Best-effort: orphan M1 cleanup so a failed transfer doesn't leave a
307
+ // misleading "已接力" message in the target chat (王皓's "明明失败了
308
+ // 却返回成功了" complaint). Race-condition fallback only — the
309
+ // pre-flight checks above should catch the common cases first.
310
+ deleteMessage(larkAppId, m1MessageId).catch(() => { });
311
+ if (r.error === 'target_chat_has_session') {
312
+ // Lost the race vs the pre-flight check — still surface as a message.
313
+ const errText = t('cmd.relay.target_has_session_msg', { title: '' }, loc);
314
+ sendMessage(larkAppId, targetChatId, errText, 'text').catch(() => undefined);
315
+ return;
316
+ }
317
+ if (r.error === 'adopt_not_relayable') {
318
+ return { toast: { type: 'error', content: t('card.relay.toast_adopt_not_relayable', undefined, loc) } };
319
+ }
320
+ if (r.error === 'worker_busy') {
321
+ return { toast: { type: 'error', content: t('card.relay.toast_worker_busy', undefined, loc) } };
322
+ }
323
+ if (r.error === 'not_started_yet') {
324
+ return { toast: { type: 'error', content: t('card.relay.toast_not_started_yet', undefined, loc) } };
325
+ }
326
+ return { toast: { type: 'error', content: t('card.relay.toast_failed', { error: r.error }, loc) } };
327
+ }
328
+ // Best-effort: remove the picker card now that the selection resolved.
329
+ if (cardMessageId && larkAppId) {
330
+ deleteMessage(larkAppId, cardMessageId).catch(() => { });
331
+ }
332
+ return { toast: { type: 'success', content: t('card.relay.toast_success', undefined, loc) } };
333
+ }
133
334
  const isSensitive = value?.action && ['restart', 'close', 'resume', 'skip_repo', 'retry_last_task', 'get_write_link', 'toggle_stream', 'toggle_display', 'export_text', 'term_action', 'refresh_screenshot', 'takeover', 'disconnect', 'tui_keys', 'tui_text_input', 'wf_approve', 'wf_reject', 'wf_cancel'].includes(value.action);
134
335
  if (isSensitive) {
135
336
  const rootId = value?.root_id;
@@ -164,7 +365,12 @@ export async function handleCardAction(data, deps, larkAppId) {
164
365
  else {
165
366
  const bots = getAllBots();
166
367
  const allowedUsers = bots.flatMap(b => b.resolvedAllowedUsers);
167
- const hasAllowlist = allowedUsers.length > 0 || bots.some(b => (b.config.allowedChatGroups?.length ?? 0) > 0);
368
+ // globalGrants allowedChatGroups 同理计入 hasAllowlist:只配 globalGrants(talk-only)
369
+ // 也算限制态,否则这条手写 fallback 会算成 false → 敏感动作 fall through 成全开放。
370
+ // 注意只进 hasAllowlist 判定,命中仍只认 allowedUsers(与 canOperate 一致,不授 operate)。
371
+ const hasAllowlist = allowedUsers.length > 0
372
+ || bots.some(b => (b.config.allowedChatGroups?.length ?? 0) > 0)
373
+ || bots.some(b => (b.config.globalGrants?.length ?? 0) > 0);
168
374
  if (hasAllowlist && (!operatorOpenId || !allowedUsers.includes(operatorOpenId))) {
169
375
  logger.info(`Card action "${value.action}" blocked for non-allowed user: ${operatorOpenId}`);
170
376
  return;
@@ -256,8 +462,24 @@ export async function handleCardAction(data, deps, larkAppId) {
256
462
  sessionStore.closeSession(closedSessionId);
257
463
  activeSessions.delete(sKey);
258
464
  const card = buildSessionClosedCard(closedSessionId, closedAnchor, closedTitle, closedCliId, closedWorkingDir, cliResumeCommand, localeForBot(ds.larkAppId));
259
- await sessionReply(rootId, card, 'interactive');
260
- logger.info(`[${tag(ds)}] Closed via card button`);
465
+ // The closed card carries session title / CLI name / workingDir / resume
466
+ // command. In private-card mode those must not leak to the group — send the
467
+ // closed card ephemeral to the same owner audience instead. No group
468
+ // fallback on failure (privacy wins; the session is already closed).
469
+ // `value.visibility === 'private'` pins the decision to the card that was
470
+ // clicked, so a card built in private mode stays ephemeral even if the
471
+ // bot's `privateCard` config was turned off in the meantime.
472
+ if (value?.visibility === 'private' || botCfg.privateCard) {
473
+ const audience = resolvePrivateCardAudience(ds);
474
+ for (const openId of audience) {
475
+ await sendEphemeralCard(ds.larkAppId, ds.chatId, openId, card).catch(err => logger.warn(`[${tag(ds)}] private close card ephemeral send to ${openId.substring(0, 8)}… failed: ${err}`));
476
+ }
477
+ logger.info(`[${tag(ds)}] Closed via card button (private close card → ${audience.length} owner(s))`);
478
+ }
479
+ else {
480
+ await sessionReply(rootId, card, 'interactive');
481
+ logger.info(`[${tag(ds)}] Closed via card button`);
482
+ }
261
483
  }
262
484
  if (actionType === 'resume') {
263
485
  const targetSessionId = value?.session_id;
@@ -324,7 +546,7 @@ export async function handleCardAction(data, deps, larkAppId) {
324
546
  let cardJson;
325
547
  if (ds.streamCardId && ds.streamCardId !== CARD_POSTING_SENTINEL && ds.workerPort) {
326
548
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
327
- cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, ds.currentTurnTitle, '', 'working', sessionCliId(ds), ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, locDs);
549
+ cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, ds.currentTurnTitle, '', 'working', sessionCliId(ds), ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, locDs, undefined, writableTerminalLinkFor(ds));
328
550
  scheduleCardPatch(ds, cardJson);
329
551
  }
330
552
  if (ds.worker && !ds.worker.killed) {
@@ -483,7 +705,7 @@ export async function handleCardAction(data, deps, larkAppId) {
483
705
  if (cardMessageId && ds.workerPort) {
484
706
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
485
707
  const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
486
- const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds));
708
+ const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds));
487
709
  updateMessage(ds.larkAppId, cardMessageId, cardJson).catch(err => logger.debug(`[${tag(ds)}] Failed to migrate unknown frozen card: ${err}`));
488
710
  logger.info(`[${tag(ds)}] Migrated unknown frozen card to ${next} (legacy nonce=${clickedNonce})`);
489
711
  try {
@@ -510,7 +732,7 @@ export async function handleCardAction(data, deps, larkAppId) {
510
732
  const effectiveCliId = sessionCliId(ds);
511
733
  const readUrl = ds.workerPort ? `http://${config.web.externalHost}:${ds.workerPort}` : '';
512
734
  const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
513
- const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds));
735
+ const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds));
514
736
  updateMessage(ds.larkAppId, frozen.messageId, cardJson).catch(err => logger.debug(`[${tag(ds)}] Failed to migrate frozen card: ${err}`));
515
737
  ds.frozenCards.delete(clickedNonce);
516
738
  saveFrozenCards(ds.session.sessionId, ds.frozenCards);
@@ -534,7 +756,7 @@ export async function handleCardAction(data, deps, larkAppId) {
534
756
  if (ds.streamCardId && ds.workerPort) {
535
757
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
536
758
  const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
537
- const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds));
759
+ const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, next, ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds));
538
760
  if (cardMessageId && cardMessageId !== ds.streamCardId) {
539
761
  updateMessage(ds.larkAppId, cardMessageId, cardJson).catch(err => logger.debug(`[${tag(ds)}] Failed to migrate clicked legacy card: ${err}`));
540
762
  }
@@ -585,7 +807,7 @@ export async function handleCardAction(data, deps, larkAppId) {
585
807
  const effectiveCliId = sessionCliId(ds);
586
808
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
587
809
  const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
588
- const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, ds.displayMode ?? 'screenshot', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds));
810
+ const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, ds.displayMode ?? 'screenshot', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds));
589
811
  if (cardMessageId && cardMessageId !== ds.streamCardId) {
590
812
  updateMessage(ds.larkAppId, cardMessageId, cardJson).catch(err => logger.debug(`[${tag(ds)}] Failed to migrate clicked legacy card: ${err}`));
591
813
  }
@@ -610,7 +832,7 @@ export async function handleCardAction(data, deps, larkAppId) {
610
832
  const effectiveCliId = sessionCliId(ds);
611
833
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
612
834
  const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
613
- const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, ds.displayMode ?? 'screenshot', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds));
835
+ const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent || '', ds.lastScreenStatus || 'working', effectiveCliId, ds.displayMode ?? 'screenshot', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds));
614
836
  try {
615
837
  return JSON.parse(cardJson);
616
838
  }
@@ -678,7 +900,8 @@ export async function handleCardAction(data, deps, larkAppId) {
678
900
  }
679
901
  // Re-discover to get full session info and validate
680
902
  const { discoverAdoptableSessions } = await import('../../core/session-discovery.js');
681
- const sessions = discoverAdoptableSessions();
903
+ const botCliId = getBot(ds.larkAppId).config.cliId;
904
+ const sessions = discoverAdoptableSessions(botCliId);
682
905
  const target = sessions.find(s => s.tmuxTarget === selected.tmuxTarget && s.cliPid === selected.cliPid);
683
906
  if (!target) {
684
907
  await sessionReply(rootId, t('cmd.adopt.target_exited', undefined, localeForBot(ds.larkAppId)));