@desplega.ai/agent-swarm 1.49.0 → 1.51.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/README.md +1 -1
  2. package/openapi.json +582 -3
  3. package/package.json +10 -1
  4. package/src/agentmail/handlers.ts +65 -10
  5. package/src/agentmail/templates.ts +111 -0
  6. package/src/be/db.ts +591 -7
  7. package/src/be/migrations/014_prompt_templates.sql +33 -0
  8. package/src/be/migrations/015_workflow_workspace.sql +3 -0
  9. package/src/be/migrations/016_active_session_runner_session.sql +4 -0
  10. package/src/be/migrations/017_channel_activity_cursors.sql +6 -0
  11. package/src/be/migrations/018_fix_seed_double_version.sql +30 -0
  12. package/src/be/seed.ts +62 -0
  13. package/src/commands/runner.ts +186 -93
  14. package/src/commands/templates.ts +172 -0
  15. package/src/github/handlers.ts +292 -77
  16. package/src/github/mentions-aliases.test.ts +73 -0
  17. package/src/github/mentions.test.ts +3 -3
  18. package/src/github/mentions.ts +32 -6
  19. package/src/github/templates.ts +398 -0
  20. package/src/gitlab/handlers.ts +63 -22
  21. package/src/gitlab/templates.ts +140 -0
  22. package/src/heartbeat/heartbeat.ts +19 -10
  23. package/src/heartbeat/templates.ts +30 -0
  24. package/src/http/active-sessions.ts +27 -0
  25. package/src/http/index.ts +5 -2
  26. package/src/http/poll.ts +135 -14
  27. package/src/http/prompt-templates.ts +412 -0
  28. package/src/http/schedules.ts +35 -0
  29. package/src/http/workflows.ts +8 -0
  30. package/src/linear/sync.ts +28 -4
  31. package/src/linear/templates.ts +47 -0
  32. package/src/prompts/base-prompt.ts +33 -490
  33. package/src/prompts/registry.ts +57 -0
  34. package/src/prompts/resolver.ts +296 -0
  35. package/src/prompts/session-templates.ts +604 -0
  36. package/src/providers/claude-adapter.ts +15 -2
  37. package/src/providers/pi-mono-extension.ts +5 -1
  38. package/src/scheduler/scheduler.ts +125 -91
  39. package/src/server.ts +15 -0
  40. package/src/slack/assistant.ts +7 -4
  41. package/src/slack/channel-activity.ts +177 -0
  42. package/src/slack/handlers.ts +21 -6
  43. package/src/slack/templates.ts +55 -0
  44. package/src/tests/artifact-sdk.test.ts +12 -12
  45. package/src/tests/base-prompt.test.ts +49 -49
  46. package/src/tests/channel-activity.test.ts +363 -0
  47. package/src/tests/heartbeat.test.ts +1 -0
  48. package/src/tests/linear-webhook.test.ts +7 -3
  49. package/src/tests/pool-session-logs.test.ts +199 -0
  50. package/src/tests/prompt-template-github.test.ts +682 -0
  51. package/src/tests/prompt-template-remaining.test.ts +504 -0
  52. package/src/tests/prompt-template-resolver.test.ts +621 -0
  53. package/src/tests/prompt-template-session.test.ts +363 -0
  54. package/src/tests/prompt-templates-db.test.ts +616 -0
  55. package/src/tests/self-improvement.test.ts +8 -7
  56. package/src/tests/slack-metadata-inheritance.test.ts +1 -1
  57. package/src/tests/slack-thread-followups.test.ts +1 -1
  58. package/src/tests/structured-output.test.ts +0 -4
  59. package/src/tests/tool-annotations.test.ts +1 -1
  60. package/src/tests/update-profile-agentid.test.ts +248 -0
  61. package/src/tests/update-profile-auth.test.ts +195 -0
  62. package/src/tests/workflow-async-v2.test.ts +126 -4
  63. package/src/tests/workflow-definition-validation.test.ts +76 -0
  64. package/src/tests/workflow-retry-v2.test.ts +1 -1
  65. package/src/tests/workflow-schedule-trigger.test.ts +104 -0
  66. package/src/tests/workflow-workspace.test.ts +272 -0
  67. package/src/tools/prompt-templates/delete.ts +86 -0
  68. package/src/tools/prompt-templates/get.ts +89 -0
  69. package/src/tools/prompt-templates/index.ts +5 -0
  70. package/src/tools/prompt-templates/list.ts +95 -0
  71. package/src/tools/prompt-templates/preview.ts +84 -0
  72. package/src/tools/prompt-templates/set.ts +117 -0
  73. package/src/tools/store-progress.ts +22 -4
  74. package/src/tools/task-action.ts +20 -0
  75. package/src/tools/templates.ts +53 -0
  76. package/src/tools/tool-config.ts +7 -0
  77. package/src/tools/update-profile.ts +106 -34
  78. package/src/tools/workflows/create-workflow.ts +19 -1
  79. package/src/tools/workflows/update-workflow.ts +16 -1
  80. package/src/types.ts +55 -2
  81. package/src/workflows/definition.ts +30 -12
  82. package/src/workflows/engine.ts +40 -14
  83. package/src/workflows/executors/agent-task.ts +14 -3
  84. package/src/workflows/index.ts +1 -1
  85. package/src/workflows/resume.ts +98 -12
  86. package/src/workflows/triggers.ts +31 -2
  87. package/src/workflows/version.ts +2 -0
  88. package/.claude/settings.json +0 -84
  89. package/.claude/settings.local.json +0 -117
  90. package/.dockerignore +0 -61
  91. package/.editorconfig +0 -15
  92. package/.entire/settings.json +0 -4
  93. package/.env.docker.example +0 -56
  94. package/.env.example +0 -78
  95. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -78
  96. package/.github/ISSUE_TEMPLATE/community-template.yml +0 -77
  97. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  98. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -60
  99. package/.github/PULL_REQUEST_TEMPLATE/community-template.md +0 -29
  100. package/.github/workflows/ci.yml +0 -52
  101. package/.github/workflows/docker-and-deploy.yml +0 -132
  102. package/.github/workflows/merge-gate.yml +0 -233
  103. package/.opencode/plugins/entire.ts +0 -133
  104. package/.superset/config.json +0 -6
  105. package/.wts-config.json +0 -4
  106. package/.wts-setup.ts +0 -171
  107. package/CHANGELOG.md +0 -447
  108. package/CLAUDE.md +0 -521
  109. package/CONTRIBUTING.md +0 -315
  110. package/DEPLOYMENT.md +0 -622
  111. package/Dockerfile +0 -65
  112. package/Dockerfile.worker +0 -189
  113. package/MCP.md +0 -841
  114. package/UI.md +0 -40
  115. package/api-entrypoint.sh +0 -56
  116. package/assets/agent-swarm-logo-orange.png +0 -0
  117. package/assets/agent-swarm-logo.png +0 -0
  118. package/assets/agent-swarm.mp4 +0 -0
  119. package/assets/agent-swarm.png +0 -0
  120. package/biome.json +0 -39
  121. package/deploy/DEPLOY.md +0 -60
  122. package/deploy/agent-swarm.service +0 -17
  123. package/deploy/docker-push.ts +0 -30
  124. package/deploy/install.ts +0 -85
  125. package/deploy/prod-db.ts +0 -42
  126. package/deploy/uninstall.ts +0 -12
  127. package/deploy/update.ts +0 -21
  128. package/depot.json +0 -1
  129. package/docker-compose.example.yml +0 -350
  130. package/docker-compose.local.yml +0 -119
  131. package/docker-entrypoint.sh +0 -632
  132. package/docs-site/app/api/search/route.ts +0 -4
  133. package/docs-site/app/docs/[[...slug]]/page.tsx +0 -87
  134. package/docs-site/app/docs/layout.tsx +0 -12
  135. package/docs-site/app/globals.css +0 -24
  136. package/docs-site/app/layout.config.tsx +0 -34
  137. package/docs-site/app/layout.tsx +0 -119
  138. package/docs-site/app/llms-full.txt/route.ts +0 -11
  139. package/docs-site/app/llms.mdx/docs/[[...slug]]/route.ts +0 -24
  140. package/docs-site/app/llms.txt/route.ts +0 -8
  141. package/docs-site/app/page.tsx +0 -5
  142. package/docs-site/app/robots.ts +0 -13
  143. package/docs-site/app/sitemap.ts +0 -37
  144. package/docs-site/components/api-page.client.tsx +0 -4
  145. package/docs-site/components/api-page.tsx +0 -7
  146. package/docs-site/components/mdx/mermaid.tsx +0 -55
  147. package/docs-site/content/docs/(documentation)/architecture/agents.mdx +0 -117
  148. package/docs-site/content/docs/(documentation)/architecture/hooks.mdx +0 -77
  149. package/docs-site/content/docs/(documentation)/architecture/memory.mdx +0 -96
  150. package/docs-site/content/docs/(documentation)/architecture/meta.json +0 -4
  151. package/docs-site/content/docs/(documentation)/architecture/overview.mdx +0 -172
  152. package/docs-site/content/docs/(documentation)/concepts/epics.mdx +0 -98
  153. package/docs-site/content/docs/(documentation)/concepts/meta.json +0 -4
  154. package/docs-site/content/docs/(documentation)/concepts/scheduling.mdx +0 -136
  155. package/docs-site/content/docs/(documentation)/concepts/services.mdx +0 -104
  156. package/docs-site/content/docs/(documentation)/concepts/task-lifecycle.mdx +0 -148
  157. package/docs-site/content/docs/(documentation)/concepts/workflows.mdx +0 -209
  158. package/docs-site/content/docs/(documentation)/contributing.mdx +0 -158
  159. package/docs-site/content/docs/(documentation)/getting-started.mdx +0 -157
  160. package/docs-site/content/docs/(documentation)/guides/agentmail-integration.mdx +0 -79
  161. package/docs-site/content/docs/(documentation)/guides/deployment.mdx +0 -171
  162. package/docs-site/content/docs/(documentation)/guides/github-integration.mdx +0 -81
  163. package/docs-site/content/docs/(documentation)/guides/gitlab-integration.mdx +0 -93
  164. package/docs-site/content/docs/(documentation)/guides/linear-integration.mdx +0 -98
  165. package/docs-site/content/docs/(documentation)/guides/meta.json +0 -13
  166. package/docs-site/content/docs/(documentation)/guides/sentry-integration.mdx +0 -52
  167. package/docs-site/content/docs/(documentation)/guides/slack-integration.mdx +0 -179
  168. package/docs-site/content/docs/(documentation)/guides/x402-payments.mdx +0 -154
  169. package/docs-site/content/docs/(documentation)/index.mdx +0 -65
  170. package/docs-site/content/docs/(documentation)/meta.json +0 -19
  171. package/docs-site/content/docs/(documentation)/reference/cli.mdx +0 -241
  172. package/docs-site/content/docs/(documentation)/reference/environment-variables.mdx +0 -205
  173. package/docs-site/content/docs/(documentation)/reference/mcp-tools.mdx +0 -449
  174. package/docs-site/content/docs/(documentation)/reference/meta.json +0 -4
  175. package/docs-site/content/docs/api-reference/active-sessions.mdx +0 -9
  176. package/docs-site/content/docs/api-reference/agents.mdx +0 -9
  177. package/docs-site/content/docs/api-reference/channels.mdx +0 -9
  178. package/docs-site/content/docs/api-reference/config.mdx +0 -9
  179. package/docs-site/content/docs/api-reference/debug.mdx +0 -9
  180. package/docs-site/content/docs/api-reference/ecosystem.mdx +0 -9
  181. package/docs-site/content/docs/api-reference/epics.mdx +0 -9
  182. package/docs-site/content/docs/api-reference/index.mdx +0 -32
  183. package/docs-site/content/docs/api-reference/memory.mdx +0 -9
  184. package/docs-site/content/docs/api-reference/meta.json +0 -25
  185. package/docs-site/content/docs/api-reference/poll.mdx +0 -9
  186. package/docs-site/content/docs/api-reference/repos.mdx +0 -9
  187. package/docs-site/content/docs/api-reference/schedules.mdx +0 -9
  188. package/docs-site/content/docs/api-reference/session-data.mdx +0 -9
  189. package/docs-site/content/docs/api-reference/stats.mdx +0 -9
  190. package/docs-site/content/docs/api-reference/tasks.mdx +0 -9
  191. package/docs-site/content/docs/api-reference/trackers.mdx +0 -9
  192. package/docs-site/content/docs/api-reference/webhooks.mdx +0 -9
  193. package/docs-site/content/docs/api-reference/workflows.mdx +0 -9
  194. package/docs-site/content/docs/meta.json +0 -3
  195. package/docs-site/lib/get-llm-text.ts +0 -10
  196. package/docs-site/lib/openapi.ts +0 -23
  197. package/docs-site/lib/source.ts +0 -8
  198. package/docs-site/mdx-components.tsx +0 -13
  199. package/docs-site/next.config.mjs +0 -29
  200. package/docs-site/package.json +0 -35
  201. package/docs-site/pnpm-lock.yaml +0 -5407
  202. package/docs-site/postcss.config.mjs +0 -8
  203. package/docs-site/public/logo.png +0 -0
  204. package/docs-site/scripts/generate-docs.ts +0 -171
  205. package/docs-site/source.config.ts +0 -17
  206. package/docs-site/tsconfig.json +0 -46
  207. package/ecosystem.config.cjs +0 -66
  208. package/landing/next.config.ts +0 -14
  209. package/landing/package.json +0 -31
  210. package/landing/pnpm-lock.yaml +0 -1091
  211. package/landing/postcss.config.mjs +0 -8
  212. package/landing/public/apple-touch-icon.png +0 -0
  213. package/landing/public/favicon.ico +0 -0
  214. package/landing/public/logo.png +0 -0
  215. package/landing/public/og-image.png +0 -0
  216. package/landing/public/omghost-desplega.svg +0 -30
  217. package/landing/public/omghost-openfort.svg +0 -9
  218. package/landing/src/app/actions/waitlist.ts +0 -25
  219. package/landing/src/app/blog/openfort-hackathon/page.tsx +0 -863
  220. package/landing/src/app/blog/page.tsx +0 -162
  221. package/landing/src/app/blog/swarm-metrics/page.tsx +0 -685
  222. package/landing/src/app/examples/page.tsx +0 -174
  223. package/landing/src/app/examples/x402/page.tsx +0 -456
  224. package/landing/src/app/globals.css +0 -122
  225. package/landing/src/app/layout.tsx +0 -134
  226. package/landing/src/app/page.tsx +0 -27
  227. package/landing/src/app/robots.ts +0 -13
  228. package/landing/src/app/sitemap.ts +0 -44
  229. package/landing/src/components/architecture.tsx +0 -163
  230. package/landing/src/components/cta.tsx +0 -52
  231. package/landing/src/components/features.tsx +0 -160
  232. package/landing/src/components/footer.tsx +0 -100
  233. package/landing/src/components/hero.tsx +0 -217
  234. package/landing/src/components/how-it-works.tsx +0 -165
  235. package/landing/src/components/navbar.tsx +0 -147
  236. package/landing/src/components/waitlist.tsx +0 -110
  237. package/landing/src/components/why-choose.tsx +0 -149
  238. package/landing/src/components/workshops.tsx +0 -328
  239. package/landing/src/lib/utils.ts +0 -6
  240. package/landing/tsconfig.json +0 -41
  241. package/misc/transcripts/2026-03-09-pi-mono-e2e-verification.md +0 -154
  242. package/new-ui/CLAUDE.md +0 -92
  243. package/new-ui/README.md +0 -73
  244. package/new-ui/biome.json +0 -42
  245. package/new-ui/components.json +0 -21
  246. package/new-ui/index.html +0 -25
  247. package/new-ui/package.json +0 -49
  248. package/new-ui/pnpm-lock.yaml +0 -4845
  249. package/new-ui/public/logo.png +0 -0
  250. package/new-ui/src/api/client.ts +0 -814
  251. package/new-ui/src/api/hooks/index.ts +0 -64
  252. package/new-ui/src/api/hooks/use-agents.ts +0 -58
  253. package/new-ui/src/api/hooks/use-channels.ts +0 -115
  254. package/new-ui/src/api/hooks/use-config-api.ts +0 -46
  255. package/new-ui/src/api/hooks/use-costs.ts +0 -122
  256. package/new-ui/src/api/hooks/use-db-query.ts +0 -29
  257. package/new-ui/src/api/hooks/use-epics.ts +0 -75
  258. package/new-ui/src/api/hooks/use-repos.ts +0 -61
  259. package/new-ui/src/api/hooks/use-schedules.ts +0 -81
  260. package/new-ui/src/api/hooks/use-services.ts +0 -16
  261. package/new-ui/src/api/hooks/use-stats.ts +0 -27
  262. package/new-ui/src/api/hooks/use-tasks.ts +0 -89
  263. package/new-ui/src/api/hooks/use-workflows.ts +0 -109
  264. package/new-ui/src/api/types.ts +0 -549
  265. package/new-ui/src/app/App.tsx +0 -13
  266. package/new-ui/src/app/providers.tsx +0 -32
  267. package/new-ui/src/app/router.tsx +0 -52
  268. package/new-ui/src/components/layout/app-header.tsx +0 -47
  269. package/new-ui/src/components/layout/app-sidebar.tsx +0 -128
  270. package/new-ui/src/components/layout/breadcrumbs.tsx +0 -57
  271. package/new-ui/src/components/layout/config-guard.tsx +0 -22
  272. package/new-ui/src/components/layout/root-layout.tsx +0 -40
  273. package/new-ui/src/components/layout/swarm-switcher.tsx +0 -85
  274. package/new-ui/src/components/shared/command-menu.tsx +0 -131
  275. package/new-ui/src/components/shared/data-grid.tsx +0 -141
  276. package/new-ui/src/components/shared/empty-state.tsx +0 -24
  277. package/new-ui/src/components/shared/error-boundary.tsx +0 -72
  278. package/new-ui/src/components/shared/json-viewer.tsx +0 -47
  279. package/new-ui/src/components/shared/name-connection-modal.tsx +0 -99
  280. package/new-ui/src/components/shared/page-skeleton.tsx +0 -16
  281. package/new-ui/src/components/shared/session-log-viewer.tsx +0 -364
  282. package/new-ui/src/components/shared/stats-bar.tsx +0 -132
  283. package/new-ui/src/components/shared/status-badge.tsx +0 -131
  284. package/new-ui/src/components/shared/usage-summary.tsx +0 -179
  285. package/new-ui/src/components/ui/alert-dialog.tsx +0 -176
  286. package/new-ui/src/components/ui/alert.tsx +0 -60
  287. package/new-ui/src/components/ui/avatar.tsx +0 -96
  288. package/new-ui/src/components/ui/badge.tsx +0 -46
  289. package/new-ui/src/components/ui/button.tsx +0 -62
  290. package/new-ui/src/components/ui/card.tsx +0 -75
  291. package/new-ui/src/components/ui/command.tsx +0 -160
  292. package/new-ui/src/components/ui/dialog.tsx +0 -143
  293. package/new-ui/src/components/ui/dropdown-menu.tsx +0 -226
  294. package/new-ui/src/components/ui/input.tsx +0 -21
  295. package/new-ui/src/components/ui/label.tsx +0 -19
  296. package/new-ui/src/components/ui/progress.tsx +0 -26
  297. package/new-ui/src/components/ui/scroll-area.tsx +0 -54
  298. package/new-ui/src/components/ui/select.tsx +0 -175
  299. package/new-ui/src/components/ui/separator.tsx +0 -28
  300. package/new-ui/src/components/ui/sheet.tsx +0 -132
  301. package/new-ui/src/components/ui/sidebar.tsx +0 -691
  302. package/new-ui/src/components/ui/skeleton.tsx +0 -13
  303. package/new-ui/src/components/ui/sonner.tsx +0 -35
  304. package/new-ui/src/components/ui/switch.tsx +0 -33
  305. package/new-ui/src/components/ui/table.tsx +0 -92
  306. package/new-ui/src/components/ui/tabs.tsx +0 -79
  307. package/new-ui/src/components/ui/textarea.tsx +0 -18
  308. package/new-ui/src/components/ui/tooltip.tsx +0 -51
  309. package/new-ui/src/components/workflows/action-node.tsx +0 -53
  310. package/new-ui/src/components/workflows/condition-node.tsx +0 -50
  311. package/new-ui/src/components/workflows/graph-utils.ts +0 -124
  312. package/new-ui/src/components/workflows/json-tree.tsx +0 -189
  313. package/new-ui/src/components/workflows/node-styles.ts +0 -10
  314. package/new-ui/src/components/workflows/step-detail-sheet.tsx +0 -87
  315. package/new-ui/src/components/workflows/trigger-node.tsx +0 -41
  316. package/new-ui/src/components/workflows/workflow-graph.tsx +0 -65
  317. package/new-ui/src/hooks/use-auto-scroll.ts +0 -82
  318. package/new-ui/src/hooks/use-config.ts +0 -203
  319. package/new-ui/src/hooks/use-keyboard-shortcuts.ts +0 -41
  320. package/new-ui/src/hooks/use-mobile.ts +0 -19
  321. package/new-ui/src/hooks/use-theme.ts +0 -60
  322. package/new-ui/src/lib/config.ts +0 -188
  323. package/new-ui/src/lib/slugs.ts +0 -71
  324. package/new-ui/src/lib/utils.ts +0 -120
  325. package/new-ui/src/main.tsx +0 -11
  326. package/new-ui/src/pages/agents/[id]/page.tsx +0 -492
  327. package/new-ui/src/pages/agents/page.tsx +0 -134
  328. package/new-ui/src/pages/chat/page.tsx +0 -674
  329. package/new-ui/src/pages/config/page.tsx +0 -1109
  330. package/new-ui/src/pages/dashboard/page.tsx +0 -454
  331. package/new-ui/src/pages/debug/page.tsx +0 -275
  332. package/new-ui/src/pages/epics/[id]/page.tsx +0 -809
  333. package/new-ui/src/pages/epics/page.tsx +0 -321
  334. package/new-ui/src/pages/not-found/page.tsx +0 -18
  335. package/new-ui/src/pages/repos/page.tsx +0 -369
  336. package/new-ui/src/pages/schedules/[id]/page.tsx +0 -664
  337. package/new-ui/src/pages/schedules/page.tsx +0 -477
  338. package/new-ui/src/pages/services/page.tsx +0 -128
  339. package/new-ui/src/pages/tasks/[id]/page.tsx +0 -670
  340. package/new-ui/src/pages/tasks/page.tsx +0 -592
  341. package/new-ui/src/pages/usage/page.tsx +0 -195
  342. package/new-ui/src/pages/workflow-runs/[id]/page.tsx +0 -363
  343. package/new-ui/src/pages/workflows/[id]/page.tsx +0 -417
  344. package/new-ui/src/pages/workflows/page.tsx +0 -266
  345. package/new-ui/src/styles/ag-grid.css +0 -36
  346. package/new-ui/src/styles/globals.css +0 -213
  347. package/new-ui/test-results/.last-run.json +0 -4
  348. package/new-ui/tsconfig.app.json +0 -34
  349. package/new-ui/tsconfig.json +0 -4
  350. package/new-ui/tsconfig.node.json +0 -26
  351. package/new-ui/vercel.json +0 -4
  352. package/new-ui/vite.config.ts +0 -28
  353. package/plugin/README.md +0 -1
  354. package/plugin/build-pi-skills.ts +0 -233
  355. package/plugin/hooks/hooks.json +0 -71
  356. package/prek.toml +0 -75
  357. package/pyproject.toml +0 -9
  358. package/scripts/check-db-boundary.sh +0 -60
  359. package/scripts/e2e-docker-provider.ts +0 -820
  360. package/scripts/e2e-io-schemas-test.ts +0 -807
  361. package/scripts/e2e-provider-test.ts +0 -220
  362. package/scripts/e2e-workflow-redesign.sh +0 -229
  363. package/scripts/e2e-workflow-test.sh +0 -285
  364. package/scripts/e2e-workflow-test.ts +0 -857
  365. package/scripts/generate-mcp-docs.ts +0 -415
  366. package/scripts/generate-openapi.ts +0 -26
  367. package/scripts/measure-tool-tokens.ts +0 -118
  368. package/scripts/x402-e2e-test.ts +0 -195
  369. package/scripts/x402-test-server.ts +0 -236
  370. package/scripts/x402-testnet-e2e.ts +0 -668
  371. package/slack-manifest.json +0 -88
  372. package/templates-ui/README.md +0 -46
  373. package/templates-ui/components.json +0 -17
  374. package/templates-ui/eslint.config.mjs +0 -18
  375. package/templates-ui/next.config.ts +0 -7
  376. package/templates-ui/package.json +0 -35
  377. package/templates-ui/pnpm-lock.yaml +0 -4571
  378. package/templates-ui/postcss.config.mjs +0 -7
  379. package/templates-ui/public/file.svg +0 -1
  380. package/templates-ui/public/globe.svg +0 -1
  381. package/templates-ui/public/logo.png +0 -0
  382. package/templates-ui/public/next.svg +0 -1
  383. package/templates-ui/public/vercel.svg +0 -1
  384. package/templates-ui/public/window.svg +0 -1
  385. package/templates-ui/src/app/[category]/[name]/page.tsx +0 -89
  386. package/templates-ui/src/app/api/templates/[...slug]/route.ts +0 -52
  387. package/templates-ui/src/app/api/templates/route.ts +0 -18
  388. package/templates-ui/src/app/builder/page.tsx +0 -37
  389. package/templates-ui/src/app/globals.css +0 -94
  390. package/templates-ui/src/app/layout.tsx +0 -79
  391. package/templates-ui/src/app/page.tsx +0 -38
  392. package/templates-ui/src/app/robots.ts +0 -11
  393. package/templates-ui/src/app/sitemap.ts +0 -31
  394. package/templates-ui/src/components/compose-builder.tsx +0 -442
  395. package/templates-ui/src/components/compose-preview.tsx +0 -117
  396. package/templates-ui/src/components/file-preview.tsx +0 -77
  397. package/templates-ui/src/components/footer.tsx +0 -40
  398. package/templates-ui/src/components/header.tsx +0 -41
  399. package/templates-ui/src/components/template-card.tsx +0 -87
  400. package/templates-ui/src/components/template-detail.tsx +0 -125
  401. package/templates-ui/src/components/template-gallery.tsx +0 -263
  402. package/templates-ui/src/components/ui/badge.tsx +0 -36
  403. package/templates-ui/src/components/ui/button.tsx +0 -57
  404. package/templates-ui/src/components/ui/card.tsx +0 -76
  405. package/templates-ui/src/components/ui/separator.tsx +0 -31
  406. package/templates-ui/src/components/ui/tooltip.tsx +0 -32
  407. package/templates-ui/src/lib/compose-generator.ts +0 -241
  408. package/templates-ui/src/lib/templates.ts +0 -137
  409. package/templates-ui/src/lib/utils.ts +0 -6
  410. package/templates-ui/tsconfig.json +0 -34
  411. package/thoughts/research/2026-02-28-openfort-viem-x402-research.md +0 -679
  412. package/thoughts/research/2026-02-28-x402-payments-research.md +0 -686
  413. package/thoughts/researcher/plans/2026-02-20-agent-self-improvement-plan.md +0 -282
  414. package/thoughts/researcher/research/2026-02-20-agent-self-improvement.md +0 -492
  415. package/thoughts/shared/plans/.gitkeep +0 -0
  416. package/thoughts/shared/plans/2025-12-18-slack-integration.md +0 -1195
  417. package/thoughts/shared/plans/2025-12-19-agent-log-streaming.md +0 -732
  418. package/thoughts/shared/plans/2025-12-19-role-based-swarm-plugin.md +0 -361
  419. package/thoughts/shared/plans/2025-12-20-mobile-responsive-ui.md +0 -501
  420. package/thoughts/shared/plans/2025-12-20-startup-team-swarm.md +0 -560
  421. package/thoughts/shared/plans/2025-12-23-runner-level-polling.md +0 -934
  422. package/thoughts/shared/plans/2025-12-23-runner-session-logs.md +0 -1000
  423. package/thoughts/shared/plans/2025-12-23-worker-lead-spawn-triggers.md +0 -568
  424. package/thoughts/shared/plans/2026-01-09-inverse-teleport.md +0 -1516
  425. package/thoughts/shared/plans/2026-01-12-agent-rename-pm2-control.md +0 -1133
  426. package/thoughts/shared/plans/2026-01-12-github-app-integration.md +0 -380
  427. package/thoughts/shared/plans/2026-01-12-lead-inbox-model.md +0 -876
  428. package/thoughts/shared/plans/2026-01-12-ralph-wiggum-integration.md +0 -463
  429. package/thoughts/shared/plans/2026-01-13-agent-concurrency.md +0 -691
  430. package/thoughts/shared/plans/2026-01-13-github-assignment-handling.md +0 -690
  431. package/thoughts/shared/plans/2026-01-13-prevent-duplicate-trigger-processing.md +0 -1071
  432. package/thoughts/shared/plans/2026-01-14-fix-slack-thread-context.md +0 -507
  433. package/thoughts/shared/plans/2026-01-15-scheduled-tasks-implementation.md +0 -565
  434. package/thoughts/shared/plans/2026-01-15-usage-cost-tracking-ui.md +0 -1479
  435. package/thoughts/shared/plans/2026-01-16-epics-feature-implementation.md +0 -1230
  436. package/thoughts/shared/plans/2026-02-26-mcp-tool-context-reduction.md +0 -282
  437. package/thoughts/shared/plans/2026-03-02-claude-context-mode-integration.md +0 -328
  438. package/thoughts/shared/plans/2026-03-02-code-level-heartbeat.md +0 -224
  439. package/thoughts/shared/research/.gitkeep +0 -0
  440. package/thoughts/shared/research/2025-01-09-inverse-teleport-plan-review.md +0 -420
  441. package/thoughts/shared/research/2025-12-18-slack-integration.md +0 -442
  442. package/thoughts/shared/research/2025-12-19-agent-log-streaming.md +0 -339
  443. package/thoughts/shared/research/2025-12-19-agent-secrets-cli-research.md +0 -390
  444. package/thoughts/shared/research/2025-12-21-gemini-cli-integration.md +0 -376
  445. package/thoughts/shared/research/2025-12-22-runner-loop-architecture.md +0 -582
  446. package/thoughts/shared/research/2025-12-22-setup-experience-improvements.md +0 -264
  447. package/thoughts/shared/research/2026-01-13-lead-duplicate-trigger-processing.md +0 -223
  448. package/thoughts/shared/research/2026-01-14-lead-slack-thread-context.md +0 -277
  449. package/thoughts/shared/research/2026-01-15-ai-tracker-agent-swarm-integration.md +0 -376
  450. package/thoughts/shared/research/2026-01-15-auto-starting-processes-in-worker-containers.md +0 -787
  451. package/thoughts/shared/research/2026-01-15-scheduled-tasks.md +0 -390
  452. package/thoughts/shared/research/2026-01-16-epics-feature-research.md +0 -437
  453. package/thoughts/shared/research/2026-02-26-cliffy-mcp-tools.md +0 -159
  454. package/thoughts/shared/research/2026-03-03-database-migration-system-refactor.md +0 -337
  455. package/thoughts/swarm-researcher/plans/2026-02-23-openclaw-improvements-plan.md +0 -778
  456. package/thoughts/swarm-researcher/plans/2026-02-26-artifacts-localtunnel-plan.md +0 -1269
  457. package/thoughts/swarm-researcher/research/2026-02-23-openclaw-vs-agent-swarm-comparison.md +0 -411
  458. package/thoughts/swarm-researcher/research/2026-02-26-artifacts-localtunnel.md +0 -724
  459. package/thoughts/taras/brainstorms/2026-03-20-prompt-template-registry.md +0 -443
  460. package/thoughts/taras/brainstorms/2026-03-20-setup-cli-onboarding.md +0 -307
  461. package/thoughts/taras/plans/2026-01-22-agent-swarm-schemas.md +0 -98
  462. package/thoughts/taras/plans/2026-01-28-per-worker-claude-md.md +0 -617
  463. package/thoughts/taras/plans/2026-01-28-sentry-cli-integration.md +0 -214
  464. package/thoughts/taras/plans/2026-02-20-auto-improvement.md +0 -803
  465. package/thoughts/taras/plans/2026-02-20-env-management.md +0 -538
  466. package/thoughts/taras/plans/2026-02-20-memory-system.md +0 -882
  467. package/thoughts/taras/plans/2026-02-20-repos-knowledge.md +0 -806
  468. package/thoughts/taras/plans/2026-02-20-session-attach.md +0 -647
  469. package/thoughts/taras/plans/2026-02-20-worker-identity.md +0 -820
  470. package/thoughts/taras/plans/2026-02-25-feat-new-ui-visual-redesign-plan.md +0 -768
  471. package/thoughts/taras/plans/2026-03-04-fix-buildSystemPrompt-missing-fields.md +0 -77
  472. package/thoughts/taras/plans/2026-03-04-new-ui-missing-actions.md +0 -543
  473. package/thoughts/taras/plans/2026-03-06-one-time-scheduled-tasks.md +0 -373
  474. package/thoughts/taras/plans/2026-03-08-memory-self-improvement-enhancements.md +0 -512
  475. package/thoughts/taras/plans/2026-03-08-pi-mono-provider-implementation.md +0 -919
  476. package/thoughts/taras/plans/2026-03-09-templates-registry.md +0 -723
  477. package/thoughts/taras/plans/2026-03-10-task-working-directory.md +0 -371
  478. package/thoughts/taras/plans/2026-03-11-archil-per-agent-write-strategy.md +0 -621
  479. package/thoughts/taras/plans/2026-03-12-eliminate-inbox-route-to-tasks.md +0 -61
  480. package/thoughts/taras/plans/2026-03-12-slack-thread-followup-additive.md +0 -488
  481. package/thoughts/taras/plans/2026-03-13-slack-ai-improvements.md +0 -644
  482. package/thoughts/taras/plans/2026-03-16-route-wrapper-openapi.md +0 -636
  483. package/thoughts/taras/plans/2026-03-17-multi-api-config.md +0 -444
  484. package/thoughts/taras/plans/2026-03-18-agent-fs-integration.md +0 -591
  485. package/thoughts/taras/plans/2026-03-18-debug-db-explorer.md +0 -446
  486. package/thoughts/taras/plans/2026-03-18-workflow-redesign.md +0 -987
  487. package/thoughts/taras/plans/2026-03-19-compound-learnings.md +0 -403
  488. package/thoughts/taras/plans/2026-03-19-ticket-tracker-linear-integration.md +0 -860
  489. package/thoughts/taras/plans/2026-03-19-workflow-io-schemas-and-bugs.md +0 -899
  490. package/thoughts/taras/plans/2026-03-20-setup-cli-onboarding.md +0 -874
  491. package/thoughts/taras/plans/2026-03-20-workflow-structured-output-validation-workspace.md +0 -723
  492. package/thoughts/taras/research/2026-01-22-vercel-cli-integration.md +0 -287
  493. package/thoughts/taras/research/2026-01-27-excessive-polling-issue.md +0 -311
  494. package/thoughts/taras/research/2026-01-28-per-worker-claude-md.md +0 -383
  495. package/thoughts/taras/research/2026-01-28-sentry-cli-integration.md +0 -240
  496. package/thoughts/taras/research/2026-02-19-agent-native-swarm-architecture.md +0 -390
  497. package/thoughts/taras/research/2026-02-19-swarm-gaps-implementation.md +0 -594
  498. package/thoughts/taras/research/2026-02-25-dashboard-ui-design-best-practices.md +0 -825
  499. package/thoughts/taras/research/2026-02-26-task-detail-page-redesign.md +0 -393
  500. package/thoughts/taras/research/2026-03-03-new-ui-missing-actions.md +0 -168
  501. package/thoughts/taras/research/2026-03-05-pi-mono-provider-research.md +0 -230
  502. package/thoughts/taras/research/2026-03-06-workflow-engine-design.md +0 -445
  503. package/thoughts/taras/research/2026-03-08-drive-loop-concept.md +0 -375
  504. package/thoughts/taras/research/2026-03-08-pi-mono-deep-dive.md +0 -869
  505. package/thoughts/taras/research/2026-03-09-templates-registry.md +0 -373
  506. package/thoughts/taras/research/2026-03-10-agent-working-directory.md +0 -223
  507. package/thoughts/taras/research/2026-03-10-configurable-event-prompts.md +0 -339
  508. package/thoughts/taras/research/2026-03-11-archil-production-setup.md +0 -181
  509. package/thoughts/taras/research/2026-03-11-archil-shared-disk-write-strategies.md +0 -437
  510. package/thoughts/taras/research/2026-03-13-slack-ai-features.md +0 -258
  511. package/thoughts/taras/research/2026-03-16-openapi-docs-generation.md +0 -335
  512. package/thoughts/taras/research/2026-03-16-route-wrapper-openapi.md +0 -670
  513. package/thoughts/taras/research/2026-03-16-slack-thread-followups-e2e.md +0 -54
  514. package/thoughts/taras/research/2026-03-18-agent-fs-integration.md +0 -558
  515. package/thoughts/taras/research/2026-03-18-linear-integration-finalization.md +0 -526
  516. package/thoughts/taras/research/2026-03-18-workflow-redesign.md +0 -797
  517. package/thoughts/taras/research/2026-03-19-workflow-node-io-schemas-and-bugs.md +0 -563
  518. package/thoughts/taras/research/2026-03-19-workflow-structured-output-validation-workspace.md +0 -486
  519. package/thoughts/taras/research/2026-03-20-prompt-template-registry.md +0 -469
  520. package/tsconfig.json +0 -37
