@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
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { source } from "@/lib/source";
|
|
2
|
-
import {
|
|
3
|
-
DocsPage,
|
|
4
|
-
DocsBody,
|
|
5
|
-
DocsTitle,
|
|
6
|
-
DocsDescription,
|
|
7
|
-
} from "fumadocs-ui/layouts/docs/page";
|
|
8
|
-
import { notFound } from "next/navigation";
|
|
9
|
-
import { getMDXComponents } from "@/mdx-components";
|
|
10
|
-
import type { Metadata } from "next";
|
|
11
|
-
import type { MDXContent } from "mdx/types";
|
|
12
|
-
import type { TOCItemType } from "fumadocs-core/toc";
|
|
13
|
-
|
|
14
|
-
interface DocsPageData {
|
|
15
|
-
title: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
body: MDXContent;
|
|
18
|
-
toc: TOCItemType[];
|
|
19
|
-
full?: boolean;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export default async function Page(props: {
|
|
23
|
-
params: Promise<{ slug?: string[] }>;
|
|
24
|
-
}) {
|
|
25
|
-
const params = await props.params;
|
|
26
|
-
const page = source.getPage(params.slug);
|
|
27
|
-
if (!page) notFound();
|
|
28
|
-
|
|
29
|
-
const data = page.data as unknown as DocsPageData;
|
|
30
|
-
const MDX = data.body;
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<DocsPage toc={data.toc} full={data.full}>
|
|
34
|
-
<DocsTitle>{data.title}</DocsTitle>
|
|
35
|
-
<DocsDescription>{data.description}</DocsDescription>
|
|
36
|
-
<DocsBody>
|
|
37
|
-
<MDX components={getMDXComponents()} />
|
|
38
|
-
</DocsBody>
|
|
39
|
-
</DocsPage>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export async function generateStaticParams() {
|
|
44
|
-
return source.generateParams();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export async function generateMetadata(props: {
|
|
48
|
-
params: Promise<{ slug?: string[] }>;
|
|
49
|
-
}): Promise<Metadata> {
|
|
50
|
-
const params = await props.params;
|
|
51
|
-
const page = source.getPage(params.slug);
|
|
52
|
-
if (!page) notFound();
|
|
53
|
-
|
|
54
|
-
const title = page.data.title;
|
|
55
|
-
const description = page.data.description;
|
|
56
|
-
const slug = params.slug?.join("/") ?? "";
|
|
57
|
-
const url = `https://docs.agent-swarm.dev/docs${slug ? `/${slug}` : ""}`;
|
|
58
|
-
|
|
59
|
-
return {
|
|
60
|
-
title,
|
|
61
|
-
description,
|
|
62
|
-
alternates: {
|
|
63
|
-
canonical: url,
|
|
64
|
-
},
|
|
65
|
-
openGraph: {
|
|
66
|
-
title: `${title} | Agent Swarm`,
|
|
67
|
-
description,
|
|
68
|
-
url,
|
|
69
|
-
siteName: "Agent Swarm Docs",
|
|
70
|
-
type: "article",
|
|
71
|
-
images: [
|
|
72
|
-
{
|
|
73
|
-
url: "https://agent-swarm.dev/og-image.png",
|
|
74
|
-
width: 1200,
|
|
75
|
-
height: 630,
|
|
76
|
-
alt: `${title} — Agent Swarm Documentation`,
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
twitter: {
|
|
81
|
-
card: "summary_large_image",
|
|
82
|
-
title: `${title} | Agent Swarm`,
|
|
83
|
-
description,
|
|
84
|
-
images: ["https://agent-swarm.dev/og-image.png"],
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { source } from "@/lib/source";
|
|
2
|
-
import { DocsLayout } from "fumadocs-ui/layouts/docs";
|
|
3
|
-
import type { ReactNode } from "react";
|
|
4
|
-
import { baseOptions } from "@/app/layout.config";
|
|
5
|
-
|
|
6
|
-
export default function Layout({ children }: { children: ReactNode }) {
|
|
7
|
-
return (
|
|
8
|
-
<DocsLayout tree={source.pageTree} {...baseOptions}>
|
|
9
|
-
{children}
|
|
10
|
-
</DocsLayout>
|
|
11
|
-
);
|
|
12
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
@import "tailwindcss";
|
|
2
|
-
@import "fumadocs-ui/css/neutral.css";
|
|
3
|
-
@import "fumadocs-ui/css/preset.css";
|
|
4
|
-
@import "fumadocs-openapi/css/preset.css";
|
|
5
|
-
|
|
6
|
-
@source "../node_modules/fumadocs-ui/dist/**/*.js";
|
|
7
|
-
@source "../node_modules/fumadocs-openapi/dist/**/*.js";
|
|
8
|
-
|
|
9
|
-
/* Amber accent colors — matching new-ui (Zinc base + amber primary) */
|
|
10
|
-
@theme {
|
|
11
|
-
--color-fd-primary: oklch(0.555 0.163 48.998);
|
|
12
|
-
--color-fd-primary-foreground: oklch(0.985 0 0);
|
|
13
|
-
--color-fd-ring: oklch(0.555 0.163 48.998);
|
|
14
|
-
--color-fd-accent: oklch(0.967 0.001 286.375);
|
|
15
|
-
--color-fd-accent-foreground: oklch(0.21 0.006 285.885);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.dark {
|
|
19
|
-
--color-fd-primary: oklch(0.769 0.188 70.08);
|
|
20
|
-
--color-fd-primary-foreground: oklch(0.21 0.006 285.885);
|
|
21
|
-
--color-fd-ring: oklch(0.769 0.188 70.08);
|
|
22
|
-
--color-fd-accent: oklch(0.274 0.006 286.033);
|
|
23
|
-
--color-fd-accent-foreground: oklch(0.985 0 0);
|
|
24
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared";
|
|
2
|
-
import Image from "next/image";
|
|
3
|
-
|
|
4
|
-
export const baseOptions: BaseLayoutProps = {
|
|
5
|
-
nav: {
|
|
6
|
-
title: (
|
|
7
|
-
<>
|
|
8
|
-
<Image src="/logo.png" alt="Agent Swarm" width={28} height={28} />
|
|
9
|
-
Agent Swarm
|
|
10
|
-
</>
|
|
11
|
-
),
|
|
12
|
-
},
|
|
13
|
-
links: [
|
|
14
|
-
{
|
|
15
|
-
text: "Docs",
|
|
16
|
-
url: "/docs",
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
text: "Templates",
|
|
20
|
-
url: "https://templates.agent-swarm.dev",
|
|
21
|
-
external: true,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
text: "GitHub",
|
|
25
|
-
url: "https://github.com/desplega-ai/agent-swarm",
|
|
26
|
-
external: true,
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
text: "Discord",
|
|
30
|
-
url: "https://discord.gg/KZgfyyDVZa",
|
|
31
|
-
external: true,
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
};
|
package/docs-site/app/layout.tsx
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { RootProvider } from "fumadocs-ui/provider/next";
|
|
2
|
-
import type { ReactNode } from "react";
|
|
3
|
-
import type { Metadata } from "next";
|
|
4
|
-
import "./globals.css";
|
|
5
|
-
|
|
6
|
-
export const metadata: Metadata = {
|
|
7
|
-
title: {
|
|
8
|
-
default: "Agent Swarm",
|
|
9
|
-
template: "%s | Agent Swarm",
|
|
10
|
-
},
|
|
11
|
-
description:
|
|
12
|
-
"Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants.",
|
|
13
|
-
keywords: [
|
|
14
|
-
"agent swarm",
|
|
15
|
-
"documentation",
|
|
16
|
-
"multi-agent orchestration",
|
|
17
|
-
"claude code",
|
|
18
|
-
"codex",
|
|
19
|
-
"gemini cli",
|
|
20
|
-
"AI coding",
|
|
21
|
-
"MCP tools",
|
|
22
|
-
"task lifecycle",
|
|
23
|
-
"developer tools",
|
|
24
|
-
],
|
|
25
|
-
metadataBase: new URL("https://docs.agent-swarm.dev"),
|
|
26
|
-
openGraph: {
|
|
27
|
-
title: "Agent Swarm Documentation",
|
|
28
|
-
description:
|
|
29
|
-
"Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants.",
|
|
30
|
-
url: "https://docs.agent-swarm.dev",
|
|
31
|
-
siteName: "Agent Swarm Docs",
|
|
32
|
-
type: "website",
|
|
33
|
-
locale: "en_US",
|
|
34
|
-
images: [
|
|
35
|
-
{
|
|
36
|
-
url: "https://agent-swarm.dev/og-image.png",
|
|
37
|
-
width: 1200,
|
|
38
|
-
height: 630,
|
|
39
|
-
alt: "Agent Swarm",
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
twitter: {
|
|
44
|
-
card: "summary_large_image",
|
|
45
|
-
title: "Agent Swarm Documentation",
|
|
46
|
-
description:
|
|
47
|
-
"Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants.",
|
|
48
|
-
images: ["https://agent-swarm.dev/og-image.png"],
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export default function RootLayout({ children }: { children: ReactNode }) {
|
|
53
|
-
return (
|
|
54
|
-
<html lang="en" suppressHydrationWarning>
|
|
55
|
-
<head>
|
|
56
|
-
<script
|
|
57
|
-
type="application/ld+json"
|
|
58
|
-
dangerouslySetInnerHTML={{
|
|
59
|
-
__html: JSON.stringify({
|
|
60
|
-
"@context": "https://schema.org",
|
|
61
|
-
"@graph": [
|
|
62
|
-
{
|
|
63
|
-
"@type": "Organization",
|
|
64
|
-
"@id": "https://agent-swarm.dev/#organization",
|
|
65
|
-
name: "Agent Swarm",
|
|
66
|
-
url: "https://agent-swarm.dev",
|
|
67
|
-
logo: {
|
|
68
|
-
"@type": "ImageObject",
|
|
69
|
-
url: "https://agent-swarm.dev/logo.png",
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"@type": "WebSite",
|
|
74
|
-
"@id": "https://docs.agent-swarm.dev/#website",
|
|
75
|
-
url: "https://docs.agent-swarm.dev",
|
|
76
|
-
name: "Agent Swarm Documentation",
|
|
77
|
-
publisher: {
|
|
78
|
-
"@id": "https://agent-swarm.dev/#organization",
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"@type": "TechArticle",
|
|
83
|
-
name: "Agent Swarm Documentation",
|
|
84
|
-
description:
|
|
85
|
-
"Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants.",
|
|
86
|
-
url: "https://docs.agent-swarm.dev",
|
|
87
|
-
mainEntity: {
|
|
88
|
-
"@type": "SoftwareApplication",
|
|
89
|
-
name: "Agent Swarm",
|
|
90
|
-
applicationCategory: "DeveloperApplication",
|
|
91
|
-
operatingSystem: "Linux, macOS",
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
}),
|
|
96
|
-
}}
|
|
97
|
-
/>
|
|
98
|
-
<script
|
|
99
|
-
async
|
|
100
|
-
src="https://plausible.io/js/pa-N5qqdwlGhd8el6aPC8pJ7.js"
|
|
101
|
-
/>
|
|
102
|
-
<script
|
|
103
|
-
dangerouslySetInnerHTML={{
|
|
104
|
-
__html: `window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};plausible.init()`,
|
|
105
|
-
}}
|
|
106
|
-
/>
|
|
107
|
-
</head>
|
|
108
|
-
<body
|
|
109
|
-
style={{
|
|
110
|
-
display: "flex",
|
|
111
|
-
flexDirection: "column",
|
|
112
|
-
minHeight: "100vh",
|
|
113
|
-
}}
|
|
114
|
-
>
|
|
115
|
-
<RootProvider>{children}</RootProvider>
|
|
116
|
-
</body>
|
|
117
|
-
</html>
|
|
118
|
-
);
|
|
119
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { source } from "@/lib/source";
|
|
2
|
-
import { getLLMText } from "@/lib/get-llm-text";
|
|
3
|
-
|
|
4
|
-
export const revalidate = false;
|
|
5
|
-
|
|
6
|
-
export async function GET() {
|
|
7
|
-
const scan = source.getPages().map(getLLMText);
|
|
8
|
-
const scanned = await Promise.all(scan);
|
|
9
|
-
|
|
10
|
-
return new Response(scanned.join("\n\n"));
|
|
11
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { getLLMText } from "@/lib/get-llm-text";
|
|
2
|
-
import { source } from "@/lib/source";
|
|
3
|
-
import { notFound } from "next/navigation";
|
|
4
|
-
|
|
5
|
-
export const revalidate = false;
|
|
6
|
-
|
|
7
|
-
export async function GET(
|
|
8
|
-
_req: Request,
|
|
9
|
-
{ params }: { params: Promise<{ slug?: string[] }> },
|
|
10
|
-
) {
|
|
11
|
-
const { slug } = await params;
|
|
12
|
-
const page = source.getPage(slug);
|
|
13
|
-
if (!page) notFound();
|
|
14
|
-
|
|
15
|
-
return new Response(await getLLMText(page), {
|
|
16
|
-
headers: {
|
|
17
|
-
"Content-Type": "text/markdown",
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export function generateStaticParams() {
|
|
23
|
-
return source.generateParams();
|
|
24
|
-
}
|
package/docs-site/app/page.tsx
DELETED
package/docs-site/app/robots.ts
DELETED
package/docs-site/app/sitemap.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { MetadataRoute } from "next";
|
|
2
|
-
|
|
3
|
-
export default function sitemap(): MetadataRoute.Sitemap {
|
|
4
|
-
const baseUrl = "https://docs.agent-swarm.dev";
|
|
5
|
-
|
|
6
|
-
const docPages = [
|
|
7
|
-
"/docs",
|
|
8
|
-
"/docs/getting-started",
|
|
9
|
-
"/docs/architecture/overview",
|
|
10
|
-
"/docs/architecture/agents",
|
|
11
|
-
"/docs/architecture/memory",
|
|
12
|
-
"/docs/architecture/hooks",
|
|
13
|
-
"/docs/concepts/task-lifecycle",
|
|
14
|
-
"/docs/concepts/epics",
|
|
15
|
-
"/docs/concepts/services",
|
|
16
|
-
"/docs/concepts/scheduling",
|
|
17
|
-
"/docs/concepts/workflows",
|
|
18
|
-
"/docs/guides/deployment",
|
|
19
|
-
"/docs/guides/slack-integration",
|
|
20
|
-
"/docs/guides/github-integration",
|
|
21
|
-
"/docs/guides/gitlab-integration",
|
|
22
|
-
"/docs/guides/agentmail-integration",
|
|
23
|
-
"/docs/guides/sentry-integration",
|
|
24
|
-
"/docs/guides/x402-payments",
|
|
25
|
-
"/docs/reference/mcp-tools",
|
|
26
|
-
"/docs/reference/environment-variables",
|
|
27
|
-
"/docs/reference/cli",
|
|
28
|
-
"/docs/contributing",
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
return docPages.map((path) => ({
|
|
32
|
-
url: `${baseUrl}${path}`,
|
|
33
|
-
lastModified: new Date(),
|
|
34
|
-
changeFrequency: "weekly" as const,
|
|
35
|
-
priority: path === "/docs" ? 1 : 0.8,
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { use, useEffect, useId, useState } from "react";
|
|
4
|
-
import { useTheme } from "next-themes";
|
|
5
|
-
|
|
6
|
-
export function Mermaid({ chart }: { chart: string }) {
|
|
7
|
-
const [mounted, setMounted] = useState(false);
|
|
8
|
-
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
setMounted(true);
|
|
11
|
-
}, []);
|
|
12
|
-
|
|
13
|
-
if (!mounted) return null;
|
|
14
|
-
return <MermaidContent chart={chart} />;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const cache = new Map<string, Promise<unknown>>();
|
|
18
|
-
|
|
19
|
-
function cachePromise<T>(key: string, setPromise: () => Promise<T>): Promise<T> {
|
|
20
|
-
const cached = cache.get(key);
|
|
21
|
-
if (cached) return cached as Promise<T>;
|
|
22
|
-
|
|
23
|
-
const promise = setPromise();
|
|
24
|
-
cache.set(key, promise);
|
|
25
|
-
return promise;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function MermaidContent({ chart }: { chart: string }) {
|
|
29
|
-
const id = useId();
|
|
30
|
-
const { resolvedTheme } = useTheme();
|
|
31
|
-
const { default: mermaid } = use(cachePromise("mermaid", () => import("mermaid")));
|
|
32
|
-
|
|
33
|
-
mermaid.initialize({
|
|
34
|
-
startOnLoad: false,
|
|
35
|
-
securityLevel: "loose",
|
|
36
|
-
fontFamily: "inherit",
|
|
37
|
-
themeCSS: "margin: 1.5rem auto 0;",
|
|
38
|
-
theme: resolvedTheme === "dark" ? "dark" : "default",
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
const { svg, bindFunctions } = use(
|
|
42
|
-
cachePromise(`${chart}-${resolvedTheme}`, () => {
|
|
43
|
-
return mermaid.render(id, chart.replaceAll("\\n", "\n"));
|
|
44
|
-
}),
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<div
|
|
49
|
-
ref={(container) => {
|
|
50
|
-
if (container) bindFunctions?.(container);
|
|
51
|
-
}}
|
|
52
|
-
dangerouslySetInnerHTML={{ __html: svg }}
|
|
53
|
-
/>
|
|
54
|
-
);
|
|
55
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Agent Identity & Configuration
|
|
3
|
-
description: How agents are configured, personalized, and evolve over time
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Agent Identity & Configuration
|
|
7
|
-
|
|
8
|
-
Every agent in the swarm is a persistent entity with its own identity, memories, and environment. This identity evolves over time as the agent works.
|
|
9
|
-
|
|
10
|
-
## Identity Files
|
|
11
|
-
|
|
12
|
-
Each agent has four identity files that persist across sessions:
|
|
13
|
-
|
|
14
|
-
| File | Purpose | Example |
|
|
15
|
-
|------|---------|---------|
|
|
16
|
-
| **SOUL.md** | Core persona, values, behavioral directives | "You're not a chatbot. Be thorough. Own your mistakes." |
|
|
17
|
-
| **IDENTITY.md** | Expertise, working style, track record | "I'm the coding arm of the swarm. I ship fast and clean." |
|
|
18
|
-
| **TOOLS.md** | Environment knowledge — repos, services, APIs | "The API runs on port 3013. Use `wts` for worktree management." |
|
|
19
|
-
| **CLAUDE.md** | Persistent notes and instructions | Learnings, preferences, important context |
|
|
20
|
-
|
|
21
|
-
### How Identity Works
|
|
22
|
-
|
|
23
|
-
1. **Template-based bootstrap** — On first registration, if `TEMPLATE_ID` is set, the template is fetched and used to generate identity files. Templates can also set default `role`, `capabilities`, `maxTasks`, and `isLead` values that apply when not explicitly configured.
|
|
24
|
-
2. **Default generation** — If no template is set, the system generates generic templates based on the agent's name, role, and description
|
|
25
|
-
3. **Self-editing** — Agents modify their own identity files during sessions. A PostToolUse hook syncs changes to the database in real-time
|
|
26
|
-
4. **API / MCP tool** — Use the `update-profile` tool to programmatically set any identity field
|
|
27
|
-
|
|
28
|
-
### Version History
|
|
29
|
-
|
|
30
|
-
All identity file changes are tracked with version history. You can:
|
|
31
|
-
- View past versions using the `context-history` MCP tool
|
|
32
|
-
- Compare versions using the `context-diff` tool
|
|
33
|
-
- Roll back to a previous version if needed
|
|
34
|
-
|
|
35
|
-
## System Prompt Assembly
|
|
36
|
-
|
|
37
|
-
The system prompt is built from multiple layers, assembled at task start:
|
|
38
|
-
|
|
39
|
-
1. **Base role instructions** — Lead or worker-specific behavior rules
|
|
40
|
-
2. **Agent identity** — SOUL.md + IDENTITY.md content
|
|
41
|
-
3. **Repository context** — If the task targets a specific GitHub repo, that repo's CLAUDE.md is included
|
|
42
|
-
4. **Filesystem guide** — Memory directories, personal/shared workspace, setup script instructions
|
|
43
|
-
5. **Self-awareness** — How the agent is built (runtime, hooks, memory system, task lifecycle)
|
|
44
|
-
6. **Additional prompt** — Custom text from `SYSTEM_PROMPT` env var or `--system-prompt` CLI flag
|
|
45
|
-
|
|
46
|
-
## Startup Scripts
|
|
47
|
-
|
|
48
|
-
Each agent has a startup script (`/workspace/start-up.sh`) that runs at every container start. Agents can modify this script to install tools, configure their environment, or set up workflows — and the changes persist across restarts.
|
|
49
|
-
|
|
50
|
-
**Supported formats** (priority order):
|
|
51
|
-
- `start-up.sh` / `start-up.bash` — Bash scripts
|
|
52
|
-
- `start-up.js` — Node.js scripts
|
|
53
|
-
- `start-up.ts` / `start-up.bun` — Bun/TypeScript scripts
|
|
54
|
-
|
|
55
|
-
**Example: Install dependencies**
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
#!/bin/bash
|
|
59
|
-
# /workspace/start-up.sh
|
|
60
|
-
|
|
61
|
-
echo "Installing dependencies..."
|
|
62
|
-
if [ -f "package.json" ]; then
|
|
63
|
-
bun install
|
|
64
|
-
fi
|
|
65
|
-
|
|
66
|
-
sudo apt-get update -qq
|
|
67
|
-
sudo apt-get install -y -qq ripgrep
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Agent Workspace
|
|
71
|
-
|
|
72
|
-
Each agent has access to:
|
|
73
|
-
|
|
74
|
-
| Path | Description |
|
|
75
|
-
|------|-------------|
|
|
76
|
-
| `/workspace/personal/` | Agent's private workspace (isolated per agent) |
|
|
77
|
-
| `/workspace/shared/` | Shared workspace between all agents |
|
|
78
|
-
| `/workspace/personal/memory/` | Private searchable memory files |
|
|
79
|
-
| `/workspace/shared/` | Read-only shared disk (all agents' directories visible) |
|
|
80
|
-
| `/logs` | Session logs |
|
|
81
|
-
|
|
82
|
-
### Agent Filesystem (agent-fs)
|
|
83
|
-
|
|
84
|
-
When `AGENT_FS_API_URL` is configured as a global swarm config, agents gain access to **agent-fs** — a persistent, searchable filesystem shared across the swarm. Agent-fs provides:
|
|
85
|
-
|
|
86
|
-
- **Personal and shared drives** — Each agent has a personal drive and access to a shared org drive
|
|
87
|
-
- **Full-text and semantic search** — Search across all files with keyword or natural language queries
|
|
88
|
-
- **Comments** — Human-agent collaboration via file comments
|
|
89
|
-
- **CLI access** — The `agent-fs` CLI is pre-installed in worker containers and auto-configured on first boot
|
|
90
|
-
|
|
91
|
-
Agents are automatically registered with agent-fs on their first container boot. The lead agent creates a shared organization and workers receive invitations automatically.
|
|
92
|
-
|
|
93
|
-
## Lead vs Worker
|
|
94
|
-
|
|
95
|
-
### Lead Agent
|
|
96
|
-
|
|
97
|
-
- Receives incoming messages from Slack, GitHub, and email
|
|
98
|
-
- Has an inbox for triaging messages
|
|
99
|
-
- Can delegate tasks to workers
|
|
100
|
-
- Can inject learnings into worker memories
|
|
101
|
-
- Has access to all Slack channels
|
|
102
|
-
- Creates and manages epics
|
|
103
|
-
|
|
104
|
-
### Worker Agent
|
|
105
|
-
|
|
106
|
-
- Executes assigned tasks
|
|
107
|
-
- Reports progress via `store-progress`
|
|
108
|
-
- Can expose HTTP services
|
|
109
|
-
- Builds specialized expertise over time
|
|
110
|
-
- Can claim tasks from the task pool
|
|
111
|
-
- Can communicate with other agents via channels
|
|
112
|
-
|
|
113
|
-
## Related
|
|
114
|
-
|
|
115
|
-
- [Architecture Overview](/docs/architecture/overview) — How all the components fit together
|
|
116
|
-
- [Hook System](/docs/architecture/hooks) — Hooks that sync identity files and manage sessions
|
|
117
|
-
- [Memory System](/docs/architecture/memory) — How agents build compounding knowledge
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Hook System
|
|
3
|
-
description: The six hooks that fire during each Claude Code session
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Hook System
|
|
7
|
-
|
|
8
|
-
Six hooks fire during each Claude Code session, providing safety, context management, and persistence. Hooks are implemented in `src/hooks/hook.ts`.
|
|
9
|
-
|
|
10
|
-
## Hook Overview
|
|
11
|
-
|
|
12
|
-
| Hook | When | What it does |
|
|
13
|
-
|------|------|-------------|
|
|
14
|
-
| **SessionStart** | Session begins | Writes CLAUDE.md from DB, loads concurrent session context for leads |
|
|
15
|
-
| **PreCompact** | Before context compaction | Injects a "goal reminder" with current task details so the agent doesn't lose track |
|
|
16
|
-
| **PreToolUse** | Before each tool call | Checks for task cancellation, detects tool loops, blocks excessive polling |
|
|
17
|
-
| **PostToolUse** | After each tool call | Sends heartbeat, syncs identity file edits to DB, auto-indexes memory files |
|
|
18
|
-
| **UserPromptSubmit** | New iteration starts | Checks for task cancellation |
|
|
19
|
-
| **Stop** | Session ends | Cleans up artifact tunnels, saves PM2 state, syncs all identity files, runs session summarization, marks agent offline |
|
|
20
|
-
|
|
21
|
-
## Hook Details
|
|
22
|
-
|
|
23
|
-
### SessionStart
|
|
24
|
-
|
|
25
|
-
Fires when a new Claude Code session begins. This hook:
|
|
26
|
-
|
|
27
|
-
- Writes the agent's `CLAUDE.md` from the database to the filesystem
|
|
28
|
-
- For lead agents, loads context about other concurrent sessions
|
|
29
|
-
- Sets up the workspace environment
|
|
30
|
-
|
|
31
|
-
### PreCompact
|
|
32
|
-
|
|
33
|
-
Fires before Claude Code compacts its context window. This is critical for long-running tasks — without this hook, the agent might lose track of what it's working on after compaction.
|
|
34
|
-
|
|
35
|
-
The hook injects the current task description and any saved progress as a "goal reminder" into the compacted context.
|
|
36
|
-
|
|
37
|
-
### PreToolUse
|
|
38
|
-
|
|
39
|
-
Fires before every tool call. This hook provides safety guardrails:
|
|
40
|
-
|
|
41
|
-
- **Cancellation check** — If the task has been cancelled, the hook blocks the tool call and notifies the agent
|
|
42
|
-
- **Loop detection** — Detects when the same tool is called with identical arguments repeatedly (a sign the agent is stuck)
|
|
43
|
-
- **Polling limits** — Prevents excessive polling of external services
|
|
44
|
-
- **Shared disk write prevention** — On Archil-mounted environments, warns agents before they attempt to write to another agent's directory under `/workspace/shared/`. Each agent can only write to its own subdirectory (`/workspace/shared/{category}/{agentId}/`)
|
|
45
|
-
|
|
46
|
-
### PostToolUse
|
|
47
|
-
|
|
48
|
-
Fires after every tool call. This is the most active hook:
|
|
49
|
-
|
|
50
|
-
- **Heartbeat** — Sends a heartbeat to the MCP server so the lead knows the worker is alive
|
|
51
|
-
- **Activity tracking** — Updates the agent's `lastActivityAt` timestamp (fire-and-forget) for stall detection
|
|
52
|
-
- **Identity sync** — If an identity file (SOUL.md, IDENTITY.md, TOOLS.md, CLAUDE.md) was edited, syncs the changes to the database with `changeSource: "self_edit"` tracking to distinguish agent edits from session-end syncs
|
|
53
|
-
- **Memory indexing** — If a file was written to a memory directory, automatically generates an embedding and indexes it
|
|
54
|
-
- **Shared disk write failure detection** — On Archil-mounted environments, detects "Read-only file system" errors from Write, Edit, or Bash tools and warns the agent about the per-agent directory convention
|
|
55
|
-
|
|
56
|
-
### UserPromptSubmit
|
|
57
|
-
|
|
58
|
-
Fires when a new iteration of the agent loop begins (i.e., the agent receives a new prompt from the runner). This hook:
|
|
59
|
-
|
|
60
|
-
- Checks for task cancellation
|
|
61
|
-
- Can inject additional context if needed
|
|
62
|
-
|
|
63
|
-
### Stop
|
|
64
|
-
|
|
65
|
-
Fires when the session ends. This hook handles cleanup:
|
|
66
|
-
|
|
67
|
-
- **Artifact cleanup** — Stops any active artifact tunnels (PM2 processes prefixed with `artifact-`)
|
|
68
|
-
- **PM2 state** — Saves the current PM2 process list for auto-restart
|
|
69
|
-
- **Identity sync** — Final sync of all identity files to the database
|
|
70
|
-
- **Session summary** — Runs a lightweight model (Haiku) to extract key learnings from the session transcript
|
|
71
|
-
- **Agent status** — Marks the agent as offline in the database
|
|
72
|
-
|
|
73
|
-
## Related
|
|
74
|
-
|
|
75
|
-
- [Memory System](/docs/architecture/memory) — How PostToolUse auto-indexes memory files
|
|
76
|
-
- [Agent Identity & Configuration](/docs/architecture/agents) — Identity files synced by PostToolUse and Stop hooks
|
|
77
|
-
- [Task Lifecycle](/docs/concepts/task-lifecycle) — Task states checked by PreToolUse cancellation detection
|