botmux 2.111.0 → 2.112.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 (1041) hide show
  1. package/README.en.md +19 -7
  2. package/README.md +19 -7
  3. package/dist/adapters/adopt-route.d.ts.map +1 -1
  4. package/dist/adapters/adopt-route.js +2 -1
  5. package/dist/adapters/adopt-route.js.map +1 -1
  6. package/dist/adapters/backend/herdr-backend.d.ts +29 -0
  7. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/herdr-backend.js +167 -0
  9. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  10. package/dist/adapters/backend/riff-backend.js +2 -2
  11. package/dist/adapters/backend/sandbox.d.ts +61 -6
  12. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  13. package/dist/adapters/backend/sandbox.js +235 -43
  14. package/dist/adapters/backend/sandbox.js.map +1 -1
  15. package/dist/adapters/backend/tmux-backend.d.ts +1 -0
  16. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  17. package/dist/adapters/backend/tmux-backend.js +1 -0
  18. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  19. package/dist/adapters/cli/claude-code.d.ts +2 -0
  20. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  21. package/dist/adapters/cli/claude-code.js +7 -0
  22. package/dist/adapters/cli/claude-code.js.map +1 -1
  23. package/dist/adapters/cli/codex-app-turn.d.ts +16 -0
  24. package/dist/adapters/cli/codex-app-turn.d.ts.map +1 -1
  25. package/dist/adapters/cli/codex-app-turn.js +26 -0
  26. package/dist/adapters/cli/codex-app-turn.js.map +1 -1
  27. package/dist/adapters/cli/codex.d.ts.map +1 -1
  28. package/dist/adapters/cli/codex.js +1 -0
  29. package/dist/adapters/cli/codex.js.map +1 -1
  30. package/dist/adapters/cli/grok.d.ts +8 -6
  31. package/dist/adapters/cli/grok.d.ts.map +1 -1
  32. package/dist/adapters/cli/grok.js +14 -6
  33. package/dist/adapters/cli/grok.js.map +1 -1
  34. package/dist/adapters/cli/read-isolation.d.ts +40 -14
  35. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  36. package/dist/adapters/cli/read-isolation.js +116 -19
  37. package/dist/adapters/cli/read-isolation.js.map +1 -1
  38. package/dist/adapters/cli/runner-control-channel.d.ts +32 -0
  39. package/dist/adapters/cli/runner-control-channel.d.ts.map +1 -0
  40. package/dist/adapters/cli/runner-control-channel.js +104 -0
  41. package/dist/adapters/cli/runner-control-channel.js.map +1 -0
  42. package/dist/adapters/cli/shared-hints.d.ts +1 -1
  43. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  44. package/dist/adapters/cli/shared-hints.js +9 -0
  45. package/dist/adapters/cli/shared-hints.js.map +1 -1
  46. package/dist/adapters/cli/traex.d.ts.map +1 -1
  47. package/dist/adapters/cli/traex.js +100 -64
  48. package/dist/adapters/cli/traex.js.map +1 -1
  49. package/dist/adapters/cli/types.d.ts +13 -0
  50. package/dist/adapters/cli/types.d.ts.map +1 -1
  51. package/dist/bot-registry.d.ts +36 -27
  52. package/dist/bot-registry.d.ts.map +1 -1
  53. package/dist/bot-registry.js +354 -8
  54. package/dist/bot-registry.js.map +1 -1
  55. package/dist/cli/saved-workflow.d.ts +25 -0
  56. package/dist/cli/saved-workflow.d.ts.map +1 -0
  57. package/dist/cli/saved-workflow.js +338 -0
  58. package/dist/cli/saved-workflow.js.map +1 -0
  59. package/dist/cli/send-dispatch.d.ts +18 -3
  60. package/dist/cli/send-dispatch.d.ts.map +1 -1
  61. package/dist/cli/send-dispatch.js +22 -3
  62. package/dist/cli/send-dispatch.js.map +1 -1
  63. package/dist/cli/v3-run-cancel.d.ts +47 -0
  64. package/dist/cli/v3-run-cancel.d.ts.map +1 -0
  65. package/dist/cli/v3-run-cancel.js +96 -0
  66. package/dist/cli/v3-run-cancel.js.map +1 -0
  67. package/dist/cli/vc-agent.d.ts.map +1 -1
  68. package/dist/cli/vc-agent.js +54 -1
  69. package/dist/cli/vc-agent.js.map +1 -1
  70. package/dist/cli/workflow-migration.d.ts +39 -0
  71. package/dist/cli/workflow-migration.d.ts.map +1 -0
  72. package/dist/cli/workflow-migration.js +302 -0
  73. package/dist/cli/workflow-migration.js.map +1 -0
  74. package/dist/cli/workflow-run-archive.d.ts +29 -0
  75. package/dist/cli/workflow-run-archive.d.ts.map +1 -0
  76. package/dist/cli/workflow-run-archive.js +183 -0
  77. package/dist/cli/workflow-run-archive.js.map +1 -0
  78. package/dist/cli/workflow.d.ts +5 -10
  79. package/dist/cli/workflow.d.ts.map +1 -1
  80. package/dist/cli/workflow.js +85 -764
  81. package/dist/cli/workflow.js.map +1 -1
  82. package/dist/cli.d.ts.map +1 -1
  83. package/dist/cli.js +1018 -191
  84. package/dist/cli.js.map +1 -1
  85. package/dist/codex-app-runner.js +30 -21
  86. package/dist/codex-app-runner.js.map +1 -1
  87. package/dist/core/command-handler.d.ts.map +1 -1
  88. package/dist/core/command-handler.js +21 -9
  89. package/dist/core/command-handler.js.map +1 -1
  90. package/dist/core/current-turn-provenance.d.ts +39 -0
  91. package/dist/core/current-turn-provenance.d.ts.map +1 -0
  92. package/dist/core/current-turn-provenance.js +122 -0
  93. package/dist/core/current-turn-provenance.js.map +1 -0
  94. package/dist/core/daemon-ipc-auth.d.ts +20 -0
  95. package/dist/core/daemon-ipc-auth.d.ts.map +1 -0
  96. package/dist/core/daemon-ipc-auth.js +44 -0
  97. package/dist/core/daemon-ipc-auth.js.map +1 -0
  98. package/dist/core/daemon-ipc-session-auth.d.ts +37 -0
  99. package/dist/core/daemon-ipc-session-auth.d.ts.map +1 -0
  100. package/dist/core/daemon-ipc-session-auth.js +35 -0
  101. package/dist/core/daemon-ipc-session-auth.js.map +1 -0
  102. package/dist/core/dashboard-command/index.d.ts +0 -2
  103. package/dist/core/dashboard-command/index.d.ts.map +1 -1
  104. package/dist/core/dashboard-command/index.js +2 -2
  105. package/dist/core/dashboard-command/index.js.map +1 -1
  106. package/dist/core/dashboard-command/stub.d.ts +1 -1
  107. package/dist/core/dashboard-command/stub.d.ts.map +1 -1
  108. package/dist/core/dashboard-command/stub.js +0 -1
  109. package/dist/core/dashboard-command/stub.js.map +1 -1
  110. package/dist/core/dashboard-ipc-server.d.ts +11 -2
  111. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  112. package/dist/core/dashboard-ipc-server.js +266 -41
  113. package/dist/core/dashboard-ipc-server.js.map +1 -1
  114. package/dist/core/dashboard-secret.d.ts +3 -0
  115. package/dist/core/dashboard-secret.d.ts.map +1 -0
  116. package/dist/core/dashboard-secret.js +7 -0
  117. package/dist/core/dashboard-secret.js.map +1 -0
  118. package/dist/core/data-dir.d.ts +24 -0
  119. package/dist/core/data-dir.d.ts.map +1 -0
  120. package/dist/core/data-dir.js +48 -0
  121. package/dist/core/data-dir.js.map +1 -0
  122. package/dist/core/inflight-input-tracker.d.ts +4 -2
  123. package/dist/core/inflight-input-tracker.d.ts.map +1 -1
  124. package/dist/core/inflight-input-tracker.js +6 -5
  125. package/dist/core/inflight-input-tracker.js.map +1 -1
  126. package/dist/core/inject-queue-policy.d.ts +70 -0
  127. package/dist/core/inject-queue-policy.d.ts.map +1 -0
  128. package/dist/core/inject-queue-policy.js +30 -0
  129. package/dist/core/inject-queue-policy.js.map +1 -0
  130. package/dist/core/maintenance.d.ts +1 -1
  131. package/dist/core/maintenance.d.ts.map +1 -1
  132. package/dist/core/maintenance.js +3 -2
  133. package/dist/core/maintenance.js.map +1 -1
  134. package/dist/core/managed-origin-capability.d.ts +30 -0
  135. package/dist/core/managed-origin-capability.d.ts.map +1 -0
  136. package/dist/core/managed-origin-capability.js +88 -0
  137. package/dist/core/managed-origin-capability.js.map +1 -0
  138. package/dist/core/role-library.d.ts +15 -0
  139. package/dist/core/role-library.d.ts.map +1 -0
  140. package/dist/core/role-library.js +75 -0
  141. package/dist/core/role-library.js.map +1 -0
  142. package/dist/core/session-cwd.d.ts +14 -0
  143. package/dist/core/session-cwd.d.ts.map +1 -0
  144. package/dist/core/session-cwd.js +17 -0
  145. package/dist/core/session-cwd.js.map +1 -0
  146. package/dist/core/session-manager.d.ts +4 -1
  147. package/dist/core/session-manager.d.ts.map +1 -1
  148. package/dist/core/session-manager.js +27 -8
  149. package/dist/core/session-manager.js.map +1 -1
  150. package/dist/core/session-marker.d.ts +22 -0
  151. package/dist/core/session-marker.d.ts.map +1 -1
  152. package/dist/core/session-marker.js +185 -20
  153. package/dist/core/session-marker.js.map +1 -1
  154. package/dist/core/slash-inject.d.ts +15 -0
  155. package/dist/core/slash-inject.d.ts.map +1 -0
  156. package/dist/core/slash-inject.js +25 -0
  157. package/dist/core/slash-inject.js.map +1 -0
  158. package/dist/core/terminal-url.d.ts +1 -0
  159. package/dist/core/terminal-url.d.ts.map +1 -1
  160. package/dist/core/terminal-url.js +14 -8
  161. package/dist/core/terminal-url.js.map +1 -1
  162. package/dist/core/terminal-write-auth.d.ts +26 -0
  163. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  164. package/dist/core/terminal-write-auth.js +48 -3
  165. package/dist/core/terminal-write-auth.js.map +1 -1
  166. package/dist/core/trigger-session.d.ts +24 -1
  167. package/dist/core/trigger-session.d.ts.map +1 -1
  168. package/dist/core/trigger-session.js +106 -15
  169. package/dist/core/trigger-session.js.map +1 -1
  170. package/dist/core/types.d.ts +26 -1
  171. package/dist/core/types.d.ts.map +1 -1
  172. package/dist/core/types.js +10 -0
  173. package/dist/core/types.js.map +1 -1
  174. package/dist/core/worker-pool.d.ts +65 -2
  175. package/dist/core/worker-pool.d.ts.map +1 -1
  176. package/dist/core/worker-pool.js +459 -39
  177. package/dist/core/worker-pool.js.map +1 -1
  178. package/dist/daemon.d.ts +249 -8
  179. package/dist/daemon.d.ts.map +1 -1
  180. package/dist/daemon.js +7383 -1195
  181. package/dist/daemon.js.map +1 -1
  182. package/dist/dashboard/aggregator.d.ts +1 -1
  183. package/dist/dashboard/aggregator.d.ts.map +1 -1
  184. package/dist/dashboard/aggregator.js +2 -2
  185. package/dist/dashboard/aggregator.js.map +1 -1
  186. package/dist/dashboard/auth.d.ts +3 -8
  187. package/dist/dashboard/auth.d.ts.map +1 -1
  188. package/dist/dashboard/auth.js +63 -22
  189. package/dist/dashboard/auth.js.map +1 -1
  190. package/dist/dashboard/bot-onboarding.d.ts +5 -0
  191. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  192. package/dist/dashboard/bot-onboarding.js +37 -0
  193. package/dist/dashboard/bot-onboarding.js.map +1 -1
  194. package/dist/dashboard/connector-api.d.ts.map +1 -1
  195. package/dist/dashboard/connector-api.js +42 -2
  196. package/dist/dashboard/connector-api.js.map +1 -1
  197. package/dist/dashboard/daemon-internal-api.d.ts +0 -2
  198. package/dist/dashboard/daemon-internal-api.d.ts.map +1 -1
  199. package/dist/dashboard/daemon-internal-api.js +26 -93
  200. package/dist/dashboard/daemon-internal-api.js.map +1 -1
  201. package/dist/dashboard/daemon-internal-client.d.ts.map +1 -1
  202. package/dist/dashboard/daemon-internal-client.js +2 -3
  203. package/dist/dashboard/daemon-internal-client.js.map +1 -1
  204. package/dist/dashboard/federation-api.js +1 -1
  205. package/dist/dashboard/federation-api.js.map +1 -1
  206. package/dist/dashboard/federation-spoke-api.js +1 -1
  207. package/dist/dashboard/federation-spoke-api.js.map +1 -1
  208. package/dist/dashboard/history-senders.d.ts +3 -0
  209. package/dist/dashboard/history-senders.d.ts.map +1 -1
  210. package/dist/dashboard/history-senders.js.map +1 -1
  211. package/dist/dashboard/http.d.ts +4 -0
  212. package/dist/dashboard/http.d.ts.map +1 -0
  213. package/dist/dashboard/http.js +6 -0
  214. package/dist/dashboard/http.js.map +1 -0
  215. package/dist/dashboard/registry.d.ts +4 -0
  216. package/dist/dashboard/registry.d.ts.map +1 -1
  217. package/dist/dashboard/registry.js.map +1 -1
  218. package/dist/dashboard/trigger-api.js +1 -1
  219. package/dist/dashboard/trigger-api.js.map +1 -1
  220. package/dist/dashboard/v3-runs-api.d.ts +13 -10
  221. package/dist/dashboard/v3-runs-api.d.ts.map +1 -1
  222. package/dist/dashboard/v3-runs-api.js +121 -4
  223. package/dist/dashboard/v3-runs-api.js.map +1 -1
  224. package/dist/dashboard/vc-consumer-profiles-api.d.ts +105 -0
  225. package/dist/dashboard/vc-consumer-profiles-api.d.ts.map +1 -0
  226. package/dist/dashboard/vc-consumer-profiles-api.js +312 -0
  227. package/dist/dashboard/vc-consumer-profiles-api.js.map +1 -0
  228. package/dist/dashboard/web/app.d.ts.map +1 -1
  229. package/dist/dashboard/web/app.js +7 -6
  230. package/dist/dashboard/web/app.js.map +1 -1
  231. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  232. package/dist/dashboard/web/bot-defaults-page.js +9 -14
  233. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  234. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  235. package/dist/dashboard/web/bot-onboarding.js +7 -3
  236. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  237. package/dist/dashboard/web/connectors-page.d.ts +5 -0
  238. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  239. package/dist/dashboard/web/connectors-page.js +16 -12
  240. package/dist/dashboard/web/connectors-page.js.map +1 -1
  241. package/dist/dashboard/web/create-session-entry.d.ts +4 -0
  242. package/dist/dashboard/web/create-session-entry.d.ts.map +1 -0
  243. package/dist/dashboard/web/create-session-entry.js +17 -0
  244. package/dist/dashboard/web/create-session-entry.js.map +1 -0
  245. package/dist/dashboard/web/dashboard-components.d.ts +5 -0
  246. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -1
  247. package/dist/dashboard/web/dashboard-components.js +29 -4
  248. package/dist/dashboard/web/dashboard-components.js.map +1 -1
  249. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  250. package/dist/dashboard/web/dashboard-routes.js +0 -1
  251. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  252. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  253. package/dist/dashboard/web/i18n.js +192 -382
  254. package/dist/dashboard/web/i18n.js.map +1 -1
  255. package/dist/dashboard/web/preferences.d.ts +3 -0
  256. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  257. package/dist/dashboard/web/preferences.js +18 -0
  258. package/dist/dashboard/web/preferences.js.map +1 -1
  259. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  260. package/dist/dashboard/web/schedules-page.js +4 -1
  261. package/dist/dashboard/web/schedules-page.js.map +1 -1
  262. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  263. package/dist/dashboard/web/sessions-page.js +64 -18
  264. package/dist/dashboard/web/sessions-page.js.map +1 -1
  265. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  266. package/dist/dashboard/web/settings-page.js +2 -1
  267. package/dist/dashboard/web/settings-page.js.map +1 -1
  268. package/dist/dashboard/web/v3-api.d.ts +12 -2
  269. package/dist/dashboard/web/v3-api.d.ts.map +1 -1
  270. package/dist/dashboard/web/v3-api.js +34 -6
  271. package/dist/dashboard/web/v3-api.js.map +1 -1
  272. package/dist/dashboard/web/v3-components.d.ts +6 -0
  273. package/dist/dashboard/web/v3-components.d.ts.map +1 -1
  274. package/dist/dashboard/web/v3-components.js +66 -23
  275. package/dist/dashboard/web/v3-components.js.map +1 -1
  276. package/dist/dashboard/web/v3-model.js +1 -1
  277. package/dist/dashboard/web/v3-model.js.map +1 -1
  278. package/dist/dashboard/web/v3-terminal.js +2 -2
  279. package/dist/dashboard/web/v3-terminal.js.map +1 -1
  280. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts +19 -0
  281. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -0
  282. package/dist/dashboard/web/vc-consumer-profiles-section.js +382 -0
  283. package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -0
  284. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  285. package/dist/dashboard/webhook-routes.js +29 -6
  286. package/dist/dashboard/webhook-routes.js.map +1 -1
  287. package/dist/dashboard-web/app.js +1 -1
  288. package/dist/dashboard-web/chunks/bot-defaults-page-RYBL4ZYE.js +4 -0
  289. package/dist/dashboard-web/chunks/{chunk-OEJIT66L.js → chunk-CMDPZOPK.js} +1 -1
  290. package/dist/dashboard-web/chunks/chunk-I35DXGM4.js +1 -0
  291. package/dist/dashboard-web/chunks/chunk-NYZHARIU.js +47 -0
  292. package/dist/dashboard-web/chunks/chunk-SZOB6VK2.js +1 -0
  293. package/dist/dashboard-web/chunks/{chunk-YQFXGRSD.js → chunk-YBOHL7T7.js} +1 -1
  294. package/dist/dashboard-web/chunks/chunk-YWCPDL4S.js +1 -0
  295. package/dist/dashboard-web/chunks/connectors-page-DAMP7TTV.js +1 -0
  296. package/dist/dashboard-web/chunks/{groups-page-5AJPPJH2.js → groups-page-BPFA356N.js} +1 -1
  297. package/dist/dashboard-web/chunks/{insights-page-R3DFECX4.js → insights-page-SHOPHTWY.js} +1 -1
  298. package/dist/dashboard-web/chunks/{monitor-room-NLMKJLDY.js → monitor-room-PXPJGZCN.js} +1 -1
  299. package/dist/dashboard-web/chunks/{monitoring-page-EHSOX4GV.js → monitoring-page-4DF54M5Y.js} +1 -1
  300. package/dist/dashboard-web/chunks/{office-page-OXJKFJ4R.js → office-page-6OHU6KMZ.js} +1 -1
  301. package/dist/dashboard-web/chunks/{overview-page-GJHIVXJF.js → overview-page-IHIZ6F5M.js} +1 -1
  302. package/dist/dashboard-web/chunks/{roles-page-6ZODQISW.js → roles-page-JYTBYKEF.js} +1 -1
  303. package/dist/dashboard-web/chunks/{schedules-page-DAGMHVCH.js → schedules-page-WJ72T7KV.js} +1 -1
  304. package/dist/dashboard-web/chunks/sessions-page-QC56OIAI.js +3 -0
  305. package/dist/dashboard-web/chunks/settings-page-TCKWEXTN.js +2 -0
  306. package/dist/dashboard-web/chunks/{skills-page-J7EVUHXP.js → skills-page-RJJNIECW.js} +1 -1
  307. package/dist/dashboard-web/chunks/{team-federation-page-YM5JBIII.js → team-federation-page-ZMDX3E7K.js} +1 -1
  308. package/dist/dashboard-web/chunks/v3-page-VLLAUQ33.js +94 -0
  309. package/dist/dashboard-web/chunks/{whiteboards-page-75N2U6W4.js → whiteboards-page-NAO53CKM.js} +1 -1
  310. package/dist/dashboard-web/style.css +363 -274
  311. package/dist/dashboard.js +194 -78
  312. package/dist/dashboard.js.map +1 -1
  313. package/dist/global-config.d.ts +1 -1
  314. package/dist/i18n/en.d.ts.map +1 -1
  315. package/dist/i18n/en.js +12 -87
  316. package/dist/i18n/en.js.map +1 -1
  317. package/dist/i18n/zh.d.ts.map +1 -1
  318. package/dist/i18n/zh.js +12 -87
  319. package/dist/i18n/zh.js.map +1 -1
  320. package/dist/im/lark/brand-template.d.ts +15 -0
  321. package/dist/im/lark/brand-template.d.ts.map +1 -0
  322. package/dist/im/lark/brand-template.js +114 -0
  323. package/dist/im/lark/brand-template.js.map +1 -0
  324. package/dist/im/lark/card-handler.d.ts +6 -3
  325. package/dist/im/lark/card-handler.d.ts.map +1 -1
  326. package/dist/im/lark/card-handler.js +23 -39
  327. package/dist/im/lark/card-handler.js.map +1 -1
  328. package/dist/im/lark/client.d.ts +8 -2
  329. package/dist/im/lark/client.d.ts.map +1 -1
  330. package/dist/im/lark/client.js +33 -31
  331. package/dist/im/lark/client.js.map +1 -1
  332. package/dist/im/lark/doc-comment.d.ts +18 -0
  333. package/dist/im/lark/doc-comment.d.ts.map +1 -1
  334. package/dist/im/lark/doc-comment.js +119 -5
  335. package/dist/im/lark/doc-comment.js.map +1 -1
  336. package/dist/im/lark/event-dispatcher.d.ts +18 -2
  337. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  338. package/dist/im/lark/event-dispatcher.js +41 -19
  339. package/dist/im/lark/event-dispatcher.js.map +1 -1
  340. package/dist/im/lark/merge-forward.d.ts.map +1 -1
  341. package/dist/im/lark/merge-forward.js +7 -2
  342. package/dist/im/lark/merge-forward.js.map +1 -1
  343. package/dist/im/lark/message-parser.d.ts.map +1 -1
  344. package/dist/im/lark/message-parser.js +7 -0
  345. package/dist/im/lark/message-parser.js.map +1 -1
  346. package/dist/im/lark/overview-card.d.ts +1 -2
  347. package/dist/im/lark/overview-card.d.ts.map +1 -1
  348. package/dist/im/lark/overview-card.js +1 -48
  349. package/dist/im/lark/overview-card.js.map +1 -1
  350. package/dist/im/lark/v3-blocked-card-handler.d.ts.map +1 -1
  351. package/dist/im/lark/v3-blocked-card-handler.js +5 -5
  352. package/dist/im/lark/v3-blocked-card-handler.js.map +1 -1
  353. package/dist/im/lark/v3-blocked-card.d.ts +1 -0
  354. package/dist/im/lark/v3-blocked-card.d.ts.map +1 -1
  355. package/dist/im/lark/v3-blocked-card.js +19 -2
  356. package/dist/im/lark/v3-blocked-card.js.map +1 -1
  357. package/dist/im/lark/v3-distillation-card-handler.d.ts +12 -0
  358. package/dist/im/lark/v3-distillation-card-handler.d.ts.map +1 -0
  359. package/dist/im/lark/v3-distillation-card-handler.js +107 -0
  360. package/dist/im/lark/v3-distillation-card-handler.js.map +1 -0
  361. package/dist/im/lark/v3-distillation-card.d.ts +42 -0
  362. package/dist/im/lark/v3-distillation-card.d.ts.map +1 -0
  363. package/dist/im/lark/v3-distillation-card.js +206 -0
  364. package/dist/im/lark/v3-distillation-card.js.map +1 -0
  365. package/dist/im/lark/v3-gate-card-handler.d.ts +1 -1
  366. package/dist/im/lark/v3-gate-card-handler.d.ts.map +1 -1
  367. package/dist/im/lark/v3-gate-card-handler.js +6 -5
  368. package/dist/im/lark/v3-gate-card-handler.js.map +1 -1
  369. package/dist/im/lark/v3-gate-card.d.ts +8 -1
  370. package/dist/im/lark/v3-gate-card.d.ts.map +1 -1
  371. package/dist/im/lark/v3-gate-card.js +38 -7
  372. package/dist/im/lark/v3-gate-card.js.map +1 -1
  373. package/dist/im/lark/v3-loop-grant-card-handler.d.ts.map +1 -1
  374. package/dist/im/lark/v3-loop-grant-card-handler.js +3 -4
  375. package/dist/im/lark/v3-loop-grant-card-handler.js.map +1 -1
  376. package/dist/im/lark/v3-loop-grant-card.js +1 -1
  377. package/dist/im/lark/v3-loop-grant-card.js.map +1 -1
  378. package/dist/im/lark/v3-progress-card-manager.d.ts +79 -0
  379. package/dist/im/lark/v3-progress-card-manager.d.ts.map +1 -0
  380. package/dist/im/lark/v3-progress-card-manager.js +444 -0
  381. package/dist/im/lark/v3-progress-card-manager.js.map +1 -0
  382. package/dist/im/lark/v3-progress-card.d.ts +26 -0
  383. package/dist/im/lark/v3-progress-card.d.ts.map +1 -0
  384. package/dist/im/lark/v3-progress-card.js +211 -0
  385. package/dist/im/lark/v3-progress-card.js.map +1 -0
  386. package/dist/im/lark/v3-revisit-grant-card-handler.d.ts.map +1 -1
  387. package/dist/im/lark/v3-revisit-grant-card-handler.js +3 -4
  388. package/dist/im/lark/v3-revisit-grant-card-handler.js.map +1 -1
  389. package/dist/im/lark/v3-revisit-grant-card.js +1 -1
  390. package/dist/im/lark/v3-revisit-grant-card.js.map +1 -1
  391. package/dist/im/lark/v3-run-save-card-handler.d.ts +12 -0
  392. package/dist/im/lark/v3-run-save-card-handler.d.ts.map +1 -0
  393. package/dist/im/lark/v3-run-save-card-handler.js +160 -0
  394. package/dist/im/lark/v3-run-save-card-handler.js.map +1 -0
  395. package/dist/im/lark/v3-run-save-card.d.ts +38 -0
  396. package/dist/im/lark/v3-run-save-card.d.ts.map +1 -0
  397. package/dist/im/lark/v3-run-save-card.js +125 -0
  398. package/dist/im/lark/v3-run-save-card.js.map +1 -0
  399. package/dist/im/lark/v3-saved-workflow-command.d.ts +36 -0
  400. package/dist/im/lark/v3-saved-workflow-command.d.ts.map +1 -0
  401. package/dist/im/lark/v3-saved-workflow-command.js +186 -0
  402. package/dist/im/lark/v3-saved-workflow-command.js.map +1 -0
  403. package/dist/im/lark/v3-saved-workflow-handler.d.ts +89 -0
  404. package/dist/im/lark/v3-saved-workflow-handler.d.ts.map +1 -0
  405. package/dist/im/lark/v3-saved-workflow-handler.js +212 -0
  406. package/dist/im/lark/v3-saved-workflow-handler.js.map +1 -0
  407. package/dist/im/lark/workflow-slash-command.d.ts +7 -110
  408. package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
  409. package/dist/im/lark/workflow-slash-command.js +16 -230
  410. package/dist/im/lark/workflow-slash-command.js.map +1 -1
  411. package/dist/index-daemon.js +1 -1
  412. package/dist/index-daemon.js.map +1 -1
  413. package/dist/mir-runner.js +11 -15
  414. package/dist/mir-runner.js.map +1 -1
  415. package/dist/mira-runner.js +8 -12
  416. package/dist/mira-runner.js.map +1 -1
  417. package/dist/services/bridge-turn-queue.d.ts +29 -12
  418. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  419. package/dist/services/bridge-turn-queue.js +59 -23
  420. package/dist/services/bridge-turn-queue.js.map +1 -1
  421. package/dist/services/claude-transcript.d.ts +15 -0
  422. package/dist/services/claude-transcript.d.ts.map +1 -1
  423. package/dist/services/claude-transcript.js +24 -0
  424. package/dist/services/claude-transcript.js.map +1 -1
  425. package/dist/services/codex-bridge-queue.d.ts +13 -2
  426. package/dist/services/codex-bridge-queue.d.ts.map +1 -1
  427. package/dist/services/codex-bridge-queue.js +20 -3
  428. package/dist/services/codex-bridge-queue.js.map +1 -1
  429. package/dist/services/codex-transcript.d.ts +6 -0
  430. package/dist/services/codex-transcript.d.ts.map +1 -1
  431. package/dist/services/codex-transcript.js.map +1 -1
  432. package/dist/services/grok-transcript.d.ts +3 -2
  433. package/dist/services/grok-transcript.d.ts.map +1 -1
  434. package/dist/services/grok-transcript.js +73 -22
  435. package/dist/services/grok-transcript.js.map +1 -1
  436. package/dist/services/hook-runner.d.ts.map +1 -1
  437. package/dist/services/hook-runner.js +26 -3
  438. package/dist/services/hook-runner.js.map +1 -1
  439. package/dist/services/schedule-store.d.ts +37 -0
  440. package/dist/services/schedule-store.d.ts.map +1 -1
  441. package/dist/services/schedule-store.js +259 -141
  442. package/dist/services/schedule-store.js.map +1 -1
  443. package/dist/services/send-policy.d.ts +50 -0
  444. package/dist/services/send-policy.d.ts.map +1 -1
  445. package/dist/services/send-policy.js +65 -0
  446. package/dist/services/send-policy.js.map +1 -1
  447. package/dist/services/session-lifecycle-hooks.d.ts.map +1 -1
  448. package/dist/services/session-lifecycle-hooks.js +12 -0
  449. package/dist/services/session-lifecycle-hooks.js.map +1 -1
  450. package/dist/services/traex-transcript.d.ts +11 -2
  451. package/dist/services/traex-transcript.d.ts.map +1 -1
  452. package/dist/services/traex-transcript.js +142 -8
  453. package/dist/services/traex-transcript.js.map +1 -1
  454. package/dist/services/trigger-types.d.ts +6 -1
  455. package/dist/services/trigger-types.d.ts.map +1 -1
  456. package/dist/services/trigger-types.js.map +1 -1
  457. package/dist/services/turn-terminal-deduper.d.ts +14 -0
  458. package/dist/services/turn-terminal-deduper.d.ts.map +1 -0
  459. package/dist/services/turn-terminal-deduper.js +34 -0
  460. package/dist/services/turn-terminal-deduper.js.map +1 -0
  461. package/dist/services/vc-meeting-action-gate.d.ts +246 -0
  462. package/dist/services/vc-meeting-action-gate.d.ts.map +1 -0
  463. package/dist/services/vc-meeting-action-gate.js +756 -0
  464. package/dist/services/vc-meeting-action-gate.js.map +1 -0
  465. package/dist/services/vc-meeting-action-store.d.ts +222 -0
  466. package/dist/services/vc-meeting-action-store.d.ts.map +1 -0
  467. package/dist/services/vc-meeting-action-store.js +806 -0
  468. package/dist/services/vc-meeting-action-store.js.map +1 -0
  469. package/dist/services/vc-meeting-consumer-isolation.d.ts +27 -0
  470. package/dist/services/vc-meeting-consumer-isolation.d.ts.map +1 -0
  471. package/dist/services/vc-meeting-consumer-isolation.js +37 -0
  472. package/dist/services/vc-meeting-consumer-isolation.js.map +1 -0
  473. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts +72 -0
  474. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts.map +1 -0
  475. package/dist/services/vc-meeting-consumer-profile-bootstrap.js +343 -0
  476. package/dist/services/vc-meeting-consumer-profile-bootstrap.js.map +1 -0
  477. package/dist/services/vc-meeting-consumer-profile-store.d.ts +39 -0
  478. package/dist/services/vc-meeting-consumer-profile-store.d.ts.map +1 -0
  479. package/dist/services/vc-meeting-consumer-profile-store.js +190 -0
  480. package/dist/services/vc-meeting-consumer-profile-store.js.map +1 -0
  481. package/dist/services/vc-meeting-daemon-auth.d.ts +29 -0
  482. package/dist/services/vc-meeting-daemon-auth.d.ts.map +1 -0
  483. package/dist/services/vc-meeting-daemon-auth.js +117 -0
  484. package/dist/services/vc-meeting-daemon-auth.js.map +1 -0
  485. package/dist/services/vc-meeting-delivery-feed.d.ts +52 -0
  486. package/dist/services/vc-meeting-delivery-feed.d.ts.map +1 -0
  487. package/dist/services/vc-meeting-delivery-feed.js +231 -0
  488. package/dist/services/vc-meeting-delivery-feed.js.map +1 -0
  489. package/dist/services/vc-meeting-delivery-hub-store.d.ts +213 -0
  490. package/dist/services/vc-meeting-delivery-hub-store.d.ts.map +1 -0
  491. package/dist/services/vc-meeting-delivery-hub-store.js +1230 -0
  492. package/dist/services/vc-meeting-delivery-hub-store.js.map +1 -0
  493. package/dist/services/vc-meeting-delivery-protocol.d.ts +159 -0
  494. package/dist/services/vc-meeting-delivery-protocol.d.ts.map +1 -0
  495. package/dist/services/vc-meeting-delivery-protocol.js +443 -0
  496. package/dist/services/vc-meeting-delivery-protocol.js.map +1 -0
  497. package/dist/services/vc-meeting-delivery-receiver.d.ts +80 -0
  498. package/dist/services/vc-meeting-delivery-receiver.d.ts.map +1 -0
  499. package/dist/services/vc-meeting-delivery-receiver.js +543 -0
  500. package/dist/services/vc-meeting-delivery-receiver.js.map +1 -0
  501. package/dist/services/vc-meeting-delivery-store.d.ts +339 -0
  502. package/dist/services/vc-meeting-delivery-store.d.ts.map +1 -0
  503. package/dist/services/vc-meeting-delivery-store.js +1024 -0
  504. package/dist/services/vc-meeting-delivery-store.js.map +1 -0
  505. package/dist/services/vc-meeting-feed-metadata-store.d.ts +58 -0
  506. package/dist/services/vc-meeting-feed-metadata-store.d.ts.map +1 -0
  507. package/dist/services/vc-meeting-feed-metadata-store.js +356 -0
  508. package/dist/services/vc-meeting-feed-metadata-store.js.map +1 -0
  509. package/dist/services/vc-meeting-im-reply.d.ts +55 -0
  510. package/dist/services/vc-meeting-im-reply.d.ts.map +1 -0
  511. package/dist/services/vc-meeting-im-reply.js +279 -0
  512. package/dist/services/vc-meeting-im-reply.js.map +1 -0
  513. package/dist/services/vc-meeting-im-routing.d.ts +131 -0
  514. package/dist/services/vc-meeting-im-routing.d.ts.map +1 -0
  515. package/dist/services/vc-meeting-im-routing.js +449 -0
  516. package/dist/services/vc-meeting-im-routing.js.map +1 -0
  517. package/dist/services/vc-meeting-listener-message-store.d.ts +23 -0
  518. package/dist/services/vc-meeting-listener-message-store.d.ts.map +1 -0
  519. package/dist/services/vc-meeting-listener-message-store.js +142 -0
  520. package/dist/services/vc-meeting-listener-message-store.js.map +1 -0
  521. package/dist/services/vc-meeting-member-policy.d.ts +37 -0
  522. package/dist/services/vc-meeting-member-policy.d.ts.map +1 -0
  523. package/dist/services/vc-meeting-member-policy.js +102 -0
  524. package/dist/services/vc-meeting-member-policy.js.map +1 -0
  525. package/dist/services/vc-meeting-profile-instructions.d.ts +22 -0
  526. package/dist/services/vc-meeting-profile-instructions.d.ts.map +1 -0
  527. package/dist/services/vc-meeting-profile-instructions.js +64 -0
  528. package/dist/services/vc-meeting-profile-instructions.js.map +1 -0
  529. package/dist/services/vc-meeting-runtime-store.d.ts +63 -0
  530. package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -1
  531. package/dist/services/vc-meeting-runtime-store.js +605 -116
  532. package/dist/services/vc-meeting-runtime-store.js.map +1 -1
  533. package/dist/services/vc-meeting-send-policy.d.ts +89 -0
  534. package/dist/services/vc-meeting-send-policy.d.ts.map +1 -0
  535. package/dist/services/vc-meeting-send-policy.js +150 -0
  536. package/dist/services/vc-meeting-send-policy.js.map +1 -0
  537. package/dist/services/vc-meeting-terminal-reconciler.d.ts +93 -0
  538. package/dist/services/vc-meeting-terminal-reconciler.d.ts.map +1 -0
  539. package/dist/services/vc-meeting-terminal-reconciler.js +198 -0
  540. package/dist/services/vc-meeting-terminal-reconciler.js.map +1 -0
  541. package/dist/setup/open-platform-automation.d.ts +2 -0
  542. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  543. package/dist/setup/open-platform-automation.js +1 -0
  544. package/dist/setup/open-platform-automation.js.map +1 -1
  545. package/dist/setup/open-platform-outcome.d.ts +50 -0
  546. package/dist/setup/open-platform-outcome.d.ts.map +1 -0
  547. package/dist/setup/open-platform-outcome.js +56 -0
  548. package/dist/setup/open-platform-outcome.js.map +1 -0
  549. package/dist/setup/setup-args.d.ts +7 -2
  550. package/dist/setup/setup-args.d.ts.map +1 -1
  551. package/dist/setup/setup-args.js +21 -5
  552. package/dist/setup/setup-args.js.map +1 -1
  553. package/dist/skills/definitions.d.ts.map +1 -1
  554. package/dist/skills/definitions.js +66 -54
  555. package/dist/skills/definitions.js.map +1 -1
  556. package/dist/skills/injection-mode.d.ts +5 -4
  557. package/dist/skills/injection-mode.d.ts.map +1 -1
  558. package/dist/skills/injection-mode.js +19 -10
  559. package/dist/skills/injection-mode.js.map +1 -1
  560. package/dist/types.d.ts +187 -0
  561. package/dist/types.d.ts.map +1 -1
  562. package/dist/utils/canonical-input-hash.d.ts +5 -0
  563. package/dist/utils/canonical-input-hash.d.ts.map +1 -0
  564. package/dist/utils/canonical-input-hash.js +43 -0
  565. package/dist/utils/canonical-input-hash.js.map +1 -0
  566. package/dist/utils/canonical-json.d.ts +10 -0
  567. package/dist/utils/canonical-json.d.ts.map +1 -0
  568. package/dist/utils/canonical-json.js +23 -0
  569. package/dist/utils/canonical-json.js.map +1 -0
  570. package/dist/utils/child-env.d.ts +1 -1
  571. package/dist/utils/child-env.d.ts.map +1 -1
  572. package/dist/utils/child-env.js +8 -0
  573. package/dist/utils/child-env.js.map +1 -1
  574. package/dist/utils/daemon-discovery.d.ts +4 -0
  575. package/dist/utils/daemon-discovery.d.ts.map +1 -1
  576. package/dist/utils/daemon-discovery.js +12 -6
  577. package/dist/utils/daemon-discovery.js.map +1 -1
  578. package/dist/utils/file-lock.d.ts.map +1 -1
  579. package/dist/utils/file-lock.js +696 -102
  580. package/dist/utils/file-lock.js.map +1 -1
  581. package/dist/utils/fs-durability.d.ts +20 -0
  582. package/dist/utils/fs-durability.d.ts.map +1 -0
  583. package/dist/utils/fs-durability.js +84 -0
  584. package/dist/utils/fs-durability.js.map +1 -0
  585. package/dist/utils/global-install.d.ts +5 -2
  586. package/dist/utils/global-install.d.ts.map +1 -1
  587. package/dist/utils/global-install.js +22 -4
  588. package/dist/utils/global-install.js.map +1 -1
  589. package/dist/utils/herdr-web-history.d.ts +12 -0
  590. package/dist/utils/herdr-web-history.d.ts.map +1 -0
  591. package/dist/utils/herdr-web-history.js +74 -0
  592. package/dist/utils/herdr-web-history.js.map +1 -0
  593. package/dist/utils/herdr-web-terminal-binding.d.ts +39 -0
  594. package/dist/utils/herdr-web-terminal-binding.d.ts.map +1 -0
  595. package/dist/utils/herdr-web-terminal-binding.js +56 -0
  596. package/dist/utils/herdr-web-terminal-binding.js.map +1 -0
  597. package/dist/utils/pending-input-queue.d.ts +30 -1
  598. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  599. package/dist/utils/pending-input-queue.js +45 -5
  600. package/dist/utils/pending-input-queue.js.map +1 -1
  601. package/dist/vc-agent/cards.d.ts +49 -4
  602. package/dist/vc-agent/cards.d.ts.map +1 -1
  603. package/dist/vc-agent/cards.js +460 -70
  604. package/dist/vc-agent/cards.js.map +1 -1
  605. package/dist/vc-agent/polling-source.d.ts +6 -1
  606. package/dist/vc-agent/polling-source.d.ts.map +1 -1
  607. package/dist/vc-agent/polling-source.js +17 -4
  608. package/dist/vc-agent/polling-source.js.map +1 -1
  609. package/dist/worker.js +1333 -283
  610. package/dist/worker.js.map +1 -1
  611. package/dist/workflows/definition.d.ts +28 -35
  612. package/dist/workflows/definition.d.ts.map +1 -1
  613. package/dist/workflows/definition.js +7 -24
  614. package/dist/workflows/definition.js.map +1 -1
  615. package/dist/workflows/events/payloads.d.ts +28 -28
  616. package/dist/workflows/events/replay.d.ts +5 -0
  617. package/dist/workflows/events/replay.d.ts.map +1 -1
  618. package/dist/workflows/events/replay.js +6 -1
  619. package/dist/workflows/events/replay.js.map +1 -1
  620. package/dist/workflows/events/schema.d.ts +663 -663
  621. package/dist/workflows/events/schema.d.ts.map +1 -1
  622. package/dist/workflows/events/schema.js +1 -4
  623. package/dist/workflows/events/schema.js.map +1 -1
  624. package/dist/workflows/hostExecutors/botmux-schedule.d.ts +5 -4
  625. package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -1
  626. package/dist/workflows/hostExecutors/botmux-schedule.js +80 -35
  627. package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -1
  628. package/dist/workflows/hostExecutors/feishu-im.d.ts +3 -3
  629. package/dist/workflows/hostExecutors/feishu-im.d.ts.map +1 -1
  630. package/dist/workflows/hostExecutors/feishu-im.js +3 -3
  631. package/dist/workflows/hostExecutors/feishu-im.js.map +1 -1
  632. package/dist/workflows/hostExecutors/feishu-reply.d.ts +1 -1
  633. package/dist/workflows/hostExecutors/feishu-reply.d.ts.map +1 -1
  634. package/dist/workflows/hostExecutors/feishu-reply.js +1 -1
  635. package/dist/workflows/hostExecutors/feishu-reply.js.map +1 -1
  636. package/dist/workflows/hostExecutors/feishu-send.d.ts +1 -1
  637. package/dist/workflows/hostExecutors/feishu-send.d.ts.map +1 -1
  638. package/dist/workflows/hostExecutors/feishu-send.js +1 -1
  639. package/dist/workflows/hostExecutors/feishu-send.js.map +1 -1
  640. package/dist/workflows/hostExecutors/index.d.ts +0 -1
  641. package/dist/workflows/hostExecutors/index.d.ts.map +1 -1
  642. package/dist/workflows/hostExecutors/index.js +0 -1
  643. package/dist/workflows/hostExecutors/index.js.map +1 -1
  644. package/dist/workflows/hostExecutors/registry.d.ts +1 -1
  645. package/dist/workflows/hostExecutors/registry.d.ts.map +1 -1
  646. package/dist/workflows/hostExecutors/types.d.ts +21 -29
  647. package/dist/workflows/hostExecutors/types.d.ts.map +1 -1
  648. package/dist/workflows/migration/v2-definition-paths.d.ts +3 -0
  649. package/dist/workflows/migration/v2-definition-paths.d.ts.map +1 -0
  650. package/dist/workflows/migration/v2-definition-paths.js +10 -0
  651. package/dist/workflows/migration/v2-definition-paths.js.map +1 -0
  652. package/dist/workflows/migration/v2-ledger.d.ts +138 -0
  653. package/dist/workflows/migration/v2-ledger.d.ts.map +1 -0
  654. package/dist/workflows/migration/v2-ledger.js +599 -0
  655. package/dist/workflows/migration/v2-ledger.js.map +1 -0
  656. package/dist/workflows/migration/v2-migration-service.d.ts +40 -0
  657. package/dist/workflows/migration/v2-migration-service.d.ts.map +1 -0
  658. package/dist/workflows/migration/v2-migration-service.js +454 -0
  659. package/dist/workflows/migration/v2-migration-service.js.map +1 -0
  660. package/dist/workflows/migration/v2-read-only-ids.d.ts +7 -0
  661. package/dist/workflows/migration/v2-read-only-ids.d.ts.map +1 -0
  662. package/dist/workflows/migration/v2-read-only-ids.js +9 -0
  663. package/dist/workflows/migration/v2-read-only-ids.js.map +1 -0
  664. package/dist/workflows/migration/v2-run-archive-schema.d.ts +976 -0
  665. package/dist/workflows/migration/v2-run-archive-schema.d.ts.map +1 -0
  666. package/dist/workflows/migration/v2-run-archive-schema.js +113 -0
  667. package/dist/workflows/migration/v2-run-archive-schema.js.map +1 -0
  668. package/dist/workflows/migration/v2-run-archive.d.ts +92 -0
  669. package/dist/workflows/migration/v2-run-archive.d.ts.map +1 -0
  670. package/dist/workflows/migration/v2-run-archive.js +1220 -0
  671. package/dist/workflows/migration/v2-run-archive.js.map +1 -0
  672. package/dist/workflows/migration/v2-scanner.d.ts +22 -0
  673. package/dist/workflows/migration/v2-scanner.d.ts.map +1 -0
  674. package/dist/workflows/migration/v2-scanner.js +114 -0
  675. package/dist/workflows/migration/v2-scanner.js.map +1 -0
  676. package/dist/workflows/migration/v2-to-v3.d.ts +32 -0
  677. package/dist/workflows/migration/v2-to-v3.d.ts.map +1 -0
  678. package/dist/workflows/migration/v2-to-v3.js +494 -0
  679. package/dist/workflows/migration/v2-to-v3.js.map +1 -0
  680. package/dist/workflows/ops-projection.d.ts.map +1 -1
  681. package/dist/workflows/ops-projection.js +4 -3
  682. package/dist/workflows/ops-projection.js.map +1 -1
  683. package/dist/workflows/shared/idempotency-key.d.ts +19 -0
  684. package/dist/workflows/shared/idempotency-key.d.ts.map +1 -0
  685. package/dist/workflows/shared/idempotency-key.js +23 -0
  686. package/dist/workflows/shared/idempotency-key.js.map +1 -0
  687. package/dist/workflows/{params.d.ts → shared/params.d.ts} +42 -6
  688. package/dist/workflows/shared/params.d.ts.map +1 -0
  689. package/dist/workflows/{params.js → shared/params.js} +91 -4
  690. package/dist/workflows/shared/params.js.map +1 -0
  691. package/dist/workflows/shared/provider-reconciler.d.ts +47 -0
  692. package/dist/workflows/shared/provider-reconciler.d.ts.map +1 -0
  693. package/dist/workflows/shared/provider-reconciler.js +17 -0
  694. package/dist/workflows/shared/provider-reconciler.js.map +1 -0
  695. package/dist/workflows/{spawn-policy.d.ts → shared/sandbox-policy.d.ts} +2 -2
  696. package/dist/workflows/shared/sandbox-policy.d.ts.map +1 -0
  697. package/dist/workflows/{spawn-policy.js → shared/sandbox-policy.js} +1 -1
  698. package/dist/workflows/shared/sandbox-policy.js.map +1 -0
  699. package/dist/workflows/shared/worker-process.d.ts +29 -0
  700. package/dist/workflows/shared/worker-process.d.ts.map +1 -0
  701. package/dist/workflows/shared/worker-process.js +56 -0
  702. package/dist/workflows/shared/worker-process.js.map +1 -0
  703. package/dist/workflows/v3/architect.d.ts.map +1 -1
  704. package/dist/workflows/v3/architect.js +16 -4
  705. package/dist/workflows/v3/architect.js.map +1 -1
  706. package/dist/workflows/v3/attempt-ledger.d.ts +23 -0
  707. package/dist/workflows/v3/attempt-ledger.d.ts.map +1 -0
  708. package/dist/workflows/v3/attempt-ledger.js +74 -0
  709. package/dist/workflows/v3/attempt-ledger.js.map +1 -0
  710. package/dist/workflows/v3/bot-resolve.d.ts +19 -1
  711. package/dist/workflows/v3/bot-resolve.d.ts.map +1 -1
  712. package/dist/workflows/v3/bot-resolve.js +129 -3
  713. package/dist/workflows/v3/bot-resolve.js.map +1 -1
  714. package/dist/workflows/v3/cli-daemon-command-authority.d.ts +59 -0
  715. package/dist/workflows/v3/cli-daemon-command-authority.d.ts.map +1 -0
  716. package/dist/workflows/v3/cli-daemon-command-authority.js +175 -0
  717. package/dist/workflows/v3/cli-daemon-command-authority.js.map +1 -0
  718. package/dist/workflows/v3/cli-run.d.ts +27 -0
  719. package/dist/workflows/v3/cli-run.d.ts.map +1 -1
  720. package/dist/workflows/v3/cli-run.js +113 -29
  721. package/dist/workflows/v3/cli-run.js.map +1 -1
  722. package/dist/workflows/v3/contract.d.ts +16 -16
  723. package/dist/workflows/v3/contract.d.ts.map +1 -1
  724. package/dist/workflows/v3/contract.js +15 -11
  725. package/dist/workflows/v3/contract.js.map +1 -1
  726. package/dist/workflows/v3/daemon-ipc-auth.d.ts +113 -0
  727. package/dist/workflows/v3/daemon-ipc-auth.d.ts.map +1 -0
  728. package/dist/workflows/v3/daemon-ipc-auth.js +294 -0
  729. package/dist/workflows/v3/daemon-ipc-auth.js.map +1 -0
  730. package/dist/workflows/v3/daemon-ipc-body.d.ts +30 -0
  731. package/dist/workflows/v3/daemon-ipc-body.d.ts.map +1 -0
  732. package/dist/workflows/v3/daemon-ipc-body.js +65 -0
  733. package/dist/workflows/v3/daemon-ipc-body.js.map +1 -0
  734. package/dist/workflows/v3/daemon-ipc-client.d.ts +32 -0
  735. package/dist/workflows/v3/daemon-ipc-client.d.ts.map +1 -0
  736. package/dist/workflows/v3/daemon-ipc-client.js +74 -0
  737. package/dist/workflows/v3/daemon-ipc-client.js.map +1 -0
  738. package/dist/workflows/v3/daemon-run.d.ts +87 -2
  739. package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
  740. package/dist/workflows/v3/daemon-run.js +863 -68
  741. package/dist/workflows/v3/daemon-run.js.map +1 -1
  742. package/dist/workflows/v3/dag.d.ts +22 -8
  743. package/dist/workflows/v3/dag.d.ts.map +1 -1
  744. package/dist/workflows/v3/dag.js +214 -22
  745. package/dist/workflows/v3/dag.js.map +1 -1
  746. package/dist/workflows/v3/distillation-compiler.d.ts +36 -0
  747. package/dist/workflows/v3/distillation-compiler.d.ts.map +1 -0
  748. package/dist/workflows/v3/distillation-compiler.js +704 -0
  749. package/dist/workflows/v3/distillation-compiler.js.map +1 -0
  750. package/dist/workflows/v3/distillation-private-root.d.ts +10 -0
  751. package/dist/workflows/v3/distillation-private-root.d.ts.map +1 -0
  752. package/dist/workflows/v3/distillation-private-root.js +34 -0
  753. package/dist/workflows/v3/distillation-private-root.js.map +1 -0
  754. package/dist/workflows/v3/distillation-runner.d.ts +64 -0
  755. package/dist/workflows/v3/distillation-runner.d.ts.map +1 -0
  756. package/dist/workflows/v3/distillation-runner.js +1028 -0
  757. package/dist/workflows/v3/distillation-runner.js.map +1 -0
  758. package/dist/workflows/v3/distillation-schema.d.ts +63 -0
  759. package/dist/workflows/v3/distillation-schema.d.ts.map +1 -0
  760. package/dist/workflows/v3/distillation-schema.js +184 -0
  761. package/dist/workflows/v3/distillation-schema.js.map +1 -0
  762. package/dist/workflows/v3/distillation-service.d.ts +78 -0
  763. package/dist/workflows/v3/distillation-service.d.ts.map +1 -0
  764. package/dist/workflows/v3/distillation-service.js +416 -0
  765. package/dist/workflows/v3/distillation-service.js.map +1 -0
  766. package/dist/workflows/v3/distillation-source.d.ts +35 -0
  767. package/dist/workflows/v3/distillation-source.d.ts.map +1 -0
  768. package/dist/workflows/v3/distillation-source.js +118 -0
  769. package/dist/workflows/v3/distillation-source.js.map +1 -0
  770. package/dist/workflows/v3/distillation-store.d.ts +185 -0
  771. package/dist/workflows/v3/distillation-store.d.ts.map +1 -0
  772. package/dist/workflows/v3/distillation-store.js +1127 -0
  773. package/dist/workflows/v3/distillation-store.js.map +1 -0
  774. package/dist/workflows/v3/drive-lease.d.ts +7 -0
  775. package/dist/workflows/v3/drive-lease.d.ts.map +1 -0
  776. package/dist/workflows/v3/drive-lease.js +10 -0
  777. package/dist/workflows/v3/drive-lease.js.map +1 -0
  778. package/dist/workflows/v3/ephemeral-pool.d.ts +1 -1
  779. package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -1
  780. package/dist/workflows/v3/ephemeral-pool.js +222 -37
  781. package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
  782. package/dist/workflows/v3/grill-state.d.ts +18 -3
  783. package/dist/workflows/v3/grill-state.d.ts.map +1 -1
  784. package/dist/workflows/v3/grill-state.js +22 -5
  785. package/dist/workflows/v3/grill-state.js.map +1 -1
  786. package/dist/workflows/v3/host-bindings.d.ts +40 -0
  787. package/dist/workflows/v3/host-bindings.d.ts.map +1 -0
  788. package/dist/workflows/v3/host-bindings.js +272 -0
  789. package/dist/workflows/v3/host-bindings.js.map +1 -0
  790. package/dist/workflows/v3/host-effect-ledger.d.ts +22 -0
  791. package/dist/workflows/v3/host-effect-ledger.d.ts.map +1 -0
  792. package/dist/workflows/v3/host-effect-ledger.js +110 -0
  793. package/dist/workflows/v3/host-effect-ledger.js.map +1 -0
  794. package/dist/workflows/v3/host-execution.d.ts +142 -0
  795. package/dist/workflows/v3/host-execution.d.ts.map +1 -0
  796. package/dist/workflows/v3/host-execution.js +424 -0
  797. package/dist/workflows/v3/host-execution.js.map +1 -0
  798. package/dist/workflows/v3/host.d.ts +46 -10
  799. package/dist/workflows/v3/host.d.ts.map +1 -1
  800. package/dist/workflows/v3/host.js +419 -140
  801. package/dist/workflows/v3/host.js.map +1 -1
  802. package/dist/workflows/v3/human-gate.d.ts +19 -1
  803. package/dist/workflows/v3/human-gate.d.ts.map +1 -1
  804. package/dist/workflows/v3/human-gate.js +145 -19
  805. package/dist/workflows/v3/human-gate.js.map +1 -1
  806. package/dist/workflows/v3/journal.d.ts +125 -7
  807. package/dist/workflows/v3/journal.d.ts.map +1 -1
  808. package/dist/workflows/v3/journal.js +154 -38
  809. package/dist/workflows/v3/journal.js.map +1 -1
  810. package/dist/workflows/v3/library-materialize.d.ts +88 -0
  811. package/dist/workflows/v3/library-materialize.d.ts.map +1 -0
  812. package/dist/workflows/v3/library-materialize.js +294 -0
  813. package/dist/workflows/v3/library-materialize.js.map +1 -0
  814. package/dist/workflows/v3/library-schema.d.ts +138 -0
  815. package/dist/workflows/v3/library-schema.d.ts.map +1 -0
  816. package/dist/workflows/v3/library-schema.js +573 -0
  817. package/dist/workflows/v3/library-schema.js.map +1 -0
  818. package/dist/workflows/v3/library-service.d.ts +126 -0
  819. package/dist/workflows/v3/library-service.d.ts.map +1 -0
  820. package/dist/workflows/v3/library-service.js +542 -0
  821. package/dist/workflows/v3/library-service.js.map +1 -0
  822. package/dist/workflows/v3/library-store.d.ts +124 -0
  823. package/dist/workflows/v3/library-store.d.ts.map +1 -0
  824. package/dist/workflows/v3/library-store.js +665 -0
  825. package/dist/workflows/v3/library-store.js.map +1 -0
  826. package/dist/workflows/v3/orchestrator.d.ts +9 -1
  827. package/dist/workflows/v3/orchestrator.d.ts.map +1 -1
  828. package/dist/workflows/v3/orchestrator.js +2 -1
  829. package/dist/workflows/v3/orchestrator.js.map +1 -1
  830. package/dist/workflows/v3/progress-projection.d.ts +99 -0
  831. package/dist/workflows/v3/progress-projection.d.ts.map +1 -0
  832. package/dist/workflows/v3/progress-projection.js +197 -0
  833. package/dist/workflows/v3/progress-projection.js.map +1 -0
  834. package/dist/workflows/v3/run-envelope.d.ts +1279 -0
  835. package/dist/workflows/v3/run-envelope.d.ts.map +1 -0
  836. package/dist/workflows/v3/run-envelope.js +681 -0
  837. package/dist/workflows/v3/run-envelope.js.map +1 -0
  838. package/dist/workflows/v3/runtime.d.ts +39 -7
  839. package/dist/workflows/v3/runtime.d.ts.map +1 -1
  840. package/dist/workflows/v3/runtime.js +1992 -100
  841. package/dist/workflows/v3/runtime.js.map +1 -1
  842. package/dist/workflows/v3/session-relay-client.d.ts +61 -0
  843. package/dist/workflows/v3/session-relay-client.d.ts.map +1 -0
  844. package/dist/workflows/v3/session-relay-client.js +92 -0
  845. package/dist/workflows/v3/session-relay-client.js.map +1 -0
  846. package/dist/workflows/v3/session-relay.d.ts +66 -0
  847. package/dist/workflows/v3/session-relay.d.ts.map +1 -0
  848. package/dist/workflows/v3/session-relay.js +157 -0
  849. package/dist/workflows/v3/session-relay.js.map +1 -0
  850. package/dist/workflows/v3/start-intent.d.ts +8 -0
  851. package/dist/workflows/v3/start-intent.d.ts.map +1 -0
  852. package/dist/workflows/v3/start-intent.js +34 -0
  853. package/dist/workflows/v3/start-intent.js.map +1 -0
  854. package/dist/workflows/v3/state.d.ts +11 -2
  855. package/dist/workflows/v3/state.d.ts.map +1 -1
  856. package/dist/workflows/v3/state.js +182 -10
  857. package/dist/workflows/v3/state.js.map +1 -1
  858. package/dist/workflows/v3/template-bindings.d.ts +22 -0
  859. package/dist/workflows/v3/template-bindings.d.ts.map +1 -0
  860. package/dist/workflows/v3/template-bindings.js +204 -0
  861. package/dist/workflows/v3/template-bindings.js.map +1 -0
  862. package/dist/workflows/v3/worker-fence.d.ts +158 -0
  863. package/dist/workflows/v3/worker-fence.d.ts.map +1 -0
  864. package/dist/workflows/v3/worker-fence.js +685 -0
  865. package/dist/workflows/v3/worker-fence.js.map +1 -0
  866. package/package.json +3 -2
  867. package/dist/core/dashboard-command/workflows.d.ts +0 -20
  868. package/dist/core/dashboard-command/workflows.d.ts.map +0 -1
  869. package/dist/core/dashboard-command/workflows.js +0 -45
  870. package/dist/core/dashboard-command/workflows.js.map +0 -1
  871. package/dist/dashboard/web/legacy-workflow-link.d.ts +0 -2
  872. package/dist/dashboard/web/legacy-workflow-link.d.ts.map +0 -1
  873. package/dist/dashboard/web/legacy-workflow-link.js +0 -12
  874. package/dist/dashboard/web/legacy-workflow-link.js.map +0 -1
  875. package/dist/dashboard/web/legacy-workflow-page.d.ts +0 -3
  876. package/dist/dashboard/web/legacy-workflow-page.d.ts.map +0 -1
  877. package/dist/dashboard/web/legacy-workflow-page.js +0 -717
  878. package/dist/dashboard/web/legacy-workflow-page.js.map +0 -1
  879. package/dist/dashboard/web/workflow-version-switch.d.ts +0 -8
  880. package/dist/dashboard/web/workflow-version-switch.d.ts.map +0 -1
  881. package/dist/dashboard/web/workflow-version-switch.js +0 -9
  882. package/dist/dashboard/web/workflow-version-switch.js.map +0 -1
  883. package/dist/dashboard/web/workflows.d.ts +0 -273
  884. package/dist/dashboard/web/workflows.d.ts.map +0 -1
  885. package/dist/dashboard/web/workflows.js +0 -436
  886. package/dist/dashboard/web/workflows.js.map +0 -1
  887. package/dist/dashboard/workflow-api.d.ts +0 -30
  888. package/dist/dashboard/workflow-api.d.ts.map +0 -1
  889. package/dist/dashboard/workflow-api.js +0 -397
  890. package/dist/dashboard/workflow-api.js.map +0 -1
  891. package/dist/dashboard/workflow-card-model.d.ts +0 -127
  892. package/dist/dashboard/workflow-card-model.d.ts.map +0 -1
  893. package/dist/dashboard/workflow-card-model.js +0 -186
  894. package/dist/dashboard/workflow-card-model.js.map +0 -1
  895. package/dist/dashboard/workflows-action-helpers.d.ts +0 -105
  896. package/dist/dashboard/workflows-action-helpers.d.ts.map +0 -1
  897. package/dist/dashboard/workflows-action-helpers.js +0 -196
  898. package/dist/dashboard/workflows-action-helpers.js.map +0 -1
  899. package/dist/dashboard-web/chunks/bot-defaults-page-7T7DPOV6.js +0 -4
  900. package/dist/dashboard-web/chunks/chunk-IGXYYRYJ.js +0 -1
  901. package/dist/dashboard-web/chunks/chunk-ISOD7VDX.js +0 -1
  902. package/dist/dashboard-web/chunks/chunk-PNK3HQBI.js +0 -37
  903. package/dist/dashboard-web/chunks/chunk-SRIE4MLQ.js +0 -1
  904. package/dist/dashboard-web/chunks/connectors-page-UQ4QBE45.js +0 -1
  905. package/dist/dashboard-web/chunks/legacy-workflow-page-QMC7OZXH.js +0 -2
  906. package/dist/dashboard-web/chunks/sessions-page-NNZIDHZM.js +0 -3
  907. package/dist/dashboard-web/chunks/settings-page-LJIXX5LQ.js +0 -2
  908. package/dist/dashboard-web/chunks/v3-page-YLYVHGKD.js +0 -94
  909. package/dist/dashboard-web/terminal-replay.html +0 -227
  910. package/dist/im/lark/workflow-card-handler.d.ts +0 -51
  911. package/dist/im/lark/workflow-card-handler.d.ts.map +0 -1
  912. package/dist/im/lark/workflow-card-handler.js +0 -163
  913. package/dist/im/lark/workflow-card-handler.js.map +0 -1
  914. package/dist/im/lark/workflow-cards.d.ts +0 -47
  915. package/dist/im/lark/workflow-cards.d.ts.map +0 -1
  916. package/dist/im/lark/workflow-cards.js +0 -231
  917. package/dist/im/lark/workflow-cards.js.map +0 -1
  918. package/dist/im/lark/workflow-progress-card.d.ts +0 -81
  919. package/dist/im/lark/workflow-progress-card.d.ts.map +0 -1
  920. package/dist/im/lark/workflow-progress-card.js +0 -336
  921. package/dist/im/lark/workflow-progress-card.js.map +0 -1
  922. package/dist/im/lark/workflows-card.d.ts +0 -102
  923. package/dist/im/lark/workflows-card.d.ts.map +0 -1
  924. package/dist/im/lark/workflows-card.js +0 -737
  925. package/dist/im/lark/workflows-card.js.map +0 -1
  926. package/dist/workflows/attempt-resume.d.ts +0 -119
  927. package/dist/workflows/attempt-resume.d.ts.map +0 -1
  928. package/dist/workflows/attempt-resume.js +0 -392
  929. package/dist/workflows/attempt-resume.js.map +0 -1
  930. package/dist/workflows/blob.d.ts +0 -27
  931. package/dist/workflows/blob.d.ts.map +0 -1
  932. package/dist/workflows/blob.js +0 -40
  933. package/dist/workflows/blob.js.map +0 -1
  934. package/dist/workflows/cancel-run.d.ts +0 -45
  935. package/dist/workflows/cancel-run.d.ts.map +0 -1
  936. package/dist/workflows/cancel-run.js +0 -99
  937. package/dist/workflows/cancel-run.js.map +0 -1
  938. package/dist/workflows/cancel.d.ts +0 -111
  939. package/dist/workflows/cancel.d.ts.map +0 -1
  940. package/dist/workflows/cancel.js +0 -120
  941. package/dist/workflows/cancel.js.map +0 -1
  942. package/dist/workflows/catalog.d.ts +0 -60
  943. package/dist/workflows/catalog.d.ts.map +0 -1
  944. package/dist/workflows/catalog.js +0 -119
  945. package/dist/workflows/catalog.js.map +0 -1
  946. package/dist/workflows/cold-attach.d.ts +0 -30
  947. package/dist/workflows/cold-attach.d.ts.map +0 -1
  948. package/dist/workflows/cold-attach.js +0 -40
  949. package/dist/workflows/cold-attach.js.map +0 -1
  950. package/dist/workflows/cold-scan.d.ts +0 -21
  951. package/dist/workflows/cold-scan.d.ts.map +0 -1
  952. package/dist/workflows/cold-scan.js +0 -70
  953. package/dist/workflows/cold-scan.js.map +0 -1
  954. package/dist/workflows/daemon-spawn.d.ts +0 -119
  955. package/dist/workflows/daemon-spawn.d.ts.map +0 -1
  956. package/dist/workflows/daemon-spawn.js +0 -564
  957. package/dist/workflows/daemon-spawn.js.map +0 -1
  958. package/dist/workflows/effect-input.d.ts +0 -4
  959. package/dist/workflows/effect-input.d.ts.map +0 -1
  960. package/dist/workflows/effect-input.js +0 -19
  961. package/dist/workflows/effect-input.js.map +0 -1
  962. package/dist/workflows/events/append.d.ts +0 -77
  963. package/dist/workflows/events/append.d.ts.map +0 -1
  964. package/dist/workflows/events/append.js +0 -214
  965. package/dist/workflows/events/append.js.map +0 -1
  966. package/dist/workflows/events/idempotency.d.ts +0 -77
  967. package/dist/workflows/events/idempotency.d.ts.map +0 -1
  968. package/dist/workflows/events/idempotency.js +0 -116
  969. package/dist/workflows/events/idempotency.js.map +0 -1
  970. package/dist/workflows/events/index.d.ts +0 -7
  971. package/dist/workflows/events/index.d.ts.map +0 -1
  972. package/dist/workflows/events/index.js +0 -7
  973. package/dist/workflows/events/index.js.map +0 -1
  974. package/dist/workflows/fanout.d.ts +0 -36
  975. package/dist/workflows/fanout.d.ts.map +0 -1
  976. package/dist/workflows/fanout.js +0 -115
  977. package/dist/workflows/fanout.js.map +0 -1
  978. package/dist/workflows/hostExecutors/protocol.d.ts +0 -42
  979. package/dist/workflows/hostExecutors/protocol.d.ts.map +0 -1
  980. package/dist/workflows/hostExecutors/protocol.js +0 -181
  981. package/dist/workflows/hostExecutors/protocol.js.map +0 -1
  982. package/dist/workflows/loader.d.ts +0 -30
  983. package/dist/workflows/loader.d.ts.map +0 -1
  984. package/dist/workflows/loader.js +0 -84
  985. package/dist/workflows/loader.js.map +0 -1
  986. package/dist/workflows/loop.d.ts +0 -50
  987. package/dist/workflows/loop.d.ts.map +0 -1
  988. package/dist/workflows/loop.js +0 -408
  989. package/dist/workflows/loop.js.map +0 -1
  990. package/dist/workflows/orchestrator.d.ts +0 -171
  991. package/dist/workflows/orchestrator.d.ts.map +0 -1
  992. package/dist/workflows/orchestrator.js +0 -609
  993. package/dist/workflows/orchestrator.js.map +0 -1
  994. package/dist/workflows/output-binding.d.ts +0 -77
  995. package/dist/workflows/output-binding.d.ts.map +0 -1
  996. package/dist/workflows/output-binding.js +0 -329
  997. package/dist/workflows/output-binding.js.map +0 -1
  998. package/dist/workflows/params.d.ts.map +0 -1
  999. package/dist/workflows/params.js.map +0 -1
  1000. package/dist/workflows/resume.d.ts +0 -263
  1001. package/dist/workflows/resume.d.ts.map +0 -1
  1002. package/dist/workflows/resume.js +0 -808
  1003. package/dist/workflows/resume.js.map +0 -1
  1004. package/dist/workflows/run-id.d.ts +0 -2
  1005. package/dist/workflows/run-id.d.ts.map +0 -1
  1006. package/dist/workflows/run-id.js +0 -7
  1007. package/dist/workflows/run-id.js.map +0 -1
  1008. package/dist/workflows/run-init.d.ts +0 -48
  1009. package/dist/workflows/run-init.d.ts.map +0 -1
  1010. package/dist/workflows/run-init.js +0 -100
  1011. package/dist/workflows/run-init.js.map +0 -1
  1012. package/dist/workflows/runs-dir.d.ts +0 -4
  1013. package/dist/workflows/runs-dir.d.ts.map +0 -1
  1014. package/dist/workflows/runs-dir.js +0 -15
  1015. package/dist/workflows/runs-dir.js.map +0 -1
  1016. package/dist/workflows/runtime.d.ts +0 -215
  1017. package/dist/workflows/runtime.d.ts.map +0 -1
  1018. package/dist/workflows/runtime.js +0 -630
  1019. package/dist/workflows/runtime.js.map +0 -1
  1020. package/dist/workflows/spawn-bot.d.ts +0 -165
  1021. package/dist/workflows/spawn-bot.d.ts.map +0 -1
  1022. package/dist/workflows/spawn-bot.js +0 -215
  1023. package/dist/workflows/spawn-bot.js.map +0 -1
  1024. package/dist/workflows/spawn-policy.d.ts.map +0 -1
  1025. package/dist/workflows/spawn-policy.js.map +0 -1
  1026. package/dist/workflows/system.d.ts +0 -49
  1027. package/dist/workflows/system.d.ts.map +0 -1
  1028. package/dist/workflows/system.js +0 -48
  1029. package/dist/workflows/system.js.map +0 -1
  1030. package/dist/workflows/trigger-from-envelope.d.ts +0 -13
  1031. package/dist/workflows/trigger-from-envelope.d.ts.map +0 -1
  1032. package/dist/workflows/trigger-from-envelope.js +0 -68
  1033. package/dist/workflows/trigger-from-envelope.js.map +0 -1
  1034. package/dist/workflows/trigger-run.d.ts +0 -70
  1035. package/dist/workflows/trigger-run.d.ts.map +0 -1
  1036. package/dist/workflows/trigger-run.js +0 -88
  1037. package/dist/workflows/trigger-run.js.map +0 -1
  1038. package/dist/workflows/wait.d.ts +0 -141
  1039. package/dist/workflows/wait.d.ts.map +0 -1
  1040. package/dist/workflows/wait.js +0 -203
  1041. package/dist/workflows/wait.js.map +0 -1