package/README.md CHANGED
@@ -52,7 +52,7 @@ Agent Swarm lets you run a team of AI coding agents that coordinate autonomously
52
52
  - **Multi-provider** — Run agents with Claude Code or pi-mono (`HARNESS_PROVIDER=claude|pi`)
53
53
  - **Agent-fs integration** — Persistent, searchable filesystem shared across the swarm with auto-registration on first boot
54
54
  - **Debug dashboard** — SQL query interface with Monaco editor and AG Grid results for database inspection
55
- - **Workflow engine** — Redesigned DAG-based workflow automation with executor registry, checkpoint durability, webhook/schedule/manual triggers, per-step retry, structured I/O schemas, and version history
55
+ - **Workflow engine** — DAG-based workflow automation with executor registry, checkpoint durability, webhook/schedule/manual triggers, per-step retry, structured I/O schemas, fan-out/convergence, configurable failure handling, and version history
56
56
  - **Linear integration** — Bidirectional ticket tracker sync via OAuth + webhooks with AgentSession lifecycle and generic tracker abstraction
57
57
  - **Portless local dev** — Friendly URLs for local development (`api.swarm.localhost:1355`) via portless proxy
58
58
  - **Onboarding wizard** — Interactive CLI wizard (`agent-swarm onboard`) to set up a new swarm from scratch with presets, credential collection, and docker-compose generation
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Agent Swarm API",
5
- "version": "1.49.0",
5
+ "version": "1.51.0",
6
6
  "description": "Multi-agent orchestration API for Claude Code, Codex, and Gemini CLI. Enables task distribution, agent communication, and service discovery.\n\nMCP tools are documented separately in [MCP.md](./MCP.md)."
