botmux 2.47.0 → 2.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.en.md +10 -5
  2. package/README.md +10 -5
  3. package/dist/adapters/adopt-route.d.ts +63 -0
  4. package/dist/adapters/adopt-route.d.ts.map +1 -0
  5. package/dist/adapters/adopt-route.js +195 -0
  6. package/dist/adapters/adopt-route.js.map +1 -0
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +11 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts +11 -0
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-pipe-backend.js +17 -1
  13. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  14. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  15. package/dist/adapters/cli/claude-code.js +36 -9
  16. package/dist/adapters/cli/claude-code.js.map +1 -1
  17. package/dist/adapters/cli/coco.d.ts.map +1 -1
  18. package/dist/adapters/cli/coco.js +26 -1
  19. package/dist/adapters/cli/coco.js.map +1 -1
  20. package/dist/adapters/cli/codex-app.d.ts +4 -0
  21. package/dist/adapters/cli/codex-app.d.ts.map +1 -0
  22. package/dist/adapters/cli/codex-app.js +72 -0
  23. package/dist/adapters/cli/codex-app.js.map +1 -0
  24. package/dist/adapters/cli/codex.d.ts.map +1 -1
  25. package/dist/adapters/cli/codex.js +6 -1
  26. package/dist/adapters/cli/codex.js.map +1 -1
  27. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  28. package/dist/adapters/cli/cursor.js +58 -12
  29. package/dist/adapters/cli/cursor.js.map +1 -1
  30. package/dist/adapters/cli/gemini.d.ts.map +1 -1
  31. package/dist/adapters/cli/gemini.js +5 -1
  32. package/dist/adapters/cli/gemini.js.map +1 -1
  33. package/dist/adapters/cli/hermes.d.ts +4 -0
  34. package/dist/adapters/cli/hermes.d.ts.map +1 -0
  35. package/dist/adapters/cli/hermes.js +40 -0
  36. package/dist/adapters/cli/hermes.js.map +1 -0
  37. package/dist/adapters/cli/mira.d.ts +4 -0
  38. package/dist/adapters/cli/mira.d.ts.map +1 -0
  39. package/dist/adapters/cli/mira.js +67 -0
  40. package/dist/adapters/cli/mira.js.map +1 -0
  41. package/dist/adapters/cli/mtr.d.ts +5 -0
  42. package/dist/adapters/cli/mtr.d.ts.map +1 -0
  43. package/dist/adapters/cli/mtr.js +62 -0
  44. package/dist/adapters/cli/mtr.js.map +1 -0
  45. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  46. package/dist/adapters/cli/opencode.js +19 -1
  47. package/dist/adapters/cli/opencode.js.map +1 -1
  48. package/dist/adapters/cli/registry.d.ts +5 -1
  49. package/dist/adapters/cli/registry.d.ts.map +1 -1
  50. package/dist/adapters/cli/registry.js +22 -2
  51. package/dist/adapters/cli/registry.js.map +1 -1
  52. package/dist/adapters/cli/shared-hints.d.ts +1 -1
  53. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  54. package/dist/adapters/cli/shared-hints.js +2 -1
  55. package/dist/adapters/cli/shared-hints.js.map +1 -1
  56. package/dist/adapters/cli/types.d.ts +35 -2
  57. package/dist/adapters/cli/types.d.ts.map +1 -1
  58. package/dist/adapters/hook-command.d.ts +18 -0
  59. package/dist/adapters/hook-command.d.ts.map +1 -0
  60. package/dist/adapters/hook-command.js +38 -0
  61. package/dist/adapters/hook-command.js.map +1 -0
  62. package/dist/adapters/hook-installer.d.ts +14 -0
  63. package/dist/adapters/hook-installer.d.ts.map +1 -0
  64. package/dist/adapters/hook-installer.js +192 -0
  65. package/dist/adapters/hook-installer.js.map +1 -0
  66. package/dist/bot-registry.d.ts +59 -0
  67. package/dist/bot-registry.d.ts.map +1 -1
  68. package/dist/bot-registry.js +67 -0
  69. package/dist/bot-registry.js.map +1 -1
  70. package/dist/cli/bots-list-output.d.ts +8 -0
  71. package/dist/cli/bots-list-output.d.ts.map +1 -1
  72. package/dist/cli/bots-list-output.js +9 -0
  73. package/dist/cli/bots-list-output.js.map +1 -1
  74. package/dist/cli.d.ts +15 -1
  75. package/dist/cli.d.ts.map +1 -1
  76. package/dist/cli.js +603 -106
  77. package/dist/cli.js.map +1 -1
  78. package/dist/codex-app-runner.d.ts +3 -0
  79. package/dist/codex-app-runner.d.ts.map +1 -0
  80. package/dist/codex-app-runner.js +512 -0
  81. package/dist/codex-app-runner.js.map +1 -0
  82. package/dist/config.d.ts +11 -2
  83. package/dist/config.d.ts.map +1 -1
  84. package/dist/config.js +17 -4
  85. package/dist/config.js.map +1 -1
  86. package/dist/core/ask-api.d.ts +47 -0
  87. package/dist/core/ask-api.d.ts.map +1 -0
  88. package/dist/core/ask-api.js +139 -0
  89. package/dist/core/ask-api.js.map +1 -0
  90. package/dist/core/ask-args.d.ts +53 -0
  91. package/dist/core/ask-args.d.ts.map +1 -0
  92. package/dist/core/ask-args.js +122 -0
  93. package/dist/core/ask-args.js.map +1 -0
  94. package/dist/core/ask-broker.d.ts +98 -0
  95. package/dist/core/ask-broker.d.ts.map +1 -0
  96. package/dist/core/ask-broker.js +329 -0
  97. package/dist/core/ask-broker.js.map +1 -0
  98. package/dist/core/ask-hook/claude-code.d.ts +50 -0
  99. package/dist/core/ask-hook/claude-code.d.ts.map +1 -0
  100. package/dist/core/ask-hook/claude-code.js +145 -0
  101. package/dist/core/ask-hook/claude-code.js.map +1 -0
  102. package/dist/core/ask-hook/codex.d.ts +43 -0
  103. package/dist/core/ask-hook/codex.d.ts.map +1 -0
  104. package/dist/core/ask-hook/codex.js +69 -0
  105. package/dist/core/ask-hook/codex.js.map +1 -0
  106. package/dist/core/ask-hook/opencode.d.ts +41 -0
  107. package/dist/core/ask-hook/opencode.d.ts.map +1 -0
  108. package/dist/core/ask-hook/opencode.js +108 -0
  109. package/dist/core/ask-hook/opencode.js.map +1 -0
  110. package/dist/core/ask-hook/registry.d.ts +3 -0
  111. package/dist/core/ask-hook/registry.d.ts.map +1 -0
  112. package/dist/core/ask-hook/registry.js +12 -0
  113. package/dist/core/ask-hook/registry.js.map +1 -0
  114. package/dist/core/ask-hook/types.d.ts +26 -0
  115. package/dist/core/ask-hook/types.d.ts.map +1 -0
  116. package/dist/core/ask-hook/types.js +2 -0
  117. package/dist/core/ask-hook/types.js.map +1 -0
  118. package/dist/core/ask-types.d.ts +146 -0
  119. package/dist/core/ask-types.d.ts.map +1 -0
  120. package/dist/core/ask-types.js +18 -0
  121. package/dist/core/ask-types.js.map +1 -0
  122. package/dist/core/command-handler.d.ts +20 -0
  123. package/dist/core/command-handler.d.ts.map +1 -1
  124. package/dist/core/command-handler.js +774 -311
  125. package/dist/core/command-handler.js.map +1 -1
  126. package/dist/core/dashboard-ipc-server.d.ts +2 -0
  127. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  128. package/dist/core/dashboard-ipc-server.js +222 -2
  129. package/dist/core/dashboard-ipc-server.js.map +1 -1
  130. package/dist/core/role-resolver.d.ts +17 -1
  131. package/dist/core/role-resolver.d.ts.map +1 -1
  132. package/dist/core/role-resolver.js +64 -10
  133. package/dist/core/role-resolver.js.map +1 -1
  134. package/dist/core/session-discovery.d.ts.map +1 -1
  135. package/dist/core/session-discovery.js +19 -5
  136. package/dist/core/session-discovery.js.map +1 -1
  137. package/dist/core/session-manager.d.ts +1 -1
  138. package/dist/core/session-manager.d.ts.map +1 -1
  139. package/dist/core/session-manager.js +37 -20
  140. package/dist/core/session-manager.js.map +1 -1
  141. package/dist/core/trigger-session.d.ts +9 -0
  142. package/dist/core/trigger-session.d.ts.map +1 -0
  143. package/dist/core/trigger-session.js +158 -0
  144. package/dist/core/trigger-session.js.map +1 -0
  145. package/dist/core/types.d.ts +5 -0
  146. package/dist/core/types.d.ts.map +1 -1
  147. package/dist/core/types.js.map +1 -1
  148. package/dist/core/worker-pool.d.ts +141 -0
  149. package/dist/core/worker-pool.d.ts.map +1 -1
  150. package/dist/core/worker-pool.js +543 -24
  151. package/dist/core/worker-pool.js.map +1 -1
  152. package/dist/daemon.d.ts.map +1 -1
  153. package/dist/daemon.js +213 -58
  154. package/dist/daemon.js.map +1 -1
  155. package/dist/dashboard/auth.d.ts +6 -1
  156. package/dist/dashboard/auth.d.ts.map +1 -1
  157. package/dist/dashboard/auth.js +9 -1
  158. package/dist/dashboard/auth.js.map +1 -1
  159. package/dist/dashboard/connector-api.d.ts +3 -0
  160. package/dist/dashboard/connector-api.d.ts.map +1 -0
  161. package/dist/dashboard/connector-api.js +351 -0
  162. package/dist/dashboard/connector-api.js.map +1 -0
  163. package/dist/dashboard/federated-group-core.d.ts +54 -0
  164. package/dist/dashboard/federated-group-core.d.ts.map +1 -0
  165. package/dist/dashboard/federated-group-core.js +165 -0
  166. package/dist/dashboard/federated-group-core.js.map +1 -0
  167. package/dist/dashboard/federation-api.d.ts +42 -0
  168. package/dist/dashboard/federation-api.d.ts.map +1 -0
  169. package/dist/dashboard/federation-api.js +408 -0
  170. package/dist/dashboard/federation-api.js.map +1 -0
  171. package/dist/dashboard/federation-spoke-api.d.ts +76 -0
  172. package/dist/dashboard/federation-spoke-api.d.ts.map +1 -0
  173. package/dist/dashboard/federation-spoke-api.js +618 -0
  174. package/dist/dashboard/federation-spoke-api.js.map +1 -0
  175. package/dist/dashboard/team-group.d.ts +18 -0
  176. package/dist/dashboard/team-group.d.ts.map +1 -0
  177. package/dist/dashboard/team-group.js +7 -0
  178. package/dist/dashboard/team-group.js.map +1 -0
  179. package/dist/dashboard/trigger-api.d.ts +13 -0
  180. package/dist/dashboard/trigger-api.d.ts.map +1 -0
  181. package/dist/dashboard/trigger-api.js +77 -0
  182. package/dist/dashboard/trigger-api.js.map +1 -0
  183. package/dist/dashboard/web/app.js +8 -0
  184. package/dist/dashboard/web/app.js.map +1 -1
  185. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  186. package/dist/dashboard/web/bot-defaults.js +205 -21
  187. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  188. package/dist/dashboard/web/connectors.d.ts +2 -0
  189. package/dist/dashboard/web/connectors.d.ts.map +1 -0
  190. package/dist/dashboard/web/connectors.js +187 -0
  191. package/dist/dashboard/web/connectors.js.map +1 -0
  192. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  193. package/dist/dashboard/web/i18n.js +43 -5
  194. package/dist/dashboard/web/i18n.js.map +1 -1
  195. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  196. package/dist/dashboard/web/sessions.js +4 -0
  197. package/dist/dashboard/web/sessions.js.map +1 -1
  198. package/dist/dashboard/web/team-federation.d.ts +3 -0
  199. package/dist/dashboard/web/team-federation.d.ts.map +1 -0
  200. package/dist/dashboard/web/team-federation.js +487 -0
  201. package/dist/dashboard/web/team-federation.js.map +1 -0
  202. package/dist/dashboard/web/workflows.js +3 -3
  203. package/dist/dashboard/web/workflows.js.map +1 -1
  204. package/dist/dashboard/webhook-routes.d.ts +19 -0
  205. package/dist/dashboard/webhook-routes.d.ts.map +1 -0
  206. package/dist/dashboard/webhook-routes.js +321 -0
  207. package/dist/dashboard/webhook-routes.js.map +1 -0
  208. package/dist/dashboard/workflow-api.d.ts +8 -1
  209. package/dist/dashboard/workflow-api.d.ts.map +1 -1
  210. package/dist/dashboard/workflow-api.js +19 -4
  211. package/dist/dashboard/workflow-api.js.map +1 -1
  212. package/dist/dashboard-web/app.js +539 -375
  213. package/dist/dashboard-web/index.html +3 -1
  214. package/dist/dashboard-web/style.css +22 -0
  215. package/dist/dashboard.js +199 -2
  216. package/dist/dashboard.js.map +1 -1
  217. package/dist/i18n/en.d.ts.map +1 -1
  218. package/dist/i18n/en.js +104 -11
  219. package/dist/i18n/en.js.map +1 -1
  220. package/dist/i18n/zh.d.ts.map +1 -1
  221. package/dist/i18n/zh.js +104 -11
  222. package/dist/i18n/zh.js.map +1 -1
  223. package/dist/im/lark/ask-card.d.ts +55 -0
  224. package/dist/im/lark/ask-card.d.ts.map +1 -0
  225. package/dist/im/lark/ask-card.js +328 -0
  226. package/dist/im/lark/ask-card.js.map +1 -0
  227. package/dist/im/lark/card-builder.d.ts +108 -3
  228. package/dist/im/lark/card-builder.d.ts.map +1 -1
  229. package/dist/im/lark/card-builder.js +480 -50
  230. package/dist/im/lark/card-builder.js.map +1 -1
  231. package/dist/im/lark/card-handler.d.ts.map +1 -1
  232. package/dist/im/lark/card-handler.js +241 -18
  233. package/dist/im/lark/card-handler.js.map +1 -1
  234. package/dist/im/lark/client.d.ts +83 -0
  235. package/dist/im/lark/client.d.ts.map +1 -1
  236. package/dist/im/lark/client.js +286 -70
  237. package/dist/im/lark/client.js.map +1 -1
  238. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  239. package/dist/im/lark/event-dispatcher.js +29 -4
  240. package/dist/im/lark/event-dispatcher.js.map +1 -1
  241. package/dist/im/lark/grant-command.d.ts +2 -1
  242. package/dist/im/lark/grant-command.d.ts.map +1 -1
  243. package/dist/im/lark/grant-command.js +3 -2
  244. package/dist/im/lark/grant-command.js.map +1 -1
  245. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  246. package/dist/im/lark/identity-cache.js +3 -3
  247. package/dist/im/lark/identity-cache.js.map +1 -1
  248. package/dist/im/lark/md-card.d.ts +20 -2
  249. package/dist/im/lark/md-card.d.ts.map +1 -1
  250. package/dist/im/lark/md-card.js +49 -17
  251. package/dist/im/lark/md-card.js.map +1 -1
  252. package/dist/im/lark/message-parser.d.ts.map +1 -1
  253. package/dist/im/lark/message-parser.js +87 -31
  254. package/dist/im/lark/message-parser.js.map +1 -1
  255. package/dist/im/lark/workflow-card-handler.d.ts +2 -2
  256. package/dist/im/lark/workflow-card-handler.d.ts.map +1 -1
  257. package/dist/im/lark/workflow-card-handler.js +12 -1
  258. package/dist/im/lark/workflow-card-handler.js.map +1 -1
  259. package/dist/im/lark/workflow-progress-card.d.ts.map +1 -1
  260. package/dist/im/lark/workflow-progress-card.js +53 -0
  261. package/dist/im/lark/workflow-progress-card.js.map +1 -1
  262. package/dist/mira-output.d.ts +3 -0
  263. package/dist/mira-output.d.ts.map +1 -0
  264. package/dist/mira-output.js +136 -0
  265. package/dist/mira-output.js.map +1 -0
  266. package/dist/mira-runner.d.ts +3 -0
  267. package/dist/mira-runner.d.ts.map +1 -0
  268. package/dist/mira-runner.js +534 -0
  269. package/dist/mira-runner.js.map +1 -0
  270. package/dist/services/bot-owner-store.d.ts +28 -0
  271. package/dist/services/bot-owner-store.d.ts.map +1 -0
  272. package/dist/services/bot-owner-store.js +82 -0
  273. package/dist/services/bot-owner-store.js.map +1 -0
  274. package/dist/services/bot-profile-store.d.ts +16 -0
  275. package/dist/services/bot-profile-store.d.ts.map +1 -0
  276. package/dist/services/bot-profile-store.js +98 -0
  277. package/dist/services/bot-profile-store.js.map +1 -0
  278. package/dist/services/brand-store.d.ts +15 -0
  279. package/dist/services/brand-store.d.ts.map +1 -0
  280. package/dist/services/brand-store.js +47 -0
  281. package/dist/services/brand-store.js.map +1 -0
  282. package/dist/services/card-prefs-store.d.ts +20 -0
  283. package/dist/services/card-prefs-store.d.ts.map +1 -0
  284. package/dist/services/card-prefs-store.js +82 -0
  285. package/dist/services/card-prefs-store.js.map +1 -0
  286. package/dist/services/codex-bridge-queue.d.ts +1 -0
  287. package/dist/services/codex-bridge-queue.d.ts.map +1 -1
  288. package/dist/services/codex-bridge-queue.js +23 -0
  289. package/dist/services/codex-bridge-queue.js.map +1 -1
  290. package/dist/services/codex-transcript.d.ts +1 -0
  291. package/dist/services/codex-transcript.d.ts.map +1 -1
  292. package/dist/services/codex-transcript.js.map +1 -1
  293. package/dist/services/connector-store.d.ts +58 -0
  294. package/dist/services/connector-store.d.ts.map +1 -0
  295. package/dist/services/connector-store.js +79 -0
  296. package/dist/services/connector-store.js.map +1 -0
  297. package/dist/services/deployment-identity.d.ts +22 -0
  298. package/dist/services/deployment-identity.d.ts.map +1 -0
  299. package/dist/services/deployment-identity.js +67 -0
  300. package/dist/services/deployment-identity.js.map +1 -0
  301. package/dist/services/federation-membership-store.d.ts +23 -0
  302. package/dist/services/federation-membership-store.d.ts.map +1 -0
  303. package/dist/services/federation-membership-store.js +66 -0
  304. package/dist/services/federation-membership-store.js.map +1 -0
  305. package/dist/services/federation-roster.d.ts +54 -0
  306. package/dist/services/federation-roster.d.ts.map +1 -0
  307. package/dist/services/federation-roster.js +51 -0
  308. package/dist/services/federation-roster.js.map +1 -0
  309. package/dist/services/federation-store.d.ts +76 -0
  310. package/dist/services/federation-store.d.ts.map +1 -0
  311. package/dist/services/federation-store.js +133 -0
  312. package/dist/services/federation-store.js.map +1 -0
  313. package/dist/services/grant-store.d.ts +12 -2
  314. package/dist/services/grant-store.d.ts.map +1 -1
  315. package/dist/services/grant-store.js +51 -4
  316. package/dist/services/grant-store.js.map +1 -1
  317. package/dist/services/group-creator.d.ts +10 -0
  318. package/dist/services/group-creator.d.ts.map +1 -1
  319. package/dist/services/group-creator.js +26 -1
  320. package/dist/services/group-creator.js.map +1 -1
  321. package/dist/services/groups-store.d.ts +30 -0
  322. package/dist/services/groups-store.d.ts.map +1 -1
  323. package/dist/services/groups-store.js +85 -12
  324. package/dist/services/groups-store.js.map +1 -1
  325. package/dist/services/hermes-transcript.d.ts +7 -0
  326. package/dist/services/hermes-transcript.d.ts.map +1 -0
  327. package/dist/services/hermes-transcript.js +117 -0
  328. package/dist/services/hermes-transcript.js.map +1 -0
  329. package/dist/services/invite-store.d.ts +28 -0
  330. package/dist/services/invite-store.d.ts.map +1 -0
  331. package/dist/services/invite-store.js +85 -0
  332. package/dist/services/invite-store.js.map +1 -0
  333. package/dist/services/pairing-store.d.ts +47 -0
  334. package/dist/services/pairing-store.d.ts.map +1 -0
  335. package/dist/services/pairing-store.js +132 -0
  336. package/dist/services/pairing-store.js.map +1 -0
  337. package/dist/services/project-scanner.d.ts +10 -0
  338. package/dist/services/project-scanner.d.ts.map +1 -1
  339. package/dist/services/project-scanner.js +11 -0
  340. package/dist/services/project-scanner.js.map +1 -1
  341. package/dist/services/relay-picker.d.ts +22 -0
  342. package/dist/services/relay-picker.d.ts.map +1 -0
  343. package/dist/services/relay-picker.js +62 -0
  344. package/dist/services/relay-picker.js.map +1 -0
  345. package/dist/services/send-policy.d.ts +55 -0
  346. package/dist/services/send-policy.d.ts.map +1 -0
  347. package/dist/services/send-policy.js +47 -0
  348. package/dist/services/send-policy.js.map +1 -0
  349. package/dist/services/session-store.js +1 -1
  350. package/dist/services/session-store.js.map +1 -1
  351. package/dist/services/team-roster.d.ts +38 -0
  352. package/dist/services/team-roster.d.ts.map +1 -0
  353. package/dist/services/team-roster.js +82 -0
  354. package/dist/services/team-roster.js.map +1 -0
  355. package/dist/services/team-store.d.ts +54 -0
  356. package/dist/services/team-store.d.ts.map +1 -0
  357. package/dist/services/team-store.js +156 -0
  358. package/dist/services/team-store.js.map +1 -0
  359. package/dist/services/trigger-log-store.d.ts +46 -0
  360. package/dist/services/trigger-log-store.d.ts.map +1 -0
  361. package/dist/services/trigger-log-store.js +132 -0
  362. package/dist/services/trigger-log-store.js.map +1 -0
  363. package/dist/services/trigger-types.d.ts +57 -0
  364. package/dist/services/trigger-types.d.ts.map +1 -0
  365. package/dist/services/trigger-types.js +28 -0
  366. package/dist/services/trigger-types.js.map +1 -0
  367. package/dist/services/webhook-key.d.ts +16 -0
  368. package/dist/services/webhook-key.d.ts.map +1 -0
  369. package/dist/services/webhook-key.js +123 -0
  370. package/dist/services/webhook-key.js.map +1 -0
  371. package/dist/services/webhook-lifecycle-extractors.d.ts +15 -0
  372. package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -0
  373. package/dist/services/webhook-lifecycle-extractors.js +59 -0
  374. package/dist/services/webhook-lifecycle-extractors.js.map +1 -0
  375. package/dist/services/webhook-lifecycle-store.d.ts +45 -0
  376. package/dist/services/webhook-lifecycle-store.d.ts.map +1 -0
  377. package/dist/services/webhook-lifecycle-store.js +159 -0
  378. package/dist/services/webhook-lifecycle-store.js.map +1 -0
  379. package/dist/setup/bot-config-editor.d.ts +8 -1
  380. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  381. package/dist/setup/bot-config-editor.js +20 -2
  382. package/dist/setup/bot-config-editor.js.map +1 -1
  383. package/dist/setup/ensure-tmux.d.ts +0 -22
  384. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  385. package/dist/setup/ensure-tmux.js +25 -1
  386. package/dist/setup/ensure-tmux.js.map +1 -1
  387. package/dist/setup/verify-permissions.d.ts.map +1 -1
  388. package/dist/setup/verify-permissions.js +15 -1
  389. package/dist/setup/verify-permissions.js.map +1 -1
  390. package/dist/skills/definitions.d.ts +2 -0
  391. package/dist/skills/definitions.d.ts.map +1 -1
  392. package/dist/skills/definitions.js +178 -12
  393. package/dist/skills/definitions.js.map +1 -1
  394. package/dist/skills/installer.d.ts +34 -0
  395. package/dist/skills/installer.d.ts.map +1 -1
  396. package/dist/skills/installer.js +119 -2
  397. package/dist/skills/installer.js.map +1 -1
  398. package/dist/types.d.ts +25 -0
  399. package/dist/types.d.ts.map +1 -1
  400. package/dist/utils/bot-routing.d.ts +50 -0
  401. package/dist/utils/bot-routing.d.ts.map +1 -1
  402. package/dist/utils/bot-routing.js +83 -0
  403. package/dist/utils/bot-routing.js.map +1 -1
  404. package/dist/utils/daemon-discovery.d.ts +11 -0
  405. package/dist/utils/daemon-discovery.d.ts.map +1 -0
  406. package/dist/utils/daemon-discovery.js +59 -0
  407. package/dist/utils/daemon-discovery.js.map +1 -0
  408. package/dist/utils/user-token.d.ts.map +1 -1
  409. package/dist/utils/user-token.js +0 -2
  410. package/dist/utils/user-token.js.map +1 -1
  411. package/dist/worker.js +198 -27
  412. package/dist/worker.js.map +1 -1
  413. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  414. package/dist/workflows/attempt-resume.js +2 -2
  415. package/dist/workflows/attempt-resume.js.map +1 -1
  416. package/dist/workflows/definition.d.ts +412 -9
  417. package/dist/workflows/definition.d.ts.map +1 -1
  418. package/dist/workflows/definition.js +238 -3
  419. package/dist/workflows/definition.js.map +1 -1
  420. package/dist/workflows/events/payloads.d.ts +114 -11
  421. package/dist/workflows/events/payloads.d.ts.map +1 -1
  422. package/dist/workflows/events/payloads.js +46 -0
  423. package/dist/workflows/events/payloads.js.map +1 -1
  424. package/dist/workflows/events/replay.d.ts +21 -0
  425. package/dist/workflows/events/replay.d.ts.map +1 -1
  426. package/dist/workflows/events/replay.js +103 -0
  427. package/dist/workflows/events/replay.js.map +1 -1
  428. package/dist/workflows/events/schema.d.ts +1301 -606
  429. package/dist/workflows/events/schema.d.ts.map +1 -1
  430. package/dist/workflows/events/schema.js +37 -1
  431. package/dist/workflows/events/schema.js.map +1 -1
  432. package/dist/workflows/events/types.d.ts +5 -1
  433. package/dist/workflows/events/types.d.ts.map +1 -1
  434. package/dist/workflows/loader.d.ts +14 -0
  435. package/dist/workflows/loader.d.ts.map +1 -1
  436. package/dist/workflows/loader.js +27 -0
  437. package/dist/workflows/loader.js.map +1 -1
  438. package/dist/workflows/loop.js +58 -0
  439. package/dist/workflows/loop.js.map +1 -1
  440. package/dist/workflows/ops-projection.d.ts +58 -0
  441. package/dist/workflows/ops-projection.d.ts.map +1 -1
  442. package/dist/workflows/ops-projection.js +74 -0
  443. package/dist/workflows/ops-projection.js.map +1 -1
  444. package/dist/workflows/orchestrator.d.ts +65 -1
  445. package/dist/workflows/orchestrator.d.ts.map +1 -1
  446. package/dist/workflows/orchestrator.js +486 -74
  447. package/dist/workflows/orchestrator.js.map +1 -1
  448. package/dist/workflows/output-binding.d.ts +8 -1
  449. package/dist/workflows/output-binding.d.ts.map +1 -1
  450. package/dist/workflows/output-binding.js +75 -11
  451. package/dist/workflows/output-binding.js.map +1 -1
  452. package/dist/workflows/runtime.d.ts +1 -1
  453. package/dist/workflows/runtime.d.ts.map +1 -1
  454. package/dist/workflows/runtime.js +39 -4
  455. package/dist/workflows/runtime.js.map +1 -1
  456. package/dist/workflows/trigger-from-envelope.d.ts +13 -0
  457. package/dist/workflows/trigger-from-envelope.d.ts.map +1 -0
  458. package/dist/workflows/trigger-from-envelope.js +67 -0
  459. package/dist/workflows/trigger-from-envelope.js.map +1 -0
  460. package/dist/workflows/wait.d.ts +23 -2
  461. package/dist/workflows/wait.d.ts.map +1 -1
  462. package/dist/workflows/wait.js +39 -17
  463. package/dist/workflows/wait.js.map +1 -1
  464. package/package.json +1 -1
  465. package/dist/services/feishu-task-client.d.ts +0 -28
  466. package/dist/services/feishu-task-client.d.ts.map +0 -1
  467. package/dist/services/feishu-task-client.js +0 -123
  468. package/dist/services/feishu-task-client.js.map +0 -1
  469. package/dist/services/task-store.d.ts +0 -37
  470. package/dist/services/task-store.d.ts.map +0 -1
  471. package/dist/services/task-store.js +0 -115
  472. package/dist/services/task-store.js.map +0 -1
