@desplega.ai/agent-swarm 1.49.0 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/README.md +1 -1
  2. package/openapi.json +2070 -728
  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 +1233 -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/migrations/019_skills.sql +65 -0
  13. package/src/be/migrations/020_approval_requests.sql +41 -0
  14. package/src/be/seed.ts +62 -0
  15. package/src/be/skill-parser.ts +70 -0
  16. package/src/be/skill-sync.ts +106 -0
  17. package/src/commands/runner.ts +320 -132
  18. package/src/commands/templates.ts +172 -0
  19. package/src/github/handlers.ts +292 -77
  20. package/src/github/mentions-aliases.test.ts +73 -0
  21. package/src/github/mentions.test.ts +3 -3
  22. package/src/github/mentions.ts +32 -6
  23. package/src/github/templates.ts +398 -0
  24. package/src/gitlab/handlers.ts +63 -22
  25. package/src/gitlab/templates.ts +140 -0
  26. package/src/heartbeat/heartbeat.ts +19 -10
  27. package/src/heartbeat/templates.ts +30 -0
  28. package/src/http/active-sessions.ts +27 -0
  29. package/src/http/approval-requests.ts +247 -0
  30. package/src/http/config.ts +3 -3
  31. package/src/http/index.ts +9 -2
  32. package/src/http/poll.ts +135 -14
  33. package/src/http/prompt-templates.ts +412 -0
  34. package/src/http/schedules.ts +35 -0
  35. package/src/http/skills.ts +479 -0
  36. package/src/http/workflows.ts +8 -0
  37. package/src/linear/sync.ts +28 -4
  38. package/src/linear/templates.ts +47 -0
  39. package/src/prompts/base-prompt.ts +41 -490
  40. package/src/prompts/registry.ts +57 -0
  41. package/src/prompts/resolver.ts +296 -0
  42. package/src/prompts/session-templates.ts +604 -0
  43. package/src/providers/claude-adapter.ts +15 -2
  44. package/src/providers/pi-mono-extension.ts +5 -1
  45. package/src/scheduler/scheduler.ts +125 -91
  46. package/src/server.ts +44 -0
  47. package/src/slack/assistant.ts +7 -4
  48. package/src/slack/channel-activity.ts +177 -0
  49. package/src/slack/handlers.ts +21 -6
  50. package/src/slack/templates.ts +55 -0
  51. package/src/tests/approval-requests.test.ts +735 -0
  52. package/src/tests/artifact-sdk.test.ts +12 -12
  53. package/src/tests/base-prompt.test.ts +49 -49
  54. package/src/tests/channel-activity.test.ts +363 -0
  55. package/src/tests/heartbeat.test.ts +1 -0
  56. package/src/tests/linear-webhook.test.ts +7 -3
  57. package/src/tests/pool-session-logs.test.ts +199 -0
  58. package/src/tests/prompt-template-github.test.ts +682 -0
  59. package/src/tests/prompt-template-remaining.test.ts +504 -0
  60. package/src/tests/prompt-template-resolver.test.ts +621 -0
  61. package/src/tests/prompt-template-session.test.ts +363 -0
  62. package/src/tests/prompt-templates-db.test.ts +616 -0
  63. package/src/tests/self-improvement.test.ts +8 -7
  64. package/src/tests/skill-parser.test.ts +178 -0
  65. package/src/tests/skill-sync.test.ts +171 -0
  66. package/src/tests/slack-metadata-inheritance.test.ts +1 -1
  67. package/src/tests/slack-thread-followups.test.ts +1 -1
  68. package/src/tests/structured-output.test.ts +0 -4
  69. package/src/tests/tool-annotations.test.ts +2 -1
  70. package/src/tests/update-profile-agentid.test.ts +248 -0
  71. package/src/tests/update-profile-auth.test.ts +195 -0
  72. package/src/tests/workflow-async-v2.test.ts +126 -4
  73. package/src/tests/workflow-definition-validation.test.ts +76 -0
  74. package/src/tests/workflow-executors.test.ts +4 -2
  75. package/src/tests/workflow-retry-v2.test.ts +1 -1
  76. package/src/tests/workflow-schedule-trigger.test.ts +104 -0
  77. package/src/tests/workflow-workspace.test.ts +272 -0
  78. package/src/tools/prompt-templates/delete.ts +86 -0
  79. package/src/tools/prompt-templates/get.ts +89 -0
  80. package/src/tools/prompt-templates/index.ts +5 -0
  81. package/src/tools/prompt-templates/list.ts +95 -0
  82. package/src/tools/prompt-templates/preview.ts +84 -0
  83. package/src/tools/prompt-templates/set.ts +117 -0
  84. package/src/tools/request-human-input.ts +106 -0
  85. package/src/tools/skills/index.ts +11 -0
  86. package/src/tools/skills/skill-create.ts +105 -0
  87. package/src/tools/skills/skill-delete.ts +67 -0
  88. package/src/tools/skills/skill-get.ts +75 -0
  89. package/src/tools/skills/skill-install-remote.ts +152 -0
  90. package/src/tools/skills/skill-install.ts +101 -0
  91. package/src/tools/skills/skill-list.ts +77 -0
  92. package/src/tools/skills/skill-publish.ts +123 -0
  93. package/src/tools/skills/skill-search.ts +43 -0
  94. package/src/tools/skills/skill-sync-remote.ts +128 -0
  95. package/src/tools/skills/skill-uninstall.ts +60 -0
  96. package/src/tools/skills/skill-update.ts +128 -0
  97. package/src/tools/store-progress.ts +22 -4
  98. package/src/tools/task-action.ts +20 -0
  99. package/src/tools/templates.ts +53 -0
  100. package/src/tools/tool-config.ts +23 -0
  101. package/src/tools/update-profile.ts +106 -34
  102. package/src/tools/workflows/create-workflow.ts +19 -1
  103. package/src/tools/workflows/update-workflow.ts +16 -1
  104. package/src/types.ts +109 -2
  105. package/src/workflows/definition.ts +30 -12
  106. package/src/workflows/engine.ts +40 -14
  107. package/src/workflows/executors/agent-task.ts +14 -3
  108. package/src/workflows/executors/human-in-the-loop.ts +160 -0
  109. package/src/workflows/executors/registry.ts +2 -0
  110. package/src/workflows/index.ts +1 -1
  111. package/src/workflows/recovery.ts +72 -0
  112. package/src/workflows/resume.ts +162 -12
  113. package/src/workflows/triggers.ts +31 -2
  114. package/src/workflows/version.ts +2 -0
  115. package/.claude/settings.json +0 -84
  116. package/.claude/settings.local.json +0 -117
  117. package/.dockerignore +0 -61
  118. package/.editorconfig +0 -15
  119. package/.entire/settings.json +0 -4
  120. package/.env.docker.example +0 -56
  121. package/.env.example +0 -78
  122. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -78
  123. package/.github/ISSUE_TEMPLATE/community-template.yml +0 -77
  124. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  125. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -60
  126. package/.github/PULL_REQUEST_TEMPLATE/community-template.md +0 -29
  127. package/.github/workflows/ci.yml +0 -52
  128. package/.github/workflows/docker-and-deploy.yml +0 -132
  129. package/.github/workflows/merge-gate.yml +0 -233
  130. package/.opencode/plugins/entire.ts +0 -133
  131. package/.superset/config.json +0 -6
  132. package/.wts-config.json +0 -4
  133. package/.wts-setup.ts +0 -171
  134. package/CHANGELOG.md +0 -447
  135. package/CLAUDE.md +0 -521
  136. package/CONTRIBUTING.md +0 -315
  137. package/DEPLOYMENT.md +0 -622
  138. package/Dockerfile +0 -65
  139. package/Dockerfile.worker +0 -189
  140. package/MCP.md +0 -841
  141. package/UI.md +0 -40
  142. package/api-entrypoint.sh +0 -56
  143. package/assets/agent-swarm-logo-orange.png +0 -0
  144. package/assets/agent-swarm-logo.png +0 -0
  145. package/assets/agent-swarm.mp4 +0 -0
  146. package/assets/agent-swarm.png +0 -0
  147. package/biome.json +0 -39
  148. package/deploy/DEPLOY.md +0 -60
  149. package/deploy/agent-swarm.service +0 -17
  150. package/deploy/docker-push.ts +0 -30
  151. package/deploy/install.ts +0 -85
  152. package/deploy/prod-db.ts +0 -42
  153. package/deploy/uninstall.ts +0 -12
  154. package/deploy/update.ts +0 -21
  155. package/depot.json +0 -1
  156. package/docker-compose.example.yml +0 -350
  157. package/docker-compose.local.yml +0 -119
  158. package/docker-entrypoint.sh +0 -632
  159. package/docs-site/app/api/search/route.ts +0 -4
  160. package/docs-site/app/docs/[[...slug]]/page.tsx +0 -87
  161. package/docs-site/app/docs/layout.tsx +0 -12
  162. package/docs-site/app/globals.css +0 -24
  163. package/docs-site/app/layout.config.tsx +0 -34
  164. package/docs-site/app/layout.tsx +0 -119
  165. package/docs-site/app/llms-full.txt/route.ts +0 -11
  166. package/docs-site/app/llms.mdx/docs/[[...slug]]/route.ts +0 -24
  167. package/docs-site/app/llms.txt/route.ts +0 -8
  168. package/docs-site/app/page.tsx +0 -5
  169. package/docs-site/app/robots.ts +0 -13
  170. package/docs-site/app/sitemap.ts +0 -37
  171. package/docs-site/components/api-page.client.tsx +0 -4
  172. package/docs-site/components/api-page.tsx +0 -7
  173. package/docs-site/components/mdx/mermaid.tsx +0 -55
  174. package/docs-site/content/docs/(documentation)/architecture/agents.mdx +0 -117
  175. package/docs-site/content/docs/(documentation)/architecture/hooks.mdx +0 -77
  176. package/docs-site/content/docs/(documentation)/architecture/memory.mdx +0 -96
  177. package/docs-site/content/docs/(documentation)/architecture/meta.json +0 -4
  178. package/docs-site/content/docs/(documentation)/architecture/overview.mdx +0 -172
  179. package/docs-site/content/docs/(documentation)/concepts/epics.mdx +0 -98
  180. package/docs-site/content/docs/(documentation)/concepts/meta.json +0 -4
  181. package/docs-site/content/docs/(documentation)/concepts/scheduling.mdx +0 -136
  182. package/docs-site/content/docs/(documentation)/concepts/services.mdx +0 -104
  183. package/docs-site/content/docs/(documentation)/concepts/task-lifecycle.mdx +0 -148
  184. package/docs-site/content/docs/(documentation)/concepts/workflows.mdx +0 -209
  185. package/docs-site/content/docs/(documentation)/contributing.mdx +0 -158
  186. package/docs-site/content/docs/(documentation)/getting-started.mdx +0 -157
  187. package/docs-site/content/docs/(documentation)/guides/agentmail-integration.mdx +0 -79
  188. package/docs-site/content/docs/(documentation)/guides/deployment.mdx +0 -171
  189. package/docs-site/content/docs/(documentation)/guides/github-integration.mdx +0 -81
  190. package/docs-site/content/docs/(documentation)/guides/gitlab-integration.mdx +0 -93
  191. package/docs-site/content/docs/(documentation)/guides/linear-integration.mdx +0 -98
  192. package/docs-site/content/docs/(documentation)/guides/meta.json +0 -13
  193. package/docs-site/content/docs/(documentation)/guides/sentry-integration.mdx +0 -52
  194. package/docs-site/content/docs/(documentation)/guides/slack-integration.mdx +0 -179
  195. package/docs-site/content/docs/(documentation)/guides/x402-payments.mdx +0 -154
  196. package/docs-site/content/docs/(documentation)/index.mdx +0 -65
  197. package/docs-site/content/docs/(documentation)/meta.json +0 -19
  198. package/docs-site/content/docs/(documentation)/reference/cli.mdx +0 -241
  199. package/docs-site/content/docs/(documentation)/reference/environment-variables.mdx +0 -205
  200. package/docs-site/content/docs/(documentation)/reference/mcp-tools.mdx +0 -449
  201. package/docs-site/content/docs/(documentation)/reference/meta.json +0 -4
  202. package/docs-site/content/docs/api-reference/active-sessions.mdx +0 -9
  203. package/docs-site/content/docs/api-reference/agents.mdx +0 -9
  204. package/docs-site/content/docs/api-reference/channels.mdx +0 -9
  205. package/docs-site/content/docs/api-reference/config.mdx +0 -9
  206. package/docs-site/content/docs/api-reference/debug.mdx +0 -9
  207. package/docs-site/content/docs/api-reference/ecosystem.mdx +0 -9
  208. package/docs-site/content/docs/api-reference/epics.mdx +0 -9
  209. package/docs-site/content/docs/api-reference/index.mdx +0 -32
  210. package/docs-site/content/docs/api-reference/memory.mdx +0 -9
  211. package/docs-site/content/docs/api-reference/meta.json +0 -25
  212. package/docs-site/content/docs/api-reference/poll.mdx +0 -9
  213. package/docs-site/content/docs/api-reference/repos.mdx +0 -9
  214. package/docs-site/content/docs/api-reference/schedules.mdx +0 -9
  215. package/docs-site/content/docs/api-reference/session-data.mdx +0 -9
  216. package/docs-site/content/docs/api-reference/stats.mdx +0 -9
  217. package/docs-site/content/docs/api-reference/tasks.mdx +0 -9
  218. package/docs-site/content/docs/api-reference/trackers.mdx +0 -9
  219. package/docs-site/content/docs/api-reference/webhooks.mdx +0 -9
  220. package/docs-site/content/docs/api-reference/workflows.mdx +0 -9
  221. package/docs-site/content/docs/meta.json +0 -3
  222. package/docs-site/lib/get-llm-text.ts +0 -10
  223. package/docs-site/lib/openapi.ts +0 -23
  224. package/docs-site/lib/source.ts +0 -8
  225. package/docs-site/mdx-components.tsx +0 -13
  226. package/docs-site/next.config.mjs +0 -29
  227. package/docs-site/package.json +0 -35
  228. package/docs-site/pnpm-lock.yaml +0 -5407
  229. package/docs-site/postcss.config.mjs +0 -8
  230. package/docs-site/public/logo.png +0 -0
  231. package/docs-site/scripts/generate-docs.ts +0 -171
  232. package/docs-site/source.config.ts +0 -17
  233. package/docs-site/tsconfig.json +0 -46
  234. package/ecosystem.config.cjs +0 -66
  235. package/landing/next.config.ts +0 -14
  236. package/landing/package.json +0 -31
  237. package/landing/pnpm-lock.yaml +0 -1091
  238. package/landing/postcss.config.mjs +0 -8
  239. package/landing/public/apple-touch-icon.png +0 -0
  240. package/landing/public/favicon.ico +0 -0
  241. package/landing/public/logo.png +0 -0
  242. package/landing/public/og-image.png +0 -0
  243. package/landing/public/omghost-desplega.svg +0 -30
  244. package/landing/public/omghost-openfort.svg +0 -9
  245. package/landing/src/app/actions/waitlist.ts +0 -25
  246. package/landing/src/app/blog/openfort-hackathon/page.tsx +0 -863
  247. package/landing/src/app/blog/page.tsx +0 -162
  248. package/landing/src/app/blog/swarm-metrics/page.tsx +0 -685
  249. package/landing/src/app/examples/page.tsx +0 -174
  250. package/landing/src/app/examples/x402/page.tsx +0 -456
  251. package/landing/src/app/globals.css +0 -122
  252. package/landing/src/app/layout.tsx +0 -134
  253. package/landing/src/app/page.tsx +0 -27
  254. package/landing/src/app/robots.ts +0 -13
  255. package/landing/src/app/sitemap.ts +0 -44
  256. package/landing/src/components/architecture.tsx +0 -163
  257. package/landing/src/components/cta.tsx +0 -52
  258. package/landing/src/components/features.tsx +0 -160
  259. package/landing/src/components/footer.tsx +0 -100
  260. package/landing/src/components/hero.tsx +0 -217
  261. package/landing/src/components/how-it-works.tsx +0 -165
  262. package/landing/src/components/navbar.tsx +0 -147
  263. package/landing/src/components/waitlist.tsx +0 -110
  264. package/landing/src/components/why-choose.tsx +0 -149
  265. package/landing/src/components/workshops.tsx +0 -328
  266. package/landing/src/lib/utils.ts +0 -6
  267. package/landing/tsconfig.json +0 -41
  268. package/misc/transcripts/2026-03-09-pi-mono-e2e-verification.md +0 -154
  269. package/new-ui/CLAUDE.md +0 -92
  270. package/new-ui/README.md +0 -73
  271. package/new-ui/biome.json +0 -42
  272. package/new-ui/components.json +0 -21
  273. package/new-ui/index.html +0 -25
  274. package/new-ui/package.json +0 -49
  275. package/new-ui/pnpm-lock.yaml +0 -4845
  276. package/new-ui/public/logo.png +0 -0
  277. package/new-ui/src/api/client.ts +0 -814
  278. package/new-ui/src/api/hooks/index.ts +0 -64
  279. package/new-ui/src/api/hooks/use-agents.ts +0 -58
  280. package/new-ui/src/api/hooks/use-channels.ts +0 -115
  281. package/new-ui/src/api/hooks/use-config-api.ts +0 -46
  282. package/new-ui/src/api/hooks/use-costs.ts +0 -122
  283. package/new-ui/src/api/hooks/use-db-query.ts +0 -29
  284. package/new-ui/src/api/hooks/use-epics.ts +0 -75
  285. package/new-ui/src/api/hooks/use-repos.ts +0 -61
  286. package/new-ui/src/api/hooks/use-schedules.ts +0 -81
  287. package/new-ui/src/api/hooks/use-services.ts +0 -16
  288. package/new-ui/src/api/hooks/use-stats.ts +0 -27
  289. package/new-ui/src/api/hooks/use-tasks.ts +0 -89
  290. package/new-ui/src/api/hooks/use-workflows.ts +0 -109
  291. package/new-ui/src/api/types.ts +0 -549
  292. package/new-ui/src/app/App.tsx +0 -13
  293. package/new-ui/src/app/providers.tsx +0 -32
  294. package/new-ui/src/app/router.tsx +0 -52
  295. package/new-ui/src/components/layout/app-header.tsx +0 -47
  296. package/new-ui/src/components/layout/app-sidebar.tsx +0 -128
  297. package/new-ui/src/components/layout/breadcrumbs.tsx +0 -57
  298. package/new-ui/src/components/layout/config-guard.tsx +0 -22
  299. package/new-ui/src/components/layout/root-layout.tsx +0 -40
  300. package/new-ui/src/components/layout/swarm-switcher.tsx +0 -85
  301. package/new-ui/src/components/shared/command-menu.tsx +0 -131
  302. package/new-ui/src/components/shared/data-grid.tsx +0 -141
  303. package/new-ui/src/components/shared/empty-state.tsx +0 -24
  304. package/new-ui/src/components/shared/error-boundary.tsx +0 -72
  305. package/new-ui/src/components/shared/json-viewer.tsx +0 -47
  306. package/new-ui/src/components/shared/name-connection-modal.tsx +0 -99
  307. package/new-ui/src/components/shared/page-skeleton.tsx +0 -16
  308. package/new-ui/src/components/shared/session-log-viewer.tsx +0 -364
  309. package/new-ui/src/components/shared/stats-bar.tsx +0 -132
  310. package/new-ui/src/components/shared/status-badge.tsx +0 -131
  311. package/new-ui/src/components/shared/usage-summary.tsx +0 -179
  312. package/new-ui/src/components/ui/alert-dialog.tsx +0 -176
  313. package/new-ui/src/components/ui/alert.tsx +0 -60
  314. package/new-ui/src/components/ui/avatar.tsx +0 -96
  315. package/new-ui/src/components/ui/badge.tsx +0 -46
  316. package/new-ui/src/components/ui/button.tsx +0 -62
  317. package/new-ui/src/components/ui/card.tsx +0 -75
  318. package/new-ui/src/components/ui/command.tsx +0 -160
  319. package/new-ui/src/components/ui/dialog.tsx +0 -143
  320. package/new-ui/src/components/ui/dropdown-menu.tsx +0 -226
  321. package/new-ui/src/components/ui/input.tsx +0 -21
  322. package/new-ui/src/components/ui/label.tsx +0 -19
  323. package/new-ui/src/components/ui/progress.tsx +0 -26
  324. package/new-ui/src/components/ui/scroll-area.tsx +0 -54
  325. package/new-ui/src/components/ui/select.tsx +0 -175
  326. package/new-ui/src/components/ui/separator.tsx +0 -28
  327. package/new-ui/src/components/ui/sheet.tsx +0 -132
  328. package/new-ui/src/components/ui/sidebar.tsx +0 -691
  329. package/new-ui/src/components/ui/skeleton.tsx +0 -13
  330. package/new-ui/src/components/ui/sonner.tsx +0 -35
  331. package/new-ui/src/components/ui/switch.tsx +0 -33
  332. package/new-ui/src/components/ui/table.tsx +0 -92
  333. package/new-ui/src/components/ui/tabs.tsx +0 -79
  334. package/new-ui/src/components/ui/textarea.tsx +0 -18
  335. package/new-ui/src/components/ui/tooltip.tsx +0 -51
  336. package/new-ui/src/components/workflows/action-node.tsx +0 -53
  337. package/new-ui/src/components/workflows/condition-node.tsx +0 -50
  338. package/new-ui/src/components/workflows/graph-utils.ts +0 -124
  339. package/new-ui/src/components/workflows/json-tree.tsx +0 -189
  340. package/new-ui/src/components/workflows/node-styles.ts +0 -10
  341. package/new-ui/src/components/workflows/step-detail-sheet.tsx +0 -87
  342. package/new-ui/src/components/workflows/trigger-node.tsx +0 -41
  343. package/new-ui/src/components/workflows/workflow-graph.tsx +0 -65
  344. package/new-ui/src/hooks/use-auto-scroll.ts +0 -82
  345. package/new-ui/src/hooks/use-config.ts +0 -203
  346. package/new-ui/src/hooks/use-keyboard-shortcuts.ts +0 -41
  347. package/new-ui/src/hooks/use-mobile.ts +0 -19
  348. package/new-ui/src/hooks/use-theme.ts +0 -60
  349. package/new-ui/src/lib/config.ts +0 -188
  350. package/new-ui/src/lib/slugs.ts +0 -71
  351. package/new-ui/src/lib/utils.ts +0 -120
  352. package/new-ui/src/main.tsx +0 -11
  353. package/new-ui/src/pages/agents/[id]/page.tsx +0 -492
  354. package/new-ui/src/pages/agents/page.tsx +0 -134
  355. package/new-ui/src/pages/chat/page.tsx +0 -674
  356. package/new-ui/src/pages/config/page.tsx +0 -1109
  357. package/new-ui/src/pages/dashboard/page.tsx +0 -454
  358. package/new-ui/src/pages/debug/page.tsx +0 -275
  359. package/new-ui/src/pages/epics/[id]/page.tsx +0 -809
  360. package/new-ui/src/pages/epics/page.tsx +0 -321
  361. package/new-ui/src/pages/not-found/page.tsx +0 -18
  362. package/new-ui/src/pages/repos/page.tsx +0 -369
  363. package/new-ui/src/pages/schedules/[id]/page.tsx +0 -664
  364. package/new-ui/src/pages/schedules/page.tsx +0 -477
  365. package/new-ui/src/pages/services/page.tsx +0 -128
  366. package/new-ui/src/pages/tasks/[id]/page.tsx +0 -670
  367. package/new-ui/src/pages/tasks/page.tsx +0 -592
  368. package/new-ui/src/pages/usage/page.tsx +0 -195
  369. package/new-ui/src/pages/workflow-runs/[id]/page.tsx +0 -363
  370. package/new-ui/src/pages/workflows/[id]/page.tsx +0 -417
  371. package/new-ui/src/pages/workflows/page.tsx +0 -266
  372. package/new-ui/src/styles/ag-grid.css +0 -36
  373. package/new-ui/src/styles/globals.css +0 -213
  374. package/new-ui/test-results/.last-run.json +0 -4
  375. package/new-ui/tsconfig.app.json +0 -34
  376. package/new-ui/tsconfig.json +0 -4
  377. package/new-ui/tsconfig.node.json +0 -26
  378. package/new-ui/vercel.json +0 -4
  379. package/new-ui/vite.config.ts +0 -28
  380. package/plugin/README.md +0 -1
  381. package/plugin/build-pi-skills.ts +0 -233
  382. package/plugin/hooks/hooks.json +0 -71
  383. package/prek.toml +0 -75
  384. package/pyproject.toml +0 -9
  385. package/scripts/check-db-boundary.sh +0 -60
  386. package/scripts/e2e-docker-provider.ts +0 -820
  387. package/scripts/e2e-io-schemas-test.ts +0 -807
  388. package/scripts/e2e-provider-test.ts +0 -220
  389. package/scripts/e2e-workflow-redesign.sh +0 -229
  390. package/scripts/e2e-workflow-test.sh +0 -285
  391. package/scripts/e2e-workflow-test.ts +0 -857
  392. package/scripts/generate-mcp-docs.ts +0 -415
  393. package/scripts/generate-openapi.ts +0 -26
  394. package/scripts/measure-tool-tokens.ts +0 -118
  395. package/scripts/x402-e2e-test.ts +0 -195
  396. package/scripts/x402-test-server.ts +0 -236
  397. package/scripts/x402-testnet-e2e.ts +0 -668
  398. package/slack-manifest.json +0 -88
  399. package/templates-ui/README.md +0 -46
  400. package/templates-ui/components.json +0 -17
  401. package/templates-ui/eslint.config.mjs +0 -18
  402. package/templates-ui/next.config.ts +0 -7
  403. package/templates-ui/package.json +0 -35
  404. package/templates-ui/pnpm-lock.yaml +0 -4571
  405. package/templates-ui/postcss.config.mjs +0 -7
  406. package/templates-ui/public/file.svg +0 -1
  407. package/templates-ui/public/globe.svg +0 -1
  408. package/templates-ui/public/logo.png +0 -0
  409. package/templates-ui/public/next.svg +0 -1
  410. package/templates-ui/public/vercel.svg +0 -1
  411. package/templates-ui/public/window.svg +0 -1
  412. package/templates-ui/src/app/[category]/[name]/page.tsx +0 -89
  413. package/templates-ui/src/app/api/templates/[...slug]/route.ts +0 -52
  414. package/templates-ui/src/app/api/templates/route.ts +0 -18
  415. package/templates-ui/src/app/builder/page.tsx +0 -37
  416. package/templates-ui/src/app/globals.css +0 -94
  417. package/templates-ui/src/app/layout.tsx +0 -79
  418. package/templates-ui/src/app/page.tsx +0 -38
  419. package/templates-ui/src/app/robots.ts +0 -11
  420. package/templates-ui/src/app/sitemap.ts +0 -31
  421. package/templates-ui/src/components/compose-builder.tsx +0 -442
  422. package/templates-ui/src/components/compose-preview.tsx +0 -117
  423. package/templates-ui/src/components/file-preview.tsx +0 -77
  424. package/templates-ui/src/components/footer.tsx +0 -40
  425. package/templates-ui/src/components/header.tsx +0 -41
  426. package/templates-ui/src/components/template-card.tsx +0 -87
  427. package/templates-ui/src/components/template-detail.tsx +0 -125
  428. package/templates-ui/src/components/template-gallery.tsx +0 -263
  429. package/templates-ui/src/components/ui/badge.tsx +0 -36
  430. package/templates-ui/src/components/ui/button.tsx +0 -57
  431. package/templates-ui/src/components/ui/card.tsx +0 -76
  432. package/templates-ui/src/components/ui/separator.tsx +0 -31
  433. package/templates-ui/src/components/ui/tooltip.tsx +0 -32
  434. package/templates-ui/src/lib/compose-generator.ts +0 -241
  435. package/templates-ui/src/lib/templates.ts +0 -137
  436. package/templates-ui/src/lib/utils.ts +0 -6
  437. package/templates-ui/tsconfig.json +0 -34
  438. package/thoughts/research/2026-02-28-openfort-viem-x402-research.md +0 -679
  439. package/thoughts/research/2026-02-28-x402-payments-research.md +0 -686
  440. package/thoughts/researcher/plans/2026-02-20-agent-self-improvement-plan.md +0 -282
  441. package/thoughts/researcher/research/2026-02-20-agent-self-improvement.md +0 -492
  442. package/thoughts/shared/plans/.gitkeep +0 -0
  443. package/thoughts/shared/plans/2025-12-18-slack-integration.md +0 -1195
  444. package/thoughts/shared/plans/2025-12-19-agent-log-streaming.md +0 -732
  445. package/thoughts/shared/plans/2025-12-19-role-based-swarm-plugin.md +0 -361
  446. package/thoughts/shared/plans/2025-12-20-mobile-responsive-ui.md +0 -501
  447. package/thoughts/shared/plans/2025-12-20-startup-team-swarm.md +0 -560
  448. package/thoughts/shared/plans/2025-12-23-runner-level-polling.md +0 -934
  449. package/thoughts/shared/plans/2025-12-23-runner-session-logs.md +0 -1000
  450. package/thoughts/shared/plans/2025-12-23-worker-lead-spawn-triggers.md +0 -568
  451. package/thoughts/shared/plans/2026-01-09-inverse-teleport.md +0 -1516
  452. package/thoughts/shared/plans/2026-01-12-agent-rename-pm2-control.md +0 -1133
  453. package/thoughts/shared/plans/2026-01-12-github-app-integration.md +0 -380
  454. package/thoughts/shared/plans/2026-01-12-lead-inbox-model.md +0 -876
  455. package/thoughts/shared/plans/2026-01-12-ralph-wiggum-integration.md +0 -463
  456. package/thoughts/shared/plans/2026-01-13-agent-concurrency.md +0 -691
  457. package/thoughts/shared/plans/2026-01-13-github-assignment-handling.md +0 -690
  458. package/thoughts/shared/plans/2026-01-13-prevent-duplicate-trigger-processing.md +0 -1071
  459. package/thoughts/shared/plans/2026-01-14-fix-slack-thread-context.md +0 -507
  460. package/thoughts/shared/plans/2026-01-15-scheduled-tasks-implementation.md +0 -565
  461. package/thoughts/shared/plans/2026-01-15-usage-cost-tracking-ui.md +0 -1479
  462. package/thoughts/shared/plans/2026-01-16-epics-feature-implementation.md +0 -1230
  463. package/thoughts/shared/plans/2026-02-26-mcp-tool-context-reduction.md +0 -282
  464. package/thoughts/shared/plans/2026-03-02-claude-context-mode-integration.md +0 -328
  465. package/thoughts/shared/plans/2026-03-02-code-level-heartbeat.md +0 -224
  466. package/thoughts/shared/research/.gitkeep +0 -0
  467. package/thoughts/shared/research/2025-01-09-inverse-teleport-plan-review.md +0 -420
  468. package/thoughts/shared/research/2025-12-18-slack-integration.md +0 -442
  469. package/thoughts/shared/research/2025-12-19-agent-log-streaming.md +0 -339
  470. package/thoughts/shared/research/2025-12-19-agent-secrets-cli-research.md +0 -390
  471. package/thoughts/shared/research/2025-12-21-gemini-cli-integration.md +0 -376
  472. package/thoughts/shared/research/2025-12-22-runner-loop-architecture.md +0 -582
  473. package/thoughts/shared/research/2025-12-22-setup-experience-improvements.md +0 -264
  474. package/thoughts/shared/research/2026-01-13-lead-duplicate-trigger-processing.md +0 -223
  475. package/thoughts/shared/research/2026-01-14-lead-slack-thread-context.md +0 -277
  476. package/thoughts/shared/research/2026-01-15-ai-tracker-agent-swarm-integration.md +0 -376
  477. package/thoughts/shared/research/2026-01-15-auto-starting-processes-in-worker-containers.md +0 -787
  478. package/thoughts/shared/research/2026-01-15-scheduled-tasks.md +0 -390
  479. package/thoughts/shared/research/2026-01-16-epics-feature-research.md +0 -437
  480. package/thoughts/shared/research/2026-02-26-cliffy-mcp-tools.md +0 -159
  481. package/thoughts/shared/research/2026-03-03-database-migration-system-refactor.md +0 -337
  482. package/thoughts/swarm-researcher/plans/2026-02-23-openclaw-improvements-plan.md +0 -778
  483. package/thoughts/swarm-researcher/plans/2026-02-26-artifacts-localtunnel-plan.md +0 -1269
  484. package/thoughts/swarm-researcher/research/2026-02-23-openclaw-vs-agent-swarm-comparison.md +0 -411
  485. package/thoughts/swarm-researcher/research/2026-02-26-artifacts-localtunnel.md +0 -724
  486. package/thoughts/taras/brainstorms/2026-03-20-prompt-template-registry.md +0 -443
  487. package/thoughts/taras/brainstorms/2026-03-20-setup-cli-onboarding.md +0 -307
  488. package/thoughts/taras/plans/2026-01-22-agent-swarm-schemas.md +0 -98
  489. package/thoughts/taras/plans/2026-01-28-per-worker-claude-md.md +0 -617
  490. package/thoughts/taras/plans/2026-01-28-sentry-cli-integration.md +0 -214
  491. package/thoughts/taras/plans/2026-02-20-auto-improvement.md +0 -803
  492. package/thoughts/taras/plans/2026-02-20-env-management.md +0 -538
  493. package/thoughts/taras/plans/2026-02-20-memory-system.md +0 -882
  494. package/thoughts/taras/plans/2026-02-20-repos-knowledge.md +0 -806
  495. package/thoughts/taras/plans/2026-02-20-session-attach.md +0 -647
  496. package/thoughts/taras/plans/2026-02-20-worker-identity.md +0 -820
  497. package/thoughts/taras/plans/2026-02-25-feat-new-ui-visual-redesign-plan.md +0 -768
  498. package/thoughts/taras/plans/2026-03-04-fix-buildSystemPrompt-missing-fields.md +0 -77
  499. package/thoughts/taras/plans/2026-03-04-new-ui-missing-actions.md +0 -543
  500. package/thoughts/taras/plans/2026-03-06-one-time-scheduled-tasks.md +0 -373
  501. package/thoughts/taras/plans/2026-03-08-memory-self-improvement-enhancements.md +0 -512
  502. package/thoughts/taras/plans/2026-03-08-pi-mono-provider-implementation.md +0 -919
  503. package/thoughts/taras/plans/2026-03-09-templates-registry.md +0 -723
  504. package/thoughts/taras/plans/2026-03-10-task-working-directory.md +0 -371
  505. package/thoughts/taras/plans/2026-03-11-archil-per-agent-write-strategy.md +0 -621
  506. package/thoughts/taras/plans/2026-03-12-eliminate-inbox-route-to-tasks.md +0 -61
  507. package/thoughts/taras/plans/2026-03-12-slack-thread-followup-additive.md +0 -488
  508. package/thoughts/taras/plans/2026-03-13-slack-ai-improvements.md +0 -644
  509. package/thoughts/taras/plans/2026-03-16-route-wrapper-openapi.md +0 -636
  510. package/thoughts/taras/plans/2026-03-17-multi-api-config.md +0 -444
  511. package/thoughts/taras/plans/2026-03-18-agent-fs-integration.md +0 -591
  512. package/thoughts/taras/plans/2026-03-18-debug-db-explorer.md +0 -446
  513. package/thoughts/taras/plans/2026-03-18-workflow-redesign.md +0 -987
  514. package/thoughts/taras/plans/2026-03-19-compound-learnings.md +0 -403
  515. package/thoughts/taras/plans/2026-03-19-ticket-tracker-linear-integration.md +0 -860
  516. package/thoughts/taras/plans/2026-03-19-workflow-io-schemas-and-bugs.md +0 -899
  517. package/thoughts/taras/plans/2026-03-20-setup-cli-onboarding.md +0 -874
  518. package/thoughts/taras/plans/2026-03-20-workflow-structured-output-validation-workspace.md +0 -723
  519. package/thoughts/taras/research/2026-01-22-vercel-cli-integration.md +0 -287
  520. package/thoughts/taras/research/2026-01-27-excessive-polling-issue.md +0 -311
  521. package/thoughts/taras/research/2026-01-28-per-worker-claude-md.md +0 -383
  522. package/thoughts/taras/research/2026-01-28-sentry-cli-integration.md +0 -240
  523. package/thoughts/taras/research/2026-02-19-agent-native-swarm-architecture.md +0 -390
  524. package/thoughts/taras/research/2026-02-19-swarm-gaps-implementation.md +0 -594
  525. package/thoughts/taras/research/2026-02-25-dashboard-ui-design-best-practices.md +0 -825
  526. package/thoughts/taras/research/2026-02-26-task-detail-page-redesign.md +0 -393
  527. package/thoughts/taras/research/2026-03-03-new-ui-missing-actions.md +0 -168
  528. package/thoughts/taras/research/2026-03-05-pi-mono-provider-research.md +0 -230
  529. package/thoughts/taras/research/2026-03-06-workflow-engine-design.md +0 -445
  530. package/thoughts/taras/research/2026-03-08-drive-loop-concept.md +0 -375
  531. package/thoughts/taras/research/2026-03-08-pi-mono-deep-dive.md +0 -869
  532. package/thoughts/taras/research/2026-03-09-templates-registry.md +0 -373
  533. package/thoughts/taras/research/2026-03-10-agent-working-directory.md +0 -223
  534. package/thoughts/taras/research/2026-03-10-configurable-event-prompts.md +0 -339
  535. package/thoughts/taras/research/2026-03-11-archil-production-setup.md +0 -181
  536. package/thoughts/taras/research/2026-03-11-archil-shared-disk-write-strategies.md +0 -437
  537. package/thoughts/taras/research/2026-03-13-slack-ai-features.md +0 -258
  538. package/thoughts/taras/research/2026-03-16-openapi-docs-generation.md +0 -335
  539. package/thoughts/taras/research/2026-03-16-route-wrapper-openapi.md +0 -670
  540. package/thoughts/taras/research/2026-03-16-slack-thread-followups-e2e.md +0 -54
  541. package/thoughts/taras/research/2026-03-18-agent-fs-integration.md +0 -558
  542. package/thoughts/taras/research/2026-03-18-linear-integration-finalization.md +0 -526
  543. package/thoughts/taras/research/2026-03-18-workflow-redesign.md +0 -797
  544. package/thoughts/taras/research/2026-03-19-workflow-node-io-schemas-and-bugs.md +0 -563
  545. package/thoughts/taras/research/2026-03-19-workflow-structured-output-validation-workspace.md +0 -486
  546. package/thoughts/taras/research/2026-03-20-prompt-template-registry.md +0 -469
  547. package/tsconfig.json +0 -37