7
7
  },
8
8
  "servers": [
@@ -89,6 +89,9 @@
89
89
  },
90
90
  "taskDescription": {
91
91
  "type": "string"
92
+ },
93
+ "runnerSessionId": {
94
+ "type": "string"
92
95
  }
93
96
  },
94
97
  "required": [
@@ -193,6 +196,52 @@
193
196
  }
194
197
  }
195
198
  },
199
+ "/api/active-sessions/provider-session/{taskId}": {
200
+ "put": {
201
+ "summary": "Update provider session ID on an active session",
202
+ "tags": [
203
+ "Active Sessions"
204
+ ],
205
+ "security": [
206
+ {
207
+ "bearerAuth": []
208
+ }
209
+ ],
210
+ "parameters": [
211
+ {
212
+ "schema": {
213
+ "type": "string"
214
+ },
215
+ "required": true,
216
+ "name": "taskId",
217
+ "in": "path"
218
+ }
219
+ ],
220
+ "requestBody": {
221
+ "content": {
222
+ "application/json": {
223
+ "schema": {
224
+ "type": "object",
225
+ "properties": {
226
+ "providerSessionId": {
227
+ "type": "string",
228
+ "minLength": 1
229
+ }
230
+ },
231
+ "required": [
232
+ "providerSessionId"
233
+ ]
234
+ }
235
+ }
236
+ }
237
+ },
238
+ "responses": {
239
+ "200": {
240
+ "description": "Provider session ID updated"
241
+ }
242
+ }
243
+ }
244
+ },
196
245
  "/api/active-sessions/cleanup": {
197
246
  "post": {
198
247
  "summary": "Clean up stale sessions",
@@ -1542,6 +1591,431 @@
1542
1591
  }
1543
1592
  }