@@ -217,10 +217,10 @@ export declare const SubagentNodeSchema: z.ZodObject<{
217
217
  */
218
218
  unsafeAllowUngated: z.ZodOptional<z.ZodBoolean>;
219
219
  }, "strip", z.ZodTypeAny, {
220
+ type: "subagent";
220
221
  prompt: string | {
221
222
  $ref: string;
222
223
  };
223
- type: "subagent";
224
224
  bot: string;
225
225
  workingDir?: string | undefined;
226
226
  timeoutMs?: number | undefined;
@@ -254,10 +254,10 @@ export declare const SubagentNodeSchema: z.ZodObject<{
254
254
  outputSchema?: Record<string, unknown> | undefined;
255
255
  unsafeAllowUngated?: boolean | undefined;
256
256
  }, {
257
+ type: "subagent";
257
258
  prompt: string | {
258
259
  $ref: string;
259
260
  };
260
- type: "subagent";
261
261
  bot: string;
262
262
  workingDir?: string | undefined;
263
263
  timeoutMs?: number | undefined;
@@ -428,6 +428,126 @@ export type HostExecutorNode = z.infer<typeof HostExecutorNodeSchema>;
428
428
  */
429
429
  export declare const SIDE_EFFECT_EXECUTORS: ReadonlySet<string>;
430
430
  export declare function isSideEffectExecutor(executor: string): boolean;
431
+ export declare const LoopOutputProjectionSchema: z.ZodObject<{
432
+ from: z.ZodString;
433
+ }, "strict", z.ZodTypeAny, {
434
+ from: string;
435
+ }, {
436
+ from: string;
437
+ }>;
438
+ export type LoopOutputProjection = z.infer<typeof LoopOutputProjectionSchema>;
439
+ export declare const LoopNodeSchema: z.ZodObject<{
440
+ type: z.ZodLiteral<"loop">;
441
+ description: z.ZodOptional<z.ZodString>;
442
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
443
+ maxIterations: z.ZodNumber;
444
+ body: z.ZodArray<z.ZodString, "many">;
445
+ terminate: z.ZodObject<{
446
+ node: z.ZodString;
447
+ via: z.ZodLiteral<"humanGate">;
448
+ }, "strict", z.ZodTypeAny, {
449
+ node: string;
450
+ via: "humanGate";
451
+ }, {
452
+ node: string;
453
+ via: "humanGate";
454
+ }>;
455
+ output: z.ZodOptional<z.ZodObject<{
456
+ from: z.ZodString;
457
+ }, "strict", z.ZodTypeAny, {
458
+ from: string;
459
+ }, {
460
+ from: string;
461
+ }>>;
462
+ }, "strict", z.ZodTypeAny, {
463
+ type: "loop";
464
+ maxIterations: number;
465
+ body: string[];
466
+ terminate: {
467
+ node: string;
468
+ via: "humanGate";
469
+ };
470
+ description?: string | undefined;
471
+ depends?: string[] | undefined;
472
+ output?: {
473
+ from: string;
474
+ } | undefined;
475
+ }, {
476
+ type: "loop";
477
+ maxIterations: number;
478
+ body: string[];
479
+ terminate: {
480
+ node: string;
481
+ via: "humanGate";
482
+ };
483
+ description?: string | undefined;
484
+ depends?: string[] | undefined;
485
+ output?: {
486
+ from: string;
487
+ } | undefined;
488
+ }>;
489
+ export type LoopNode = z.infer<typeof LoopNodeSchema>;
490
+ export declare const DecisionNodeSchema: z.ZodObject<{
491
+ type: z.ZodLiteral<"decision">;
492
+ description: z.ZodOptional<z.ZodString>;
493
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
494
+ humanGate: z.ZodObject<{
495
+ stage: z.ZodLiteral<"before">;
496
+ prompt: z.ZodUnion<[z.ZodString, z.ZodObject<{
497
+ $ref: z.ZodString;
498
+ }, "strict", z.ZodTypeAny, {
499
+ $ref: string;
500
+ }, {
501
+ $ref: string;
502
+ }>]>;
503
+ approvers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
504
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
505
+ onTimeout: z.ZodOptional<z.ZodEnum<["fail", "success"]>>;
506
+ }, "strip", z.ZodTypeAny, {
507
+ prompt: string | {
508
+ $ref: string;
509
+ };
510
+ stage: "before";
511
+ approvers?: string[] | undefined;
512
+ onTimeout?: "fail" | "success" | undefined;
513
+ deadlineMs?: number | undefined;
514
+ }, {
515
+ prompt: string | {
516
+ $ref: string;
517
+ };
518
+ stage: "before";
519
+ approvers?: string[] | undefined;
520
+ onTimeout?: "fail" | "success" | undefined;
521
+ deadlineMs?: number | undefined;
522
+ }>;
523
+ }, "strict", z.ZodTypeAny, {
524
+ type: "decision";
525
+ humanGate: {
526
+ prompt: string | {
527
+ $ref: string;
528
+ };
529
+ stage: "before";
530
+ approvers?: string[] | undefined;
531
+ onTimeout?: "fail" | "success" | undefined;
532
+ deadlineMs?: number | undefined;
533
+ };
534
+ description?: string | undefined;
535
+ depends?: string[] | undefined;
536
+ }, {
537
+ type: "decision";
538
+ humanGate: {
539
+ prompt: string | {
540
+ $ref: string;
541
+ };
542
+ stage: "before";
543
+ approvers?: string[] | undefined;
544
+ onTimeout?: "fail" | "success" | undefined;
545
+ deadlineMs?: number | undefined;
546
+ };
547
+ description?: string | undefined;
548
+ depends?: string[] | undefined;
549
+ }>;
550
+ export type DecisionNode = z.infer<typeof DecisionNodeSchema>;
431
551
  export declare const WorkflowNodeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
432
552
  type: z.ZodLiteral<"subagent">;
433
553
  bot: z.ZodString;
@@ -525,10 +645,10 @@ export declare const WorkflowNodeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
525
645
  */
526
646
  unsafeAllowUngated: z.ZodOptional<z.ZodBoolean>;
527
647
  }, "strip", z.ZodTypeAny, {
648
+ type: "subagent";
528
649
  prompt: string | {
529
650
  $ref: string;
530
651
  };
531
- type: "subagent";
532
652
  bot: string;
533
653
  workingDir?: string | undefined;
534
654
  timeoutMs?: number | undefined;
@@ -562,10 +682,10 @@ export declare const WorkflowNodeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
562
682
  outputSchema?: Record<string, unknown> | undefined;
563
683
  unsafeAllowUngated?: boolean | undefined;
564
684
  }, {
685
+ type: "subagent";
565
686
  prompt: string | {
566
687
  $ref: string;
567
688
  };
568
- type: "subagent";
569
689
  bot: string;
570
690
  workingDir?: string | undefined;
571
691
  timeoutMs?: number | undefined;
@@ -719,6 +839,114 @@ export declare const WorkflowNodeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
719
839
  } | undefined;
720
840
  outputSchema?: Record<string, unknown> | undefined;
721
841
  unsafeAllowUngated?: boolean | undefined;
842
+ }>, z.ZodObject<{
843
+ type: z.ZodLiteral<"loop">;
844
+ description: z.ZodOptional<z.ZodString>;
845
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
846
+ maxIterations: z.ZodNumber;
847
+ body: z.ZodArray<z.ZodString, "many">;
848
+ terminate: z.ZodObject<{
849
+ node: z.ZodString;
850
+ via: z.ZodLiteral<"humanGate">;
851
+ }, "strict", z.ZodTypeAny, {
852
+ node: string;
853
+ via: "humanGate";
854
+ }, {
855
+ node: string;
856
+ via: "humanGate";
857
+ }>;
858
+ output: z.ZodOptional<z.ZodObject<{
859
+ from: z.ZodString;
860
+ }, "strict", z.ZodTypeAny, {
861
+ from: string;
862
+ }, {
863
+ from: string;
864
+ }>>;
865
+ }, "strict", z.ZodTypeAny, {
866
+ type: "loop";
867
+ maxIterations: number;
868
+ body: string[];
869
+ terminate: {
870
+ node: string;
871
+ via: "humanGate";
872
+ };
873
+ description?: string | undefined;
874
+ depends?: string[] | undefined;
875
+ output?: {
876
+ from: string;
877
+ } | undefined;
878
+ }, {
879
+ type: "loop";
880
+ maxIterations: number;
881
+ body: string[];
882
+ terminate: {
883
+ node: string;
884
+ via: "humanGate";
885
+ };
886
+ description?: string | undefined;
887
+ depends?: string[] | undefined;
888
+ output?: {
889
+ from: string;
890
+ } | undefined;
891
+ }>, z.ZodObject<{
892
+ type: z.ZodLiteral<"decision">;
893
+ description: z.ZodOptional<z.ZodString>;
894
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
895
+ humanGate: z.ZodObject<{
896
+ stage: z.ZodLiteral<"before">;
897
+ prompt: z.ZodUnion<[z.ZodString, z.ZodObject<{
898
+ $ref: z.ZodString;
899
+ }, "strict", z.ZodTypeAny, {
900
+ $ref: string;
901
+ }, {
902
+ $ref: string;
903
+ }>]>;
904
+ approvers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
905
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
906
+ onTimeout: z.ZodOptional<z.ZodEnum<["fail", "success"]>>;
907
+ }, "strip", z.ZodTypeAny, {
908
+ prompt: string | {
909
+ $ref: string;
910
+ };
911
+ stage: "before";
912
+ approvers?: string[] | undefined;
913
+ onTimeout?: "fail" | "success" | undefined;
914
+ deadlineMs?: number | undefined;
915
+ }, {
916
+ prompt: string | {
917
+ $ref: string;
918
+ };
919
+ stage: "before";
920
+ approvers?: string[] | undefined;
921
+ onTimeout?: "fail" | "success" | undefined;
922
+ deadlineMs?: number | undefined;
923
+ }>;
924
+ }, "strict", z.ZodTypeAny, {
925
+ type: "decision";
926
+ humanGate: {
927
+ prompt: string | {
928
+ $ref: string;
929
+ };
930
+ stage: "before";
931
+ approvers?: string[] | undefined;
932
+ onTimeout?: "fail" | "success" | undefined;
933
+ deadlineMs?: number | undefined;
934
+ };
935
+ description?: string | undefined;
936
+ depends?: string[] | undefined;
937
+ }, {
938
+ type: "decision";
939
+ humanGate: {
940
+ prompt: string | {
941
+ $ref: string;
942
+ };
943
+ stage: "before";
944
+ approvers?: string[] | undefined;
945
+ onTimeout?: "fail" | "success" | undefined;
946
+ deadlineMs?: number | undefined;
947
+ };
948
+ description?: string | undefined;
949
+ depends?: string[] | undefined;
722
950
  }>]>;