@@ -1,94 +0,0 @@
1
- import{a as T}from"./chunk-ISOD7VDX.js";import{b as L}from"./chunk-OEJIT66L.js";import{d as S}from"./chunk-SRIE4MLQ.js";import"./chunk-PNK3HQBI.js";import{a as H}from"./chunk-SYC6D5XU.js";import{a as ne,d as V}from"./chunk-5THX4DI2.js";import{c as b}from"./chunk-7SZRL6FY.js";var c=b(ne(),1);function G(e,t){let s=t?`?${t}`:"";return`#/legacy-workflow/${encodeURIComponent(e)}${s}`}function B(e,t){return e===404&&!t}async function F(e=fetch){let t=await e("/api/v3/runs");if(!t.ok)return[];let s=await t.json();return Array.isArray(s.runs)?s.runs:[]}async function A(e,t=fetch){let s=await t(`/api/v3/runs/${encodeURIComponent(e)}`);return s.ok?{ok:!0,view:await s.json()}:{ok:!1,status:s.status}}async function O(e,t=fetch){return(await t(`/api/workflows/runs/${encodeURIComponent(e)}/snapshot`)).ok}var y={pending:"\u5F85\u673A",gateWaiting:"\u7B49\u5BA1\u6279",running:"\u8FD0\u884C\u4E2D",done:"\u5B8C\u6210",skipped:"\u5DF2\u8DF3\u8FC7",cancelled:"\u5DF2\u53D6\u6D88",blocked:"\u53D7\u963B",superseded:"\u5DF2\u5237\u65B0",failed:"\u5931\u8D25"},_={exit:"\u2713 \u901A\u8FC7",continue:"\u21BB \u7EE7\u7EED\u8FD4\u5DE5",exhausted:"\u26D4 \u8F6E\u6570\u8017\u5C3D"},g={nodeWidth:168,plainHeight:48,loopHeight:70,columnGap:226,verticalGap:30,padding:26,maxDots:8},v={width:104,height:30,columnGap:138,rowGap:42,padding:6};function W(e){return e==="succeeded"||e==="failed"}function J(e=typeof location<"u"?location.hash:""){let t=e.match(/^#\/workflows\/([^?#]+)/);if(!t)return null;try{return decodeURIComponent(t[1])}catch{return t[1]}}function $(e,t){return e.length>t?`${e.slice(0,t-1)}\u2026`:e}function M(e){return e.isLoop?g.loopHeight:g.plainHeight}function D(e){return e.nodes.filter(t=>!t.loop)}function X(e){let t=D(e),s=oe(t),o=new Map;for(let r of t){let d=s.get(r.id)??0,p=o.get(d);p?p.push(r):o.set(d,[r])}let i=[...o.keys()].sort((r,d)=>r-d),a=[],l=new Map,u=0;for(let r of i){let d=o.get(r)??[],p=g.padding;for(let m of d){let w={node:m,x:g.padding+r*g.columnGap,y:p,width:g.nodeWidth,height:M(m)};a.push(w),l.set(m.id,w),p+=w.height+g.verticalGap}u=Math.max(u,p-g.verticalGap+g.padding)}let f=g.padding*2+(i.length===0?0:Math.max(...i)*g.columnGap+g.nodeWidth),h=new Map(t.map(r=>[r.id,r])),x=[];for(let r of t){let d=l.get(r.id);if(d)for(let p of r.depends){let m=l.get(p),w=h.get(p);if(!m||!w)continue;let N=m.x+g.nodeWidth,I=m.y+M(w)/2,R=d.x,te=d.y+M(r)/2;x.push({fromId:p,toId:r.id,x1:N,y1:I,x2:R,y2:te,mx:(N+R)/2,live:r.status==="running"})}}return{width:f,height:u,nodes:a,edges:x}}function oe(e){let t=new Map(e.map(a=>[a.id,a])),s=new Map,o=new Set;function i(a){if(s.has(a))return s.get(a);if(o.has(a))return 0;o.add(a);let u=(t.get(a)?.depends??[]).filter(h=>t.has(h)),f=u.length?1+Math.max(...u.map(i)):0;return o.delete(a),s.set(a,f),f}for(let a of e)i(a.id);return s}function j(e,t){return(e?.nodes??[]).filter(s=>s.loop?.loopId===t)}function z(e,t,s){if(s&&t){let i=e.find(a=>a.id===t);if(i)return i}let o=e.filter(i=>i.status==="running");return o[o.length-1]??e[e.length-1]??null}function U(e){let t=new Map;for(let s of e){let o=s.loop?.iteration;if(o===void 0)continue;let i=t.get(o);i?i.push(s):t.set(o,[s])}return[...t.entries()].sort((s,o)=>s[0]-o[0]).map(([s,o])=>({iteration:s,instances:o}))}function E(e){let t=e.loopState?.maxIterations;return e.loopState&&t!==void 0?t+e.loopState.granted:void 0}function q(e,t){let s=new Map(e.map(r=>[r.id,r])),o=new Map;function i(r){if(o.has(r))return o.get(r);o.set(r,0);let d=(s.get(r)?.depends??[]).filter(m=>s.has(m)),p=d.length?1+Math.max(...d.map(i)):0;return o.set(r,p),p}let a=new Map,l=0,u=[],f=new Map;for(let r of e){let d=i(r.id),p=a.get(d)??0;a.set(d,p+1),l=Math.max(l,p);let m={templateId:r.id,node:t.get(r.id),x:v.padding+d*v.columnGap,y:v.padding+p*v.rowGap,width:v.width,height:v.height};u.push(m),f.set(r.id,m)}let h=o.size?Math.max(...o.values()):0,x=[];for(let r of e){let d=f.get(r.id);if(d)for(let p of r.depends){let m=f.get(p);if(!m)continue;let w=m.x+v.width,N=m.y+v.height/2,I=d.x,R=d.y+v.height/2;x.push({fromId:p,toId:r.id,x1:w,y1:N,x2:I,y2:R,mx:(w+I)/2,live:t.get(r.id)?.status==="running"})}}return{width:v.padding*2+(e.length?h*v.columnGap+v.width:0),height:v.padding*2+l*v.rowGap+v.height,nodes:u,edges:x}}function P(e){let t=e.webTerminal;return`${t?.status??"-"}|${t?.sessionId??"-"}|${t?.webPort??"-"}|${e.hasPtyLog?"1":"0"}`}function Y(e,t,s){e.setAttribute("data-run-id",t),e.setAttribute("data-node-id",s.id),e.innerHTML=se(t,s).html}function se(e,t,s={}){let o=P(t),i=t.webTerminal;if(i?.status==="live"&&i.webPort&&i.webPort>0)return{kind:"live",signature:o,html:ie(i.webPort,i.sessionId,s.host)};if(t.hasPtyLog)return{kind:"replay",signature:o,html:ae(e,t.id,i?.status==="closed")};let a=i?.status==="live"?"\u7EC8\u7AEF\u6B63\u5728\u542F\u52A8\uFF0C\u7A0D\u540E\u5237\u65B0":"\u6682\u65E0\u7EC8\u7AEF\u8BB0\u5F55";return{kind:"empty",signature:o,html:re(a)}}function ie(e,t,s){let o=de(e,s,t);return`<div class="v3-terminal-panel">
2
- <div class="v3-terminal-head">
3
- <span class="v3-terminal-dot live"></span>
4
- <span>\u5B9E\u65F6\u7EC8\u7AEF\uFF08\u53EA\u8BFB\uFF09</span>
5
- <span class="muted">:${e}</span>
6
- <a class="btn-link" href="${k(o)}" target="_blank" rel="noopener">\u65B0\u7A97\u53E3\u6253\u5F00</a>
7
- </div>
8
- <iframe class="wf-terminal-frame v3-terminal-frame" src="${k(o)}" title="v3 live terminal" loading="lazy"></iframe>
9
- </div>`}function ae(e,t,s){let o=`/api/v3/runs/${encodeURIComponent(e)}/nodes/${encodeURIComponent(t)}/pty-log`,i=ce(o,`${e} / ${t}`);return`<div class="v3-terminal-panel">
10
- <div class="v3-terminal-head">
11
- <span class="v3-terminal-dot ${s?"closed":"replay"}"></span>
12
- <span>${s?"\u7EC8\u7AEF\u56DE\u653E":"\u7EC8\u7AEF\u8BB0\u5F55"}</span>
13
- <span class="muted">PTY log</span>
14
- <a class="btn-link" href="${k(o)}" target="_blank" rel="noopener">\u4E0B\u8F7D/\u6253\u5F00\u539F\u59CB\u65E5\u5FD7</a>
15
- </div>
16
- <iframe class="wf-terminal-frame v3-terminal-frame" srcdoc="${k(i)}" title="v3 terminal replay" loading="lazy"></iframe>
17
- </div>`}function re(e){return`<div class="v3-terminal-empty muted">${C(e)}</div>`}function de(e,t,s){return s&&typeof window<"u"&&window.location.protocol==="https:"?`${window.location.origin}/s/${encodeURIComponent(s)}`:`http://${t??le()}:${e}/`}function le(){return typeof window>"u"?"127.0.0.1":window.location.hostname||"127.0.0.1"}function ce(e,t){let s=JSON.stringify(e);return`<!doctype html>
18
- <html>
19
- <head>
20
- <meta charset="utf-8">
21
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/css/xterm.css">
22
- <style>
23
- html,body{margin:0;height:100%;background:#0d1117;color:#c9d1d9;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
24
- #bar{height:31px;display:flex;align-items:center;gap:10px;padding:0 10px;background:#161b22;border-bottom:1px solid #30363d;box-sizing:border-box}
25
- #status{margin-left:auto;color:#8b949e;white-space:nowrap}
26
- #term{height:calc(100% - 31px);padding:4px;box-sizing:border-box;overflow:auto}
27
- a{color:#58a6ff;text-decoration:none}
28
- </style>
29
- </head>
30
- <body>
31
- <div id="bar"><span>${C(t)}</span><span id="status">loading...</span></div>
32
- <div id="term"></div>
33
- <script src="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/lib/xterm.js"><\/script>
34
- <script src="https://cdn.jsdelivr.net/npm/@xterm/addon-fit@0.10.0/lib/addon-fit.js"><\/script>
35
- <script>
36
- (function(){
37
- var endpoint=${s};
38
- // v3 ephemeral workers spawn their PTY at DEFAULT_RENDER_COLS (=160, see
39
- // worker.ts) and never adopt, so the captured stream's TUI / box-drawing
40
- // is exactly 160 cols wide. Fitting it into a narrower (or oddly-measured)
41
- // grid re-wraps those fixed-width lines into a stair-stepped mess and
42
- // wastes the panel. So we render at the capture width and let FitAddon
43
- // only size the ROW count to the iframe height (cols pinned back to 160).
44
- var COLS=160;
45
- var status=document.getElementById('status');
46
- var termEl=document.getElementById('term');
47
- if(!window.Terminal){status.textContent='xterm.js failed to load';return;}
48
- var term=new Terminal({
49
- cols:COLS,
50
- convertEol:false,
51
- scrollback:100000,
52
- fontSize:13,
53
- disableStdin:true,
54
- theme:{background:'#0d1117',foreground:'#c9d1d9',cursor:'#c9d1d9'}
55
- });
56
- var fit=null;
57
- if(window.FitAddon){fit=new window.FitAddon.FitAddon();term.loadAddon(fit);}
58
- term.open(termEl);
59
- function doFit(){
60
- try{if(fit)fit.fit()}catch(_){}
61
- if(term.cols!==COLS)term.resize(COLS,term.rows||24);
62
- }
63
- doFit(); window.addEventListener('resize',doFit);
64
- fetch(endpoint,{credentials:'include'}).then(function(res){
65
- if(!res.ok){
66
- if(res.status===401){status.textContent='\u9700\u8981\u767B\u5F55 dashboard \u540E\u67E5\u770B\u56DE\u653E';}
67
- else if(res.status===404){status.textContent='\u6CA1\u6709 PTY \u65E5\u5FD7';}
68
- else{status.textContent='\u52A0\u8F7D\u5931\u8D25 HTTP '+res.status;}
69
- return null;
70
- }
71
- var total=Number(res.headers.get('x-botmux-log-bytes')||0);
72
- var served=Number(res.headers.get('x-botmux-served-bytes')||0);
73
- var truncated=res.headers.get('x-botmux-truncated')==='1';
74
- status.textContent=truncated
75
- ? 'showing tail '+formatBytes(served)+' / '+formatBytes(total)
76
- : 'loaded '+formatBytes(total);
77
- return res.arrayBuffer();
78
- }).then(function(buf){
79
- if(!buf)return;
80
- term.write(new TextDecoder().decode(buf));
81
- setTimeout(doFit,0);
82
- }).catch(function(err){
83
- status.textContent='\u52A0\u8F7D\u5931\u8D25: '+(err&&err.message?err.message:String(err));
84
- });
85
- function formatBytes(n){
86
- if(!Number.isFinite(n)||n<=0)return '0 B';
87
- var u=['B','KiB','MiB','GiB'];var i=0;
88
- while(n>=1024&&i<u.length-1){n/=1024;i++;}
89
- return (i===0?String(n):n.toFixed(1))+' '+u[i];
90
- }
91
- })();
92
- <\/script>
93
- </body>
94
- </html>`}function C(e){return e.replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t])}function k(e){return C(e).replace(/`/g,"&#96;")}var n=b(V(),1);function Z(){return typeof document<"u"&&document.hidden}function ue(){let[e,t]=(0,c.useState)([]);return(0,c.useEffect)(()=>{let s=!1,o=null,i=()=>{o=window.setTimeout(()=>{a()},2e3)};async function a(){if(!s){if(!Z())try{let l=await F();s||t(l)}catch{}s||i()}}return a(),()=>{s=!0,o!==null&&window.clearTimeout(o)}},[]),e}function me(e){let[t,s]=(0,c.useState)(null),[o,i]=(0,c.useState)("");return(0,c.useEffect)(()=>{let a=!1,l=null,u=!1,f=()=>{l=window.setTimeout(()=>{x()},2e3)};async function h(r){if(!B(r,u))return!1;u=!0;try{let d=await O(e);return a||!d?!1:(window.location.replace(G(e,location.hash.split("?")[1])),!0)}catch{return!1}}async function x(){if(a)return;let r=!1;if(!Z())try{let d=await A(e);if(a)return;if(d.ok)s(d.view),i(d.view.runStatus),r=W(d.view.runStatus);else{if(await h(d.status))return;i(d.status===404?"not found":`HTTP ${d.status}`)}}catch{}!a&&!r&&f()}return x(),()=>{a=!0,l!==null&&window.clearTimeout(l)}},[e]),{view:t,statusText:o}}function pe(){let e=L(),t=ue(),s=(0,n.jsxs)("div",{className:"page-heading-actions v3r-run-toolbar",children:[(0,n.jsx)("span",{className:"v3r-run-count",children:t.length}),(0,n.jsx)(T,{active:"v3"})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"page-heading",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"eyebrow",children:e("nav.workflows")}),(0,n.jsx)("h1",{children:e("nav.workflows")})]}),s]}),(0,n.jsx)("section",{className:"overview-block v3r-runs-section",children:(0,n.jsx)("div",{className:"v3r-run-list",children:t.length?t.map(o=>(0,n.jsxs)("a",{className:"v3r-run-card",href:`#/workflows/${encodeURIComponent(o.runId)}`,children:[(0,n.jsxs)("span",{className:"v3r-run-main",children:[(0,n.jsx)("code",{className:"v3r-runid",children:o.runId}),(0,n.jsxs)("small",{children:["\u8282\u70B9 ",o.nodeCount]})]}),(0,n.jsx)("span",{className:`v3r-pill rs-${o.runStatus}`,children:o.runStatus})]},o.runId)):(0,n.jsxs)("div",{className:"empty v3r-empty",children:["\u6682\u65E0\u5DE5\u4F5C\u6D41\u8FD0\u884C\uFF08\u7528 ",(0,n.jsx)("code",{children:"/workflow new"})," \u53D1\u8D77\u4E00\u4E2A\uFF09"]})})})]})}function ge(e){let t=L(),{view:s,statusText:o}=me(e.runId),[i,a]=(0,c.useState)(null),[l,u]=(0,c.useState)(null),[f,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a(null),u(null),h(!1)},[e.runId]),(0,c.useEffect)(()=>{s&&a(m=>m&&s.nodes.some(w=>w.id===m)?m:D(s)[0]?.id??s.nodes[0]?.id??null)},[s]);let x=(0,c.useCallback)(m=>{a(m),u(null),h(!1)},[]),r=(0,c.useCallback)(m=>{u(m),h(!0)},[]),d=s?.nodes.find(m=>m.id===i)??null,p=s?`v3r-pill rs-${s.runStatus}`:"v3r-pill";return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"page-heading v3r-detail-heading",children:[(0,n.jsxs)("div",{className:"v3r-title-row",children:[(0,n.jsx)("p",{className:"eyebrow",children:t("nav.workflows")}),(0,n.jsxs)("a",{href:"#/workflows",className:"btn-link v3r-back-link",children:["\u2190 ",t("nav.workflows")]}),(0,n.jsx)("h1",{children:e.runId}),(0,n.jsx)("span",{className:`${p} v3r-run-status-pill`,children:o})]}),(0,n.jsx)("div",{className:"page-heading-actions",children:(0,n.jsx)(T,{active:"v3"})})]}),(0,n.jsxs)("div",{className:"v3r-wrap",children:[(0,n.jsxs)("section",{className:"overview-block v3r-graph-section",children:[(0,n.jsx)(S,{title:"\u8FD0\u884C\u62D3\u6251",hint:s?`${s.nodes.length} \u4E2A\u8282\u70B9`:o}),(0,n.jsxs)("div",{className:"v3r-graph-card",children:[(0,n.jsx)(ve,{view:s,selectedId:i,onSelect:x}),(0,n.jsx)(fe,{})]})]}),(0,n.jsxs)("section",{className:"overview-block v3r-node-section",children:[(0,n.jsx)(S,{title:"\u8282\u70B9\u8BE6\u60C5",hint:d?(0,n.jsxs)("span",{className:`v3r-pill v3r-node-status-pill st-${d.status}`,children:[(0,n.jsx)("i",{className:"dot"}),y[d.status]]}):"\u9009\u62E9\u4E00\u4E2A\u8282\u70B9"}),(0,n.jsx)(ye,{runId:e.runId,view:s,node:d,instanceId:l,instancePinned:f,onInstanceSelect:r})]})]})]})}function fe(){return(0,n.jsxs)("div",{className:"v3r-legend",children:[(0,n.jsx)("span",{className:"lg st-pending",children:"\u5F85\u673A"}),(0,n.jsx)("span",{className:"lg st-running",children:"\u8FD0\u884C\u4E2D"}),(0,n.jsx)("span",{className:"lg st-gateWaiting",children:"\u7B49\u5BA1\u6279"}),(0,n.jsx)("span",{className:"lg st-done",children:"\u5B8C\u6210"}),(0,n.jsx)("span",{className:"lg st-skipped",children:"\u5DF2\u8DF3\u8FC7"}),(0,n.jsx)("span",{className:"lg st-cancelled",children:"\u5DF2\u53D6\u6D88"}),(0,n.jsx)("span",{className:"lg st-blocked",children:"\u53D7\u963B"}),(0,n.jsx)("span",{className:"lg st-failed",children:"\u5931\u8D25"}),(0,n.jsx)("span",{className:"lg lg-loop",children:"\u27F3 \u5FAA\u73AF\u5BB9\u5668"})]})}function ve(e){let t=(0,c.useMemo)(()=>e.view?X(e.view):null,[e.view]),s=t?`${t.width}:${t.height}:${t.nodes.map(i=>i.node.id).join("\0")}`:"",o=(0,c.useRef)(null);return(0,c.useLayoutEffect)(()=>{let i=o.current;if(!i||!s)return;let a=0,l=()=>{a=0,i.scrollLeft=Math.max(0,(i.scrollWidth-i.clientWidth)/2),i.scrollTop=Math.max(0,(i.scrollHeight-i.clientHeight)/2)},u=()=>{a&&window.cancelAnimationFrame(a),a=window.requestAnimationFrame(l)};u();let f=typeof ResizeObserver>"u"?null:new ResizeObserver(u);f?.observe(i);let h=i.querySelector(".v3r-graph-stage");return h&&f?.observe(h),()=>{a&&window.cancelAnimationFrame(a),f?.disconnect()}},[s]),(0,n.jsx)("div",{id:"v3-graph",className:"v3r-graph",ref:o,children:t?(0,n.jsx)("div",{className:"v3r-graph-stage",children:(0,n.jsxs)("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,children:[(0,n.jsx)("defs",{children:(0,n.jsx)("marker",{id:"v3arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:(0,n.jsx)("path",{d:"M0,0 L10,5 L0,10 z",fill:"var(--faint, #8b98aa)"})})}),t.edges.map(i=>(0,n.jsx)("path",{className:`v3r-edge${i.live?" live":""}`,d:`M${i.x1},${i.y1} C${i.mx},${i.y1} ${i.mx},${i.y2} ${i.x2},${i.y2}`,markerEnd:"url(#v3arrow)"},`${i.fromId}->${i.toId}`)),t.nodes.map(i=>(0,n.jsx)(he,{box:i,selected:i.node.id===e.selectedId,onSelect:e.onSelect},i.node.id))]})}):null})}function he(e){let{box:t,selected:s}=e,o=t.node;return o.isLoop?(0,n.jsx)(we,{box:t,selected:s,onSelect:e.onSelect}):(0,n.jsxs)("g",{className:`v3r-node st-${o.status}${s?" sel":""}`,"data-node":o.id,onClick:()=>e.onSelect(o.id),children:[(0,n.jsx)("rect",{className:"v3r-box",x:t.x,y:t.y,width:g.nodeWidth,height:g.plainHeight,rx:"10"}),(0,n.jsx)("text",{className:"v3r-nid",x:t.x+14,y:t.y+20,children:$(o.id,18)}),(0,n.jsx)("text",{className:"v3r-nstatus",x:t.x+14,y:t.y+37,children:y[o.status]})]})}function we(e){let{box:t,selected:s}=e,o=t.node,i=o.loopState,a=E(o),l=i?`${y[o.status]} \xB7 \u7B2C${i.iteration}${a!==void 0?`/${a}`:""}\u8F6E`:`${y[o.status]} \xB7 loop`,u=i?.maxIterations;return(0,n.jsxs)("g",{className:`v3r-node v3r-loopnode st-${o.status}${s?" sel":""}`,"data-node":o.id,onClick:()=>e.onSelect(o.id),children:[(0,n.jsx)("rect",{className:"v3r-cap",x:t.x-4,y:t.y-4,width:g.nodeWidth+8,height:g.loopHeight+8,rx:"14"}),(0,n.jsx)("rect",{className:"v3r-box",x:t.x,y:t.y,width:g.nodeWidth,height:g.loopHeight,rx:"10"}),(0,n.jsx)("text",{className:"v3r-spin",x:t.x+14,y:t.y+21,children:"\u27F3"}),(0,n.jsx)("text",{className:"v3r-nid",x:t.x+30,y:t.y+21,children:$(o.id,16)}),(0,n.jsx)("text",{className:"v3r-nstatus",x:t.x+14,y:t.y+39,children:l}),i&&a!==void 0&&a<=g.maxDots?(0,n.jsx)(xe,{node:o,x:t.x,y:t.y,budget:a,maxIterations:u}):null]})}function xe(e){let t=e.node.loopState,s=e.y+g.loopHeight-13,o=Array.from({length:e.budget},(i,a)=>a+1);return(0,n.jsxs)(n.Fragment,{children:[o.map(i=>{let a=i<t.iteration?"v3r-dot done":i===t.iteration?`v3r-dot cur${e.node.status==="running"?" live":""}`:"v3r-dot todo",l=e.maxIterations!==void 0&&i>e.maxIterations?" grant":"";return(0,n.jsx)("circle",{className:`${a}${l}`,cx:e.x+14+(i-1)*15,cy:s,r:"3.6"},i)}),t.lastDecision==="exit"?(0,n.jsx)("text",{className:"v3r-dots-verdict ok",x:e.x+14+e.budget*15+4,y:s+4,children:"\u2713"}):null,t.lastDecision==="exhausted"&&e.node.status==="blocked"?(0,n.jsx)("text",{className:"v3r-dots-verdict warn",x:e.x+14+e.budget*15+4,y:s+4,children:"\u26A0"}):null]})}function ye(e){let t=e.node,s=(0,c.useMemo)(()=>t?.isLoop?j(e.view,t.id):[],[t,e.view]),o=t?.isLoop?z(s,e.instanceId,e.instancePinned):t,i=t?.isLoop?o?.id??null:null;return t?(0,n.jsxs)("div",{id:"v3-node-panel",className:"v3r-panel",children:[(0,n.jsxs)("div",{id:"v3-node-meta",children:[t.goal?(0,n.jsx)("p",{className:"v3r-goal",children:t.goal}):null,t.depends.length?(0,n.jsxs)("p",{className:"v3r-deps",children:[(0,n.jsx)("span",{children:"\u4F9D\u8D56"}),t.depends.map(a=>(0,n.jsx)("span",{className:"v3r-dep",children:a},a))]}):null,t.errorClass?(0,n.jsx)(be,{node:t}):null,t.isLoop?(0,n.jsx)(Ie,{runId:e.runId,node:t,instances:s,activeInstanceId:i,onInstanceSelect:e.onInstanceSelect}):null]}),(0,n.jsx)("div",{id:"v3-inst-strip",children:t.isLoop&&o?(0,n.jsx)(Ne,{node:o,auto:!e.instancePinned}):null}),(0,n.jsx)(Ve,{runId:e.runId,node:o})]}):(0,n.jsx)("div",{id:"v3-node-panel",className:"v3r-panel",children:(0,n.jsx)("p",{className:"muted",children:"\u70B9\u4E00\u4E2A\u8282\u70B9\u770B\u8BE6\u60C5\u4E0E\u7EC8\u7AEF"})})}function be(e){let t=e.node;return(0,n.jsxs)("p",{className:"v3r-err",children:["\u539F\u56E0\uFF1A",t.errorClass,t.errorCode?` (${t.errorCode})`:"",t.status==="blocked"&&!t.isLoop?(0,n.jsxs)(n.Fragment,{children:[" \u2014 \u98DE\u4E66\u5361\u7247\u6216 ",(0,n.jsx)("code",{children:"botmux workflow retry"})," \u53EF\u91CD\u8BD5"]}):null]})}function Ne(e){let t=e.node.loop;return(0,n.jsxs)("div",{className:"v3r-inst-strip",children:[(0,n.jsx)("span",{className:"lbl",children:"\u5B9E\u4F8B\u7EC8\u7AEF"}),(0,n.jsx)("span",{className:"v3r-nodeid sm",children:e.node.id}),(0,n.jsxs)("span",{className:`v3r-pill st-${e.node.status}`,children:[(0,n.jsx)("i",{className:"dot"}),y[e.node.status]]}),(0,n.jsxs)("span",{className:"muted",children:["\u7B2C ",t.iteration," \u8F6E \xB7 ",t.bodyNodeId,e.auto?" \xB7 \u81EA\u52A8\u8DDF\u968F":""]})]})}function Ie(e){let t=e.node.loopState;if(!t)return(0,n.jsx)("p",{className:"muted",children:"loop \u672A\u5F00\u59CB"});let s=E(e.node),o=new Map(t.decisions.map(a=>[a.iteration,a.decision])),i=U(e.instances);return(0,n.jsxs)("div",{className:"v3r-loop-sec",children:[(0,n.jsxs)("div",{className:"v3r-loop-meter",children:[(0,n.jsxs)("span",{className:"num",children:["\u7B2C ",(0,n.jsx)("b",{children:t.iteration}),s!==void 0?(0,n.jsxs)(n.Fragment,{children:[" / ",(0,n.jsx)("b",{children:s})]}):null," \u8F6E"]}),t.granted>0?(0,n.jsxs)("span",{className:"v3r-granted-tag",children:["\u542B\u4EBA\u5DE5\u8FFD\u52A0 +",t.granted]}):null,t.lastDecision==="exit"?(0,n.jsx)("span",{className:"v3r-verdict vd-exit",children:"\u2713 \u5DF2\u6536\u655B"}):null]}),(0,n.jsx)("div",{className:"v3r-rounds",children:i.map(a=>{let l=o.get(a.iteration),u=a.iteration===t.iteration,f=t.maxIterations!==void 0&&a.iteration>t.maxIterations;return(0,n.jsxs)("div",{className:`v3r-round${u?" cur":""}${l?` vd-${l}`:""}`,children:[(0,n.jsxs)("div",{className:"v3r-round-head",children:[(0,n.jsxs)("span",{className:"rn",children:["R",a.iteration]}),f?(0,n.jsx)("span",{className:"v3r-granted-tag",children:"\u2795 \u8FFD\u52A0\u8F6E"}):null,l?(0,n.jsx)("span",{className:`v3r-verdict vd-${l}`,children:_[l]}):u&&e.node.status==="running"?(0,n.jsx)("span",{className:"v3r-verdict vd-live",children:"\u25B6 \u8FDB\u884C\u4E2D"}):null]}),(0,n.jsx)(Re,{template:t.bodyTemplate,instances:a.instances,activeInstanceId:e.activeInstanceId,onInstanceSelect:e.onInstanceSelect})]},a.iteration)})}),e.node.status==="blocked"?(0,n.jsxs)("div",{className:"v3r-cta",children:["\u26A0 \u8F6E\u6570\u8017\u5C3D\uFF0C\u7B49\u4EBA\u8FFD\u52A0 \u2014 \u98DE\u4E66\u5361\u7247\u70B9\u300C\u2795 \u8FFD\u52A0 1 \u8F6E\u300D\uFF0C\u6216 ",(0,n.jsxs)("code",{children:["botmux workflow grant ",e.runId]})]}):null]})}function Re(e){let t=(0,c.useMemo)(()=>new Map(e.instances.map(o=>[o.loop.bodyNodeId,o])),[e.instances]),s=(0,c.useMemo)(()=>q(e.template,t),[e.template,t]);return(0,n.jsxs)("svg",{className:"v3r-mini-svg",width:s.width,height:s.height,viewBox:`0 0 ${s.width} ${s.height}`,children:[(0,n.jsx)("defs",{children:(0,n.jsx)("marker",{id:"v3arrow-mini",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,n.jsx)("path",{d:"M0,0 L10,5 L0,10 z",fill:"var(--faint, #8b98aa)"})})}),s.edges.map(o=>(0,n.jsx)("path",{className:`v3r-edge${o.live?" live":""}`,d:`M${o.x1},${o.y1} C${o.mx},${o.y1} ${o.mx},${o.y2} ${o.x2},${o.y2}`,markerEnd:"url(#v3arrow-mini)"},`${o.fromId}->${o.toId}`)),s.nodes.map(o=>{let i=o.node,a=i?.status??"pending",l=i?.id===e.activeInstanceId;return(0,n.jsxs)("g",{className:`v3r-node v3r-mini st-${a}${l?" sel":""}${i?"":" ghost"}`,"data-sel":i?.id,style:i?{cursor:"pointer"}:void 0,onClick:u=>{i&&(u.stopPropagation(),e.onInstanceSelect(i.id))},children:[(0,n.jsx)("rect",{className:"v3r-box",x:o.x,y:o.y,width:o.width,height:o.height,rx:"8"}),(0,n.jsx)("circle",{className:"v3r-mini-dot",cx:o.x+13,cy:o.y+o.height/2,r:"3.4"}),(0,n.jsx)("text",{className:"v3r-nid",x:o.x+24,y:o.y+o.height/2+4,children:$(o.templateId,12)})]},o.templateId)})]})}function Ve(e){let t=(0,c.useRef)(null),s=(0,c.useRef)(null),o=e.node?`${e.runId}|${e.node.id}|${P(e.node)}`:null;return(0,c.useEffect)(()=>{let i=t.current;if(i){if(!e.node||!o){i.innerHTML="",s.current=null;return}s.current!==o&&(Y(i,e.runId,e.node),s.current=o)}},[e.runId,e.node,o]),(0,n.jsx)("div",{id:"v3-term-slot",className:"v3r-term-slot",ref:t})}function Q(){let e=J();return(0,n.jsx)("section",{className:"page workflows-page v3-page",children:e?(0,n.jsx)(ge,{runId:e}):(0,n.jsx)(pe,{})})}var ee=b(V(),1);function Ae(e){return H(e,(0,ee.jsx)(Q,{}))}export{Ae as renderV3RunsPage};
@@ -1,227 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Workflow attempt terminal replay</title>
6
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/css/xterm.css">
7
- <style>
8
- html, body {
9
- margin: 0;
10
- padding: 0;
11
- background: #0d1117;
12
- color: #c9d1d9;
13
- height: 100%;
14
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
15
- font-size: 13px;
16
- }
17
- #chrome {
18
- display: flex;
19
- gap: 1rem;
20
- align-items: center;
21
- padding: 0.45rem 0.75rem;
22
- border-bottom: 1px solid #30363d;
23
- background: #161b22;
24
- color: #8b949e;
25
- font-size: 12px;
26
- }
27
- #chrome a {
28
- color: #58a6ff;
29
- text-decoration: none;
30
- }
31
- #chrome a:hover { text-decoration: underline; }
32
- #info { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
33
- #progress { color: #6e7681; margin-left: auto; }
34
- #term {
35
- height: calc(100% - 33px);
36
- padding: 0.25rem;
37
- box-sizing: border-box;
38
- }
39
- #term :focus { outline: none; }
40
- .mode-toggle {
41
- display: inline-flex;
42
- border: 1px solid #30363d;
43
- border-radius: 4px;
44
- overflow: hidden;
45
- }
46
- .mode-toggle button {
47
- background: transparent;
48
- color: #8b949e;
49
- border: 0;
50
- padding: 0.2rem 0.6rem;
51
- font: inherit;
52
- cursor: pointer;
53
- }
54
- .mode-toggle button.active {
55
- background: #1f6feb;
56
- color: #ffffff;
57
- }
58
- .mode-toggle button:disabled {
59
- color: #484f58;
60
- cursor: not-allowed;
61
- }
62
- .mode-toggle button:not(.active):not(:disabled):hover {
63
- background: #21262d;
64
- color: #c9d1d9;
65
- }
66
- </style>
67
- </head>
68
- <body>
69
- <div id="chrome">
70
- <span id="info">Loading…</span>
71
- <span class="mode-toggle" id="mode-toggle">
72
- <button type="button" data-mode="pty" id="btn-pty">Terminal</button>
73
- <button type="button" data-mode="diag" id="btn-diag">Diagnostic</button>
74
- </span>
75
- <span id="progress"></span>
76
- <a id="download-link" href="#" target="_blank" rel="noopener" style="display:none">Download full log</a>
77
- </div>
78
- <div id="term"></div>
79
- <script src="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/lib/xterm.js"></script>
80
- <script src="https://cdn.jsdelivr.net/npm/@xterm/addon-fit@0.10.0/lib/addon-fit.js"></script>
81
- <script>
82
- (function () {
83
- 'use strict';
84
- var params = new URLSearchParams(window.location.search);
85
- var runId = params.get('runId');
86
- var activityId = params.get('activityId');
87
- var attemptId = params.get('attemptId');
88
- // hasPtyLog=1 → projection saw a non-empty pty.log; default mode is the
89
- // raw PTY cinema. Without it the diag button is the only one enabled
90
- // (older attempt → no pty.log on disk → /raw?stream=pty would 404).
91
- var hasPty = params.get('hasPtyLog') === '1';
92
- var info = document.getElementById('info');
93
- var progress = document.getElementById('progress');
94
- var dl = document.getElementById('download-link');
95
- var btnPty = document.getElementById('btn-pty');
96
- var btnDiag = document.getElementById('btn-diag');
97
- if (!runId || !activityId || !attemptId) {
98
- info.textContent = 'Missing runId/activityId/attemptId query params';
99
- return;
100
- }
101
- var Term = window.Terminal;
102
- var FitAddon = window.FitAddon ? window.FitAddon.FitAddon : null;
103
- if (!Term) {
104
- info.textContent = 'xterm.js failed to load';
105
- return;
106
- }
107
- var term = new Term({
108
- convertEol: true,
109
- scrollback: 100000,
110
- fontSize: 13,
111
- theme: { background: '#0d1117', foreground: '#c9d1d9' },
112
- disableStdin: true,
113
- });
114
- var fit = FitAddon ? new FitAddon() : null;
115
- if (fit) term.loadAddon(fit);
116
- term.open(document.getElementById('term'));
117
- if (fit) {
118
- try { fit.fit(); } catch (e) { /* initial fit can race layout */ }
119
- window.addEventListener('resize', function () {
120
- try { fit.fit(); } catch (e) { /* ignore */ }
121
- });
122
- }
123
-
124
- var apiBase = '/api/workflows/runs/' + encodeURIComponent(runId)
125
- + '/attempts/' + encodeURIComponent(activityId)
126
- + '/' + encodeURIComponent(attemptId)
127
- + '/terminal-log/raw';
128
-
129
- var activeFetchToken = 0;
130
-
131
- function setMode(mode) {
132
- btnPty.classList.toggle('active', mode === 'pty');
133
- btnDiag.classList.toggle('active', mode === 'diag');
134
- var query = mode === 'pty' ? '?stream=pty' : '';
135
- dl.href = apiBase + (query ? query + '&download=1' : '?download=1');
136
- dl.style.display = '';
137
- // Bump token so any in-flight earlier fetch doesn't write into the
138
- // terminal after we've already reset for the new mode.
139
- var myToken = ++activeFetchToken;
140
- term.reset();
141
- progress.textContent = '';
142
- info.textContent = 'Loading…';
143
- fetchAndRender(query, myToken);
144
- }
145
-
146
- if (!hasPty) {
147
- btnPty.disabled = true;
148
- btnPty.title = 'This attempt has no raw PTY log (older run or empty session)';
149
- }
150
-
151
- btnPty.addEventListener('click', function () {
152
- if (btnPty.disabled || btnPty.classList.contains('active')) return;
153
- setMode('pty');
154
- });
155
- btnDiag.addEventListener('click', function () {
156
- if (btnDiag.classList.contains('active')) return;
157
- setMode('diag');
158
- });
159
-
160
- // Initial load — PTY when available, diag otherwise.
161
- setMode(hasPty ? 'pty' : 'diag');
162
-
163
- function fetchAndRender(query, token) {
164
- fetch(apiBase + query).then(function (res) {
165
- if (token !== activeFetchToken) return null;
166
- if (!res.ok) {
167
- if (res.status === 404) {
168
- info.textContent = 'No log on disk for this attempt';
169
- } else {
170
- info.textContent = 'Failed to load log: HTTP ' + res.status;
171
- }
172
- return null;
173
- }
174
- var totalBytes = Number(res.headers.get('x-botmux-log-bytes') || 0);
175
- var servedBytes = Number(res.headers.get('x-botmux-served-bytes') || 0);
176
- var truncated = res.headers.get('x-botmux-truncated') === '1';
177
- info.textContent = truncated
178
- ? 'Showing last ' + formatBytes(servedBytes) + ' of ' + formatBytes(totalBytes) + ' (truncated — Download for full)'
179
- : 'Showing ' + formatBytes(totalBytes);
180
- return res.text();
181
- }).then(function (text) {
182
- if (token !== activeFetchToken) return;
183
- if (text == null) return;
184
- if (text.length === 0) {
185
- // header has already filled in totals; nothing to render
186
- return;
187
- }
188
- // Chunk writes through requestAnimationFrame so the browser stays
189
- // responsive on multi-MB logs. 64 KB / frame ≈ a few seconds for
190
- // a 10 MB tail at 60 fps.
191
- var CHUNK = 64 * 1024;
192
- var offset = 0;
193
- var total = text.length;
194
- function writeNext() {
195
- // Abort the chunk loop if the user switched modes mid-render.
196
- if (token !== activeFetchToken) return;
197
- if (offset >= total) {
198
- progress.textContent = '';
199
- return;
200
- }
201
- var slice = text.slice(offset, offset + CHUNK);
202
- offset += slice.length;
203
- term.write(slice);
204
- progress.textContent = formatBytes(Math.min(offset, total)) + ' / ' + formatBytes(total);
205
- if (typeof window.requestAnimationFrame === 'function') {
206
- window.requestAnimationFrame(writeNext);
207
- } else {
208
- setTimeout(writeNext, 16);
209
- }
210
- }
211
- writeNext();
212
- }).catch(function (err) {
213
- if (token !== activeFetchToken) return;
214
- info.textContent = 'Failed to load log: ' + (err && err.message ? err.message : err);
215
- });
216
- }
217
-
218
- function formatBytes(n) {
219
- if (!isFinite(n)) return '0 B';
220
- if (n < 1024) return n + ' B';
221
- if (n < 1024 * 1024) return (n / 1024).toFixed(1) + ' KB';
222
- return (n / (1024 * 1024)).toFixed(2) + ' MB';
223
- }
224
- })();
225
- </script>
226
- </body>
227
- </html>
@@ -1,51 +0,0 @@
1
- import { type Locale } from '../../i18n/index.js';
2
- import { EventLog } from '../../workflows/events/append.js';
3
- import { type ResolveWaitInput, type ResolveWaitResult, type ResolveWaitContext } from '../../workflows/wait.js';
4
- import { type RequestCancelInput } from '../../workflows/cancel.js';
5
- import type { CancelRequestedEvent } from '../../workflows/events/types.js';
6
- import type { FrozenCard } from '../../core/types.js';
7
- export type WorkflowCardActionData = {
8
- operator?: {
9
- open_id?: string;
10
- };
11
- action?: {
12
- value?: Record<string, string>;
13
- form_value?: Record<string, string>;
14
- };
15
- context?: {
16
- open_message_id?: string;
17
- };
18
- open_message_id?: string;
19
- };
20
- export type WorkflowApprovalHandlerDeps = {
21
- runsDir?: string;
22
- makeEventLog?: (runId: string, runsDir: string) => EventLog;
23
- resolveWaitFn?: (log: EventLog, input: ResolveWaitInput, ctx?: ResolveWaitContext) => Promise<ResolveWaitResult>;
24
- requestCancelFn?: (log: EventLog, input: RequestCancelInput, actor: 'human') => Promise<CancelRequestedEvent>;
25
- loadFrozenCardsFn?: (storeId: string) => Map<string, FrozenCard>;
26
- saveFrozenCardsFn?: (storeId: string, cards: Map<string, FrozenCard>) => void;
27
- };
28
- export type WorkflowApprovalHandlerResult = {
29
- ok: true;
30
- duplicate: true;
31
- cardNonce: string;
32
- } | {
33
- ok: true;
34
- duplicate: false;
35
- cardNonce: string;
36
- result: ResolveWaitResult | CancelRequestedEvent;
37
- /** Frozen card body (no buttons) for the dispatcher to in-place patch the
38
- * clicked card. Undefined if rebuild failed — caller falls back to no
39
- * patch and the card stays interactive (handler is idempotent via
40
- * frozenCards). */
41
- resolvedCardJson?: string;
42
- } | {
43
- ok: false;
44
- error: 'not_approver';
45
- cardNonce: string;
46
- };
47
- export declare function isWorkflowApprovalAction(action?: string): boolean;
48
- export declare function workflowRunsDir(): string;
49
- export declare function workflowFrozenStoreId(runId: string): string;
50
- export declare function handleWorkflowApprovalAction(data: WorkflowCardActionData, deps?: WorkflowApprovalHandlerDeps, locale?: Locale): Promise<WorkflowApprovalHandlerResult | undefined>;
51
- //# sourceMappingURL=workflow-card-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/workflow-card-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAO5D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUtD,MAAM,MAAM,sBAAsB,GAAG;IACnC,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,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,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC;IAC5D,aAAa,CAAC,EAAE,CACd,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,gBAAgB,EACvB,GAAG,CAAC,EAAE,kBAAkB,KACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,CAChB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACrC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IACjD;;;wBAGoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,sBAAsB,EAC5B,IAAI,GAAE,2BAAgC,EACtC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CA8FpD"}
@@ -1,163 +0,0 @@
1
- import { logger } from '../../utils/logger.js';
2
- import { loadFrozenCards, saveFrozenCards } from '../../services/frozen-card-store.js';
3
- import { EventLog } from '../../workflows/events/append.js';
4
- import { replay } from '../../workflows/events/replay.js';
5
- import { getRunsDir } from '../../workflows/runs-dir.js';
6
- import { readWorkflowDefinitionFromRunDir } from '../../workflows/loader.js';
7
- import { join } from 'node:path';
8
- import { resolveWait, } from '../../workflows/wait.js';
9
- import { requestCancel, } from '../../workflows/cancel.js';
10
- import { buildWorkflowApprovalCard, WORKFLOW_APPROVE_ACTION, WORKFLOW_CANCEL_ACTION, WORKFLOW_COMMENT_FIELD, WORKFLOW_REJECT_ACTION, } from './workflow-cards.js';
11
- export function isWorkflowApprovalAction(action) {
12
- return (action === WORKFLOW_APPROVE_ACTION ||
13
- action === WORKFLOW_REJECT_ACTION ||
14
- action === WORKFLOW_CANCEL_ACTION);
15
- }
16
- export function workflowRunsDir() {
17
- return getRunsDir();
18
- }
19
- export function workflowFrozenStoreId(runId) {
20
- return `workflow-${runId.replace(/[^a-zA-Z0-9._-]/g, '_')}`;
21
- }
22
- export async function handleWorkflowApprovalAction(data, deps = {}, locale) {
23
- const value = data.action?.value;
24
- const action = value?.action;
25
- if (!isWorkflowApprovalAction(action))
26
- return undefined;
27
- const runId = requiredValue(value, 'run_id');
28
- const activityId = requiredValue(value, 'activity_id');
29
- const attemptId = requiredValue(value, 'attempt_id');
30
- const cardNonce = requiredValue(value, 'card_nonce');
31
- const by = data.operator?.open_id;
32
- if (!by)
33
- throw new Error('workflow approval action missing operator.open_id');
34
- const storeId = workflowFrozenStoreId(runId);
35
- const loadCards = deps.loadFrozenCardsFn ?? loadFrozenCards;
36
- const saveCards = deps.saveFrozenCardsFn ?? saveFrozenCards;
37
- const frozenCards = loadCards(storeId);
38
- if (frozenCards.has(cardNonce)) {
39
- logger.info(`[workflow:${runId}] duplicate approval card click ignored: ${cardNonce}`);
40
- return { ok: true, duplicate: true, cardNonce };
41
- }
42
- const comment = cleanComment(data.action?.form_value?.[WORKFLOW_COMMENT_FIELD]);
43
- const runsDir = deps.runsDir ?? workflowRunsDir();
44
- const makeEventLog = deps.makeEventLog ?? ((rid, base) => new EventLog(rid, base));
45
- const log = makeEventLog(runId, runsDir);
46
- const eventsBefore = await log.readAll();
47
- if (!canApproveFromEvents(eventsBefore, activityId, by)) {
48
- logger.info(`[workflow:${runId}] approval card action blocked for non-approver ${by}`);
49
- return { ok: false, error: 'not_approver', cardNonce };
50
- }
51
- const result = action === WORKFLOW_CANCEL_ACTION
52
- ? await (deps.requestCancelFn ?? requestCancel)(log, {
53
- target: { kind: 'run', runId },
54
- reason: cancelReason(comment),
55
- by,
56
- }, 'human')
57
- : await (deps.resolveWaitFn ?? resolveWait)(log, {
58
- activityId,
59
- attemptId,
60
- resolution: action === WORKFLOW_APPROVE_ACTION ? 'approved' : 'rejected',
61
- by,
62
- comment,
63
- },
64
- // v0.2: resolveWait inspects ctx.def to detect `decision` nodes
65
- // so reject writes activitySucceeded instead of activityFailed.
66
- // Loading the per-run workflow snapshot (not the catalog) keeps
67
- // long-running cards bound to the definition the run was started
68
- // with even if the catalog has since been edited.
69
- await (async () => {
70
- const def = await readWorkflowDefinitionFromRunDir(join(runsDir, runId));
71
- return def ? { def } : undefined;
72
- })());
73
- const resolutionKind = action === WORKFLOW_APPROVE_ACTION
74
- ? 'approved'
75
- : action === WORKFLOW_REJECT_ACTION
76
- ? 'rejected'
77
- : 'cancelled';
78
- frozenCards.set(cardNonce, {
79
- messageId: data.context?.open_message_id ?? data.open_message_id ?? '',
80
- title: `workflow approval ${runId}/${activityId}`,
81
- content: JSON.stringify({
82
- runId,
83
- activityId,
84
- attemptId,
85
- resolution: resolutionKind,
86
- by,
87
- ...(comment ? { comment } : {}),
88
- }),
89
- });
90
- saveCards(storeId, frozenCards);
91
- if (action === WORKFLOW_CANCEL_ACTION) {
92
- logger.info(`[workflow:${runId}] run cancel requested from approval card by ${by}`);
93
- }
94
- else {
95
- logger.info(`[workflow:${runId}] wait ${activityId}/${attemptId} resolved by ${by}`);
96
- }
97
- const resolvedCardJson = buildResolvedCardJson(eventsBefore, activityId, {
98
- kind: resolutionKind,
99
- by,
100
- comment,
101
- }, locale);
102
- return { ok: true, duplicate: false, cardNonce, result, resolvedCardJson };
103
- }
104
- function buildResolvedCardJson(events, activityId, resolution, locale) {
105
- try {
106
- const waitEvent = findLatestWaitCreated(events, activityId);
107
- if (!waitEvent)
108
- return undefined;
109
- const snapshot = replay(events);
110
- return buildWorkflowApprovalCard(waitEvent, snapshot, { resolution }, locale);
111
- }
112
- catch (err) {
113
- logger.warn(`failed to build resolved approval card: ${err instanceof Error ? err.message : String(err)}`);
114
- return undefined;
115
- }
116
- }
117
- function findLatestWaitCreated(events, activityId) {
118
- for (let i = events.length - 1; i >= 0; i--) {
119
- const evt = events[i];
120
- if (evt.type !== 'waitCreated')
121
- continue;
122
- if (waitCreatedActivityId(evt) !== activityId)
123
- continue;
124
- return evt;
125
- }
126
- return undefined;
127
- }
128
- function requiredValue(value, key) {
129
- const v = value?.[key];
130
- if (!v)
131
- throw new Error(`workflow approval action missing ${key}`);
132
- return v;
133
- }
134
- function cleanComment(s) {
135
- const trimmed = s?.trim();
136
- return trimmed ? trimmed : undefined;
137
- }
138
- function cancelReason(comment) {
139
- return comment ? `cancelled from approval card: ${comment}` : 'cancelled from approval card';
140
- }
141
- function canApproveFromEvents(events, activityId, by) {
142
- const wait = findLatestWaitCreated(events, activityId);
143
- const approvers = waitCreatedApprovers(wait);
144
- if (!approvers || approvers.length === 0)
145
- return true;
146
- return approvers.includes(by);
147
- }
148
- function waitCreatedActivityId(event) {
149
- const payload = event.payload;
150
- if (typeof payload !== 'object' || payload === null || 'ref' in payload)
151
- return undefined;
152
- return payload.activityId;
153
- }
154
- function waitCreatedApprovers(event) {
155
- if (!event)
156
- return undefined;
157
- const payload = event.payload;
158
- if (typeof payload !== 'object' || payload === null || 'ref' in payload)
159
- return undefined;
160
- const approvers = payload.approvers;
161
- return Array.isArray(approvers) ? approvers.filter((x) => typeof x === 'string') : undefined;
162
- }
163
- //# sourceMappingURL=workflow-card-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/workflow-card-handler.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- import { type Locale } from '../../i18n/index.js';
2
- import type { WaitCreatedEvent } from '../../workflows/events/types.js';
3
- import type { Snapshot } from '../../workflows/events/replay.js';
4
- export declare const WORKFLOW_APPROVE_ACTION = "wf_approve";
5
- export declare const WORKFLOW_REJECT_ACTION = "wf_reject";
6
- export declare const WORKFLOW_CANCEL_ACTION = "wf_cancel";
7
- export declare const WORKFLOW_COMMENT_FIELD = "wf_comment";
8
- export declare const WORKFLOW_APPROVAL_FORM = "wf_approval_form";
9
- export type WorkflowApprovalResolutionKind = 'approved' | 'rejected' | 'cancelled';
10
- export type WorkflowApprovalCardResolution = {
11
- kind: WorkflowApprovalResolutionKind;
12
- by: string;
13
- comment?: string;
14
- };
15
- export type WorkflowApprovalCardOptions = {
16
- webDetailUrl?: string;
17
- cardNonce?: string;
18
- promptMaxChars?: number;
19
- /** When present, render a frozen "已通过 / 已拒绝 / 已取消" card — no form,
20
- * no clickable approve/reject/cancel buttons — so the same surface that
21
- * triggered the action can't be re-submitted from a stale UI. */
22
- resolution?: WorkflowApprovalCardResolution;
23
- };
24
- export type WorkflowApprovalCardContext = {
25
- runId: string;
26
- workflowId?: string;
27
- revisionId?: string;
28
- nodeId: string;
29
- activityId: string;
30
- attemptId: string;
31
- deadlineAt?: number;
32
- /** Body text for the card. Either the full inline prompt (small case)
33
- * or the inline promptPreview (large case). Cards must NEVER read
34
- * promptRef blob files — see `hasFullBehindRef`. */
35
- prompt: string;
36
- /** True when the upstream waitCreated event spilled its prompt to a
37
- * blob (promptRef set). Card-builder uses this to render a hint
38
- * pointing the approver to the dashboard for the complete text. */
39
- hasFullBehindRef: boolean;
40
- cardNonce: string;
41
- webDetailUrl: string;
42
- };
43
- export declare function workflowApprovalCardNonce(runId: string, activityId: string, attemptId: string): string;
44
- export declare function workflowRunDetailUrl(runId: string): string;
45
- export declare function getWorkflowApprovalCardContext(event: WaitCreatedEvent, snapshot: Snapshot, opts?: WorkflowApprovalCardOptions): WorkflowApprovalCardContext;
46
- export declare function buildWorkflowApprovalCard(event: WaitCreatedEvent, snapshot: Snapshot, opts?: WorkflowApprovalCardOptions, locale?: Locale): string;
47
- //# sourceMappingURL=workflow-cards.d.ts.map