1544
1593
  },
1594
+ "/api/prompt-templates/resolved": {
1595
+ "get": {
1596
+ "summary": "Resolve a prompt template for a given event type and scope chain",
1597
+ "tags": [
1598
+ "PromptTemplates"
1599
+ ],
1600
+ "security": [
1601
+ {
1602
+ "bearerAuth": []
1603
+ }
1604
+ ],
1605
+ "parameters": [
1606
+ {
1607
+ "schema": {
1608
+ "type": "string"
1609
+ },
1610
+ "required": true,
1611
+ "name": "eventType",
1612
+ "in": "query"
1613
+ },
1614
+ {
1615
+ "schema": {
1616
+ "type": "string"
1617
+ },
1618
+ "required": false,
1619
+ "name": "agentId",
1620
+ "in": "query"
1621
+ },
1622
+ {
1623
+ "schema": {
1624
+ "type": "string"
1625
+ },
1626
+ "required": false,
1627
+ "name": "repoId",
1628
+ "in": "query"
1629
+ }
1630
+ ],
1631
+ "responses": {
1632
+ "200": {
1633
+ "description": "Resolved template info"
1634
+ },
1635
+ "400": {
1636
+ "description": "Missing eventType"
1637
+ }
1638
+ }
1639
+ }
1640
+ },
1641
+ "/api/prompt-templates/events": {
1642
+ "get": {
1643
+ "summary": "List all registered event types with their available variables",
1644
+ "tags": [
1645
+ "PromptTemplates"
1646
+ ],
1647
+ "security": [
1648
+ {
1649
+ "bearerAuth": []
1650
+ }
1651
+ ],
1652
+ "responses": {
1653
+ "200": {
1654
+ "description": "List of event template definitions"
1655
+ }
1656
+ }
1657
+ }
1658
+ },
1659
+ "/api/prompt-templates/preview": {
1660
+ "post": {
1661
+ "summary": "Dry-run render a template with provided variables",
1662
+ "tags": [
1663
+ "PromptTemplates"
1664
+ ],
1665
+ "security": [
1666
+ {
1667
+ "bearerAuth": []
1668
+ }
1669
+ ],
1670
+ "requestBody": {
1671
+ "content": {
1672
+ "application/json": {
1673
+ "schema": {
1674
+ "type": "object",
1675
+ "properties": {
1676
+ "eventType": {
1677
+ "type": "string"
1678
+ },
1679
+ "body": {
1680
+ "type": "string"
1681
+ },
1682
+ "variables": {
1683
+ "type": "object",
1684
+ "additionalProperties": {}
1685
+ }
1686
+ },
1687
+ "required": [
1688
+ "eventType"
1689
+ ]
1690
+ }
1691
+ }
1692
+ }
1693
+ },
1694
+ "responses": {
1695
+ "200": {
1696
+ "description": "Rendered template preview"
1697
+ },
1698
+ "400": {
1699
+ "description": "Validation error"
1700
+ }
1701
+ }
1702
+ }
1703
+ },
1704
+ "/api/prompt-templates/render": {
1705
+ "post": {
1706
+ "summary": "Full scope-aware template resolution with interpolation (used by workers via HTTP)",
1707
+ "tags": [
1708
+ "PromptTemplates"
1709
+ ],
1710
+ "security": [
1711
+ {
1712
+ "bearerAuth": []
1713
+ }
1714
+ ],
1715
+ "requestBody": {
1716
+ "content": {
1717
+ "application/json": {
1718
+ "schema": {
1719
+ "type": "object",
1720
+ "properties": {
1721
+ "eventType": {
1722
+ "type": "string"
1723
+ },
1724
+ "variables": {
1725
+ "type": "object",
1726
+ "additionalProperties": {}
1727
+ },
1728
+ "agentId": {
1729
+ "type": "string"
1730
+ },
1731
+ "repoId": {
1732
+ "type": "string"
1733
+ }
1734
+ },
1735
+ "required": [
1736
+ "eventType"
1737
+ ]
1738
+ }
1739
+ }
1740
+ }
1741
+ },
1742
+ "responses": {
1743
+ "200": {
1744
+ "description": "Fully resolved and interpolated template"
1745
+ },
1746
+ "400": {
1747
+ "description": "Validation error"
1748
+ }
1749
+ }
1750
+ }
1751
+ },
1752
+ "/api/prompt-templates/{id}/checkout": {
1753
+ "post": {
1754
+ "summary": "Checkout a specific version of a prompt template from history",
1755
+ "tags": [
1756
+ "PromptTemplates"
1757
+ ],
1758
+ "security": [
1759
+ {
1760
+ "bearerAuth": []
1761
+ }
1762
+ ],
1763
+ "parameters": [
1764
+ {
1765
+ "schema": {
1766
+ "type": "string"
1767
+ },
1768
+ "required": true,
1769
+ "name": "id",
1770
+ "in": "path"
1771
+ }
1772
+ ],
1773
+ "requestBody": {
1774
+ "content": {
1775
+ "application/json": {
1776
+ "schema": {
1777
+ "type": "object",
1778
+ "properties": {
1779
+ "version": {
1780
+ "type": "number"
1781
+ }
1782
+ },
1783
+ "required": [
1784
+ "version"
1785
+ ]
1786
+ }
1787
+ }
1788
+ }
1789
+ },
1790
+ "responses": {
1791
+ "200": {
1792
+ "description": "Checked-out template"
1793
+ },
1794
+ "400": {
1795
+ "description": "Validation error"
1796
+ },
1797
+ "404": {
1798
+ "description": "Template or version not found"
1799
+ }
1800
+ }
1801
+ }
1802
+ },
1803
+ "/api/prompt-templates/{id}/reset": {
1804
+ "post": {
1805
+ "summary": "Reset a prompt template to its code-defined default",
1806
+ "tags": [
1807
+ "PromptTemplates"
1808
+ ],
1809
+ "security": [
1810
+ {
1811
+ "bearerAuth": []
1812
+ }
1813
+ ],
1814
+ "parameters": [
1815
+ {
1816
+ "schema": {
1817
+ "type": "string"
1818
+ },
1819
+ "required": true,
1820
+ "name": "id",
1821
+ "in": "path"
1822
+ }
1823
+ ],
1824
+ "responses": {
1825
+ "200": {
1826
+ "description": "Reset template"
1827
+ },
1828
+ "404": {
1829
+ "description": "Template not found or no code default available"
1830
+ }
1831
+ }
1832
+ }
1833
+ },
1834
+ "/api/prompt-templates/{id}": {
1835
+ "get": {
1836
+ "summary": "Get a single prompt template with its version history",
1837
+ "tags": [
1838
+ "PromptTemplates"
1839
+ ],
1840
+ "security": [
1841
+ {
1842
+ "bearerAuth": []
1843
+ }
1844
+ ],
1845
+ "parameters": [
1846
+ {
1847
+ "schema": {
1848
+ "type": "string"
1849
+ },
1850
+ "required": true,
1851
+ "name": "id",
1852
+ "in": "path"
1853
+ }
1854
+ ],
1855
+ "responses": {
1856
+ "200": {
1857
+ "description": "Template with history"
1858
+ },
1859
+ "404": {
1860
+ "description": "Template not found"
1861
+ }
1862
+ }
1863
+ },
1864
+ "delete": {
1865
+ "summary": "Delete a prompt template override",
1866
+ "tags": [
1867
+ "PromptTemplates"
1868
+ ],
1869
+ "security": [
1870
+ {
1871
+ "bearerAuth": []
1872
+ }
1873
+ ],
1874
+ "parameters": [
1875
+ {
1876
+ "schema": {
1877
+ "type": "string"
1878
+ },
1879
+ "required": true,
1880
+ "name": "id",
1881
+ "in": "path"
1882
+ }
1883
+ ],
1884
+ "responses": {
1885
+ "200": {
1886
+ "description": "Template deleted"
1887
+ },
1888
+ "400": {
1889
+ "description": "Cannot delete default template"
1890
+ },
1891
+ "404": {
1892
+ "description": "Template not found"
1893
+ }
1894
+ }
1895
+ }
1896
+ },
1897
+ "/api/prompt-templates": {
1898
+ "get": {
1899
+ "summary": "List prompt templates with optional filters",
1900
+ "tags": [
1901
+ "PromptTemplates"
1902
+ ],
1903
+ "security": [
1904
+ {
1905
+ "bearerAuth": []
1906
+ }
1907
+ ],
1908
+ "parameters": [
1909
+ {
1910
+ "schema": {
1911
+ "type": "string"
1912
+ },
1913
+ "required": false,
1914
+ "name": "eventType",
1915
+ "in": "query"
1916
+ },
1917
+ {
1918
+ "schema": {
1919
+ "type": "string"
1920
+ },
1921
+ "required": false,
1922
+ "name": "scope",
1923
+ "in": "query"
1924
+ },
1925
+ {
1926
+ "schema": {
1927
+ "type": "string"
1928
+ },
1929
+ "required": false,
1930
+ "name": "scopeId",
1931
+ "in": "query"
1932
+ },
1933
+ {
1934
+ "schema": {
1935
+ "type": "string",
1936
+ "enum": [
1937
+ "true",
1938
+ "false"
1939
+ ]
1940
+ },
1941
+ "required": false,
1942
+ "name": "isDefault",
1943
+ "in": "query"
1944
+ }
1945
+ ],
1946
+ "responses": {
1947
+ "200": {
1948
+ "description": "List of prompt templates"
1949
+ }
1950
+ }
1951
+ },
1952
+ "put": {
1953
+ "summary": "Create or update a prompt template override",
1954
+ "tags": [
1955
+ "PromptTemplates"
1956
+ ],
1957
+ "security": [
1958
+ {
1959
+ "bearerAuth": []
1960
+ }
1961
+ ],
1962
+ "requestBody": {
1963
+ "content": {
1964
+ "application/json": {
1965
+ "schema": {
1966
+ "type": "object",
1967
+ "properties": {
1968
+ "eventType": {
1969
+ "type": "string",
1970
+ "minLength": 1
1971
+ },
1972
+ "scope": {
1973
+ "type": "string",
1974
+ "enum": [
1975
+ "global",
1976
+ "agent",
1977
+ "repo"
1978
+ ]
1979
+ },
1980
+ "scopeId": {
1981
+ "type": "string"
1982
+ },
1983
+ "state": {
1984
+ "type": "string",
1985
+ "enum": [
1986
+ "enabled",
1987
+ "default_prompt_fallback",
1988
+ "skip_event"
1989
+ ]
1990
+ },
1991
+ "body": {
1992
+ "type": "string"
1993
+ },
1994
+ "changedBy": {
1995
+ "type": "string"
1996
+ },
1997
+ "changeReason": {
1998
+ "type": "string"
1999
+ }
2000
+ },
2001
+ "required": [
2002
+ "eventType",
2003
+ "body"
2004
+ ]
2005
+ }
2006
+ }
2007
+ }
2008
+ },
2009
+ "responses": {
2010
+ "200": {
2011
+ "description": "Upserted template"
2012
+ },
2013
+ "400": {
2014
+ "description": "Validation error"
2015
+ }
2016
+ }
2017
+ }
2018
+ },
1545
2019
  "/api/poll": {
1546
2020
  "get": {
1547
2021
  "summary": "Poll for triggers (tasks, mentions, epic updates)",
@@ -1566,6 +2040,59 @@
1566
2040
  }
1567
2041
  }