723
951
  export type WorkflowNode = z.infer<typeof WorkflowNodeSchema>;
724
952
  /**
@@ -903,10 +1131,10 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
903
1131
  */
904
1132
  unsafeAllowUngated: z.ZodOptional<z.ZodBoolean>;
905
1133
  }, "strip", z.ZodTypeAny, {
1134
+ type: "subagent";
906
1135
  prompt: string | {
907
1136
  $ref: string;
908
1137
  };
909
- type: "subagent";
910
1138
  bot: string;
911
1139
  workingDir?: string | undefined;
912
1140
  timeoutMs?: number | undefined;
@@ -940,10 +1168,10 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
940
1168
  outputSchema?: Record<string, unknown> | undefined;
941
1169
  unsafeAllowUngated?: boolean | undefined;
942
1170
  }, {
1171
+ type: "subagent";
943
1172
  prompt: string | {
944
1173
  $ref: string;
945
1174
  };
946
- type: "subagent";
947
1175
  bot: string;
948
1176
  workingDir?: string | undefined;
949
1177
  timeoutMs?: number | undefined;
@@ -1097,15 +1325,123 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
1097
1325
  } | undefined;
1098
1326
  outputSchema?: Record<string, unknown> | undefined;
1099
1327
  unsafeAllowUngated?: boolean | undefined;
