botmux 2.46.1 → 2.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/README.en.md +5 -10
  2. package/README.md +5 -10
  3. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/tmux-backend.js +0 -11
  5. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  6. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  7. package/dist/adapters/cli/claude-code.js +9 -36
  8. package/dist/adapters/cli/claude-code.js.map +1 -1
  9. package/dist/adapters/cli/coco.d.ts.map +1 -1
  10. package/dist/adapters/cli/coco.js +1 -26
  11. package/dist/adapters/cli/coco.js.map +1 -1
  12. package/dist/adapters/cli/codex.d.ts.map +1 -1
  13. package/dist/adapters/cli/codex.js +1 -6
  14. package/dist/adapters/cli/codex.js.map +1 -1
  15. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  16. package/dist/adapters/cli/cursor.js +12 -58
  17. package/dist/adapters/cli/cursor.js.map +1 -1
  18. package/dist/adapters/cli/gemini.d.ts.map +1 -1
  19. package/dist/adapters/cli/gemini.js +1 -5
  20. package/dist/adapters/cli/gemini.js.map +1 -1
  21. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  22. package/dist/adapters/cli/opencode.js +1 -19
  23. package/dist/adapters/cli/opencode.js.map +1 -1
  24. package/dist/adapters/cli/registry.d.ts +1 -5
  25. package/dist/adapters/cli/registry.d.ts.map +1 -1
  26. package/dist/adapters/cli/registry.js +2 -22
  27. package/dist/adapters/cli/registry.js.map +1 -1
  28. package/dist/adapters/cli/shared-hints.d.ts +1 -1
  29. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  30. package/dist/adapters/cli/shared-hints.js +1 -2
  31. package/dist/adapters/cli/shared-hints.js.map +1 -1
  32. package/dist/adapters/cli/types.d.ts +2 -35
  33. package/dist/adapters/cli/types.d.ts.map +1 -1
  34. package/dist/bot-registry.d.ts +0 -59
  35. package/dist/bot-registry.d.ts.map +1 -1
  36. package/dist/bot-registry.js +0 -67
  37. package/dist/bot-registry.js.map +1 -1
  38. package/dist/cli/bots-list-output.d.ts +0 -8
  39. package/dist/cli/bots-list-output.d.ts.map +1 -1
  40. package/dist/cli/bots-list-output.js +0 -9
  41. package/dist/cli/bots-list-output.js.map +1 -1
  42. package/dist/cli.d.ts +1 -15
  43. package/dist/cli.d.ts.map +1 -1
  44. package/dist/cli.js +106 -603
  45. package/dist/cli.js.map +1 -1
  46. package/dist/config.d.ts +2 -11
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +4 -17
  49. package/dist/config.js.map +1 -1
  50. package/dist/core/command-handler.d.ts +0 -20
  51. package/dist/core/command-handler.d.ts.map +1 -1
  52. package/dist/core/command-handler.js +313 -762
  53. package/dist/core/command-handler.js.map +1 -1
  54. package/dist/core/dashboard-ipc-server.d.ts +0 -2
  55. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  56. package/dist/core/dashboard-ipc-server.js +2 -222
  57. package/dist/core/dashboard-ipc-server.js.map +1 -1
  58. package/dist/core/role-resolver.d.ts +1 -17
  59. package/dist/core/role-resolver.d.ts.map +1 -1
  60. package/dist/core/role-resolver.js +10 -64
  61. package/dist/core/role-resolver.js.map +1 -1
  62. package/dist/core/session-discovery.d.ts.map +1 -1
  63. package/dist/core/session-discovery.js +5 -19
  64. package/dist/core/session-discovery.js.map +1 -1
  65. package/dist/core/session-manager.d.ts +1 -1
  66. package/dist/core/session-manager.d.ts.map +1 -1
  67. package/dist/core/session-manager.js +20 -37
  68. package/dist/core/session-manager.js.map +1 -1
  69. package/dist/core/types.d.ts +0 -5
  70. package/dist/core/types.d.ts.map +1 -1
  71. package/dist/core/types.js.map +1 -1
  72. package/dist/core/worker-pool.d.ts +0 -141
  73. package/dist/core/worker-pool.d.ts.map +1 -1
  74. package/dist/core/worker-pool.js +24 -543
  75. package/dist/core/worker-pool.js.map +1 -1
  76. package/dist/daemon.d.ts.map +1 -1
  77. package/dist/daemon.js +58 -213
  78. package/dist/daemon.js.map +1 -1
  79. package/dist/dashboard/auth.d.ts +1 -6
  80. package/dist/dashboard/auth.d.ts.map +1 -1
  81. package/dist/dashboard/auth.js +1 -9
  82. package/dist/dashboard/auth.js.map +1 -1
  83. package/dist/dashboard/web/app.js +0 -8
  84. package/dist/dashboard/web/app.js.map +1 -1
  85. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  86. package/dist/dashboard/web/bot-defaults.js +21 -205
  87. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  88. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  89. package/dist/dashboard/web/i18n.js +5 -43
  90. package/dist/dashboard/web/i18n.js.map +1 -1
  91. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  92. package/dist/dashboard/web/sessions.js +0 -4
  93. package/dist/dashboard/web/sessions.js.map +1 -1
  94. package/dist/dashboard/web/workflows.js +3 -3
  95. package/dist/dashboard/web/workflows.js.map +1 -1
  96. package/dist/dashboard/workflow-api.d.ts +1 -8
  97. package/dist/dashboard/workflow-api.d.ts.map +1 -1
  98. package/dist/dashboard/workflow-api.js +4 -19
  99. package/dist/dashboard/workflow-api.js.map +1 -1
  100. package/dist/dashboard-web/app.js +375 -539
  101. package/dist/dashboard-web/index.html +1 -3
  102. package/dist/dashboard-web/style.css +0 -22
  103. package/dist/dashboard.js +2 -199
  104. package/dist/dashboard.js.map +1 -1
  105. package/dist/i18n/en.d.ts.map +1 -1
  106. package/dist/i18n/en.js +11 -104
  107. package/dist/i18n/en.js.map +1 -1
  108. package/dist/i18n/zh.d.ts.map +1 -1
  109. package/dist/i18n/zh.js +11 -104
  110. package/dist/i18n/zh.js.map +1 -1
  111. package/dist/im/lark/card-builder.d.ts +3 -108
  112. package/dist/im/lark/card-builder.d.ts.map +1 -1
  113. package/dist/im/lark/card-builder.js +50 -480
  114. package/dist/im/lark/card-builder.js.map +1 -1
  115. package/dist/im/lark/card-handler.d.ts.map +1 -1
  116. package/dist/im/lark/card-handler.js +18 -241
  117. package/dist/im/lark/card-handler.js.map +1 -1
  118. package/dist/im/lark/client.d.ts +0 -83
  119. package/dist/im/lark/client.d.ts.map +1 -1
  120. package/dist/im/lark/client.js +70 -286
  121. package/dist/im/lark/client.js.map +1 -1
  122. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  123. package/dist/im/lark/event-dispatcher.js +4 -29
  124. package/dist/im/lark/event-dispatcher.js.map +1 -1
  125. package/dist/im/lark/grant-command.d.ts +1 -2
  126. package/dist/im/lark/grant-command.d.ts.map +1 -1
  127. package/dist/im/lark/grant-command.js +2 -3
  128. package/dist/im/lark/grant-command.js.map +1 -1
  129. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  130. package/dist/im/lark/identity-cache.js +3 -3
  131. package/dist/im/lark/identity-cache.js.map +1 -1
  132. package/dist/im/lark/md-card.d.ts +2 -20
  133. package/dist/im/lark/md-card.d.ts.map +1 -1
  134. package/dist/im/lark/md-card.js +17 -49
  135. package/dist/im/lark/md-card.js.map +1 -1
  136. package/dist/im/lark/message-parser.d.ts.map +1 -1
  137. package/dist/im/lark/message-parser.js +31 -87
  138. package/dist/im/lark/message-parser.js.map +1 -1
  139. package/dist/im/lark/workflow-card-handler.d.ts +2 -2
  140. package/dist/im/lark/workflow-card-handler.d.ts.map +1 -1
  141. package/dist/im/lark/workflow-card-handler.js +1 -12
  142. package/dist/im/lark/workflow-card-handler.js.map +1 -1
  143. package/dist/im/lark/workflow-progress-card.d.ts.map +1 -1
  144. package/dist/im/lark/workflow-progress-card.js +0 -53
  145. package/dist/im/lark/workflow-progress-card.js.map +1 -1
  146. package/dist/services/codex-bridge-queue.d.ts +0 -1
  147. package/dist/services/codex-bridge-queue.d.ts.map +1 -1
  148. package/dist/services/codex-bridge-queue.js +0 -23
  149. package/dist/services/codex-bridge-queue.js.map +1 -1
  150. package/dist/services/codex-transcript.d.ts +0 -1
  151. package/dist/services/codex-transcript.d.ts.map +1 -1
  152. package/dist/services/codex-transcript.js.map +1 -1
  153. package/dist/services/feishu-task-client.d.ts +28 -0
  154. package/dist/services/feishu-task-client.d.ts.map +1 -0
  155. package/dist/services/feishu-task-client.js +123 -0
  156. package/dist/services/feishu-task-client.js.map +1 -0
  157. package/dist/services/grant-store.d.ts +2 -12
  158. package/dist/services/grant-store.d.ts.map +1 -1
  159. package/dist/services/grant-store.js +4 -51
  160. package/dist/services/grant-store.js.map +1 -1
  161. package/dist/services/group-creator.d.ts +0 -10
  162. package/dist/services/group-creator.d.ts.map +1 -1
  163. package/dist/services/group-creator.js +1 -26
  164. package/dist/services/group-creator.js.map +1 -1
  165. package/dist/services/groups-store.d.ts +0 -30
  166. package/dist/services/groups-store.d.ts.map +1 -1
  167. package/dist/services/groups-store.js +12 -85
  168. package/dist/services/groups-store.js.map +1 -1
  169. package/dist/services/project-scanner.d.ts +0 -10
  170. package/dist/services/project-scanner.d.ts.map +1 -1
  171. package/dist/services/project-scanner.js +0 -11
  172. package/dist/services/project-scanner.js.map +1 -1
  173. package/dist/services/session-store.js +1 -1
  174. package/dist/services/session-store.js.map +1 -1
  175. package/dist/services/task-store.d.ts +37 -0
  176. package/dist/services/task-store.d.ts.map +1 -0
  177. package/dist/services/task-store.js +115 -0
  178. package/dist/services/task-store.js.map +1 -0
  179. package/dist/setup/bot-config-editor.d.ts +1 -8
  180. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  181. package/dist/setup/bot-config-editor.js +2 -20
  182. package/dist/setup/bot-config-editor.js.map +1 -1
  183. package/dist/setup/ensure-tmux.d.ts +22 -0
  184. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  185. package/dist/setup/ensure-tmux.js +1 -25
  186. package/dist/setup/ensure-tmux.js.map +1 -1
  187. package/dist/setup/verify-permissions.d.ts.map +1 -1
  188. package/dist/setup/verify-permissions.js +1 -15
  189. package/dist/setup/verify-permissions.js.map +1 -1
  190. package/dist/skills/definitions.d.ts +0 -2
  191. package/dist/skills/definitions.d.ts.map +1 -1
  192. package/dist/skills/definitions.js +12 -178
  193. package/dist/skills/definitions.js.map +1 -1
  194. package/dist/skills/installer.d.ts +0 -34
  195. package/dist/skills/installer.d.ts.map +1 -1
  196. package/dist/skills/installer.js +2 -119
  197. package/dist/skills/installer.js.map +1 -1
  198. package/dist/types.d.ts +0 -25
  199. package/dist/types.d.ts.map +1 -1
  200. package/dist/utils/bot-routing.d.ts +0 -50
  201. package/dist/utils/bot-routing.d.ts.map +1 -1
  202. package/dist/utils/bot-routing.js +0 -83
  203. package/dist/utils/bot-routing.js.map +1 -1
  204. package/dist/utils/user-token.d.ts.map +1 -1
  205. package/dist/utils/user-token.js +2 -0
  206. package/dist/utils/user-token.js.map +1 -1
  207. package/dist/worker.js +27 -198
  208. package/dist/worker.js.map +1 -1
  209. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  210. package/dist/workflows/attempt-resume.js +2 -2
  211. package/dist/workflows/attempt-resume.js.map +1 -1
  212. package/dist/workflows/definition.d.ts +9 -412
  213. package/dist/workflows/definition.d.ts.map +1 -1
  214. package/dist/workflows/definition.js +3 -238
  215. package/dist/workflows/definition.js.map +1 -1
  216. package/dist/workflows/events/payloads.d.ts +11 -114
  217. package/dist/workflows/events/payloads.d.ts.map +1 -1
  218. package/dist/workflows/events/payloads.js +0 -46
  219. package/dist/workflows/events/payloads.js.map +1 -1
  220. package/dist/workflows/events/replay.d.ts +0 -21
  221. package/dist/workflows/events/replay.d.ts.map +1 -1
  222. package/dist/workflows/events/replay.js +0 -103
  223. package/dist/workflows/events/replay.js.map +1 -1
  224. package/dist/workflows/events/schema.d.ts +1017 -1712
  225. package/dist/workflows/events/schema.d.ts.map +1 -1
  226. package/dist/workflows/events/schema.js +1 -37
  227. package/dist/workflows/events/schema.js.map +1 -1
  228. package/dist/workflows/events/types.d.ts +1 -5
  229. package/dist/workflows/events/types.d.ts.map +1 -1
  230. package/dist/workflows/loader.d.ts +0 -14
  231. package/dist/workflows/loader.d.ts.map +1 -1
  232. package/dist/workflows/loader.js +0 -27
  233. package/dist/workflows/loader.js.map +1 -1
  234. package/dist/workflows/loop.js +0 -58
  235. package/dist/workflows/loop.js.map +1 -1
  236. package/dist/workflows/ops-projection.d.ts +0 -58
  237. package/dist/workflows/ops-projection.d.ts.map +1 -1
  238. package/dist/workflows/ops-projection.js +0 -74
  239. package/dist/workflows/ops-projection.js.map +1 -1
  240. package/dist/workflows/orchestrator.d.ts +1 -65
  241. package/dist/workflows/orchestrator.d.ts.map +1 -1
  242. package/dist/workflows/orchestrator.js +74 -486
  243. package/dist/workflows/orchestrator.js.map +1 -1
  244. package/dist/workflows/output-binding.d.ts +1 -8
  245. package/dist/workflows/output-binding.d.ts.map +1 -1
  246. package/dist/workflows/output-binding.js +11 -75
  247. package/dist/workflows/output-binding.js.map +1 -1
  248. package/dist/workflows/runtime.d.ts +1 -1
  249. package/dist/workflows/runtime.d.ts.map +1 -1
  250. package/dist/workflows/runtime.js +4 -39
  251. package/dist/workflows/runtime.js.map +1 -1
  252. package/dist/workflows/wait.d.ts +2 -23
  253. package/dist/workflows/wait.d.ts.map +1 -1
  254. package/dist/workflows/wait.js +17 -39
  255. package/dist/workflows/wait.js.map +1 -1
  256. package/package.json +1 -1
  257. package/dist/adapters/adopt-route.d.ts +0 -63
  258. package/dist/adapters/adopt-route.d.ts.map +0 -1
  259. package/dist/adapters/adopt-route.js +0 -195
  260. package/dist/adapters/adopt-route.js.map +0 -1
  261. package/dist/adapters/cli/codex-app.d.ts +0 -4
  262. package/dist/adapters/cli/codex-app.d.ts.map +0 -1
  263. package/dist/adapters/cli/codex-app.js +0 -72
  264. package/dist/adapters/cli/codex-app.js.map +0 -1
  265. package/dist/adapters/cli/hermes.d.ts +0 -4
  266. package/dist/adapters/cli/hermes.d.ts.map +0 -1
  267. package/dist/adapters/cli/hermes.js +0 -40
  268. package/dist/adapters/cli/hermes.js.map +0 -1
  269. package/dist/adapters/cli/mira.d.ts +0 -4
  270. package/dist/adapters/cli/mira.d.ts.map +0 -1
  271. package/dist/adapters/cli/mira.js +0 -67
  272. package/dist/adapters/cli/mira.js.map +0 -1
  273. package/dist/adapters/cli/mtr.d.ts +0 -5
  274. package/dist/adapters/cli/mtr.d.ts.map +0 -1
  275. package/dist/adapters/cli/mtr.js +0 -62
  276. package/dist/adapters/cli/mtr.js.map +0 -1
  277. package/dist/adapters/hook-command.d.ts +0 -18
  278. package/dist/adapters/hook-command.d.ts.map +0 -1
  279. package/dist/adapters/hook-command.js +0 -38
  280. package/dist/adapters/hook-command.js.map +0 -1
  281. package/dist/adapters/hook-installer.d.ts +0 -14
  282. package/dist/adapters/hook-installer.d.ts.map +0 -1
  283. package/dist/adapters/hook-installer.js +0 -192
  284. package/dist/adapters/hook-installer.js.map +0 -1
  285. package/dist/codex-app-runner.d.ts +0 -3
  286. package/dist/codex-app-runner.d.ts.map +0 -1
  287. package/dist/codex-app-runner.js +0 -512
  288. package/dist/codex-app-runner.js.map +0 -1
  289. package/dist/core/ask-api.d.ts +0 -47
  290. package/dist/core/ask-api.d.ts.map +0 -1
  291. package/dist/core/ask-api.js +0 -139
  292. package/dist/core/ask-api.js.map +0 -1
  293. package/dist/core/ask-args.d.ts +0 -53
  294. package/dist/core/ask-args.d.ts.map +0 -1
  295. package/dist/core/ask-args.js +0 -122
  296. package/dist/core/ask-args.js.map +0 -1
  297. package/dist/core/ask-broker.d.ts +0 -98
  298. package/dist/core/ask-broker.d.ts.map +0 -1
  299. package/dist/core/ask-broker.js +0 -329
  300. package/dist/core/ask-broker.js.map +0 -1
  301. package/dist/core/ask-hook/claude-code.d.ts +0 -50
  302. package/dist/core/ask-hook/claude-code.d.ts.map +0 -1
  303. package/dist/core/ask-hook/claude-code.js +0 -145
  304. package/dist/core/ask-hook/claude-code.js.map +0 -1
  305. package/dist/core/ask-hook/codex.d.ts +0 -43
  306. package/dist/core/ask-hook/codex.d.ts.map +0 -1
  307. package/dist/core/ask-hook/codex.js +0 -69
  308. package/dist/core/ask-hook/codex.js.map +0 -1
  309. package/dist/core/ask-hook/opencode.d.ts +0 -41
  310. package/dist/core/ask-hook/opencode.d.ts.map +0 -1
  311. package/dist/core/ask-hook/opencode.js +0 -108
  312. package/dist/core/ask-hook/opencode.js.map +0 -1
  313. package/dist/core/ask-hook/registry.d.ts +0 -3
  314. package/dist/core/ask-hook/registry.d.ts.map +0 -1
  315. package/dist/core/ask-hook/registry.js +0 -12
  316. package/dist/core/ask-hook/registry.js.map +0 -1
  317. package/dist/core/ask-hook/types.d.ts +0 -26
  318. package/dist/core/ask-hook/types.d.ts.map +0 -1
  319. package/dist/core/ask-hook/types.js +0 -2
  320. package/dist/core/ask-hook/types.js.map +0 -1
  321. package/dist/core/ask-types.d.ts +0 -146
  322. package/dist/core/ask-types.d.ts.map +0 -1
  323. package/dist/core/ask-types.js +0 -18
  324. package/dist/core/ask-types.js.map +0 -1
  325. package/dist/core/trigger-session.d.ts +0 -9
  326. package/dist/core/trigger-session.d.ts.map +0 -1
  327. package/dist/core/trigger-session.js +0 -158
  328. package/dist/core/trigger-session.js.map +0 -1
  329. package/dist/dashboard/connector-api.d.ts +0 -3
  330. package/dist/dashboard/connector-api.d.ts.map +0 -1
  331. package/dist/dashboard/connector-api.js +0 -351
  332. package/dist/dashboard/connector-api.js.map +0 -1
  333. package/dist/dashboard/federated-group-core.d.ts +0 -54
  334. package/dist/dashboard/federated-group-core.d.ts.map +0 -1
  335. package/dist/dashboard/federated-group-core.js +0 -165
  336. package/dist/dashboard/federated-group-core.js.map +0 -1
  337. package/dist/dashboard/federation-api.d.ts +0 -42
  338. package/dist/dashboard/federation-api.d.ts.map +0 -1
  339. package/dist/dashboard/federation-api.js +0 -408
  340. package/dist/dashboard/federation-api.js.map +0 -1
  341. package/dist/dashboard/federation-spoke-api.d.ts +0 -76
  342. package/dist/dashboard/federation-spoke-api.d.ts.map +0 -1
  343. package/dist/dashboard/federation-spoke-api.js +0 -618
  344. package/dist/dashboard/federation-spoke-api.js.map +0 -1
  345. package/dist/dashboard/team-group.d.ts +0 -18
  346. package/dist/dashboard/team-group.d.ts.map +0 -1
  347. package/dist/dashboard/team-group.js +0 -7
  348. package/dist/dashboard/team-group.js.map +0 -1
  349. package/dist/dashboard/trigger-api.d.ts +0 -13
  350. package/dist/dashboard/trigger-api.d.ts.map +0 -1
  351. package/dist/dashboard/trigger-api.js +0 -77
  352. package/dist/dashboard/trigger-api.js.map +0 -1
  353. package/dist/dashboard/web/connectors.d.ts +0 -2
  354. package/dist/dashboard/web/connectors.d.ts.map +0 -1
  355. package/dist/dashboard/web/connectors.js +0 -187
  356. package/dist/dashboard/web/connectors.js.map +0 -1
  357. package/dist/dashboard/web/team-federation.d.ts +0 -3
  358. package/dist/dashboard/web/team-federation.d.ts.map +0 -1
  359. package/dist/dashboard/web/team-federation.js +0 -487
  360. package/dist/dashboard/web/team-federation.js.map +0 -1
  361. package/dist/dashboard/webhook-routes.d.ts +0 -19
  362. package/dist/dashboard/webhook-routes.d.ts.map +0 -1
  363. package/dist/dashboard/webhook-routes.js +0 -321
  364. package/dist/dashboard/webhook-routes.js.map +0 -1
  365. package/dist/im/lark/ask-card.d.ts +0 -55
  366. package/dist/im/lark/ask-card.d.ts.map +0 -1
  367. package/dist/im/lark/ask-card.js +0 -328
  368. package/dist/im/lark/ask-card.js.map +0 -1
  369. package/dist/mira-output.d.ts +0 -3
  370. package/dist/mira-output.d.ts.map +0 -1
  371. package/dist/mira-output.js +0 -136
  372. package/dist/mira-output.js.map +0 -1
  373. package/dist/mira-runner.d.ts +0 -3
  374. package/dist/mira-runner.d.ts.map +0 -1
  375. package/dist/mira-runner.js +0 -534
  376. package/dist/mira-runner.js.map +0 -1
  377. package/dist/services/bot-owner-store.d.ts +0 -28
  378. package/dist/services/bot-owner-store.d.ts.map +0 -1
  379. package/dist/services/bot-owner-store.js +0 -82
  380. package/dist/services/bot-owner-store.js.map +0 -1
  381. package/dist/services/bot-profile-store.d.ts +0 -16
  382. package/dist/services/bot-profile-store.d.ts.map +0 -1
  383. package/dist/services/bot-profile-store.js +0 -98
  384. package/dist/services/bot-profile-store.js.map +0 -1
  385. package/dist/services/brand-store.d.ts +0 -15
  386. package/dist/services/brand-store.d.ts.map +0 -1
  387. package/dist/services/brand-store.js +0 -47
  388. package/dist/services/brand-store.js.map +0 -1
  389. package/dist/services/card-prefs-store.d.ts +0 -20
  390. package/dist/services/card-prefs-store.d.ts.map +0 -1
  391. package/dist/services/card-prefs-store.js +0 -82
  392. package/dist/services/card-prefs-store.js.map +0 -1
  393. package/dist/services/connector-store.d.ts +0 -58
  394. package/dist/services/connector-store.d.ts.map +0 -1
  395. package/dist/services/connector-store.js +0 -79
  396. package/dist/services/connector-store.js.map +0 -1
  397. package/dist/services/deployment-identity.d.ts +0 -22
  398. package/dist/services/deployment-identity.d.ts.map +0 -1
  399. package/dist/services/deployment-identity.js +0 -67
  400. package/dist/services/deployment-identity.js.map +0 -1
  401. package/dist/services/federation-membership-store.d.ts +0 -23
  402. package/dist/services/federation-membership-store.d.ts.map +0 -1
  403. package/dist/services/federation-membership-store.js +0 -66
  404. package/dist/services/federation-membership-store.js.map +0 -1
  405. package/dist/services/federation-roster.d.ts +0 -54
  406. package/dist/services/federation-roster.d.ts.map +0 -1
  407. package/dist/services/federation-roster.js +0 -51
  408. package/dist/services/federation-roster.js.map +0 -1
  409. package/dist/services/federation-store.d.ts +0 -76
  410. package/dist/services/federation-store.d.ts.map +0 -1
  411. package/dist/services/federation-store.js +0 -133
  412. package/dist/services/federation-store.js.map +0 -1
  413. package/dist/services/hermes-transcript.d.ts +0 -7
  414. package/dist/services/hermes-transcript.d.ts.map +0 -1
  415. package/dist/services/hermes-transcript.js +0 -117
  416. package/dist/services/hermes-transcript.js.map +0 -1
  417. package/dist/services/invite-store.d.ts +0 -28
  418. package/dist/services/invite-store.d.ts.map +0 -1
  419. package/dist/services/invite-store.js +0 -85
  420. package/dist/services/invite-store.js.map +0 -1
  421. package/dist/services/pairing-store.d.ts +0 -47
  422. package/dist/services/pairing-store.d.ts.map +0 -1
  423. package/dist/services/pairing-store.js +0 -132
  424. package/dist/services/pairing-store.js.map +0 -1
  425. package/dist/services/relay-picker.d.ts +0 -22
  426. package/dist/services/relay-picker.d.ts.map +0 -1
  427. package/dist/services/relay-picker.js +0 -62
  428. package/dist/services/relay-picker.js.map +0 -1
  429. package/dist/services/send-policy.d.ts +0 -55
  430. package/dist/services/send-policy.d.ts.map +0 -1
  431. package/dist/services/send-policy.js +0 -47
  432. package/dist/services/send-policy.js.map +0 -1
  433. package/dist/services/team-roster.d.ts +0 -38
  434. package/dist/services/team-roster.d.ts.map +0 -1
  435. package/dist/services/team-roster.js +0 -82
  436. package/dist/services/team-roster.js.map +0 -1
  437. package/dist/services/team-store.d.ts +0 -54
  438. package/dist/services/team-store.d.ts.map +0 -1
  439. package/dist/services/team-store.js +0 -156
  440. package/dist/services/team-store.js.map +0 -1
  441. package/dist/services/trigger-log-store.d.ts +0 -46
  442. package/dist/services/trigger-log-store.d.ts.map +0 -1
  443. package/dist/services/trigger-log-store.js +0 -132
  444. package/dist/services/trigger-log-store.js.map +0 -1
  445. package/dist/services/trigger-types.d.ts +0 -57
  446. package/dist/services/trigger-types.d.ts.map +0 -1
  447. package/dist/services/trigger-types.js +0 -28
  448. package/dist/services/trigger-types.js.map +0 -1
  449. package/dist/services/webhook-key.d.ts +0 -16
  450. package/dist/services/webhook-key.d.ts.map +0 -1
  451. package/dist/services/webhook-key.js +0 -123
  452. package/dist/services/webhook-key.js.map +0 -1
  453. package/dist/services/webhook-lifecycle-extractors.d.ts +0 -15
  454. package/dist/services/webhook-lifecycle-extractors.d.ts.map +0 -1
  455. package/dist/services/webhook-lifecycle-extractors.js +0 -59
  456. package/dist/services/webhook-lifecycle-extractors.js.map +0 -1
  457. package/dist/services/webhook-lifecycle-store.d.ts +0 -45
  458. package/dist/services/webhook-lifecycle-store.d.ts.map +0 -1
  459. package/dist/services/webhook-lifecycle-store.js +0 -159
  460. package/dist/services/webhook-lifecycle-store.js.map +0 -1
  461. package/dist/utils/daemon-discovery.d.ts +0 -11
  462. package/dist/utils/daemon-discovery.d.ts.map +0 -1
  463. package/dist/utils/daemon-discovery.js +0 -59
  464. package/dist/utils/daemon-discovery.js.map +0 -1
  465. package/dist/workflows/trigger-from-envelope.d.ts +0 -13
  466. package/dist/workflows/trigger-from-envelope.d.ts.map +0 -1
  467. package/dist/workflows/trigger-from-envelope.js +0 -67
  468. package/dist/workflows/trigger-from-envelope.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-owner-store.js","sourceRoot":"","sources":["../../src/services/bot-owner-store.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export interface BotProfile {
2
- capability?: string;
3
- updatedAt: number;
4
- updatedBy?: string;
5
- }
6
- /** Full profile for a bot, or null if none recorded. */
7
- export declare function getBotProfile(dataDir: string, larkAppId: string): BotProfile | null;
8
- /** Just the capability label for a bot, or null. */
9
- export declare function getBotCapability(dataDir: string, larkAppId: string): string | null;
10
- /** Set (or overwrite) a bot's capability label. Trimmed and length-capped. */
11
- export declare function setBotCapability(dataDir: string, larkAppId: string, capability: string, updatedBy?: string, now?: number): void;
12
- /** Remove a bot's capability label (deletes its profile file). Returns true if one existed. */
13
- export declare function clearBotCapability(dataDir: string, larkAppId: string): boolean;
14
- /** All recorded profiles, keyed by larkAppId. */
15
- export declare function listBotProfiles(dataDir: string): Record<string, BotProfile>;
16
- //# sourceMappingURL=bot-profile-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-profile-store.d.ts","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGnF;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElF;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAI3I;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY3E"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Team-level bot profile store: a short, human-facing **capability label** per
3
- * bot (keyed by larkAppId), separate from the full team role markdown.
4
- *
5
- * Why separate from the team role (see role-resolver.ts):
6
- * - The capability label is a one-liner used in the collaboration roster
7
- * (`botmux bots list`) for discovery/selection — "后端 bot,擅长服务端排查".
8
- * - The full team role is the persona injected into the CLI `<role>` block.
9
- * Keeping them apart lets the roster stay scannable while the role stays rich.
10
- *
11
- * Storage: **one file per bot** at `{dataDir}/bot-profiles/{larkAppId}.json`.
12
- * Per-bot files (not one shared map) matter because production is one daemon
13
- * per bot: a shared read-modify-write map would lose updates when two daemons
14
- * write different bots' capabilities concurrently. Each daemon owns its bot's
15
- * file, so there is no cross-bot lost-update window. Same rationale as the
16
- * per-bot team-role files in role-resolver.ts.
17
- */
18
- import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync, readdirSync } from 'node:fs';
19
- import { join } from 'node:path';
20
- import { randomUUID } from 'node:crypto';
21
- /** A capability label longer than this is almost certainly a full role, not a tag. */
22
- const MAX_CAPABILITY_CHARS = 120;
23
- function profilesDir(dataDir) {
24
- return join(dataDir, 'bot-profiles');
25
- }
26
- function profilePath(dataDir, larkAppId) {
27
- return join(profilesDir(dataDir), `${larkAppId}.json`);
28
- }
29
- function readProfile(dataDir, larkAppId) {
30
- const fp = profilePath(dataDir, larkAppId);
31
- if (!existsSync(fp))
32
- return null;
33
- try {
34
- const parsed = JSON.parse(readFileSync(fp, 'utf-8'));
35
- if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
36
- return parsed;
37
- }
38
- catch { /* corrupt — treat as absent */ }
39
- return null;
40
- }
41
- function writeProfileAtomic(dataDir, larkAppId, profile) {
42
- const dir = profilesDir(dataDir);
43
- if (!existsSync(dir))
44
- mkdirSync(dir, { recursive: true });
45
- const fp = profilePath(dataDir, larkAppId);
46
- const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
47
- writeFileSync(tmp, JSON.stringify(profile, null, 2) + '\n', 'utf-8');
48
- renameSync(tmp, fp);
49
- }
50
- /** Full profile for a bot, or null if none recorded. */
51
- export function getBotProfile(dataDir, larkAppId) {
52
- if (!larkAppId)
53
- return null;
54
- return readProfile(dataDir, larkAppId);
55
- }
56
- /** Just the capability label for a bot, or null. */
57
- export function getBotCapability(dataDir, larkAppId) {
58
- return getBotProfile(dataDir, larkAppId)?.capability ?? null;
59
- }
60
- /** Set (or overwrite) a bot's capability label. Trimmed and length-capped. */
61
- export function setBotCapability(dataDir, larkAppId, capability, updatedBy, now = Date.now()) {
62
- if (!larkAppId)
63
- return;
64
- const label = capability.trim().slice(0, MAX_CAPABILITY_CHARS);
65
- writeProfileAtomic(dataDir, larkAppId, { capability: label, updatedAt: now, ...(updatedBy ? { updatedBy } : {}) });
66
- }
67
- /** Remove a bot's capability label (deletes its profile file). Returns true if one existed. */
68
- export function clearBotCapability(dataDir, larkAppId) {
69
- const fp = profilePath(dataDir, larkAppId);
70
- const had = readProfile(dataDir, larkAppId)?.capability !== undefined;
71
- try {
72
- unlinkSync(fp);
73
- }
74
- catch { /* already gone */ }
75
- return had;
76
- }
77
- /** All recorded profiles, keyed by larkAppId. */
78
- export function listBotProfiles(dataDir) {
79
- const dir = profilesDir(dataDir);
80
- const out = {};
81
- let files;
82
- try {
83
- files = readdirSync(dir);
84
- }
85
- catch {
86
- return out;
87
- }
88
- for (const f of files) {
89
- if (!f.endsWith('.json'))
90
- continue;
91
- const larkAppId = f.slice(0, -'.json'.length);
92
- const p = readProfile(dataDir, larkAppId);
93
- if (p)
94
- out[larkAppId] = p;
95
- }
96
- return out;
97
- }
98
- //# sourceMappingURL=bot-profile-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-profile-store.js","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /** Current configured brandLabel for a bot (undefined when unset). */
2
- export declare function getBotBrandLabel(larkAppId: string): string | undefined;
3
- /**
4
- * Persist a brandLabel change. `null` removes the key entirely (revert to the
5
- * default botmux brand); a string is stored verbatim — including `''`, which
6
- * means "brand off" and is deliberately preserved distinct from unset.
7
- */
8
- export declare function updateBotBrandLabel(larkAppId: string, brandLabel: string | null): Promise<{
9
- ok: true;
10
- brandLabel: string | null;
11
- } | {
12
- ok: false;
13
- reason: string;
14
- }>;
15
- //# sourceMappingURL=brand-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand-store.d.ts","sourceRoot":"","sources":["../../src/services/brand-store.ts"],"names":[],"mappings":"AAWA,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAelF"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Per-bot brandLabel persistence (the custom card-footer label). Mirrors the
3
- * oncall-store update pattern: cross-process file lock + atomic write of
4
- * bots.json, plus an in-memory registry sync so the daemon's own card builders
5
- * pick up the change without a restart. Pure cosmetic — never touches routing
6
- * or permissions.
7
- */
8
- import { rmwBotEntry } from './config-store.js';
9
- import { getBot } from '../bot-registry.js';
10
- import { logger } from '../utils/logger.js';
11
- /** Current configured brandLabel for a bot (undefined when unset). */
12
- export function getBotBrandLabel(larkAppId) {
13
- try {
14
- return getBot(larkAppId).config.brandLabel;
15
- }
16
- catch {
17
- return undefined;
18
- }
19
- }
20
- /**
21
- * Persist a brandLabel change. `null` removes the key entirely (revert to the
22
- * default botmux brand); a string is stored verbatim — including `''`, which
23
- * means "brand off" and is deliberately preserved distinct from unset.
24
- */
25
- export async function updateBotBrandLabel(larkAppId, brandLabel) {
26
- let bot;
27
- try {
28
- bot = getBot(larkAppId);
29
- }
30
- catch {
31
- return { ok: false, reason: 'bot_not_registered' };
32
- }
33
- const r = await rmwBotEntry(larkAppId, (entry) => {
34
- if (brandLabel === null)
35
- delete entry.brandLabel;
36
- else
37
- entry.brandLabel = brandLabel;
38
- return { write: true, result: brandLabel };
39
- });
40
- if (!r.ok)
41
- return { ok: false, reason: r.reason };
42
- bot.config.brandLabel = brandLabel === null ? undefined : brandLabel;
43
- const shown = brandLabel === null ? '∅(default)' : brandLabel === '' ? "''(off)" : JSON.stringify(brandLabel);
44
- logger.info(`[brand:${larkAppId}] brandLabel → ${shown}`);
45
- return { ok: true, brandLabel };
46
- }
47
- //# sourceMappingURL=brand-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand-store.js","sourceRoot":"","sources":["../../src/services/brand-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,IAAI,CAAC;QAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,UAAyB;IAEzB,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,CAAC;IAE9F,MAAM,CAAC,GAAG,MAAM,WAAW,CAAgB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9D,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;;YAC5C,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAElD,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
@@ -1,20 +0,0 @@
1
- export interface BotCardPrefs {
2
- disableStreamingCard: boolean;
3
- writableTerminalLinkInCard: boolean;
4
- privateCard: boolean;
5
- }
6
- /** Current card prefs for a bot (all default false when unset). */
7
- export declare function getBotCardPrefs(larkAppId: string): BotCardPrefs;
8
- /**
9
- * Persist a partial card-prefs change. Only the keys present in `patch` are
10
- * touched; a `false` value removes the key (keeps bots.json tidy — absent means
11
- * the default). Returns the full resolved prefs after the write.
12
- */
13
- export declare function updateBotCardPrefs(larkAppId: string, patch: Partial<BotCardPrefs>): Promise<{
14
- ok: true;
15
- prefs: BotCardPrefs;
16
- } | {
17
- ok: false;
18
- reason: string;
19
- }>;
20
- //# sourceMappingURL=card-prefs-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card-prefs-store.d.ts","sourceRoot":"","sources":["../../src/services/card-prefs-store.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAW/D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC5E"}
@@ -1,82 +0,0 @@
1
- /**
2
- * Per-bot card-behaviour preferences. Mirrors the brand-store / oncall-store
3
- * pattern: cross-process file lock + atomic write of bots.json, plus an
4
- * in-memory registry sync so the daemon's own card builders pick up the change
5
- * without a restart.
6
- *
7
- * Three independent toggles:
8
- * • disableStreamingCard — suppress the live streaming session card
9
- * • writableTerminalLinkInCard — embed a directly-usable writable terminal
10
- * link in the streaming card body
11
- * • privateCard — `/card` sends a private ephemeral snapshot
12
- * (visible to the talk-grant audience) instead
13
- * of the group-visible live card
14
- */
15
- import { rmwBotEntry } from './config-store.js';
16
- import { getBot } from '../bot-registry.js';
17
- import { logger } from '../utils/logger.js';
18
- /** Current card prefs for a bot (all default false when unset). */
19
- export function getBotCardPrefs(larkAppId) {
20
- try {
21
- const c = getBot(larkAppId).config;
22
- return {
23
- disableStreamingCard: c.disableStreamingCard === true,
24
- writableTerminalLinkInCard: c.writableTerminalLinkInCard === true,
25
- privateCard: c.privateCard === true,
26
- };
27
- }
28
- catch {
29
- return { disableStreamingCard: false, writableTerminalLinkInCard: false, privateCard: false };
30
- }
31
- }
32
- /**
33
- * Persist a partial card-prefs change. Only the keys present in `patch` are
34
- * touched; a `false` value removes the key (keeps bots.json tidy — absent means
35
- * the default). Returns the full resolved prefs after the write.
36
- */
37
- export async function updateBotCardPrefs(larkAppId, patch) {
38
- let bot;
39
- try {
40
- bot = getBot(larkAppId);
41
- }
42
- catch {
43
- return { ok: false, reason: 'bot_not_registered' };
44
- }
45
- const apply = (entry, key, val) => {
46
- if (val === undefined)
47
- return;
48
- if (val)
49
- entry[key] = true;
50
- else
51
- delete entry[key];
52
- };
53
- const r = await rmwBotEntry(larkAppId, (entry) => {
54
- apply(entry, 'disableStreamingCard', patch.disableStreamingCard);
55
- apply(entry, 'writableTerminalLinkInCard', patch.writableTerminalLinkInCard);
56
- apply(entry, 'privateCard', patch.privateCard);
57
- return {
58
- write: true,
59
- result: {
60
- disableStreamingCard: entry.disableStreamingCard === true,
61
- writableTerminalLinkInCard: entry.writableTerminalLinkInCard === true,
62
- privateCard: entry.privateCard === true,
63
- },
64
- };
65
- });
66
- if (!r.ok)
67
- return { ok: false, reason: r.reason };
68
- // Sync in-memory config so live card builders react without a restart.
69
- if (patch.disableStreamingCard !== undefined) {
70
- bot.config.disableStreamingCard = patch.disableStreamingCard || undefined;
71
- }
72
- if (patch.writableTerminalLinkInCard !== undefined) {
73
- bot.config.writableTerminalLinkInCard = patch.writableTerminalLinkInCard || undefined;
74
- }
75
- if (patch.privateCard !== undefined) {
76
- bot.config.privateCard = patch.privateCard || undefined;
77
- }
78
- logger.info(`[card-prefs:${larkAppId}] disableStreamingCard=${r.result.disableStreamingCard} ` +
79
- `writableTerminalLinkInCard=${r.result.writableTerminalLinkInCard} privateCard=${r.result.privateCard}`);
80
- return { ok: true, prefs: r.result };
81
- }
82
- //# sourceMappingURL=card-prefs-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card-prefs-store.js","sourceRoot":"","sources":["../../src/services/card-prefs-store.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- export type ConnectorVerifyType = 'hmac-sha256';
2
- export type ConnectorTargetMode = 'dynamic' | 'fixed' | 'new-group';
3
- export type ConnectorTargetKind = 'turn' | 'workflow';
4
- export interface ConnectorDefinition {
5
- id: string;
6
- name: string;
7
- enabled: boolean;
8
- verify: {
9
- type: ConnectorVerifyType;
10
- secretRef: string;
11
- signatureHeader: string;
12
- timestampHeader: string;
13
- nonceHeader: string;
14
- toleranceSeconds: number;
15
- };
16
- target: {
17
- mode: ConnectorTargetMode;
18
- kind: ConnectorTargetKind;
19
- botId: string;
20
- botIds?: string[];
21
- chatId?: string;
22
- allowChats?: string[];
23
- workflowId?: string;
24
- };
25
- promptEnvelope: {
26
- sourceName: string;
27
- headerAllowlist: string[];
28
- includeRawText: boolean;
29
- maxBodyBytes: number;
30
- };
31
- loggingPolicy: {
32
- storePayload: boolean;
33
- storeHeaders: boolean;
34
- retentionDays: number;
35
- };
36
- lifecycleExtractors: null | {
37
- dedupKey: string;
38
- status: string;
39
- statusMap?: Record<string, string>;
40
- };
41
- rateLimit?: {
42
- windowSeconds: number;
43
- maxRequests: number;
44
- };
45
- createdAt: string;
46
- updatedAt: string;
47
- }
48
- export interface ConnectorStoreFile {
49
- version: 1;
50
- connectors: ConnectorDefinition[];
51
- }
52
- export declare function readConnectorStore(dataDir?: string): ConnectorStoreFile;
53
- export declare function listConnectors(dataDir?: string): ConnectorDefinition[];
54
- export declare function getConnector(id: string, dataDir?: string): ConnectorDefinition | null;
55
- export declare function upsertConnector(connector: ConnectorDefinition, dataDir?: string): ConnectorDefinition;
56
- export declare function deleteConnector(id: string, dataDir?: string): boolean;
57
- export declare function newConnectorId(): string;
58
- //# sourceMappingURL=connector-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector-store.d.ts","sourceRoot":"","sources":["../../src/services/connector-store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC;QAC1B,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,cAAc,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,EAAE;QACb,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,mBAAmB,EAAE,IAAI,GAAG;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAqBD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,MAA+B,GAAG,kBAAkB,CAQ/F;AAUD,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAA+B,GAAG,mBAAmB,EAAE,CAE9F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAA+B,GAAG,mBAAmB,GAAG,IAAI,CAG7G;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,OAAO,GAAE,MAA+B,GACvC,mBAAmB,CAerB;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAA+B,GAAG,OAAO,CAO7F;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -1,79 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
2
- import { dirname, join } from 'node:path';
3
- import { randomUUID } from 'node:crypto';
4
- import { config } from '../config.js';
5
- function storePath(dataDir = config.session.dataDir) {
6
- return join(dataDir, 'connectors.json');
7
- }
8
- function emptyStore() {
9
- return { version: 1, connectors: [] };
10
- }
11
- function normalizeStore(raw) {
12
- if (!raw || typeof raw !== 'object' || Array.isArray(raw))
13
- return emptyStore();
14
- const r = raw;
15
- return {
16
- version: 1,
17
- connectors: Array.isArray(r.connectors)
18
- ? r.connectors.filter((c) => !!c && typeof c === 'object' && typeof c.id === 'string')
19
- : [],
20
- };
21
- }
22
- export function readConnectorStore(dataDir = config.session.dataDir) {
23
- const fp = storePath(dataDir);
24
- if (!existsSync(fp))
25
- return emptyStore();
26
- try {
27
- return normalizeStore(JSON.parse(readFileSync(fp, 'utf-8')));
28
- }
29
- catch {
30
- return emptyStore();
31
- }
32
- }
33
- function writeConnectorStore(dataDir, store) {
34
- const fp = storePath(dataDir);
35
- mkdirSync(dirname(fp), { recursive: true });
36
- const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
37
- writeFileSync(tmp, JSON.stringify(normalizeStore(store), null, 2) + '\n', { encoding: 'utf-8', mode: 0o600 });
38
- renameSync(tmp, fp);
39
- }
40
- export function listConnectors(dataDir = config.session.dataDir) {
41
- return readConnectorStore(dataDir).connectors;
42
- }
43
- export function getConnector(id, dataDir = config.session.dataDir) {
44
- if (!id)
45
- return null;
46
- return listConnectors(dataDir).find(c => c.id === id) ?? null;
47
- }
48
- export function upsertConnector(connector, dataDir = config.session.dataDir) {
49
- if (!connector.id)
50
- throw new Error('connector id is required');
51
- const now = new Date().toISOString();
52
- const store = readConnectorStore(dataDir);
53
- const idx = store.connectors.findIndex(c => c.id === connector.id);
54
- const prior = idx >= 0 ? store.connectors[idx] : undefined;
55
- const next = {
56
- ...connector,
57
- createdAt: connector.createdAt || prior?.createdAt || now,
58
- updatedAt: now,
59
- };
60
- if (idx >= 0)
61
- store.connectors[idx] = next;
62
- else
63
- store.connectors.push(next);
64
- writeConnectorStore(dataDir, store);
65
- return next;
66
- }
67
- export function deleteConnector(id, dataDir = config.session.dataDir) {
68
- const store = readConnectorStore(dataDir);
69
- const before = store.connectors.length;
70
- store.connectors = store.connectors.filter(c => c.id !== id);
71
- if (store.connectors.length === before)
72
- return false;
73
- writeConnectorStore(dataDir, store);
74
- return true;
75
- }
76
- export function newConnectorId() {
77
- return `conn_${randomUUID()}`;
78
- }
79
- //# sourceMappingURL=connector-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector-store.js","sourceRoot":"","sources":["../../src/services/connector-store.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- export interface DeploymentIdentity {
2
- deploymentId: string;
3
- name: string;
4
- /** The owner's tenant-stable Feishu identity, bound once via /pair. Used as
5
- * the "operator" when this deployment initiates 拉群 (so the operator is
6
- * pulled into the group). Absent until bound. */
7
- ownerUnionId?: string;
8
- ownerName?: string;
9
- }
10
- /** Load (creating + persisting on first call) this deployment's identity. */
11
- export declare function getDeploymentIdentity(dataDir: string): DeploymentIdentity;
12
- /** Rename this deployment (owner-facing label). Returns the updated identity. */
13
- export declare function setDeploymentName(dataDir: string, name: string): DeploymentIdentity;
14
- /** Bind the owner's Feishu identity (via /pair or auto-bind). Also adopts the
15
- * owner's Feishu name as the DEPLOYMENT name — the deployment is shown to the
16
- * team by its owner's real name (no custom labels), so the roster reads
17
- * naturally ("申晗 的部署" instead of a hostname). Returns the updated identity. */
18
- export declare function setDeploymentOwner(dataDir: string, owner: {
19
- unionId?: string;
20
- name?: string;
21
- }): DeploymentIdentity;
22
- //# sourceMappingURL=deployment-identity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployment-identity.d.ts","sourceRoot":"","sources":["../../src/services/deployment-identity.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb;;sDAEkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAkBzE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAKnF;AAED;;;gFAGgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CAUlH"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Deployment identity: a stable id + human-readable name for THIS botmux
3
- * deployment (one install = one owner). Used by federation so a hub can tell
4
- * member deployments apart and group their bots in the shared roster.
5
- *
6
- * Generated once and persisted to `{dataDir}/deployment-identity.json`; the name
7
- * defaults to the machine hostname and can be renamed by the owner.
8
- */
9
- import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync } from 'node:fs';
10
- import { join } from 'node:path';
11
- import { randomUUID } from 'node:crypto';
12
- import { hostname } from 'node:os';
13
- function filePath(dataDir) {
14
- return join(dataDir, 'deployment-identity.json');
15
- }
16
- function write(dataDir, id) {
17
- if (!existsSync(dataDir))
18
- mkdirSync(dataDir, { recursive: true });
19
- const fp = filePath(dataDir);
20
- const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
21
- writeFileSync(tmp, JSON.stringify(id, null, 2) + '\n', 'utf-8');
22
- renameSync(tmp, fp);
23
- }
24
- /** Load (creating + persisting on first call) this deployment's identity. */
25
- export function getDeploymentIdentity(dataDir) {
26
- const fp = filePath(dataDir);
27
- if (existsSync(fp)) {
28
- try {
29
- const p = JSON.parse(readFileSync(fp, 'utf-8'));
30
- if (p && typeof p.deploymentId === 'string' && p.deploymentId) {
31
- return {
32
- deploymentId: p.deploymentId,
33
- name: typeof p.name === 'string' && p.name ? p.name : 'botmux',
34
- ownerUnionId: typeof p.ownerUnionId === 'string' ? p.ownerUnionId : undefined,
35
- ownerName: typeof p.ownerName === 'string' ? p.ownerName : undefined,
36
- };
37
- }
38
- }
39
- catch { /* corrupt — regenerate */ }
40
- }
41
- const id = { deploymentId: `dep_${randomUUID().slice(0, 12)}`, name: hostname() || 'botmux' };
42
- write(dataDir, id);
43
- return id;
44
- }
45
- /** Rename this deployment (owner-facing label). Returns the updated identity. */
46
- export function setDeploymentName(dataDir, name) {
47
- const cur = getDeploymentIdentity(dataDir);
48
- const next = { ...cur, name: name.trim() || cur.name };
49
- write(dataDir, next);
50
- return next;
51
- }
52
- /** Bind the owner's Feishu identity (via /pair or auto-bind). Also adopts the
53
- * owner's Feishu name as the DEPLOYMENT name — the deployment is shown to the
54
- * team by its owner's real name (no custom labels), so the roster reads
55
- * naturally ("申晗 的部署" instead of a hostname). Returns the updated identity. */
56
- export function setDeploymentOwner(dataDir, owner) {
57
- const cur = getDeploymentIdentity(dataDir);
58
- const next = {
59
- ...cur,
60
- ownerUnionId: owner.unionId || cur.ownerUnionId,
61
- ownerName: owner.name || cur.ownerName,
62
- name: owner.name || cur.name, // default the deployment label to the owner's Feishu name
63
- };
64
- write(dataDir, next);
65
- return next;
66
- }
67
- //# sourceMappingURL=deployment-identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployment-identity.js","sourceRoot":"","sources":["../../src/services/deployment-identity.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export interface RemoteMembership {
2
- hubUrl: string;
3
- teamId: string;
4
- teamName: string;
5
- syncToken: string;
6
- deploymentId: string;
7
- joinedAt: number;
8
- /** Token THIS spoke issued to the hub at join; the hub presents it on
9
- * delegate-group calls so we can verify the request came from a hub we joined. */
10
- delegationToken?: string;
11
- }
12
- /** Record (or replace) a remote-team membership. */
13
- export declare function addMembership(dataDir: string, m: Omit<RemoteMembership, 'joinedAt'> & {
14
- joinedAt?: number;
15
- }, now?: number): RemoteMembership;
16
- /** All remote teams this deployment has joined. */
17
- export declare function listMemberships(dataDir: string): RemoteMembership[];
18
- /** Find the membership whose delegationToken matches (verifies an incoming
19
- * hub→spoke delegate call came from a hub this deployment actually joined). */
20
- export declare function findMembershipByDelegationToken(dataDir: string, token: string): RemoteMembership | null;
21
- /** Remove one membership. Returns true if removed. */
22
- export declare function removeMembership(dataDir: string, hubUrl: string, teamId: string): boolean;
23
- //# sourceMappingURL=federation-membership-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"federation-membership-store.d.ts","sourceRoot":"","sources":["../../src/services/federation-membership-store.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB;uFACmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8BD,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,MAAmB,GAAG,gBAAgB,CAMxJ;AAED,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAEnE;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAGvG;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOzF"}