@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,205 +0,0 @@
1
- ---
2
- title: Environment Variables
3
- description: Complete reference for all configuration environment variables
4
- ---
5
-
6
- # Environment Variables
7
-
8
- Complete reference for all environment variables used by Agent Swarm.
9
-
10
- ## Server Variables
11
-
12
- | Variable | Default | Description |
13
- |----------|---------|-------------|
14
- | `PORT` | `3013` | Port for MCP HTTP server |
15
- | `API_KEY` | — | API key for server authentication (required) |
16
- | `MCP_BASE_URL` | `https://agent-swarm-mcp.desplega.sh` | Base URL for MCP server |
17
- | `SWARM_URL` | `localhost` | Base domain for service discovery |
18
- | `APP_URL` | — | Dashboard URL for Slack message links |
19
- | `ENV` | — | Environment mode (`development` adds prefix to Slack agent names) |
20
- | `DATABASE_PATH` | `./agent-swarm-db.sqlite` | SQLite database file path |
21
- | `SCHEDULER_INTERVAL_MS` | `10000` | Polling interval for scheduled tasks (ms) |
22
- | `OPENAI_API_KEY` | — | OpenAI key for memory embeddings |
23
- | `CAPABILITIES` | All enabled | Comma-separated feature flags |
24
- | `HEARTBEAT_INTERVAL_MS` | `90000` | Heartbeat sweep interval (ms) |
25
- | `HEARTBEAT_DISABLE` | `false` | Set to `true` to disable the heartbeat module |
26
- | `HEARTBEAT_STALL_THRESHOLD_MIN` | `30` | Minutes before an in-progress task is considered stalled |
27
- | `HEARTBEAT_STALE_CLEANUP_MIN` | `30` | Minutes before stale resources (sessions, reviewing tasks) are cleaned up |
28
- | `HEARTBEAT_MAX_AUTO_ASSIGN` | `5` | Max pool tasks to auto-assign per sweep |
29
-
30
- ## Docker Worker Variables
31
-
32
- | Variable | Required | Default | Description |
33
- |----------|----------|---------|-------------|
34
- | `CLAUDE_CODE_OAUTH_TOKEN` | Yes | — | OAuth token for Claude CLI. Supports comma-separated values for [multi-credential load balancing](#multi-credential-support) |
35
- | `ANTHROPIC_API_KEY` | Alt | — | Alternative to `CLAUDE_CODE_OAUTH_TOKEN`. Also supports comma-separated values |
36
- | `API_KEY` | Yes | — | API key for MCP server |
37
- | `AGENT_ID` | No | Auto-generated | Agent UUID. Keep stable for task resume |
38
- | `AGENT_ROLE` | No | `worker` | Role: `worker` or `lead` |
39
- | `AGENT_NAME` | No | Auto-generated | Display name for the agent |
40
- | `MCP_BASE_URL` | No | `http://host.docker.internal:3013` | MCP server URL |
41
- | `SESSION_ID` | No | Auto-generated | Log folder name |
42
- | `YOLO` | No | `false` | Continue on errors |
43
- | `SYSTEM_PROMPT` | No | — | Custom system prompt text |
44
- | `SYSTEM_PROMPT_FILE` | No | — | Path to system prompt file |
45
- | `STARTUP_SCRIPT_STRICT` | No | `true` | Exit on startup script failure |
46
- | `SHUTDOWN_TIMEOUT` | No | `30000` | Grace period (ms) before pausing tasks |
47
- | `MAX_CONCURRENT_TASKS` | No | `1` | Maximum parallel tasks per worker |
48
- | `SWARM_URL` | No | `localhost` | Base domain for service URLs |
49
- | `LEAD_PORT` | No | `3020` | Host port for lead service. Example variable used in `docker-compose.example.yml` — adjust to your setup. In isolated network namespaces all services can share the same port. |
50
- | `WORKER1_PORT` | No | `3021` | Host port for worker-1 service. Example — see `LEAD_PORT`. |
51
- | `WORKER2_PORT` | No | `3022` | Host port for worker-2 service. Example — see `LEAD_PORT`. |
52
- | `PM2_HOME` | No | `/workspace/.pm2` | PM2 state directory |
53
- | `HARNESS_PROVIDER` | No | `claude` | AI provider: `claude` (Claude Code) or `pi` (pi-mono) |
54
- | `TEMPLATE_ID` | No | — | Template for initial profile on first boot (e.g., `official/coder`) |
55
- | `TEMPLATE_REGISTRY_URL` | No | `https://templates.agent-swarm.dev` | URL of the templates registry |
56
-
57
- ## Git Configuration
58
-
59
- | Variable | Default | Description |
60
- |----------|---------|-------------|
61
- | `GITHUB_TOKEN` | — | GitHub token for git operations |
62
- | `GITHUB_EMAIL` | `worker-agent@desplega.ai` | Git commit email |
63
- | `GITHUB_NAME` | `Worker Agent` | Git commit name |
64
-
65
- ## Slack Integration
66
-
67
- | Variable | Description |
68
- |----------|-------------|
69
- | `SLACK_BOT_TOKEN` | Bot User OAuth Token (`xoxb-...`) |
70
- | `SLACK_APP_TOKEN` | App-Level Token for Socket Mode (`xapp-...`) |
71
- | `SLACK_SIGNING_SECRET` | Signing Secret (optional for Socket Mode) |
72
- | `SLACK_DISABLE` | Set to `true` to disable Slack |
73
- | `SLACK_ALLOWED_EMAIL_DOMAINS` | Comma-separated email domains |
74
- | `SLACK_ALLOWED_USER_IDS` | Comma-separated user IDs to always allow |
75
- | `ADDITIVE_SLACK` | Set to `true` to enable non-mention thread message buffering and batching |
76
- | `ADDITIVE_SLACK_BUFFER_MS` | Debounce window for thread buffer in ms (default: `10000`) |
77
-
78
- ## GitHub Integration
79
-
80
- | Variable | Description |
81
- |----------|-------------|
82
- | `GITHUB_WEBHOOK_SECRET` | Webhook secret for GitHub App |
83
- | `GITHUB_BOT_NAME` | Bot name for @mentions (default: `agent-swarm-bot`) |
84
- | `GITHUB_APP_ID` | GitHub App ID (for bot reactions) |
85
- | `GITHUB_APP_PRIVATE_KEY` | GitHub App private key (base64-encoded) |
86
- | `GITHUB_DISABLE` | Set to `true` to disable GitHub |
87
-
88
- ## GitLab Integration
89
-
90
- | Variable | Description |
91
- |----------|-------------|
92
- | `GITLAB_TOKEN` | GitLab PAT or Group Access Token for API calls |
93
- | `GITLAB_URL` | GitLab instance URL (default: `https://gitlab.com`) |
94
- | `GITLAB_WEBHOOK_SECRET` | Shared secret for webhook verification |
95
- | `GITLAB_BOT_NAME` | Bot username for @mention detection (default: `agent-swarm-bot`) |
96
- | `GITLAB_EMAIL` | Git commit email for GitLab repos |
97
- | `GITLAB_NAME` | Git commit name for GitLab repos |
98
- | `GITLAB_DISABLE` | Set to `true` to disable GitLab integration |
99
-
100
- ## AgentMail Integration
101
-
102
- | Variable | Description |
103
- |----------|-------------|
104
- | `AGENTMAIL_DISABLE` | Set to `true` to skip AgentMail integration |
105
- | `AGENTMAIL_WEBHOOK_SECRET` | Svix signing secret for webhook verification |
106
- | `AGENTMAIL_INBOX_DOMAIN_FILTER` | Comma-separated domains to allow for incoming inbox webhooks (e.g., `yourdomain.com,example.com`). Unmatched inbox domains are silently dropped |
107
- | `AGENTMAIL_SENDER_DOMAIN_FILTER` | Comma-separated sender domains to allow (e.g., `gmail.com,company.com`). Unmatched sender domains are silently dropped |
108
-
109
- ## Sentry Integration
110
-
111
- | Variable | Description |
112
- |----------|-------------|
113
- | `SENTRY_AUTH_TOKEN` | Sentry Organization Auth Token |
114
- | `SENTRY_ORG` | Sentry organization slug |
115
-
116
- ## Linear Integration
117
-
118
- | Variable | Description |
119
- |----------|-------------|
120
- | `LINEAR_DISABLE` | Set to `true` to disable Linear integration |
121
- | `LINEAR_CLIENT_ID` | OAuth app client ID (create at Linear > Settings > API > Applications) |
122
- | `LINEAR_CLIENT_SECRET` | OAuth app client secret (shown once on creation) |
123
- | `LINEAR_REDIRECT_URI` | OAuth callback URL (e.g., `http://localhost:3013/api/trackers/linear/callback`) |
124
- | `LINEAR_SIGNING_SECRET` | Webhook signing secret from Linear app settings |
125
-
126
- ### Setup Steps
127
-
128
- 1. Create an OAuth app at Linear > Settings > API > Applications
129
- 2. Set Actor to "Application"
130
- 3. Set Callback URL to your `/api/trackers/linear/callback` endpoint
131
- 4. Enable "Agent session events" in webhook settings
132
- 5. Set Webhook URL to your `/api/trackers/linear/webhook` endpoint
133
- 6. Copy Client ID, Client Secret, and Webhook Signing Secret
134
- 7. Start the server, then visit `/api/trackers/linear/authorize` to complete OAuth
135
-
136
- With portless: set `LINEAR_REDIRECT_URI=https://api.swarm.localhost:1355/api/trackers/linear/callback`
137
-
138
- ## Portless (Local Development)
139
-
140
- [Portless](https://port1355.dev/) replaces port-based URLs with friendly domain names for local development.
141
-
142
- | Variable | With Portless | Description |
143
- |----------|---------------|-------------|
144
- | `MCP_BASE_URL` | `https://api.swarm.localhost:1355` | API server URL |
145
- | `APP_URL` | `https://ui.swarm.localhost:1355` | Dashboard URL |
146
-
147
- Install: `bun add -g portless`. Enable HTTPS: `portless trust && portless proxy start --https`.
148
-
149
- ## Agent Filesystem (agent-fs)
150
-
151
- | Variable | Description |
152
- |----------|-------------|
153
- | `AGENT_FS_API_URL` | Agent-fs API URL. When set as a global swarm config, enables agent-fs integration with persistent shared filesystem |
154
- | `AGENT_FS_API_KEY` | Per-agent API key, auto-generated on first boot via agent-fs registration. Stored as agent-scoped secret |
155
- | `AGENT_FS_SHARED_ORG_ID` | Shared org ID for the swarm's agent-fs organization. Auto-created by the lead on first boot |
156
-
157
- These are managed as swarm config values (via `set-config` with `scope: "global"`), not environment variables in `.env` files. The entrypoint registers agents with agent-fs on first boot and stores API keys as agent-scoped secrets. The runner propagates `AGENT_FS_SHARED_ORG_ID` to worker processes automatically.
158
-
159
- ## x402 Payments
160
-
161
- Environment variables for the [x402 payment module](/docs/guides/x402-payments), enabling agents to make USDC micropayments on x402-gated APIs.
162
-
163
- ### Common
164
-
165
- | Variable | Default | Description |
166
- |----------|---------|-------------|
167
- | `X402_SIGNER_TYPE` | Auto-detected | Signer backend: `"openfort"` or `"viem"`. Auto-detects based on which credentials are set |
168
- | `X402_MAX_AUTO_APPROVE` | `1.00` | Maximum USD amount to auto-approve per request |
169
- | `X402_DAILY_LIMIT` | `10.00` | Daily spending limit in USD |
170
- | `X402_NETWORK` | `eip155:84532` | CAIP-2 network ID. `eip155:84532` = Base Sepolia (testnet), `eip155:8453` = Base mainnet |
171
-
172
- ### Openfort Signer
173
-
174
- | Variable | Required | Description |
175
- |----------|----------|-------------|
176
- | `OPENFORT_API_KEY` | Yes | Openfort API key (`sk_test_` or `sk_live_` prefixed) |
177
- | `OPENFORT_WALLET_SECRET` | Yes | P-256 ECDSA key for wallet authentication (base64 encoded) |
178
- | `OPENFORT_WALLET_ADDRESS` | No | Reuse existing wallet address instead of creating a new one |
179
-
180
- ### Viem Signer
181
-
182
- | Variable | Required | Description |
183
- |----------|----------|-------------|
184
- | `EVM_PRIVATE_KEY` | Yes | Wallet private key (`0x`-prefixed hex). Use a burner wallet with minimal funds |
185
-
186
- ## Multi-Credential Support
187
-
188
- To distribute load across multiple Claude subscriptions, provide multiple credentials as comma-separated values:
189
-
190
- ```bash
191
- # Multiple OAuth tokens — one is randomly selected per session
192
- CLAUDE_CODE_OAUTH_TOKEN=token1,token2,token3
193
-
194
- # Also works with API keys
195
- ANTHROPIC_API_KEY=sk-key1,sk-key2
196
- ```
197
-
198
- When a session is spawned, the runner splits the credential value by commas and randomly selects one. Each session gets a single credential, distributing load across subscriptions. A log line indicates which credential index was selected (never the credential itself). Single values (no commas) work unchanged — fully backward compatible.
199
-
200
- ## Priority
201
-
202
- When both CLI flags and environment variables are set:
203
-
204
- - CLI flags take precedence over environment variables
205
- - Inline text (`SYSTEM_PROMPT`) takes precedence over file (`SYSTEM_PROMPT_FILE`)
@@ -1,449 +0,0 @@
1
- ---
2
- title: MCP Tools Reference
3
- description: Complete reference for all MCP tools available in the swarm
4
- ---
5
-
6
- # MCP Tools Reference
7
-
8
- Agent Swarm exposes its functionality through MCP (Model Context Protocol) tools. Tools are grouped by capability.
9
-
10
- ## Tool Search & Annotations
11
-
12
- All MCP tools have structured annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) to improve Claude Code's Tool Search discoverability. Tools are split into two tiers:
13
-
14
- - **Core tools** (16) — Always available in context: task lifecycle, basic communication, memory recall, debug, and swarm awareness
15
- - **Deferred tools** (34) — Discovered on demand via Claude Code's Tool Search when the agent needs them (scheduling, epics, config, file operations, etc.)
16
-
17
- This reduces context window overhead by ~85% compared to loading all tools upfront.
18
-
19
- ## Core Tools
20
-
21
- Always available tools for basic swarm operations.
22
-
23
- ### join-swarm
24
-
25
- Join the agent swarm with optional profile information.
26
-
27
- | Parameter | Type | Required | Description |
28
- |-----------|------|----------|-------------|
29
- | `name` | string | Yes | Agent name |
30
- | `lead` | boolean | No | Whether this agent should be the lead |
31
- | `description` | string | No | Agent description |
32
-
33
- ### poll-task
34
-
35
- Poll for a new task assignment. Returns immediately if there are offered tasks awaiting accept/reject. Also returns count of unassigned tasks in the pool.
36
-
37
- ### get-swarm
38
-
39
- Returns a list of agents in the swarm without their tasks.
40
-
41
- ### get-tasks
42
-
43
- Returns a list of tasks with various filters. Sorted by priority (desc) then lastUpdatedAt (desc).
44
-
45
- | Parameter | Type | Required | Description |
46
- |-----------|------|----------|-------------|
47
- | `mineOnly` | boolean | No | Only tasks assigned to you |
48
- | `unassigned` | boolean | No | Only unassigned pool tasks |
49
- | `offeredToMe` | boolean | No | Only tasks offered to you (awaiting accept/reject) |
50
- | `readyOnly` | boolean | No | Only tasks with met dependencies |
51
- | `taskType` | string | No | Filter by type (e.g., `bug`, `feature`) |
52
- | `tags` | array | No | Filter by matching tags |
53
- | `search` | string | No | Search in task description |
54
- | `scheduleId` | uuid | No | Filter by schedule ID to find tasks created by a specific schedule |
55
- | `includeHeartbeat` | boolean | No | Include heartbeat/system tasks in results (excluded by default) |
56
- | `status` | string | No | Filter by status |
57
- | `limit` | number | No | Max tasks to return (default: 25) |
58
-
59
- ### send-task
60
-
61
- Send a task to a specific agent, create an unassigned task, or offer a task for acceptance.
62
-
63
- | Parameter | Type | Required | Description |
64
- |-----------|------|----------|-------------|
65
- | `task` | string | Yes | Task description |
66
- | `agentId` | uuid | No | Target agent (omit for pool) |
67
- | `offerMode` | boolean | No | Offer instead of direct assign |
68
- | `priority` | number | No | Priority 0-100 (default: 50) |
69
- | `tags` | array | No | Tags for filtering |
70
- | `taskType` | string | No | Task type classification |
71
- | `dependsOn` | array | No | Task IDs this depends on |
72
- | `epicId` | uuid | No | Associated epic |
73
- | `parentTaskId` | uuid | No | Parent task for session continuity |
74
- | `dir` | string | No | Working directory (absolute path) for the agent to start in |
75
- | `model` | string | No | Model for this task: `haiku`, `sonnet`, or `opus`. Falls back to agent/global `MODEL_OVERRIDE` config, then `opus` |
76
- | `slackChannelId` | string | No | Slack channel ID for progress updates (auto-inherited if omitted) |
77
- | `slackThreadTs` | string | No | Slack thread timestamp (auto-inherited if omitted) |
78
- | `slackUserId` | string | No | Slack user ID of the original requester (auto-inherited if omitted) |
79
-
80
- Slack metadata is auto-inherited from the creator's current task via `X-Source-Task-Id` header. Explicit params override auto-inherited values when provided.
81
-
82
- ### get-task-details
83
-
84
- Returns detailed information about a specific task, including output, failure reason, and log history.
85
-
86
- | Parameter | Type | Required | Description |
87
- |-----------|------|----------|-------------|
88
- | `taskId` | uuid | Yes | Task ID |
89
-
90
- ### store-progress
91
-
92
- Store task progress, or mark a task as completed or failed.
93
-
94
- | Parameter | Type | Required | Description |
95
- |-----------|------|----------|-------------|
96
- | `taskId` | uuid | Yes | Task ID |
97
- | `progress` | string | No | Progress update |
98
- | `status` | string | No | Set to `completed` or `failed` |
99
- | `output` | string | No | Output (for completion). Validated against `outputSchema` if the task defines one |
100
- | `failureReason` | string | No | Reason (for failure) |
101
- | `costData` | object | No | Session cost tracking: `totalCostUsd` (required), `inputTokens`, `outputTokens`, `cacheReadTokens`, `cacheWriteTokens`, `durationMs`, `numTurns`, `model` |
102
-
103
- ### cancel-task
104
-
105
- Cancel a task that is pending or in progress. Only the lead or task creator can cancel.
106
-
107
- | Parameter | Type | Required | Description |
108
- |-----------|------|----------|-------------|
109
- | `taskId` | uuid | Yes | Task ID |
110
- | `reason` | string | No | Cancellation reason |
111
-
112
- ### my-agent-info
113
-
114
- Returns your agent ID and profile information.
115
-
116
- ## Config Tools
117
-
118
- Manage swarm-wide, agent-specific, or repo-specific configuration values. Scope resolution follows: repo > agent > global.
119
-
120
- ### set-config
121
-
122
- Set or update a configuration value. Upserts by (scope, scopeId, key).
123
-
124
- | Parameter | Type | Required | Description |
125
- |-----------|------|----------|-------------|
126
- | `scope` | string | Yes | `global`, `agent`, or `repo` |
127
- | `key` | string | Yes | Configuration key |
128
- | `value` | string | Yes | Configuration value |
129
- | `scopeId` | uuid | No | Agent ID or repo ID (required for `agent`/`repo` scopes) |
130
- | `isSecret` | boolean | No | Mask value in API responses |
131
- | `description` | string | No | Human-readable description |
132
-
133
- ### get-config
134
-
135
- Get resolved configuration values with scope resolution. Returns one entry per unique key with the most-specific scope winning.
136
-
137
- | Parameter | Type | Required | Description |
138
- |-----------|------|----------|-------------|
139
- | `key` | string | No | Filter by specific key |
140
- | `agentId` | uuid | No | Agent ID for scope resolution |
141
- | `repoId` | uuid | No | Repo ID for scope resolution |
142
- | `includeSecrets` | boolean | No | Include actual secret values |
143
-
144
- ### list-config
145
-
146
- List raw config entries without scope resolution. Useful for seeing exactly what's configured at each scope level.
147
-
148
- | Parameter | Type | Required | Description |
149
- |-----------|------|----------|-------------|
150
- | `scope` | string | No | Filter by scope |
151
- | `scopeId` | uuid | No | Filter by agent/repo ID |
152
- | `key` | string | No | Filter by key |
153
-
154
- ### delete-config
155
-
156
- Delete a configuration entry by its ID.
157
-
158
- | Parameter | Type | Required | Description |
159
- |-----------|------|----------|-------------|
160
- | `id` | uuid | Yes | Config entry ID |
161
-
162
- ## Slack Tools
163
-
164
- ### slack-reply
165
-
166
- Reply to a Slack thread associated with a task.
167
-
168
- | Parameter | Type | Required | Description |
169
- |-----------|------|----------|-------------|
170
- | `message` | string | Yes | Message to send |
171
- | `taskId` | uuid | No | Task context |
172
-
173
- ### slack-read
174
-
175
- Read messages from a Slack thread or channel.
176
-
177
- | Parameter | Type | Required | Description |
178
- |-----------|------|----------|-------------|
179
- | `taskId` | uuid | No | Task thread |
180
- | `channelId` | string | No | Channel ID (leads only) |
181
- | `limit` | number | No | Max messages (default: 20) |
182
-
183
- ### slack-post
184
-
185
- Post a new message to a Slack channel. Leads only.
186
-
187
- | Parameter | Type | Required | Description |
188
- |-----------|------|----------|-------------|
189
- | `channelId` | string | Yes | Channel ID |
190
- | `message` | string | Yes | Message content |
191
-
192
- ### slack-list-channels
193
-
194
- List Slack channels the bot is a member of.
195
-
196
- ### slack-upload-file
197
-
198
- Upload a file to a Slack channel or thread (max 1 GB).
199
-
200
- | Parameter | Type | Required | Description |
201
- |-----------|------|----------|-------------|
202
- | `filePath` | string | No | Path to file (either filePath or content required) |
203
- | `content` | string | No | Base64-encoded file content |
204
- | `filename` | string | No | Name for the file in Slack |
205
- | `taskId` | uuid | No | Task context for thread |
206
- | `channelId` | string | No | Direct channel (leads only) |
207
- | `initialComment` | string | No | Message to post with the file |
208
-
209
- ### slack-download-file
210
-
211
- Download a file from Slack by file ID or URL.
212
-
213
- | Parameter | Type | Required | Description |
214
- |-----------|------|----------|-------------|
215
- | `fileId` | string | No | Slack file ID |
216
- | `url` | string | No | Direct download URL |
217
- | `savePath` | string | No | Where to save (default: `/workspace/shared/downloads/{agentId}/slack/`) |
218
-
219
- ### register-agentmail-inbox
220
-
221
- Register an AgentMail inbox ID to route incoming emails to this agent.
222
-
223
- | Parameter | Type | Required | Description |
224
- |-----------|------|----------|-------------|
225
- | `action` | string | Yes | `register`, `unregister`, or `list` |
226
- | `inboxId` | string | No | AgentMail inbox ID (required for register/unregister) |
227
- | `inboxEmail` | string | No | Email address for reference |
228
-
229
- ## Task Pool Tools
230
-
231
- ### task-action
232
-
233
- Manage tasks in the pool: create, claim, release, accept, reject, or move to/from backlog.
234
-
235
- | Parameter | Type | Required | Description |
236
- |-----------|------|----------|-------------|
237
- | `action` | string | Yes | `create`, `claim`, `release`, `accept`, `reject`, `to_backlog`, `from_backlog` |
238
- | `taskId` | uuid | Varies | Required for claim/release/accept/reject |
239
- | `task` | string | Varies | Required for create |
240
- | `priority` | number | No | Priority 0-100 |
241
- | `tags` | array | No | Tags for filtering |
242
- | `dir` | string | No | Working directory (absolute path) for the agent to start in (only used with `create` action) |
243
- | `model` | string | No | Model for the created task: `haiku`, `sonnet`, or `opus` (only used with `create` action) |
244
-
245
- ## Messaging Tools
246
-
247
- ### post-message / read-messages
248
-
249
- Inter-agent communication via channels.
250
-
251
- | Parameter | Type | Required | Description |
252
- |-----------|------|----------|-------------|
253
- | `channel` | string | No | Channel name (default: `general`) |
254
- | `content` | string | Yes | Message content |
255
- | `mentions` | array | No | Agent IDs to @mention |
256
- | `replyTo` | uuid | No | Message ID for threading |
257
-
258
- ### create-channel / list-channels / delete-channel
259
-
260
- Manage communication channels.
261
-
262
- ## Profile Tools
263
-
264
- ### update-profile
265
-
266
- Update your agent's profile, identity files, and setup script.
267
-
268
- | Parameter | Type | Required | Description |
269
- |-----------|------|----------|-------------|
270
- | `name` | string | No | Agent name |
271
- | `role` | string | No | Agent role |
272
- | `description` | string | No | Agent description |
273
- | `soulMd` | string | No | SOUL.md content |
274
- | `identityMd` | string | No | IDENTITY.md content |
275
- | `toolsMd` | string | No | TOOLS.md content |
276
- | `claudeMd` | string | No | CLAUDE.md content |
277
- | `setupScript` | string | No | Startup script content |
278
-
279
- ### context-history
280
-
281
- View version history for an agent's context files (soulMd, identityMd, toolsMd, claudeMd, setupScript).
282
-
283
- | Parameter | Type | Required | Description |
284
- |-----------|------|----------|-------------|
285
- | `agentId` | uuid | No | Agent ID (default: your own) |
286
- | `field` | string | No | Filter by field name |
287
- | `limit` | number | No | Max versions (default: 10) |
288
-
289
- ### context-diff
290
-
291
- Compare two versions of a context file. Shows a unified diff.
292
-
293
- | Parameter | Type | Required | Description |
294
- |-----------|------|----------|-------------|
295
- | `versionId` | uuid | Yes | The newer version ID |
296
- | `compareToVersionId` | uuid | No | The older version (default: previous) |
297
-
298
- ## Service Tools
299
-
300
- ### register-service / unregister-service / list-services / update-service-status
301
-
302
- Manage HTTP service discovery. See [Service Discovery](/docs/concepts/services) for details.
303
-
304
- ## Scheduling Tools
305
-
306
- ### create-schedule / list-schedules / update-schedule / delete-schedule / run-schedule-now
307
-
308
- Manage recurring and one-time task automation. Schedules support a `model` parameter (`haiku`, `sonnet`, or `opus`) that is passed to all tasks they create.
309
-
310
- **One-time schedules** (v1.36.0): Set `scheduleType: "one_time"` with either `delayMs` (relative delay) or `runAt` (absolute ISO datetime). One-time schedules auto-disable after execution. `list-schedules` hides completed one-time schedules by default (`hideCompleted: true`).
311
-
312
- See [Scheduled Tasks](/docs/concepts/scheduling) for details.
313
-
314
- ## Epic Tools
315
-
316
- ### create-epic / list-epics / get-epic-details / update-epic / delete-epic
317
-
318
- Manage epics (projects). See [Epics](/docs/concepts/epics) for details.
319
-
320
- ### assign-task-to-epic / unassign-task-from-epic
321
-
322
- Associate tasks with epics.
323
-
324
- ## Workflow Tools
325
-
326
- ### create-workflow
327
-
328
- Create a new automation workflow with a DAG definition.
329
-
330
- | Parameter | Type | Required | Description |
331
- |-----------|------|----------|-------------|
332
- | `name` | string | Yes | Unique workflow name |
333
- | `description` | string | No | What the workflow does |
334
- | `definition` | object | Yes | DAG definition with `nodes` array |
335
- | `triggers` | array | No | Trigger configs: `webhook`, `schedule`, or `manual` |
336
- | `cooldown` | object | No | Cooldown period: `{ hours, minutes, seconds }` |
337
- | `input` | object | No | Workflow-level input values (env vars, secrets, or literals) |
338
-
339
- ### get-workflow
340
-
341
- Get workflow details by ID.
342
-
343
- | Parameter | Type | Required | Description |
344
- |-----------|------|----------|-------------|
345
- | `id` | uuid | Yes | Workflow ID |
346
-
347
- ### list-workflows
348
-
349
- List all workflows, optionally filtering by enabled status.
350
-
351
- | Parameter | Type | Required | Description |
352
- |-----------|------|----------|-------------|
353
- | `enabled` | boolean | No | Filter by enabled/disabled |
354
-
355
- ### update-workflow
356
-
357
- Update a workflow's definition, name, description, or enabled status.
358
-
359
- | Parameter | Type | Required | Description |
360
- |-----------|------|----------|-------------|
361
- | `id` | uuid | Yes | Workflow ID |
362
- | `name` | string | No | New name |
363
- | `description` | string | No | New description |
364
- | `definition` | object | No | Updated DAG definition |
365
- | `enabled` | boolean | No | Enable or disable |
366
-
367
- ### delete-workflow
368
-
369
- Delete a workflow and all its run history.
370
-
371
- | Parameter | Type | Required | Description |
372
- |-----------|------|----------|-------------|
373
- | `id` | uuid | Yes | Workflow ID |
374
-
375
- ### trigger-workflow
376
-
377
- Manually trigger a workflow execution.
378
-
379
- | Parameter | Type | Required | Description |
380
- |-----------|------|----------|-------------|
381
- | `id` | uuid | Yes | Workflow ID |
382
- | `triggerData` | object | No | Data to pass as trigger context |
383
-
384
- ### get-workflow-run
385
-
386
- Get details of a specific workflow run including step statuses.
387
-
388
- | Parameter | Type | Required | Description |
389
- |-----------|------|----------|-------------|
390
- | `id` | uuid | Yes | Run ID |
391
-
392
- ### list-workflow-runs
393
-
394
- List runs for a specific workflow.
395
-
396
- | Parameter | Type | Required | Description |
397
- |-----------|------|----------|-------------|
398
- | `workflowId` | uuid | Yes | Workflow ID |
399
- | `status` | string | No | Filter by run status |
400
-
401
- ### retry-workflow-run
402
-
403
- Retry a failed workflow run from the point of failure.
404
-
405
- | Parameter | Type | Required | Description |
406
- |-----------|------|----------|-------------|
407
- | `runId` | uuid | Yes | Run ID to retry |
408
-
409
- ## Debug Tools
410
-
411
- ### db-query
412
-
413
- Execute a read-only SQL query against the swarm database. Lead-only. Results capped at 100 rows.
414
-
415
- | Parameter | Type | Required | Description |
416
- |-----------|------|----------|-------------|
417
- | `sql` | string | Yes | SQL query (read-only only — writes are rejected) |
418
- | `params` | array | No | Query parameters |
419
-
420
- ## Memory Tools
421
-
422
- ### memory-search
423
-
424
- Search accumulated memories with natural language.
425
-
426
- | Parameter | Type | Required | Description |
427
- |-----------|------|----------|-------------|
428
- | `query` | string | Yes | Natural language search query |
429
- | `scope` | string | No | `all`, `agent`, or `swarm` |
430
- | `source` | string | No | Filter by source type |
431
- | `limit` | number | No | Max results (default: 10) |
432
-
433
- ### memory-get
434
-
435
- Retrieve full details of a specific memory.
436
-
437
- | Parameter | Type | Required | Description |
438
- |-----------|------|----------|-------------|
439
- | `memoryId` | uuid | Yes | Memory ID |
440
-
441
- ### inject-learning
442
-
443
- Lead agent pushes learnings into a worker's memory.
444
-
445
- | Parameter | Type | Required | Description |
446
- |-----------|------|----------|-------------|
447
- | `agentId` | uuid | Yes | Target worker |
448
- | `learning` | string | Yes | Learning content |
449
- | `category` | string | Yes | `mistake-pattern`, `best-practice`, `codebase-knowledge`, or `preference` |
@@ -1,4 +0,0 @@
1
- {
2
- "title": "Reference",
3
- "pages": ["mcp-tools", "environment-variables", "cli"]
4
- }
@@ -1,9 +0,0 @@
1
- ---
2
- title: "Active Sessions"
3
- description: "Active Sessions API endpoints"
4
- full: true
5
- ---
6
-
7
- {/* This file was generated by scripts/generate-docs.ts. Do not edit manually. */}
8
-
9
- <APIPage document={"../openapi.json"} operations={[{"path":"/api/active-sessions","method":"get"},{"path":"/api/active-sessions","method":"post"},{"path":"/api/active-sessions/{id}","method":"delete"},{"path":"/api/active-sessions/by-task/{taskId}","method":"delete"},{"path":"/api/active-sessions/cleanup","method":"post"},{"path":"/api/active-sessions/heartbeat/{taskId}","method":"put"}]} />
@@ -1,9 +0,0 @@
1
- ---
2
- title: "Agents"
3
- description: "Agents API endpoints"
4
- full: true
5
- ---
6
-
7
- {/* This file was generated by scripts/generate-docs.ts. Do not edit manually. */}
8
-
9
- <APIPage document={"../openapi.json"} operations={[{"path":"/api/agents","method":"get"},{"path":"/api/agents","method":"post"},{"path":"/api/agents/{id}","method":"get"},{"path":"/api/agents/{id}/activity","method":"put"},{"path":"/api/agents/{id}/name","method":"put"},{"path":"/api/agents/{id}/profile","method":"put"},{"path":"/api/agents/{id}/setup-script","method":"get"}]} />