1328
+ }>, z.ZodObject<{
1329
+ type: z.ZodLiteral<"loop">;
1330
+ description: z.ZodOptional<z.ZodString>;
1331
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1332
+ maxIterations: z.ZodNumber;
1333
+ body: z.ZodArray<z.ZodString, "many">;
1334
+ terminate: z.ZodObject<{
1335
+ node: z.ZodString;
1336
+ via: z.ZodLiteral<"humanGate">;
1337
+ }, "strict", z.ZodTypeAny, {
1338
+ node: string;
1339
+ via: "humanGate";
1340
+ }, {
1341
+ node: string;
1342
+ via: "humanGate";
1343
+ }>;
1344
+ output: z.ZodOptional<z.ZodObject<{
1345
+ from: z.ZodString;
1346
+ }, "strict", z.ZodTypeAny, {
1347
+ from: string;
1348
+ }, {
1349
+ from: string;
1350
+ }>>;
1351
+ }, "strict", z.ZodTypeAny, {
1352
+ type: "loop";
1353
+ maxIterations: number;
1354
+ body: string[];
1355
+ terminate: {
1356
+ node: string;
1357
+ via: "humanGate";
1358
+ };
1359
+ description?: string | undefined;
1360
+ depends?: string[] | undefined;
1361
+ output?: {
1362
+ from: string;
1363
+ } | undefined;
1364
+ }, {
1365
+ type: "loop";
1366
+ maxIterations: number;
1367
+ body: string[];
1368
+ terminate: {
1369
+ node: string;
1370
+ via: "humanGate";
1371
+ };
1372
+ description?: string | undefined;
1373
+ depends?: string[] | undefined;
1374
+ output?: {
1375
+ from: string;
1376
+ } | undefined;
1377
+ }>, z.ZodObject<{
1378
+ type: z.ZodLiteral<"decision">;
1379
+ description: z.ZodOptional<z.ZodString>;
1380
+ depends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1381
+ humanGate: z.ZodObject<{
1382
+ stage: z.ZodLiteral<"before">;
1383
+ prompt: z.ZodUnion<[z.ZodString, z.ZodObject<{
1384
+ $ref: z.ZodString;
1385
+ }, "strict", z.ZodTypeAny, {
1386
+ $ref: string;
1387
+ }, {
1388
+ $ref: string;
1389
+ }>]>;
1390
+ approvers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1391
+ deadlineMs: z.ZodOptional<z.ZodNumber>;
1392
+ onTimeout: z.ZodOptional<z.ZodEnum<["fail", "success"]>>;
1393
+ }, "strip", z.ZodTypeAny, {
1394
+ prompt: string | {
1395
+ $ref: string;
1396
+ };
1397
+ stage: "before";
1398
+ approvers?: string[] | undefined;
1399
+ onTimeout?: "fail" | "success" | undefined;
1400
+ deadlineMs?: number | undefined;
1401
+ }, {
1402
+ prompt: string | {
1403
+ $ref: string;
1404
+ };
1405
+ stage: "before";
1406
+ approvers?: string[] | undefined;
1407
+ onTimeout?: "fail" | "success" | undefined;
1408
+ deadlineMs?: number | undefined;
1409
+ }>;
1410
+ }, "strict", z.ZodTypeAny, {
1411
+ type: "decision";
1412
+ humanGate: {
1413
+ prompt: string | {
1414
+ $ref: string;
1415
+ };
1416
+ stage: "before";
1417
+ approvers?: string[] | undefined;
1418
+ onTimeout?: "fail" | "success" | undefined;
1419
+ deadlineMs?: number | undefined;
1420
+ };
1421
+ description?: string | undefined;
1422
+ depends?: string[] | undefined;
1423
+ }, {
1424
+ type: "decision";
1425
+ humanGate: {
1426
+ prompt: string | {
1427
+ $ref: string;
1428
+ };
1429
+ stage: "before";
1430
+ approvers?: string[] | undefined;
1431
+ onTimeout?: "fail" | "success" | undefined;
1432
+ deadlineMs?: number | undefined;
1433
+ };
1434
+ description?: string | undefined;
1435
+ depends?: string[] | undefined;
1100
1436
  }>]>>;
