@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
@@ -1,179 +0,0 @@
1
- ---
2
- title: Slack Integration
3
- description: Set up Slack to create tasks and communicate with agents
4
- ---
5
-
6
- # Slack Integration
7
-
8
- Enable Slack for task creation, agent communication, and interactive workflows via direct messages and the Slack Assistant sidebar.
9
-
10
- ## Setup
11
-
12
- 1. Create a [Slack App](https://api.slack.com/apps)
13
- 2. Enable **Socket Mode** (for real-time events without public webhooks)
14
- 3. Enable **Interactivity** (for action buttons and modals)
15
- 4. Enable **Assistant View** (for sidebar conversations)
16
- 5. Add required bot token scopes:
17
- - `app_mentions:read`
18
- - `assistant:write`
19
- - `channels:history`, `channels:read`
20
- - `chat:write`, `chat:write.customize`, `chat:write.public`
21
- - `commands`
22
- - `files:read`, `files:write`
23
- - `groups:history`, `groups:read`
24
- - `im:history`, `im:read`, `im:write`
25
- - `mpim:history`, `mpim:read`, `mpim:write`
26
- - `reactions:write`
27
- - `users:read`
28
- 6. Subscribe to bot events: `app_mention`, `assistant_thread_started`, `assistant_thread_context_changed`, `message.channels`, `message.groups`, `message.im`, `message.mpim`
29
- 7. Install to your workspace and copy tokens
30
-
31
- A ready-to-use `slack-manifest.json` is included in the repository root — import it directly in the Slack App configuration page to set up all scopes, events, and features automatically.
32
-
33
- ## Configuration
34
-
35
- ```bash
36
- # Required for Slack
37
- SLACK_BOT_TOKEN=xoxb-... # Bot User OAuth Token
38
- SLACK_APP_TOKEN=xapp-... # App-Level Token (Socket Mode)
39
- SLACK_SIGNING_SECRET=... # Signing Secret (optional for Socket Mode)
40
-
41
- # Disable Slack (if not using)
42
- SLACK_DISABLE=true
43
- ```
44
-
45
- ## How It Works
46
-
47
- ### Creating Tasks
48
-
49
- @mention the bot in Slack to create tasks. All Slack messages are routed directly as tasks — there is no separate inbox system.
50
-
51
- **Routing priority:**
52
-
53
- 1. `swarm#<uuid>` — explicit agent targeting (always wins)
54
- 2. `swarm#all` — broadcast to all workers
55
- 3. **Thread follow-up** — if in a thread where a worker is already active, routes directly to that worker
56
- 4. **Lead fallback** — if the bot was @mentioned and no other match, routes to the lead agent
57
-
58
- If no agents are online, the message is queued as an unassigned task in the pool. The bot confirms that your request has been queued and will be processed when agents come back up.
59
-
60
- ### Thread Follow-up Routing
61
-
62
- When you @mention the bot in a thread where a worker is already handling a task, the message routes directly to that worker — no lead delegation needed. This keeps conversations flowing naturally.
63
-
64
- If the assigned worker is offline or unavailable, the follow-up routes to the lead agent instead of dropping the message. The lead picks up the thread context and continues the conversation, preserving `parentTaskId` continuity for chained tasks.
65
-
66
- ### Slack Context Propagation
67
-
68
- Slack metadata (`slackChannelId`, `slackThreadTs`, `slackUserId`) is **auto-inherited** from the creator's current task. When a lead delegates work from a Slack-originated task, workers automatically receive the Slack context and post progress updates to the originating thread — no manual metadata passing needed.
69
-
70
- The auto-inheritance works via the `X-Source-Task-Id` header, which links the new task back to the creator's active task to look up Slack metadata.
71
-
72
- For cases where auto-inheritance isn't available (e.g., programmatic task creation without an active parent task), you can pass Slack metadata explicitly on `send-task`:
73
-
74
- - `slackChannelId` — Channel ID for progress updates
75
- - `slackThreadTs` — Thread timestamp for thread-level updates
76
- - `slackUserId` — Original requester's Slack user ID
77
-
78
- Explicit params override auto-inherited values when both are present.
79
-
80
- ### Additive Slack Buffer
81
-
82
- When enabled via `ADDITIVE_SLACK=true`, thread replies that do NOT @mention the bot are captured, buffered, and batched into a single follow-up task. This allows multi-message feedback without requiring an @mention each time.
83
-
84
- - Messages are buffered for a configurable debounce window (`ADDITIVE_SLACK_BUFFER_MS`, default 10s)
85
- - Buffered messages are flushed into a single task with dependency chaining to the active task
86
- - Use the `!now` command to flush the buffer immediately without dependency chaining
87
- - Reactions provide visual feedback: :eyes: for captured, :heavy_plus_sign: for appended, :zap: for `!now`
88
-
89
- ### Single Evolving Message
90
-
91
- Each task gets a single Slack message that evolves through its lifecycle — from assignment to progress to completion. Instead of posting multiple messages, the bot uses `chat.update` to update one message in place:
92
-
93
- 1. **Assignment** — When a task is created from Slack, the bot posts a structured Block Kit message with the task link, assigned agent, and status
94
- 2. **Progress** — As the agent works, progress updates replace the message content (keeping the same message)
95
- 3. **Completion** — The final message shows the task output, status, and action buttons
96
-
97
- This keeps threads clean and avoids message spam during long-running tasks.
98
-
99
- ### Rich Block Kit Messages
100
-
101
- All Slack responses use structured [Block Kit](https://api.slack.com/block-kit) layouts instead of plain text:
102
-
103
- - **Headers** with task status indicators
104
- - **Context blocks** showing agent name, task ID, and timestamps
105
- - **Section blocks** for progress and output text
106
- - **Action buttons** for follow-up and viewing task logs
107
- - Markdown is automatically converted to Slack's `mrkdwn` format
108
-
109
- ### Interactive Actions
110
-
111
- Task completion messages include interactive buttons:
112
-
113
- - **Follow-up** — Opens a modal to send a follow-up message to the same agent, creating a new task with dependency on the completed one
114
- - **View Full Logs** — Links to the task detail page in the dashboard
115
- - **Cancel** — Shows a confirmation dialog before cancelling an in-progress task
116
-
117
- ### Assistant Sidebar
118
-
119
- The bot supports Slack's [Assistant](https://api.slack.com/docs/apps/ai) sidebar for direct conversations:
120
-
121
- - Open the sidebar in any channel or DM to start a conversation
122
- - Suggested prompts help you get started ("Check agent status", "Assign a task", "List recent tasks")
123
- - Follow-up messages in assistant threads route to the same agent that handled the original task
124
- - The assistant sets a typing status while the agent is working
125
-
126
- ### Progress Updates
127
-
128
- Workers reply in Slack threads with progress updates using the `slack-reply` MCP tool. This keeps the conversation context in one place.
129
-
130
- ### Reading Messages
131
-
132
- Agents can read Slack threads using `slack-read`:
133
- - By task ID (reads the thread associated with a task)
134
- - By channel ID (leads only, for channel history)
135
-
136
- ### Posting Messages
137
-
138
- The lead agent can post new messages to channels using `slack-post`.
139
-
140
- ## User Filtering
141
-
142
- By default, all Slack users can interact with the bot. To restrict access:
143
-
144
- ```bash
145
- # Only users with matching email domains
146
- SLACK_ALLOWED_EMAIL_DOMAINS=company.com,partner.com
147
-
148
- # Specific user IDs always allowed (useful for admins)
149
- SLACK_ALLOWED_USER_IDS=U12345678,U87654321
150
- ```
151
-
152
- If both are set, a user must match **either** an allowed domain **or** be in the user ID whitelist.
153
-
154
- ## Attachment Handling
155
-
156
- Slack messages with file attachments (voice memos, images, documents) are automatically recognized and processed. When a user sends a file — even without any text — the bot detects it and includes attachment metadata (filename, MIME type, size, Slack file ID) in the task description.
157
-
158
- This means agents can:
159
- - Receive voice messages or image uploads as tasks
160
- - Access file metadata to decide whether to download and process attachments
161
- - Use `slack-download-file` to retrieve the actual file content
162
-
163
- ## File Handling
164
-
165
- Agents can upload and download files via Slack:
166
-
167
- - **`slack-upload-file`** — Upload a file to a Slack channel or thread
168
- - **`slack-download-file`** — Download a file from Slack by file ID or URL
169
-
170
- Files are saved to `/workspace/shared/downloads/{agentId}/slack/` by default (each agent writes to its own subdirectory).
171
-
172
- ## Related
173
-
174
- - [Environment Variables](/docs/reference/environment-variables) — Slack configuration variables (`SLACK_BOT_TOKEN`, etc.)
175
- - [Task Lifecycle](/docs/concepts/task-lifecycle) — How Slack messages become tasks
176
- - [GitHub App Integration](/docs/guides/github-integration) — Another external task source
177
- - [Linear Integration](/docs/guides/linear-integration) — Bidirectional ticket tracking with Linear
178
- - [Sentry Integration](/docs/guides/sentry-integration) — Automated error triage from Sentry
179
- - [x402 Payments](/docs/guides/x402-payments) — Enable agents to make crypto micropayments
@@ -1,154 +0,0 @@
1
- ---
2
- title: x402 Payments
3
- description: Enable agents to make USDC micropayments on x402-gated APIs
4
- ---
5
-
6
- # x402 Payments
7
-
8
- Agent Swarm includes built-in support for [x402](https://x402.org/) payments, allowing agents to automatically pay for x402-gated API endpoints using USDC on Base.
9
-
10
- ## How It Works
11
-
12
- x402 is an open payment protocol that uses the HTTP 402 "Payment Required" status code for native micropayments over HTTP. When an agent calls an x402-gated API:
13
-
14
- 1. The initial request returns a `402 Payment Required` response
15
- 2. The x402 client automatically signs a USDC payment authorization (EIP-3009)
16
- 3. The request is retried with the payment signature
17
- 4. The API returns the response — payment is settled on-chain asynchronously
18
-
19
- The entire flow is **gasless** for the payer and completes in ~1.5–2 seconds.
20
-
21
- ## Setup
22
-
23
- ### Choose a Signer
24
-
25
- Two signer backends are supported:
26
-
27
- | Backend | Env Vars | Best For |
28
- |---------|----------|----------|
29
- | **Openfort** (recommended) | `OPENFORT_API_KEY` + `OPENFORT_WALLET_SECRET` | Production — keys managed in TEE |
30
- | **Viem** | `EVM_PRIVATE_KEY` | Development/testing — raw private key |
31
-
32
- The signer is auto-detected based on which credentials are set. Use `X402_SIGNER_TYPE` to override.
33
-
34
- ### Openfort Setup
35
-
36
- 1. Create an account at [openfort.xyz](https://www.openfort.xyz/)
37
- 2. Get your API key and wallet secret
38
- 3. Set environment variables:
39
-
40
- ```bash
41
- OPENFORT_API_KEY=sk_test_...
42
- OPENFORT_WALLET_SECRET=<base64-encoded-p256-key>
43
- ```
44
-
45
- ### Viem Setup
46
-
47
- 1. Generate a wallet (e.g., `cast wallet new`)
48
- 2. Get test USDC from the [CDP Faucet](https://portal.cdp.coinbase.com/products/faucet) on Base Sepolia
49
- 3. Set environment variable:
50
-
51
- ```bash
52
- EVM_PRIVATE_KEY=0x...
53
- ```
54
-
55
- No ETH needed — x402 payments are gasless for the payer.
56
-
57
- ### Spending Limits
58
-
59
- Configure via environment variables or programmatically:
60
-
61
- | Variable | Default | Description |
62
- |----------|---------|-------------|
63
- | `X402_MAX_AUTO_APPROVE` | `$1.00` | Max per-request |
64
- | `X402_DAILY_LIMIT` | `$10.00` | Max per-day |
65
-
66
- See the full [environment variables reference](/docs/reference/environment-variables#x402-payments).
67
-
68
- ## Usage
69
-
70
- ### Drop-in Fetch Replacement
71
-
72
- ```typescript
73
- import { createX402Fetch } from "@/x402";
74
-
75
- const paidFetch = createX402Fetch();
76
-
77
- // Use like normal fetch — 402 payments are automatic
78
- const response = await paidFetch("https://api.example.com/paid-endpoint");
79
- const data = await response.json();
80
- ```
81
-
82
- ### Full Client with Spending Tracking
83
-
84
- ```typescript
85
- import { createX402Client } from "@/x402";
86
-
87
- const client = await createX402Client();
88
-
89
- // Make paid requests
90
- const response = await client.fetch("https://api.example.com/paid-endpoint");
91
-
92
- // Check spending
93
- const summary = client.getSpendingSummary();
94
- console.log(`Spent today: $${summary.todaySpent.toFixed(2)}`);
95
- console.log(`Remaining: $${summary.dailyRemaining.toFixed(2)}`);
96
- ```
97
-
98
- ### Custom Configuration
99
-
100
- ```typescript
101
- import { createX402Client } from "@/x402";
102
-
103
- const client = await createX402Client({
104
- maxAutoApprove: 0.50, // Max $0.50 per request
105
- dailyLimit: 5.00, // Max $5.00 per day
106
- network: "eip155:8453", // Base mainnet
107
- });
108
- ```
109
-
110
- ## CLI
111
-
112
- Test x402 payments from the command line:
113
-
114
- ```bash
115
- # Check configuration
116
- bun src/x402/cli.ts check
117
-
118
- # Make a paid request
119
- bun src/x402/cli.ts fetch https://api.example.com/paid-endpoint
120
-
121
- # View spending summary
122
- bun src/x402/cli.ts status
123
- ```
124
-
125
- ## Module Structure
126
-
127
- ```
128
- src/x402/
129
- ├── index.ts # Public API re-exports
130
- ├── client.ts # Payment client with spending limits
131
- ├── config.ts # Environment variable loading
132
- ├── openfort-signer.ts # Openfort backend wallet signer
133
- ├── spending-tracker.ts # In-memory spending tracking
134
- └── cli.ts # CLI for testing payments
135
- ```
136
-
137
- ## Security
138
-
139
- - **Use burner wallets** — load only small amounts of working capital
140
- - **Set spending limits** — configure per-request and daily limits
141
- - **Never commit private keys** — always use environment variables
142
- - **Testnet first** — use Base Sepolia (`eip155:84532`) during development
143
- - **Openfort for production** — keys managed in a TEE, not on disk
144
-
145
- ## Further Reading
146
-
147
- - [x402 Protocol Specification](https://github.com/coinbase/x402/blob/main/specs/x402-specification.md)
148
- - [x402 Buyer Quickstart](https://docs.cdp.coinbase.com/x402/quickstart-for-buyers)
149
- - [x402.org](https://www.x402.org/)
150
-
151
- ## Related
152
-
153
- - [Environment Variables](/docs/reference/environment-variables#x402-payments) — x402 configuration variables
154
- - [Architecture Overview](/docs/architecture/overview) — How the x402 module fits into the system
@@ -1,65 +0,0 @@
1
- ---
2
- title: Overview
3
- description: Multi-agent orchestration for AI coding assistants
4
- ---
5
-
6
- # Agent Swarm
7
-
8
- Agent Swarm lets you run a team of AI coding agents that coordinate autonomously. A **lead agent** receives tasks (from you, Slack, or GitHub), breaks them down, and delegates to **worker agents** running in Docker containers. Workers execute tasks, report progress, and ship code — all without manual intervention.
9
-
10
- Built by [desplega.sh](https://desplega.sh) — build by builders, for builders.
11
-
12
- ## Key Features
13
-
14
- - **Lead/Worker coordination** — A lead agent delegates and tracks work across multiple workers
15
- - **Docker isolation** — Each worker runs in its own container with a full dev environment
16
- - **Slack, GitHub, GitLab & Email integration** — Create tasks by messaging the bot, @mentioning it in issues/PRs/MRs, or sending an email
17
- - **Task lifecycle** — Priority queues, dependencies, pause/resume across deployments
18
- - **Compounding memory** — Agents learn from every session and get smarter over time
19
- - **Persistent identity** — Each agent has its own personality, expertise, and working style that evolves
20
- - **Dashboard UI** — Real-time monitoring of agents, tasks, and inter-agent chat
21
- - **Service discovery** — Workers can expose HTTP services and discover each other
22
- - **Scheduled tasks** — Recurring and one-time task automation (cron, interval, or delayed)
23
- - **Workflow automation** — DAG-based workflow engine with triggers, conditions, and actions
24
- - **x402 payments** — Agents can make USDC micropayments for x402-gated APIs
25
- - **Agent-fs integration** — Persistent, searchable filesystem shared across the swarm
26
- - **Debug dashboard** — SQL query interface for database inspection (lead-only)
27
- - **[Linear integration](/docs/guides/linear-integration)** — Bidirectional ticket tracker sync with AgentSession lifecycle
28
- - **Portless local dev** — Friendly domain URLs for local development
29
- - **Onboard wizard** — Interactive CLI to set up a new swarm from scratch with Docker Compose
30
-
31
- ## How It Works
32
-
33
- ```mermaid
34
- graph TD
35
- User["You (Slack / GitHub / Email / CLI)"] --> Lead["Lead Agent"]
36
- Lead <--> API["MCP API Server"]
37
- API <--> DB["SQLite DB"]
38
- Lead --> W1["Worker"]
39
- Lead --> W2["Worker"]
40
- Lead --> W3["Worker"]
41
- W1 -.- D1["Docker container"]
42
- W2 -.- D2["Docker container"]
43
- W3 -.- D3["Docker container"]
44
- ```
45
-
46
- 1. **You send a task** — via Slack DM, GitHub @mention, email, or directly through the API
47
- 2. **Lead agent plans** — breaks the task down and assigns subtasks to workers
48
- 3. **Workers execute** — each in an isolated Docker container with git, Node.js, Python, etc.
49
- 4. **Progress is tracked** — real-time updates in the dashboard, Slack threads, or API
50
- 5. **Results are delivered** — PRs created, issues closed, Slack replies sent
51
- 6. **Agents learn** — every session's learnings are extracted and recalled in future tasks
52
-
53
- ## Supported AI Assistants
54
-
55
- Agent Swarm currently supports **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** as the AI coding assistant. Support for other agents (Codex, Gemini CLI, and other MCP-compatible assistants) is coming soon.
56
-
57
- ## Next Steps
58
-
59
- - [Getting Started](/docs/getting-started) — Set up your first swarm
60
- - [Architecture Overview](/docs/architecture/overview) — Understand how the system works
61
- - [Core Concepts](/docs/concepts/task-lifecycle) — Learn about tasks, agents, and coordination
62
-
63
- ---
64
-
65
- _Last updated: March 21, 2026 — v1.49.0_
@@ -1,19 +0,0 @@
1
- {
2
- "title": "Documentation",
3
- "description": "Guides, concepts, and reference for Agent Swarm",
4
- "root": true,
5
- "pages": [
6
- "index",
7
- "getting-started",
8
- "---Architecture---",
9
- "architecture",
10
- "---Concepts---",
11
- "concepts",
12
- "---Guides---",
13
- "guides",
14
- "---Reference---",
15
- "reference",
16
- "---Community---",
17
- "contributing"
18
- ]
19
- }
@@ -1,241 +0,0 @@
1
- ---
2
- title: CLI Reference
3
- description: Complete CLI reference for managing agents, tasks, and swarm configuration from the terminal
4
- ---
5
-
6
- # CLI Reference
7
-
8
- Agent Swarm provides a CLI for managing the swarm, running agents, and development.
9
-
10
- ## Installation
11
-
12
- ```bash
13
- # Run directly with bunx
14
- bunx @desplega.ai/agent-swarm <command>
15
-
16
- # Or install globally
17
- bun install -g @desplega.ai/agent-swarm
18
- agent-swarm <command>
19
- ```
20
-
21
- ## Commands
22
-
23
- ### onboard
24
-
25
- Set up a new swarm from scratch using Docker Compose. Interactive wizard that collects credentials, generates `docker-compose.yml` + `.env`, starts the stack, and verifies health.
26
-
27
- ```bash
28
- bunx @desplega.ai/agent-swarm onboard
29
- bunx @desplega.ai/agent-swarm onboard --dry-run
30
- bunx @desplega.ai/agent-swarm onboard --yes --preset=dev
31
- ANTHROPIC_API_KEY=sk-... bunx @desplega.ai/agent-swarm onboard --yes --preset=solo
32
- ```
33
-
34
- | Option | Description |
35
- |--------|-------------|
36
- | `--dry-run` | Preview what would be generated without writing |
37
- | `-y, --yes` | Non-interactive mode (reads from env vars) |
38
- | `--preset <name>` | Preset: `dev`, `content`, `research`, `solo` |
39
-
40
- ### connect
41
-
42
- Connect this project to an existing swarm. Creates `.mcp.json` and `.claude/settings.local.json` with server URL and API key. Auto-reads `API_KEY` from `.env` if present.
43
-
44
- ```bash
45
- bunx @desplega.ai/agent-swarm connect
46
- bunx @desplega.ai/agent-swarm connect --dry-run
47
- bunx @desplega.ai/agent-swarm connect -y
48
- ```
49
-
50
- | Option | Description |
51
- |--------|-------------|
52
- | `--dry-run` | Show what would be changed without writing |
53
- | `--restore` | Restore files from `.bak` backups |
54
- | `-y, --yes` | Non-interactive mode (use env vars) |
55
-
56
- ### api
57
-
58
- Start the API + MCP HTTP server.
59
-
60
- ```bash
61
- bunx @desplega.ai/agent-swarm api
62
- bunx @desplega.ai/agent-swarm api --port 8080 --key my-secret
63
- bunx @desplega.ai/agent-swarm api --db /data/swarm.sqlite
64
- ```
65
-
66
- | Option | Description |
67
- |--------|-------------|
68
- | `-p, --port <port>` | Port to listen on (default: 3013) |
69
- | `-k, --key <key>` | API key for authentication |
70
- | `--db <path>` | Database file path (default: `./agent-swarm-db.sqlite`) |
71
-
72
- ### claude
73
-
74
- Run Claude CLI with optional message and headless mode.
75
-
76
- ```bash
77
- agent-swarm claude
78
- agent-swarm claude --headless -m "Hello"
79
- agent-swarm claude -- --resume
80
- ```
81
-
82
- | Option | Description |
83
- |--------|-------------|
84
- | `-m, --msg <message>` | Message to send to Claude |
85
- | `--headless` | Run in headless mode (stream JSON output) |
86
- | `-- <args...>` | Additional arguments to pass to Claude CLI |
87
-
88
- ### worker
89
-
90
- Run Claude in headless loop mode as a worker agent.
91
-
92
- ```bash
93
- agent-swarm worker
94
- agent-swarm worker --yolo
95
- agent-swarm worker -m "Custom prompt"
96
- agent-swarm worker --system-prompt "You are a Python specialist"
97
- ```
98
-
99
- | Option | Description |
100
- |--------|-------------|
101
- | `-m, --msg <prompt>` | Custom prompt (default: `/agent-swarm:start-worker`) |
102
- | `--yolo` | Continue on errors instead of stopping |
103
- | `--system-prompt <text>` | Custom system prompt (appended to Claude) |
104
- | `--system-prompt-file <path>` | Read system prompt from file |
105
- | `--ai-loop` | Use AI-based polling (legacy mode) |
106
- | `-- <args...>` | Additional arguments to pass to Claude CLI |
107
-
108
- ### lead
109
-
110
- Run Claude as lead agent in headless loop mode. Same options as `worker`.
111
-
112
- ```bash
113
- agent-swarm lead
114
- agent-swarm lead --yolo
115
- ```
116
-
117
- ### docs
118
-
119
- Show the documentation URL. All pages are also available in markdown format by appending `.md` to the URL.
120
-
121
- ```bash
122
- bunx @desplega.ai/agent-swarm docs
123
- bunx @desplega.ai/agent-swarm docs --open
124
- ```
125
-
126
- | Option | Description |
127
- |--------|-------------|
128
- | `--open` | Open docs in default browser |
129
-
130
- ### hook
131
-
132
- Handle Claude Code hook events from stdin. Used internally by the agent-swarm hooks system.
133
-
134
- ```bash
135
- agent-swarm hook
136
- ```
137
-
138
- ### artifact
139
-
140
- Manage agent artifacts — serve static files or Hono apps via localtunnel.
141
-
142
- ```bash
143
- # Serve a directory as a public artifact
144
- agent-swarm artifact serve ./my-report --name my-report
145
-
146
- # Serve a Hono app (must export default Hono instance)
147
- agent-swarm artifact serve ./server.ts --name dashboard
148
-
149
- # List active artifacts
150
- agent-swarm artifact list
151
-
152
- # Stop an artifact
153
- agent-swarm artifact stop my-report
154
- ```
155
-
156
- **Subcommands:**
157
-
158
- | Subcommand | Description |
159
- |------------|-------------|
160
- | `serve <path>` | Serve a directory or script via localtunnel |
161
- | `list` | List active artifacts from the service registry |
162
- | `stop <name>` | Stop an artifact and close its tunnel |
163
-
164
- **Options for `serve`:**
165
-
166
- | Option | Description |
167
- |--------|-------------|
168
- | `--name <name>` | Name for the artifact (derived from path if omitted) |
169
- | `--port <port>` | Local port to use |
170
- | `--no-auth` | Disable authentication |
171
- | `--subdomain <sub>` | Request a specific localtunnel subdomain |
172
-
173
- Artifacts are registered in the service registry and automatically cleaned up when the session ends (via the Stop hook).
174
-
175
- ## Development Commands
176
-
177
- These are available when developing Agent Swarm locally:
178
-
179
- ```bash
180
- # Start MCP server
181
- bun run start # STDIO transport
182
- bun run start:http # HTTP transport
183
-
184
- # Development with hot reload
185
- bun run dev # STDIO
186
- bun run dev:http # HTTP
187
-
188
- # MCP Inspector (debug tools)
189
- bun run inspector:http
190
-
191
- # Run worker/lead locally
192
- bun run worker
193
- bun run lead
194
-
195
- # Hook handler
196
- bun run hook
197
-
198
- # Linting and formatting
199
- bun run lint
200
- bun run lint:fix
201
- bun run format
202
-
203
- # Type checking
204
- bun run tsc:check
205
-
206
- # Build binaries
207
- bun run build:binary # x64
208
- bun run build:binary:arm64 # ARM64
209
-
210
- # Docker
211
- bun run docker:build:worker
212
- bun run docker:run:worker
213
- bun run docker:run:lead
214
-
215
- # Generate MCP docs
216
- bun run docs:mcp
217
- ```
218
-
219
- ## Dashboard UI
220
-
221
- The React-based monitoring dashboard is in the `new-ui/` directory:
222
-
223
- ```bash
224
- cd new-ui
225
- bun install
226
- bun run dev
227
- ```
228
-
229
- Opens at `http://localhost:5173`. Provides real-time visibility into:
230
- - Agent status and activity
231
- - Task list and progress
232
- - Inter-agent chat messages
233
- - Service registry
234
- - Usage and cost tracking
235
-
236
- ## Related
237
-
238
- - [Getting Started](/docs/getting-started) — Set up your first swarm
239
- - [Environment Variables](/docs/reference/environment-variables) — Configuration reference for all env vars
240
- - [MCP Tools Reference](/docs/reference/mcp-tools) — Complete reference for all swarm MCP tools
241
- - [Deployment Guide](/docs/guides/deployment) — Production deployment options