1568
2042
  },
2043
+ "/api/channel-activity/commit-cursors": {
2044
+ "post": {
2045
+ "summary": "Commit channel activity cursors after successful processing",
2046
+ "tags": [
2047
+ "Poll"
2048
+ ],
2049
+ "security": [
2050
+ {
2051
+ "bearerAuth": []
2052
+ }
2053
+ ],
2054
+ "requestBody": {
2055
+ "content": {
2056
+ "application/json": {
2057
+ "schema": {
2058
+ "type": "object",
2059
+ "properties": {
2060
+ "cursorUpdates": {
2061
+ "type": "array",
2062
+ "items": {
2063
+ "type": "object",
2064
+ "properties": {
2065
+ "channelId": {
2066
+ "type": "string"
2067
+ },
2068
+ "ts": {
2069
+ "type": "string"
2070
+ }
2071
+ },
2072
+ "required": [
2073
+ "channelId",
2074
+ "ts"
2075
+ ]
2076
+ }
2077
+ }
2078
+ },
2079
+ "required": [
2080
+ "cursorUpdates"
2081
+ ]
2082
+ }
2083
+ }
2084
+ }
2085
+ },
2086
+ "responses": {
2087
+ "200": {
2088
+ "description": "Cursors committed"
2089
+ },
2090
+ "400": {
2091
+ "description": "Invalid request"
2092
+ }
2093
+ }
2094
+ }
2095
+ },
1569
2096
  "/api/repos/{id}": {
1570
2097
  "get": {
1571
2098
  "summary": "Get a repo by ID",
@@ -3562,6 +4089,12 @@
3562
4089
  {
3563
4090
  "type": "string"
3564
4091
  },
4092
+ {
4093
+ "type": "array",
4094
+ "items": {
4095
+ "type": "string"
4096
+ }
4097
+ },
3565
4098
  {
3566
4099
  "type": "object",
3567
4100
  "additionalProperties": {
@@ -3569,7 +4102,7 @@
3569
4102
  }
3570
4103
  }
3571
4104
  ],
3572
- "description": "Next node(s): string for simple chaining, or record for port-based routing ({pass: 'a', fail: 'b'})"
4105
+ "description": "Next node(s): string for simple chaining, string[] for fan-out to parallel nodes, or record for port-based routing ({pass: 'a', fail: 'b'})"
3573
4106
  },