1101
1437
  }, "strip", z.ZodTypeAny, {
1102
1438
  version: number;
1103
1439
  workflowId: string;
1104
1440
  nodes: Record<string, {
1441
+ type: "subagent";
1105
1442
  prompt: string | {
1106
1443
  $ref: string;
1107
1444
  };
1108
- type: "subagent";
1109
1445
  bot: string;
1110
1446
  workingDir?: string | undefined;
1111
1447
  timeoutMs?: number | undefined;
@@ -1164,6 +1500,32 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
1164
1500
  } | undefined;
1165
1501
  outputSchema?: Record<string, unknown> | undefined;
1166
1502
  unsafeAllowUngated?: boolean | undefined;
1503
+ } | {
1504
+ type: "loop";
1505
+ maxIterations: number;
1506
+ body: string[];
1507
+ terminate: {
1508
+ node: string;
1509
+ via: "humanGate";
1510
+ };
1511
+ description?: string | undefined;
1512
+ depends?: string[] | undefined;
1513
+ output?: {
1514
+ from: string;
1515
+ } | undefined;
1516
+ } | {
1517
+ type: "decision";
1518
+ humanGate: {
1519
+ prompt: string | {
1520
+ $ref: string;
1521
+ };
1522
+ stage: "before";
1523
+ approvers?: string[] | undefined;
1524
+ onTimeout?: "fail" | "success" | undefined;
1525
+ deadlineMs?: number | undefined;
1526
+ };
1527
+ description?: string | undefined;
1528
+ depends?: string[] | undefined;
1167
1529
  }>;
