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