3574
4107
  "validation": {
3575
4108
  "type": "object",
@@ -3674,6 +4207,15 @@
3674
4207
  ]
3675
4208
  },
3676
4209
  "minItems": 1
4210
+ },
4211
+ "onNodeFailure": {
4212
+ "type": "string",
4213
+ "enum": [
4214
+ "fail",
4215
+ "continue"
4216
+ ],
4217
+ "default": "fail",
4218
+ "description": "Behavior when a node's task fails or is cancelled. 'fail' (default): mark the entire run as failed. 'continue': treat the failed node as completed with error output and proceed — downstream convergence nodes receive '[FAILED: reason]' and can handle partial results."
3677
4219
  }
3678
4220
  },
3679
4221
  "required": [
@@ -3765,6 +4307,14 @@
3765
4307
  "triggerSchema": {
3766
4308
  "type": "object",
3767
4309
  "additionalProperties": {}
4310
+ },
4311
+ "dir": {
4312
+ "type": "string",
4313
+ "minLength": 1
4314
+ },
4315
+ "vcsRepo": {
4316
+ "type": "string",
4317
+ "minLength": 1
3768
4318
  }
3769
4319
  },
3770
4320
  "required": [
@@ -3877,6 +4427,12 @@
3877
4427
  {
3878
4428
  "type": "string"
3879
4429
  },
4430
+ {
4431
+ "type": "array",
4432
+ "items": {
4433
+ "type": "string"
4434
+ }
4435
+ },
3880
4436
  {
3881
4437
  "type": "object",
3882
4438
  "additionalProperties": {
@@ -3884,7 +4440,7 @@
3884
4440
  }
3885
4441
  }
3886
4442
  ],