1168
1530
  params?: Record<string, {
1169
1531
  type: "string" | "number" | "boolean" | "object" | "array";
@@ -1188,10 +1550,10 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
1188
1550
  version: number;
1189
1551
  workflowId: string;
1190
1552
  nodes: Record<string, {
1553
+ type: "subagent";
1191
1554
  prompt: string | {
1192
1555
  $ref: string;
1193
1556
  };
1194
- type: "subagent";
1195
1557
  bot: string;
1196
1558
  workingDir?: string | undefined;
1197
1559
  timeoutMs?: number | undefined;
@@ -1250,6 +1612,32 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
1250
1612
  } | undefined;
1251
1613
  outputSchema?: Record<string, unknown> | undefined;
1252
1614
  unsafeAllowUngated?: boolean | undefined;
1615
+ } | {
1616
+ type: "loop";
1617
+ maxIterations: number;
1618
+ body: string[];
1619
+ terminate: {
1620
+ node: string;
1621
+ via: "humanGate";
1622
+ };
1623
+ description?: string | undefined;
1624
+ depends?: string[] | undefined;
1625
+ output?: {
1626
+ from: string;
1627
+ } | undefined;
1628
+ } | {
1629
+ type: "decision";
1630
+ humanGate: {
1631
+ prompt: string | {
1632
+ $ref: string;
1633
+ };
1634
+ stage: "before";
1635
+ approvers?: string[] | undefined;
1636
+ onTimeout?: "fail" | "success" | undefined;
1637
+ deadlineMs?: number | undefined;
1638
+ };
1639
+ description?: string | undefined;
1640
+ depends?: string[] | undefined;
1253
1641
  }>;