package/CHANGELOG.md DELETED
@@ -1,447 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to Agent Swarm are documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
-
7
- ## [1.49.0] - 2026-03-21
8
-
9
- ### Added
10
- - `agent-swarm onboard` CLI wizard — interactive first-time setup that collects credentials, generates `docker-compose.yml` + `.env`, starts the stack, and verifies health (#206)
11
- - Presets: `dev`, `content`, `research`, `solo`
12
- - Progress indicator, `ANTHROPIC_API_KEY` support, Ctrl+C handling
13
- - Inline validation errors for integration steps (GitHub, GitLab, Sentry, Slack)
14
- - `agent-swarm docs` command — show documentation URL with `--open` flag to launch in browser
15
- - `agent-swarm claude` command — run Claude CLI with optional message and headless mode
16
- - Workflow structured output support — agent-task nodes can define `config.outputSchema` for validated JSON responses (#207)
17
- - `store-progress` validates agent output against schema inline
18
- - Workspace scoping for agent-task executor via `vcsRepo`
19
- - Workflow I/O schemas with explicit input mappings and data flow validation (#201)
20
- - Fumadocs LLMs and OpenAPI integrations for docs site (#205)
21
-
22
- ### Changed
23
- - CLI command renames: `setup` → `connect`, `mcp` → `api` (#206)
24
- - `api` command gains `--db` flag for custom database file path
25
- - CLI help rewritten as plain `console.log` with per-command `--help` support
26
- - `connect` command auto-reads `API_KEY` from `.env`, uses random port, supports `APP_URL`
27
-
28
- ### Fixed
29
- - Workflow validation: clear `nextRetryAt` when retries are exhausted (#207)
30
- - Workflow validation: re-run validation after retry poller re-executes a step (#207)
31
- - Workflow validation: normalize pass/fail across all executor types (#207)
32
-
33
- ## [1.48.0] - 2026-03-20
34
-
35
- ### Added
36
- - Workflow I/O schemas with explicit input mappings and data flow validation (#201)
37
- - Node-level `inputs` mapping for cross-node data flow
38
- - Static data flow validation for input references
39
- - `triggerSchema` for validating trigger payloads
40
- - Fumadocs LLMs and OpenAPI integrations for docs site (#205)
41
- - API Reference pages auto-generated from OpenAPI spec
42
- - Project selector for Documentation vs API Reference
43
- - `.md` extension support for LLM-friendly content
44
- - CI merge gate for generated API docs drift detection
45
- - SEO: automated inbound links to new documentation pages
46
-
47
- ### Changed
48
- - API reference consolidated to single page with tag-based subsections
49
- - Docs site sidebar navigation improved with API Reference visibility
50
-
51
- ### Fixed
52
- - Docs site project selector visibility on all pages
53
-
54
- ## [1.47.0] - 2026-03-20
55
-
56
- ### Added
57
- - Linear integration — bidirectional ticket tracker sync via OAuth + webhooks (#161)
58
- - OAuth 2.0 authorization flow with PKCE
59
- - Webhook handler for issue/comment events
60
- - `AgentSession` lifecycle tracking for Linear issues
61
- - Generic tracker abstraction layer (`tracker_sync` table) for future integrations
62
- - `.env.example` updated with Linear setup instructions
63
- - Workflow engine redesign — DAG-based workflow automation with improved reliability (#196)
64
- - Executor registry architecture for extensible step types
65
- - Node I/O schemas with explicit input mappings and validation
66
- - Workflow-level `triggerSchema` validation
67
- - Static data flow validation for input mappings
68
- - Convergence deadlock fix with active edge tracking
69
- - Interpolation rewrite with unresolved variable tracking and deep config support
70
- - Slack notification executor for workflow steps
71
- - Portless integration for local development — friendly URLs like `api.swarm.localhost:1355` (#200)
72
- - `dev:http` script uses portless by default
73
- - New `start:portless` script for production-like local runs
74
- - `.env.example` updated with portless configuration instructions
75
- - `agent-fs` Claude plugin pre-installed in worker containers
76
-
77
- ### Changed
78
- - Claude Code version pinned in Dockerfile.worker via `CLAUDE_CODE_VERSION` build arg (default: `2.1.80`) — replaces dynamic installer for reproducible builds (#202)
79
- - Runner prompt generation is now provider-aware for pi skill prefix
80
-
81
- ### Fixed
82
- - Corepack permissions — `COREPACK_HOME` redirected to user-writable directory to avoid "operation rejected by your operating system" errors (#202)
83
- - `task.cancelled` outbound handler added for proper cancellation event propagation
84
- - Follow-up tasks properly repoint `tracker_sync` for session lifecycle
85
- - Read user message from `agentActivity` with proper stop signal handling
86
- - Avoid duplicate responses — prefer `AgentSession` over issue comments
87
- - [UI] Use node ID as graph label, remove schema sections from workflow inspector
88
-
89
- ## [1.45.1] - 2026-03-19
90
-
91
- ### Added
92
- - Debug tab with database explorer — SQL query interface in the dashboard with Monaco editor, table browser sidebar, and AG Grid results display
93
- - `db-query` MCP tool — lead-only read-only SQL queries against the swarm database (capped at 100 rows)
94
- - `POST /api/db-query` REST endpoint for database inspection
95
- - Agent-fs native integration — persistent, searchable filesystem shared across the swarm
96
- - Auto-registration on first container boot (idempotent)
97
- - Lead creates shared org, workers receive invitations automatically
98
- - System prompt conditionally includes agent-fs CLI usage instructions
99
- - `agent-fs` CLI and Claude plugin pre-installed in worker containers
100
-
101
- ### Changed
102
- - Per-session MCP config — each Claude session gets its own `/tmp/mcp-{taskId}.json` config file instead of sharing `.mcp.json`, eliminating race conditions with concurrent sessions (#192)
103
- - `--strict-mcp-config` flag ensures only per-session MCP servers are loaded (#192)
104
- - Removed time-based `getAgentCurrentTask()` fallback — uses deterministic `sourceTaskId` only
105
- - Slack metadata is now auto-inherited from the creator's current task via `X-Source-Task-Id` header — explicit `slackChannelId`/`slackThreadTs`/`slackUserId` params on `send-task` remain available as optional overrides (#191)
106
-
107
- ### Fixed
108
- - Concurrency safety for Slack metadata auto-inheritance — pass `sourceTaskId` through MCP session context via `X-Source-Task-Id` header instead of guessing current task (#191)
109
- - `send-task` now propagates `sourceTaskId` for accurate Slack metadata lookup
110
-
111
- ## [Unreleased]
112
-
113
- ### Added
114
- - Multi-API-config UI for dashboard — connect to multiple swarm instances from a single browser (#189)
115
- - Slug-based connection data layer with localStorage persistence (Phase 1)
116
- - React context for multi-connection state management (Phase 2)
117
- - Sidebar swarm switcher and header connection name display (Phase 3)
118
- - Config page multi-connection management with URL param modal (Phase 4)
119
- - Health indicator dots in swarm switcher (Phase 5)
120
-
121
- ## [1.44.5] - 2026-03-17
122
-
123
- ### Added
124
- - OpenAPI 3.1 spec at `/openapi.json` (~83KB, ~60 REST endpoints) generated from route registry (#184)
125
- - Scalar interactive API docs at `/docs` — pre-authentication API explorer (#184)
126
- - `MODEL_OVERRIDE` and `CAPABILITIES` env vars for content agents in `docker-compose.example.yml` (#165)
127
- - `content-writer`: `MODEL_OVERRIDE=opus`, capability: `content-writing`
128
- - `content-reviewer`: `MODEL_OVERRIDE=sonnet`, capability: `content-review` (uses Gemini via OpenRouter)
129
- - `content-strategist`: `MODEL_OVERRIDE=sonnet`, capability: `content-strategy`
130
-
131
- ### Changed
132
- - `route()` factory replaces all raw `matchRoute()` calls — typed route definitions with Zod schemas for params, query, and body validation (#184)
133
- - Lead agent now posts task results back to originating Slack threads (#183)
134
- - Worker agents now post start/completion/failure updates to originating Slack threads (#183)
135
-
136
- ### Fixed
137
- - Slack thread follow-ups route to lead when assigned agent is offline (#183)
138
- - `parentTaskId` continuity preserved for follow-up tasks (#183)
139
- - ARM compatibility for Docker Compose — added `platform: linux/amd64` to all services to fix `no matching manifest for linux/arm64/v8` on Apple Silicon Macs (#180)
140
-
141
- ### Added
142
- - Rich Block Kit messages for all Slack responses — structured headers, context, sections, and action buttons (#177)
143
- - Single evolving message per task — assignment, progress, and completion all update one message via `chat.update` (#177)
144
- - Slack Assistant sidebar support with thread routing, suggested prompts, and typing status (#177)
145
- - Interactive actions: follow-up modal for sending follow-up tasks, cancel with confirmation dialog (#177)
146
- - Markdown-to-Slack format converter (`markdownToSlack`) for consistent formatting (#177)
147
- - Per-agent write isolation on shared disk (#172)
148
- - Each agent can only write to its own subdirectory under `/workspace/shared/{category}/{agentId}/`
149
- - PreToolUse hook warns agents before writing to another agent's directory
150
- - PostToolUse hook detects "Read-only file system" errors and guides agents to use their own directory
151
- - Base prompt updated with per-agent directory convention and discovery commands
152
- - Slack download tool saves to per-agent download directory by default
153
- - Claude credential validation — fail fast if no auth is set
154
- - Pre-push hooks to match CI merge gate checks
155
- - Working directory (`dir`) support for agent tasks (#159)
156
- - `send-task` and `task-action` accept `dir` parameter (absolute path) to set agent starting directory
157
- - Runner resolves `dir` for both new and resumed tasks with fallback chain: `task.dir` > `vcsRepo` clone path > default cwd
158
- - System prompt annotated with working directory context when non-default
159
- - Content agent templates: writer, reviewer, strategist (#160, #162)
160
- - 3 new official templates: `official/content-writer`, `official/content-reviewer`, `official/content-strategist`
161
- - Docker-compose examples for all 3 content agents
162
- - Content reviewer configured with Gemini via OpenRouter (`HARNESS_PROVIDER=pi`)
163
- - Template defaults applied during worker registration (#159)
164
- - Templates can now set `name`, `role`, `capabilities`, `maxTasks`, and `isLead` as fallback defaults
165
- - Template fetched before registration so defaults apply to the registration call itself
166
- - Archil FUSE mount support for persistent workspace storage (#166, #168, #169)
167
- - `archil` CLI installed in both API and worker Docker images
168
- - FUSE3 and libfuse2 packages added to Docker images
169
- - Entrypoint-based mount logic for R2-backed persistent disks
170
- - Removed `VOLUME` directives for `/workspace/shared` and `/workspace/personal` to allow FUSE mounts
171
- - Contribution guidelines (CONTRIBUTING.md) with templates linked in docs and landing page (#158)
172
- - Templates registry for agent workers (#155, #156)
173
- - 6 official templates: lead, coder, researcher, reviewer, tester, forward-deployed-engineer
174
- - Templates UI (Next.js) with gallery, detail pages, and interactive docker-compose builder
175
- - `TEMPLATE_ID` env var for initial profile fetching on first boot (e.g., `official/coder`)
176
- - `TEMPLATE_REGISTRY_URL` env var for custom registry endpoints
177
- - Template idempotency: existing profile fields are never overwritten
178
- - GitHub issue/PR templates for community template submissions
179
- - GitLab integration with Provider Adapter Pattern (#153)
180
- - `POST /api/gitlab/webhook` route with timing-safe secret verification
181
- - Handlers for merge_request, issue, note (comments), and pipeline events
182
- - Bot mention detection via `GITLAB_BOT_NAME` env var
183
- - GitLab trigger events for workflow engine (`gitlab.merge_request.*`, `gitlab.issue.*`, etc.)
184
- - `glab` CLI installed in worker Docker image
185
- - VCS provider detection for automatic `gh`/`glab`/`git` clone selection
186
- - New env vars: `GITLAB_TOKEN`, `GITLAB_URL`, `GITLAB_WEBHOOK_SECRET`, `GITLAB_BOT_NAME`, `GITLAB_EMAIL`, `GITLAB_NAME`
187
- - ProviderAdapter abstraction with pi-mono support (#151)
188
- - `ProviderAdapter` interface decouples the runner from Claude CLI
189
- - `ClaudeAdapter` extracted from monolithic runner (~600 lines)
190
- - `PiMonoAdapter` with MCP tool discovery, event normalization, and cost tracking
191
- - All 6 swarm hook events mapped to pi-mono extension handlers
192
- - Selected via `HARNESS_PROVIDER=claude|pi` env var
193
- - Docker multi-provider support in Dockerfile.worker and entrypoint
194
-
195
- ### Changed
196
- - API data disk switched from Archil FUSE to Fly volume for reliability
197
- - Shared disk uses exclusive Archil mounts with `--force` for stale delegation recovery
198
- - Template fetching refactored to run before agent registration (cached and reused for identity files)
199
- - Docker workspace volumes replaced with FUSE mount points for Archil compatibility
200
-
201
- ### Fixed
202
- - Thread follow-ups now route correctly after task completion — `getAgentWorkingOnThread` checks all statuses (#177)
203
- - Docker entrypoint runs as root for FUSE mounts, then drops to worker user via `gosu` before exec
204
- - Archil FUSE mount fixes: read-write mounts, per-agent subdirectory checkout, POSIX signal names in entrypoint, shared flag for mount calls
205
- - `dir` validation added to MCP tool schemas with inner type cast fix
206
- - Workspace `mkdir` made non-fatal for read-only Archil mounts
207
- - VOLUME directives removed from Dockerfile.worker to unblock FUSE mounts on Fly.io
208
-
209
- ### Changed
210
- - Memory system enhancements (#148)
211
- - Epic-linked task completions auto-promote to swarm scope (visible to all workers)
212
- - `inject-learning` creates swarm-scoped memories
213
- - Mandatory `memory-search` directive in base prompt
214
- - Follow-up tasks include epic context (goal, plan, progress, nextSteps)
215
- - Server-side memory injection enriched with epic name/goal and recent task summaries
216
- - New `nextSteps` column on epics (migration 005)
217
- - Base prompt updated with VCS CLI comparison table (gh vs glab)
218
- - DB migration 006: renames `github*` columns to `vcs*`, adds `vcsProvider` column
219
-
220
- ### Fixed
221
- - Prevent duplicate review tasks and fix PR Lifecycle workflow (#150)
222
- - Dedup guard for review task creation
223
- - Action filtering fixes in webhook handlers
224
- - Webhook enrichment improvements
225
-
226
- - Workflow automation engine with DAG-based node execution (#142)
227
- - Trigger nodes: task created/completed, GitHub events, Slack messages, email, webhooks
228
- - Condition nodes: property-match, code-match (sandboxed JS), LLM-classify
229
- - Action nodes: create-task, send-message, delegate-to-agent
230
- - Template interpolation with `{{variable}}` syntax in node configs
231
- - Async node support with pause/resume for long-running actions
232
- - Stuck run recovery and retry-from-failure support
233
- - 9 MCP tools for workflow CRUD, triggering, and run management
234
- - REST API endpoints for workflows and runs
235
- - Workflows UI with React Flow graph visualization (#144)
236
- - Interactive DAG visualization with dagre auto-layout
237
- - Custom node components (TriggerNode, ConditionNode, ActionNode) with status overlays
238
- - Workflow runs table with execution status tracking
239
- - Step detail drill-down panel
240
- - Workflows section in dashboard sidebar under Operations
241
- - E2E workflow test with Docker worker integration
242
- - Database migration system with numbered `.sql` files and incremental runner (#133)
243
- - Lightweight code-level heartbeat module for swarm triage without spinning up Claude sessions (#124)
244
- - 3-tier approach: preflight gate, code-level triage, Claude escalation
245
- - Auto-assignment of pool tasks to idle workers
246
- - Stall detection for in-progress tasks
247
- - Worker health status correction
248
- - Configurable via `HEARTBEAT_*` environment variables
249
-
250
- ### Changed
251
- - Migrated inline `try { ALTER TABLE } catch {}` schema blocks to `src/be/migrations/` folder
252
-
253
- ### Fixed
254
- - `property-match` workflow node crash when config uses flat format (`property`/`operator`/`value`) instead of `conditions` array (#146)
255
- - API migration Dockerfile fix for workflow schema
256
-
257
- ## [1.43.0] - 2026-03-12
258
-
259
- ### Added
260
- - Slack thread follow-up routing — @mentions in threads route directly to the worker already active in that thread, bypassing lead delegation
261
- - Additive Slack buffer (`ADDITIVE_SLACK=true`) — non-mention thread replies are debounced and batched into a single follow-up task with dependency chaining
262
- - `!now` command for instant buffer flush without dependency chaining
263
- - `HEURISTICS.md` documenting all Slack routing rules and buffering behavior
264
- - `reactions:write` Slack scope for visual buffer feedback (:eyes:, :heavy_plus_sign:, :zap:)
265
-
266
- ### Changed
267
- - Eliminated inbox message system — all Slack and AgentMail messages now route directly as tasks
268
- - Leads poll for tasks like workers (removed poll-task lead block)
269
- - Child tasks auto-inherit Slack/AgentMail metadata from parent tasks
270
- - Removed `inbox-delegate` and `get-inbox-message` MCP tools
271
- - Removed fuzzy name matching from Slack router (replaced by task-based routing)
272
-
273
- ### Fixed
274
- - AgentMail sender domain filter now correctly handles "Name \<email\>" format
275
-
276
- ## [1.36.0] - 2026-03-06
277
-
278
- ### Added
279
- - One-time (delayed) scheduled tasks alongside recurring schedules
280
- - New `scheduleType` field: `recurring` (default) or `one_time`
281
- - `create-schedule` accepts `delayMs` (relative delay) or `runAt` (absolute ISO datetime) for one-time schedules
282
- - One-time schedules auto-disable after execution
283
- - `list-schedules` hides completed one-time schedules by default (`hideCompleted`)
284
- - UI shows type badges (amber=one-time, emerald=recurring)
285
- - AgentMail webhook domain filters: `AGENTMAIL_INBOX_DOMAIN_FILTER` and `AGENTMAIL_SENDER_DOMAIN_FILTER` env vars to filter incoming webhooks by inbox and sender domain
286
-
287
- ### Changed
288
- - Docker worker improvements: streamlined `Dockerfile.worker` and `docker-entrypoint.sh`
289
-
290
- ## [1.35.2] - 2026-03-05
291
-
292
- ### Fixed
293
- - Avoid duplicate heartbeat triage task creation for the same stalled task set
294
- - Run stale heartbeat resource cleanup even when preflight triage gate bails
295
-
296
- ## [1.35.1] - 2026-03-05
297
-
298
- ### Fixed
299
- - Use unique port variables per service in `docker-compose.example.yml` to avoid conflicts (#137)
300
- - Clarified that port variables are examples and that isolated network namespaces can share ports
301
-
302
- ### Changed
303
- - Added internal cross-links across docs pages and blog/examples navigation (#135)
304
- - Added canonical URLs and JSON-LD structured data to docs pages
305
-
306
- ## [1.34.0] - 2026-03-04
307
-
308
- ### Added
309
- - Task cost tracking and display in task details page (#131)
310
- - Schedule and epic HTTP API endpoints for CRUD operations
311
- - Exhaustive HTTP API integration test suite (#132)
312
- - `claude-context-mode` as default context management plugin for workers (#125)
313
- - Base prompt test coverage
314
-
315
- ### Changed
316
- - Refactored monolithic `src/http.ts` into modular route handlers under `src/http/` (#132)
317
- - Abstracted route matching into `matchRoute` utility with dedicated tests
318
- - Converted handler dispatch to registry-based for-loop pattern
319
- - Improved system prompt assembly in `base-prompt.ts`
320
-
321
- ### Fixed
322
- - Context-mode marketplace plugin ID in install command (#130)
323
- - Lint warnings and type errors across HTTP route handlers
324
-
325
- ## [1.32.0] - 2026-03-03
326
-
327
- ### Added
328
- - Model control per task, schedule, and global override — `model` parameter (`haiku`/`sonnet`/`opus`) on `send-task`, `task-action`, `create-schedule`, and `update-schedule` (#127)
329
- - Schedule-to-task linking via `scheduleId` — tasks created by schedules have a direct back-reference and `get-tasks` supports filtering by `scheduleId` (#127)
330
- - Multi-credential support — `CLAUDE_CODE_OAUTH_TOKEN` and `ANTHROPIC_API_KEY` accept comma-separated values for load balancing across subscriptions (#119)
331
- - `ANTHROPIC_API_KEY` as alternative credential to `CLAUDE_CODE_OAUTH_TOKEN`
332
- - x402 payments guide page and environment variables reference in documentation site
333
-
334
- ## [1.31.0] - 2026-02-28
335
-
336
- ### Added
337
- - x402 payment capability for agents — automatic USDC micropayments for x402-gated APIs (#108)
338
- - Dual signer support: Openfort (managed wallet in TEE) and viem (raw private key)
339
- - Openfort backend wallet signer with v-value normalization for USDC settlement
340
- - x402 CLI for testing payments (`check`, `fetch`, `status` commands)
341
- - Spending tracker with per-request and daily limits
342
- - Real testnet E2E tests with x402.org facilitator on Base Sepolia
343
- - Landing site: x402 example page, blog section with Openfort hackathon post and swarm metrics post
344
-
345
- ### Fixed
346
- - Openfort signature v-value normalization (v=0/1 to v=27/28) for on-chain USDC settlement
347
- - Network chain passthrough to Openfort signer (was hardcoded to baseSepolia)
348
-
349
- ## [1.30.1] - 2026-02-28
350
-
351
- ### Added
352
- - Agent `lastActivityAt` timestamp for stall detection (#105)
353
- - Slack attachment handling — voice memos, images, and file uploads are now processed as messages (#103)
354
- - `includeHeartbeat` filter for `get-tasks` — heartbeat/system tasks are excluded by default (#102)
355
- - Tool annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`) on all 36 MCP tools for improved Tool Search discoverability (#95)
356
-
357
- ### Changed
358
- - Pinned Dockerfile builder to `bun:1.3.9` for reproducible builds
359
- - Dockerfile improvements: `pipefail`, consolidated `RUN` layers, `--no-install-recommends` for Node.js and GitHub CLI
360
- - Removed `cc-ai-tracker` from worker image agent tools
361
- - README optimized for GitHub star conversion: badges, hero, issue/PR templates (#104)
362
-
363
- ## [1.28.1] - 2026-02-27
364
-
365
- ### Added
366
- - Fumadocs documentation site at docs.agent-swarm.dev (18 pages across architecture, concepts, guides, and reference sections)
367
- - Agent-swarm.dev landing page
368
- - Agent artifacts feature via localtunnel — SDK, CLI command, `/artifacts` skill, and Docker support
369
- - Depot build system for Docker images
370
- - Slack offline message queuing — @mentions when no agents are online are now queued as tasks
371
- - `AGENTMAIL_DISABLE` env var to skip AgentMail integration
372
-
373
- ### Changed
374
- - Server-side aggregation for usage pages (performance improvement)
375
- - Removed old `ui/` directory in favor of `new-ui/`
376
-
377
- ### Fixed
378
- - Usage pages performance issues (5 review fixes: full table scan, SQL parameterization, useMemo deps, groupBy validation, test coverage)
379
- - CI path filtering to skip workflows for docs-site and landing directory changes
380
-
381
- ## [1.28.0] - 2026-02-17
382
-
383
- ### Added
384
- - New dashboard UI ("Mission Control" theme) with AG Grid, command palette, and dark mode
385
- - Phase 1-6: project scaffolding, app shell, config page, agents/tasks/epics pages, chat/schedules/usage pages, polish
386
- - Comprehensive env vars reference and agent configuration docs
387
- - Active sessions table for lead concurrency tracking
388
- - Concurrent context endpoint for lead session awareness
389
- - Task deduplication guard to prevent concurrent lead duplicates
390
- - Workers wake on in-app chat @mentions
391
- - Delete-channel MCP tool (lead-only)
392
-
393
- ### Changed
394
- - README and docs cleaned up for public launch
395
- - Polished env examples and DEPLOYMENT.md
396
-
397
- ### Fixed
398
- - New UI: CSS vars instead of hardcoded oklch in charts
399
- - New UI: swapped theme and sidebar active state
400
- - New UI: stale config dialog, chat URL params; removed dead code
401
- - Zombie task revival — prevent completed tasks from being revived
402
- - Task pool claiming made atomic to prevent race conditions
403
-
404
- ## [1.25.0] - 2026-02-07
405
-
406
- ### Added
407
- - Agent self-improvement mechanisms (7 proposals implemented)
408
- - Follow-up task creation for lead on worker task completion
409
- - `/internal/reload-config` endpoint and config loader extraction
410
- - Session error tracking with meaningful error reporting for failed worker sessions
411
-
412
- ### Fixed
413
- - Graceful fallback when session resume fails with stale session ID
414
- - Lead task completion polling prioritization and increased concurrency
415
- - Slack initialized flag reset on stop
416
- - AgentMail `from_` type fix
417
-
418
- ## [1.21.0] - 2026-01-28
419
-
420
- ### Added
421
- - MCP tools for swarm config management and server config injection
422
- - AgentMail webhook support
423
- - Persistent memory system with vector search
424
- - Centralized repo management
425
- - Persistent setup scripts and TOOLS.md for agents
426
- - Soul/identity editors in UI profile modal
427
- - Session attachment with `--resume` logic in runner for session continuity
428
-
429
- ### Fixed
430
- - Permanent notification loss from mark-before-process race
431
- - 404 handling in task finalization
432
- - Config upsert with NULL scopeId for global config
433
-
434
- ## [1.16.3] - 2026-01-14
435
-
436
- ### Added
437
- - Epics feature for project-level task organization
438
- - Lead-only authorization for epic tools
439
- - Slack user filtering by email domain and user ID whitelist
440
- - Scheduled tasks feature (cron-based recurring task automation)
441
-
442
- ### Fixed
443
- - Task totals to show absolute counts
444
-
445
- ## [1.15.8] - 2026-01-07
446
-
447
- _Initial tracked version. Earlier changes are not included in this changelog._