3887
- "description": "Next node(s): string for simple chaining, or record for port-based routing ({pass: 'a', fail: 'b'})"
4443
+ "description": "Next node(s): string for simple chaining, string[] for fan-out to parallel nodes, or record for port-based routing ({pass: 'a', fail: 'b'})"
3888
4444
  },
3889
4445
  "validation": {
3890
4446
  "type": "object",
@@ -3989,6 +4545,15 @@
3989
4545
  ]
3990
4546
  },
3991
4547
  "minItems": 1
4548
+ },
4549
+ "onNodeFailure": {
4550
+ "type": "string",
4551
+ "enum": [
4552
+ "fail",
4553
+ "continue"
4554
+ ],
4555
+ "default": "fail",
4556
+ "description": "Behavior when a node's task fails or is cancelled. 'fail' (default): mark the entire run as failed. 'continue': treat the failed node as completed with error output and proceed — downstream convergence nodes receive '[FAILED: reason]' and can handle partial results."
3992
4557
  }
3993
4558
  },
3994
4559
  "required": [
@@ -4090,6 +4655,20 @@
4090
4655
  ],
4091
4656
  "additionalProperties": {}
4092
4657
  },
4658
+ "dir": {
4659
+ "type": [
4660
+ "string",
4661
+ "null"
4662
+ ],
4663
+ "minLength": 1
4664
+ },
4665
+ "vcsRepo": {
4666
+ "type": [
4667
+ "string",
4668
+ "null"
4669
+ ],
4670
+ "minLength": 1
4671
+ },
4093
4672
  "enabled": {
4094
4673
  "type": "boolean"
4095
4674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desplega.ai/agent-swarm",
3
- "version": "1.49.0",
3
+ "version": "1.51.2",
4
4
  "description": "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
5
5
  "license": "MIT",
6
6
  "author": "desplega.sh <contact@desplega.sh>",
@@ -21,6 +21,15 @@
21
21
  "publishConfig": {
22
22
  "access": "public"
23
23
  },
24
+ "files": [
25
+ "src/",
26
+ "plugin/commands/",
27
+ "plugin/agents/",
28
+ "plugin/skills/",
29
+ "plugin/pi-skills/",
30
+ "templates/",
31
+ "openapi.json"
32
+ ],
24
33
  "module": "src/http.ts",
25
34
  "type": "module",
26
35
  "bin": {