1254
1642
  params?: Record<string, {
1255
1643
  type: "string" | "number" | "boolean" | "object" | "array";
@@ -1291,12 +1679,27 @@ export declare function computeRevisionId(def: WorkflowDefinition): string;
1291
1679
  * Schema parse + cross-field invariants:
1292
1680
  * 1. every `depends` entry references an existing node
1293
1681
  * 2. graph is acyclic
1294
- * 3. at least one root node (no deps)
1682
+ * 3. at least one root node (no deps) among scheduler-visible nodes
1683
+ * (loop body nodes are excluded from this check — they're scheduled
1684
+ * by their owning loop block, not the top-level orchestrator)
1685
+ * 4. loop / decision cross-field invariants (see `validateLoopBlocks`)
1295
1686
  *
1296
1687
  * Throws on any failure. Use `WorkflowDefinitionSchema.safeParse(...)`
1297
1688
  * directly if you only need shape checks (no graph validation).
1298
1689
  */
1299
1690
  export declare function parseWorkflowDefinition(raw: unknown): WorkflowDefinition;
1691
+ /**
1692
+ * Loop / decision cross-field validation (v0.2; see /tmp/wf-loop-v02.md §3.4).
1693
+ *
1694
+ * Returns the set of node ids that belong to some loop's body, so the
1695
+ * caller (`validateGraph`) can scope the root-existence check to
1696
+ * scheduler-visible nodes only.
1697
+ *
1698
+ * Throws on any rule violation. Error messages always include the
1699
+ * offending loopId + nodeId so workflow-create skills and authors can
1700
+ * self-correct without re-reading the spec.
1701
+ */
1702
+ export declare function validateLoopBlocks(def: WorkflowDefinition): Set<string>;
1300
1703
  /**
1301
1704
  * Kahn's algorithm. Returns nodeIds in dispatch-safe order (deps before
1302
1705
  * dependents). Ties broken by `Object.keys(nodes)` insertion order so
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/workflows/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/workflows/definition.ts"],"names":[],"mappings":"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"}