macro-agent 0.1.0 → 0.1.2
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/.claude/settings.local.json +3 -1
- package/.sudocode/issues.jsonl +28 -0
- package/.sudocode/specs.jsonl +8 -0
- package/CLAUDE.md +25 -17
- package/README.md +11 -29
- package/dist/acp/macro-agent.d.ts +15 -0
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +131 -35
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/types.d.ts +32 -1
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +65 -1
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js +544 -200
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +8 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/server.d.ts +8 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +136 -8
- package/dist/api/server.js.map +1 -1
- package/dist/api/types.d.ts +1 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/token.d.ts +41 -0
- package/dist/auth/token.d.ts.map +1 -0
- package/dist/auth/token.js +73 -0
- package/dist/auth/token.js.map +1 -0
- package/dist/cli/acp.d.ts +2 -23
- package/dist/cli/acp.d.ts.map +1 -1
- package/dist/cli/acp.js +197 -61
- package/dist/cli/acp.js.map +1 -1
- package/dist/cli/index.js +152 -16
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts +6 -0
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +279 -173
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/parse-args.d.ts +20 -0
- package/dist/cli/parse-args.d.ts.map +1 -0
- package/dist/cli/parse-args.js +43 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/stable-instance-id.d.ts +8 -0
- package/dist/cli/stable-instance-id.d.ts.map +1 -0
- package/dist/cli/stable-instance-id.js +14 -0
- package/dist/cli/stable-instance-id.js.map +1 -0
- package/dist/config/project-config.d.ts +85 -7
- package/dist/config/project-config.d.ts.map +1 -1
- package/dist/config/project-config.js +133 -20
- package/dist/config/project-config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/handlers/index.d.ts +7 -3
- package/dist/lifecycle/handlers/index.d.ts.map +1 -1
- package/dist/lifecycle/handlers/index.js +25 -8
- package/dist/lifecycle/handlers/index.js.map +1 -1
- package/dist/lifecycle/types.d.ts +2 -0
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/map/adapter/acp-over-map.d.ts +17 -0
- package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
- package/dist/map/adapter/acp-over-map.js +384 -23
- package/dist/map/adapter/acp-over-map.js.map +1 -1
- package/dist/map/adapter/connection-manager.d.ts.map +1 -1
- package/dist/map/adapter/connection-manager.js +3 -0
- package/dist/map/adapter/connection-manager.js.map +1 -1
- package/dist/map/adapter/event-log.d.ts +87 -0
- package/dist/map/adapter/event-log.d.ts.map +1 -0
- package/dist/map/adapter/event-log.js +122 -0
- package/dist/map/adapter/event-log.js.map +1 -0
- package/dist/map/adapter/event-translator.js +6 -6
- package/dist/map/adapter/event-translator.js.map +1 -1
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
- package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
- package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
- package/dist/map/adapter/extensions/index.d.ts +13 -1
- package/dist/map/adapter/extensions/index.d.ts.map +1 -1
- package/dist/map/adapter/extensions/index.js +61 -0
- package/dist/map/adapter/extensions/index.js.map +1 -1
- package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
- package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
- package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
- package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
- package/dist/map/adapter/extensions/rename.d.ts +29 -0
- package/dist/map/adapter/extensions/rename.d.ts.map +1 -0
- package/dist/map/adapter/extensions/rename.js +49 -0
- package/dist/map/adapter/extensions/rename.js.map +1 -0
- package/dist/map/adapter/extensions/streams.d.ts +95 -0
- package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
- package/dist/map/adapter/extensions/streams.js +515 -0
- package/dist/map/adapter/extensions/streams.js.map +1 -0
- package/dist/map/adapter/extensions/task.d.ts.map +1 -1
- package/dist/map/adapter/extensions/task.js +10 -0
- package/dist/map/adapter/extensions/task.js.map +1 -1
- package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
- package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
- package/dist/map/adapter/extensions/update-metadata.js +67 -0
- package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
- package/dist/map/adapter/index.d.ts +2 -1
- package/dist/map/adapter/index.d.ts.map +1 -1
- package/dist/map/adapter/index.js +10 -2
- package/dist/map/adapter/index.js.map +1 -1
- package/dist/map/adapter/interface.d.ts +2 -0
- package/dist/map/adapter/interface.d.ts.map +1 -1
- package/dist/map/adapter/map-adapter.d.ts +3 -0
- package/dist/map/adapter/map-adapter.d.ts.map +1 -1
- package/dist/map/adapter/map-adapter.js +258 -35
- package/dist/map/adapter/map-adapter.js.map +1 -1
- package/dist/map/adapter/subscription-manager.d.ts.map +1 -1
- package/dist/map/adapter/subscription-manager.js +5 -1
- package/dist/map/adapter/subscription-manager.js.map +1 -1
- package/dist/map/adapter/types.d.ts +3 -1
- package/dist/map/adapter/types.d.ts.map +1 -1
- package/dist/mcp/map-client.d.ts +39 -0
- package/dist/mcp/map-client.d.ts.map +1 -0
- package/dist/mcp/map-client.js +129 -0
- package/dist/mcp/map-client.js.map +1 -0
- package/dist/mcp/mcp-server.d.ts +16 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +125 -88
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/tools/done.d.ts.map +1 -1
- package/dist/mcp/tools/done.js +18 -0
- package/dist/mcp/tools/done.js.map +1 -1
- package/dist/mcp/types.d.ts +9 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/metrics/metrics.js +1 -1
- package/dist/metrics/metrics.js.map +1 -1
- package/dist/roles/builtin/coordinator.d.ts.map +1 -1
- package/dist/roles/builtin/coordinator.js +2 -1
- package/dist/roles/builtin/coordinator.js.map +1 -1
- package/dist/roles/builtin/integrator.d.ts.map +1 -1
- package/dist/roles/builtin/integrator.js +2 -1
- package/dist/roles/builtin/integrator.js.map +1 -1
- package/dist/roles/builtin/worker.d.ts.map +1 -1
- package/dist/roles/builtin/worker.js +3 -1
- package/dist/roles/builtin/worker.js.map +1 -1
- package/dist/roles/capabilities.d.ts +9 -1
- package/dist/roles/capabilities.d.ts.map +1 -1
- package/dist/roles/capabilities.js +27 -7
- package/dist/roles/capabilities.js.map +1 -1
- package/dist/roles/config-loader.d.ts +6 -6
- package/dist/roles/config-loader.d.ts.map +1 -1
- package/dist/roles/config-loader.js +8 -7
- package/dist/roles/config-loader.js.map +1 -1
- package/dist/roles/registry.d.ts +2 -2
- package/dist/roles/registry.js +2 -2
- package/dist/roles/types.d.ts +3 -1
- package/dist/roles/types.d.ts.map +1 -1
- package/dist/server/combined-server.d.ts +28 -1
- package/dist/server/combined-server.d.ts.map +1 -1
- package/dist/server/combined-server.js +111 -8
- package/dist/server/combined-server.js.map +1 -1
- package/dist/store/event-store.d.ts +2 -1
- package/dist/store/event-store.d.ts.map +1 -1
- package/dist/store/event-store.js +80 -24
- package/dist/store/event-store.js.map +1 -1
- package/dist/store/instance.d.ts +1 -1
- package/dist/store/instance.d.ts.map +1 -1
- package/dist/store/instance.js +2 -2
- package/dist/store/instance.js.map +1 -1
- package/dist/store/types/agents.d.ts +23 -0
- package/dist/store/types/agents.d.ts.map +1 -1
- package/dist/store/types/events.d.ts +1 -1
- package/dist/store/types/events.d.ts.map +1 -1
- package/dist/task/backend/index.d.ts +47 -29
- package/dist/task/backend/index.d.ts.map +1 -1
- package/dist/task/backend/index.js +109 -71
- package/dist/task/backend/index.js.map +1 -1
- package/dist/task/backend/memory.d.ts +1 -0
- package/dist/task/backend/memory.d.ts.map +1 -1
- package/dist/task/backend/memory.js +3 -0
- package/dist/task/backend/memory.js.map +1 -1
- package/dist/task/backend/opentasks/backend.d.ts +140 -0
- package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
- package/dist/task/backend/opentasks/backend.js +1023 -0
- package/dist/task/backend/opentasks/backend.js.map +1 -0
- package/dist/task/backend/opentasks/client.d.ts +337 -0
- package/dist/task/backend/opentasks/client.d.ts.map +1 -0
- package/dist/task/backend/opentasks/client.js +225 -0
- package/dist/task/backend/opentasks/client.js.map +1 -0
- package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
- package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
- package/dist/task/backend/opentasks/daemon-manager.js +195 -0
- package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
- package/dist/task/backend/opentasks/index.d.ts +21 -0
- package/dist/task/backend/opentasks/index.d.ts.map +1 -0
- package/dist/task/backend/opentasks/index.js +21 -0
- package/dist/task/backend/opentasks/index.js.map +1 -0
- package/dist/task/backend/opentasks/mapping.d.ts +48 -0
- package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
- package/dist/task/backend/opentasks/mapping.js +77 -0
- package/dist/task/backend/opentasks/mapping.js.map +1 -0
- package/dist/task/backend/types.d.ts +33 -53
- package/dist/task/backend/types.d.ts.map +1 -1
- package/dist/task/backend/types.js +7 -11
- package/dist/task/backend/types.js.map +1 -1
- package/dist/task/backend/unified-tool-provider.d.ts +57 -0
- package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
- package/dist/task/backend/unified-tool-provider.js +623 -0
- package/dist/task/backend/unified-tool-provider.js.map +1 -0
- package/dist/teams/index.d.ts +3 -1
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.js +2 -0
- package/dist/teams/index.js.map +1 -1
- package/dist/teams/seed-defaults.d.ts +20 -0
- package/dist/teams/seed-defaults.d.ts.map +1 -0
- package/dist/teams/seed-defaults.js +71 -0
- package/dist/teams/seed-defaults.js.map +1 -0
- package/dist/teams/team-loader.d.ts +7 -3
- package/dist/teams/team-loader.d.ts.map +1 -1
- package/dist/teams/team-loader.js +156 -164
- package/dist/teams/team-loader.js.map +1 -1
- package/dist/teams/team-manager.d.ts +112 -0
- package/dist/teams/team-manager.d.ts.map +1 -0
- package/dist/teams/team-manager.js +305 -0
- package/dist/teams/team-manager.js.map +1 -0
- package/dist/teams/team-runtime.d.ts +125 -19
- package/dist/teams/team-runtime.d.ts.map +1 -1
- package/dist/teams/team-runtime.js +529 -119
- package/dist/teams/team-runtime.js.map +1 -1
- package/dist/teams/types.d.ts +41 -151
- package/dist/teams/types.d.ts.map +1 -1
- package/dist/teams/types.js +2 -3
- package/dist/teams/types.js.map +1 -1
- package/docs/architecture.md +7 -6
- package/docs/configuration.md +26 -62
- package/docs/implementation-details.md +5 -5
- package/docs/implementation-summary.md +17 -17
- package/docs/plan-self-driving-support.md +4 -4
- package/docs/spec-self-driving-support.md +10 -10
- package/docs/team-templates.md +2 -2
- package/docs/teams.md +76 -3
- package/docs/troubleshooting.md +10 -11
- package/package.json +7 -4
- package/references/minimem/.claude/settings.json +7 -0
- package/references/minimem/.sudocode/issues.jsonl +18 -0
- package/references/minimem/.sudocode/specs.jsonl +1 -0
- package/references/minimem/CLAUDE.md +310 -0
- package/references/minimem/README.md +562 -0
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
- package/references/minimem/claude-plugin/.mcp.json +7 -0
- package/references/minimem/claude-plugin/README.md +158 -0
- package/references/minimem/claude-plugin/commands/recall.md +47 -0
- package/references/minimem/claude-plugin/commands/remember.md +41 -0
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
- package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
- package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
- package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
- package/references/minimem/media/banner.png +0 -0
- package/references/minimem/package-lock.json +5373 -0
- package/references/minimem/package.json +72 -0
- package/references/minimem/scripts/postbuild.js +35 -0
- package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
- package/references/minimem/src/__tests__/errors.test.ts +265 -0
- package/references/minimem/src/__tests__/helpers.ts +199 -0
- package/references/minimem/src/__tests__/internal.test.ts +407 -0
- package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
- package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
- package/references/minimem/src/__tests__/session.test.ts +190 -0
- package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
- package/references/minimem/src/cli/commands/append.ts +76 -0
- package/references/minimem/src/cli/commands/config.ts +262 -0
- package/references/minimem/src/cli/commands/conflicts.ts +413 -0
- package/references/minimem/src/cli/commands/daemon.ts +169 -0
- package/references/minimem/src/cli/commands/index.ts +12 -0
- package/references/minimem/src/cli/commands/init.ts +88 -0
- package/references/minimem/src/cli/commands/mcp.ts +177 -0
- package/references/minimem/src/cli/commands/push-pull.ts +213 -0
- package/references/minimem/src/cli/commands/search.ts +158 -0
- package/references/minimem/src/cli/commands/status.ts +84 -0
- package/references/minimem/src/cli/commands/sync-init.ts +290 -0
- package/references/minimem/src/cli/commands/sync.ts +70 -0
- package/references/minimem/src/cli/commands/upsert.ts +197 -0
- package/references/minimem/src/cli/config.ts +584 -0
- package/references/minimem/src/cli/index.ts +264 -0
- package/references/minimem/src/cli/shared.ts +161 -0
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
- package/references/minimem/src/cli/sync/central.ts +292 -0
- package/references/minimem/src/cli/sync/conflicts.ts +204 -0
- package/references/minimem/src/cli/sync/daemon.ts +407 -0
- package/references/minimem/src/cli/sync/detection.ts +138 -0
- package/references/minimem/src/cli/sync/index.ts +107 -0
- package/references/minimem/src/cli/sync/operations.ts +373 -0
- package/references/minimem/src/cli/sync/registry.ts +279 -0
- package/references/minimem/src/cli/sync/state.ts +355 -0
- package/references/minimem/src/cli/sync/validation.ts +206 -0
- package/references/minimem/src/cli/sync/watcher.ts +234 -0
- package/references/minimem/src/cli/version.ts +34 -0
- package/references/minimem/src/core/index.ts +9 -0
- package/references/minimem/src/core/indexer.ts +628 -0
- package/references/minimem/src/core/searcher.ts +221 -0
- package/references/minimem/src/db/schema.ts +183 -0
- package/references/minimem/src/db/sqlite-vec.ts +24 -0
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
- package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
- package/references/minimem/src/embeddings/batch-openai.ts +409 -0
- package/references/minimem/src/embeddings/embeddings.ts +434 -0
- package/references/minimem/src/index.ts +109 -0
- package/references/minimem/src/internal.ts +299 -0
- package/references/minimem/src/minimem.ts +1276 -0
- package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
- package/references/minimem/src/search/graph.ts +234 -0
- package/references/minimem/src/search/hybrid.ts +151 -0
- package/references/minimem/src/search/search.ts +256 -0
- package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
- package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
- package/references/minimem/src/server/mcp.ts +326 -0
- package/references/minimem/src/server/tools.ts +720 -0
- package/references/minimem/src/session.ts +460 -0
- package/references/minimem/tsconfig.json +19 -0
- package/references/minimem/tsup.config.ts +26 -0
- package/references/minimem/vitest.config.ts +24 -0
- package/references/openteams/.claude/settings.json +6 -0
- package/references/openteams/README.md +1 -0
- package/references/openteams/SKILL.md +341 -0
- package/references/openteams/design.md +411 -0
- package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +16 -0
- package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +24 -0
- package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +25 -0
- package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +21 -0
- package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +20 -0
- package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +17 -0
- package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +23 -0
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +27 -0
- package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +21 -0
- package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +16 -0
- package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/roles/analyst.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/architect.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/developer.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/master.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/pm.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/qa.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +8 -0
- package/references/openteams/examples/bmad-method/team.yaml +161 -0
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/ROLE.md +17 -0
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/debugger/ROLE.md +25 -0
- package/references/openteams/examples/get-shit-done/prompts/debugger/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/executor/ROLE.md +34 -0
- package/references/openteams/examples/get-shit-done/prompts/executor/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/ROLE.md +18 -0
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/ROLE.md +42 -0
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/ROLE.md +15 -0
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/ROLE.md +17 -0
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/planner/ROLE.md +28 -0
- package/references/openteams/examples/get-shit-done/prompts/planner/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/ROLE.md +16 -0
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/ROLE.md +13 -0
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/ROLE.md +14 -0
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/verifier/ROLE.md +19 -0
- package/references/openteams/examples/get-shit-done/prompts/verifier/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/roles/codebase-mapper.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/debugger.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/executor.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/integration-checker.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/orchestrator.yaml +9 -0
- package/references/openteams/examples/get-shit-done/roles/phase-researcher.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/plan-checker.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/planner.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/project-researcher.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/research-synthesizer.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/roadmapper.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/verifier.yaml +8 -0
- package/references/openteams/examples/get-shit-done/team.yaml +154 -0
- package/references/openteams/package-lock.json +2181 -0
- package/references/openteams/package.json +48 -0
- package/references/openteams/schema/role.schema.json +125 -0
- package/references/openteams/schema/team.schema.json +284 -0
- package/references/openteams/src/cli/agent.ts +104 -0
- package/references/openteams/src/cli/cli.test.ts +381 -0
- package/references/openteams/src/cli/generate.ts +220 -0
- package/references/openteams/src/cli/message.ts +241 -0
- package/references/openteams/src/cli/task.ts +154 -0
- package/references/openteams/src/cli/team.ts +104 -0
- package/references/openteams/src/cli/template.ts +207 -0
- package/references/openteams/src/cli.ts +45 -0
- package/references/openteams/src/db/database.test.ts +185 -0
- package/references/openteams/src/db/database.ts +240 -0
- package/references/openteams/src/generators/agent-prompt-generator.test.ts +332 -0
- package/references/openteams/src/generators/agent-prompt-generator.ts +521 -0
- package/references/openteams/src/generators/package-generator.test.ts +129 -0
- package/references/openteams/src/generators/package-generator.ts +102 -0
- package/references/openteams/src/generators/skill-generator.test.ts +246 -0
- package/references/openteams/src/generators/skill-generator.ts +374 -0
- package/references/openteams/src/index.ts +104 -0
- package/references/openteams/src/services/agent-service.test.ts +158 -0
- package/references/openteams/src/services/agent-service.ts +84 -0
- package/references/openteams/src/services/communication-service.test.ts +455 -0
- package/references/openteams/src/services/communication-service.ts +371 -0
- package/references/openteams/src/services/message-service.test.ts +342 -0
- package/references/openteams/src/services/message-service.ts +203 -0
- package/references/openteams/src/services/task-service.test.ts +434 -0
- package/references/openteams/src/services/task-service.ts +239 -0
- package/references/openteams/src/services/team-service.test.ts +181 -0
- package/references/openteams/src/services/team-service.ts +139 -0
- package/references/openteams/src/services/template-service.test.ts +306 -0
- package/references/openteams/src/services/template-service.ts +182 -0
- package/references/openteams/src/spawner/acp-factory.ts +96 -0
- package/references/openteams/src/spawner/interface.ts +31 -0
- package/references/openteams/src/spawner/mock.test.ts +93 -0
- package/references/openteams/src/spawner/mock.ts +59 -0
- package/references/openteams/src/template/loader.test.ts +1319 -0
- package/references/openteams/src/template/loader.ts +698 -0
- package/references/openteams/src/template/types.ts +200 -0
- package/references/openteams/src/types.ts +205 -0
- package/references/openteams/tsconfig.json +18 -0
- package/references/openteams/vitest.config.ts +9 -0
- package/references/skill-tree/.claude/settings.json +6 -0
- package/references/skill-tree/.sudocode/issues.jsonl +11 -0
- package/references/skill-tree/.sudocode/specs.jsonl +1 -0
- package/references/skill-tree/CLAUDE.md +150 -0
- package/references/skill-tree/README.md +324 -0
- package/references/skill-tree/docs/GAPS_v1.md +221 -0
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
- package/references/skill-tree/docs/TODOS.md +91 -0
- package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
- package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
- package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
- package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
- package/references/skill-tree/docs/scraper/README.md +170 -0
- package/references/skill-tree/examples/basic-usage.ts +190 -0
- package/references/skill-tree/package-lock.json +1509 -0
- package/references/skill-tree/package.json +66 -0
- package/references/skill-tree/scraper/README.md +123 -0
- package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
- package/references/skill-tree/scraper/docs/PLAN.md +336 -0
- package/references/skill-tree/scraper/drizzle.config.ts +10 -0
- package/references/skill-tree/scraper/package-lock.json +6329 -0
- package/references/skill-tree/scraper/package.json +68 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
- package/references/skill-tree/scraper/tsup.config.ts +14 -0
- package/references/skill-tree/scraper/vitest.config.ts +17 -0
- package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
- package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
- package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
- package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
- package/references/skill-tree/test/run-all.ts +106 -0
- package/references/skill-tree/test/utils.ts +128 -0
- package/references/skill-tree/vitest.config.ts +16 -0
- package/src/__tests__/e2e/agent-spawn-visibility.e2e.test.ts +761 -0
- package/src/__tests__/e2e/full-agent-conflict-resolution.e2e.test.ts +2 -2
- package/src/__tests__/e2e/mcp-thin-client-bridge.e2e.test.ts +304 -0
- package/src/__tests__/e2e/mcp-tools-available.e2e.test.ts +324 -0
- package/src/__tests__/e2e/multi-agent.e2e.test.ts +5 -5
- package/src/__tests__/e2e/spawn-session-streaming.e2e.test.ts +563 -0
- package/src/acp/__tests__/integration.test.ts +56 -31
- package/src/acp/__tests__/macro-agent.test.ts +16 -7
- package/src/acp/macro-agent.ts +170 -36
- package/src/acp/types.ts +46 -1
- package/src/agent/__tests__/agent-manager.test.ts +228 -2
- package/src/agent/agent-manager.ts +809 -285
- package/src/agent/types.ts +12 -1
- package/src/api/__tests__/server.test.ts +203 -4
- package/src/api/server.ts +169 -10
- package/src/api/types.ts +3 -1
- package/src/auth/__tests__/token.test.ts +100 -0
- package/src/auth/index.ts +1 -0
- package/src/auth/token.ts +82 -0
- package/src/cli/__tests__/acp.test.ts +1 -1
- package/src/cli/__tests__/stable-instance-id.test.ts +1 -1
- package/src/cli/acp.ts +197 -72
- package/src/cli/index.ts +125 -15
- package/src/cli/mcp.ts +315 -197
- package/src/cli/parse-args.ts +54 -0
- package/src/cli/stable-instance-id.ts +14 -0
- package/src/config/project-config.ts +214 -27
- package/src/index.ts +3 -0
- package/src/lifecycle/__tests__/cascade-termination.test.ts +1 -1
- package/src/lifecycle/__tests__/handlers.test.ts +53 -0
- package/src/lifecycle/handlers/index.ts +25 -8
- package/src/lifecycle/types.ts +3 -0
- package/src/map/adapter/__tests__/acp-over-map-cancel.test.ts +22 -4
- package/src/map/adapter/__tests__/acp-over-map-getmodels.test.ts +355 -0
- package/src/map/adapter/__tests__/acp-over-map-history.test.ts +263 -0
- package/src/map/adapter/__tests__/acp-over-map-persistence.e2e.test.ts +1 -1
- package/src/map/adapter/__tests__/event-broadcast.test.ts +420 -0
- package/src/map/adapter/__tests__/event-log.test.ts +527 -0
- package/src/map/adapter/__tests__/event-translator.test.ts +3 -3
- package/src/map/adapter/__tests__/extensions.test.ts +408 -0
- package/src/map/adapter/__tests__/map-adapter.test.ts +99 -0
- package/src/map/adapter/__tests__/mcp-bridge.test.ts +1187 -0
- package/src/map/adapter/__tests__/multi-client-broadcast.test.ts +711 -0
- package/src/map/adapter/__tests__/stream-extensions.test.ts +494 -0
- package/src/map/adapter/__tests__/websocket-integration.test.ts +218 -0
- package/src/map/adapter/acp-over-map.ts +678 -66
- package/src/map/adapter/connection-manager.ts +3 -0
- package/src/map/adapter/event-log.ts +208 -0
- package/src/map/adapter/event-translator.ts +6 -6
- package/src/map/adapter/extensions/agent-lifecycle.ts +267 -0
- package/src/map/adapter/extensions/index.ts +96 -0
- package/src/map/adapter/extensions/mcp-bridge.ts +995 -0
- package/src/map/adapter/extensions/streams.ts +839 -0
- package/src/map/adapter/extensions/task.ts +11 -0
- package/src/map/adapter/extensions/update-metadata.ts +126 -0
- package/src/map/adapter/index.ts +33 -0
- package/src/map/adapter/interface.ts +2 -0
- package/src/map/adapter/map-adapter.ts +312 -47
- package/src/map/adapter/subscription-manager.ts +5 -1
- package/src/map/adapter/types.ts +10 -1
- package/src/mcp/__tests__/map-client.test.ts +386 -0
- package/src/mcp/__tests__/mcp-server-thin-client.test.ts +368 -0
- package/src/mcp/__tests__/mcp-server.test.ts +100 -1
- package/src/mcp/map-client.ts +177 -0
- package/src/mcp/mcp-server.ts +205 -103
- package/src/mcp/tools/done.ts +19 -0
- package/src/mcp/types.ts +6 -1
- package/src/metrics/metrics.ts +1 -1
- package/src/monitor/__tests__/stale-agent-flow.integration.test.ts +1 -1
- package/src/roles/__tests__/config-loader.test.ts +7 -7
- package/src/roles/builtin/coordinator.ts +2 -0
- package/src/roles/builtin/integrator.ts +2 -0
- package/src/roles/builtin/worker.ts +3 -0
- package/src/roles/capabilities.ts +28 -7
- package/src/roles/config-loader.ts +8 -7
- package/src/roles/registry.ts +2 -2
- package/src/roles/types.ts +7 -0
- package/src/server/__tests__/combined-server.test.ts +94 -21
- package/src/server/combined-server.ts +203 -33
- package/src/steering/__tests__/steering-integration.test.ts +1 -1
- package/src/store/__tests__/event-store-oob.test.ts +109 -0
- package/src/store/__tests__/event-store.test.ts +196 -1
- package/src/store/__tests__/instance.test.ts +3 -3
- package/src/store/event-store.ts +92 -23
- package/src/store/instance.ts +2 -2
- package/src/store/types/agents.ts +20 -0
- package/src/store/types/events.ts +1 -1
- package/src/task/backend/__tests__/create-task-backend.test.ts +225 -0
- package/src/task/backend/__tests__/e2e/unified-tool-provider-opentasks.e2e.test.ts +524 -0
- package/src/task/backend/__tests__/memory-pull-mode.test.ts +153 -0
- package/src/task/backend/__tests__/unified-tool-provider.test.ts +579 -0
- package/src/task/backend/index.ts +156 -106
- package/src/task/backend/memory.ts +4 -0
- package/src/task/backend/opentasks/__tests__/backend.test.ts +968 -0
- package/src/task/backend/opentasks/__tests__/daemon-manager.test.ts +406 -0
- package/src/task/backend/opentasks/__tests__/mapping.test.ts +84 -0
- package/src/task/backend/opentasks/__tests__/opentasks-backend.e2e.test.ts +1338 -0
- package/src/task/backend/opentasks/backend.ts +1323 -0
- package/src/task/backend/opentasks/client.ts +652 -0
- package/src/task/backend/opentasks/daemon-manager.ts +256 -0
- package/src/task/backend/opentasks/index.ts +69 -0
- package/src/task/backend/opentasks/mapping.ts +94 -0
- package/src/task/backend/types.ts +42 -66
- package/src/task/backend/unified-tool-provider.ts +779 -0
- package/src/teams/CLAUDE.md +180 -0
- package/src/teams/__tests__/cross-subsystem.integration.test.ts +1 -1
- package/src/teams/__tests__/e2e/workspace-isolation.e2e.test.ts +1263 -0
- package/src/teams/__tests__/team-manager.test.ts +814 -0
- package/src/teams/__tests__/team-system.test.ts +1291 -8
- package/src/teams/index.ts +21 -3
- package/src/teams/seed-defaults.ts +79 -0
- package/src/teams/team-loader.ts +202 -236
- package/src/teams/team-manager.ts +387 -0
- package/src/teams/team-runtime.ts +592 -121
- package/src/teams/types.ts +99 -200
- package/test_fixtures/README.md +2 -3
- package/test_fixtures/fixtures/index.ts +0 -3
- package/test_fixtures/fixtures/projects/project-with-specs.ts +7 -149
- package/test_fixtures/fixtures/repos/index.ts +1 -3
- package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -116
- package/test_fixtures/fixtures/repos/types.ts +0 -11
- package/test_fixtures/harness/__tests__/fixtures.test.ts +10 -102
- package/test_fixtures/harness/__tests__/temp-repo-and-simulator.test.ts +0 -33
- package/test_fixtures/harness/simulator/agent-simulator.ts +4 -4
- package/vitest.config.ts +1 -1
- package/vitest.e2e.config.ts +1 -1
- package/vitest.setup.ts +1 -30
- package/.macro-agent/teams/self-driving/prompts/grinder.md +0 -27
- package/.macro-agent/teams/self-driving/prompts/judge.md +0 -27
- package/.macro-agent/teams/self-driving/prompts/planner.md +0 -33
- package/.macro-agent/teams/self-driving/roles/grinder.yaml +0 -17
- package/.macro-agent/teams/self-driving/roles/judge.yaml +0 -24
- package/.macro-agent/teams/self-driving/roles/planner.yaml +0 -18
- package/.macro-agent/teams/self-driving/team.yaml +0 -103
- package/.macro-agent/teams/structured/prompts/developer.md +0 -26
- package/.macro-agent/teams/structured/prompts/lead.md +0 -25
- package/.macro-agent/teams/structured/prompts/reviewer.md +0 -24
- package/.macro-agent/teams/structured/roles/developer.yaml +0 -12
- package/.macro-agent/teams/structured/roles/lead.yaml +0 -11
- package/.macro-agent/teams/structured/roles/reviewer.yaml +0 -19
- package/.macro-agent/teams/structured/team.yaml +0 -89
- package/docs/sudocode-integration.md +0 -383
- package/src/task/backend/__tests__/backend-parity.test.ts +0 -451
- package/src/task/backend/__tests__/tool-provider-edge-cases.test.ts +0 -430
- package/src/task/backend/__tests__/tool-provider.test.ts +0 -983
- package/src/task/backend/sudocode/__tests__/backend-edge-cases.test.ts +0 -575
- package/src/task/backend/sudocode/__tests__/backend.test.ts +0 -1194
- package/src/task/backend/sudocode/__tests__/client-integration.test.ts +0 -418
- package/src/task/backend/sudocode/__tests__/client.test.ts +0 -345
- package/src/task/backend/sudocode/__tests__/e2e/backend.e2e.test.ts +0 -753
- package/src/task/backend/sudocode/__tests__/e2e/server-client.e2e.test.ts +0 -680
- package/src/task/backend/sudocode/__tests__/e2e-workflow.test.ts +0 -666
- package/src/task/backend/sudocode/__tests__/integration/standalone-client.integration.test.ts +0 -396
- package/src/task/backend/sudocode/__tests__/integration/sudocode-cli.integration.test.ts +0 -328
- package/src/task/backend/sudocode/__tests__/integration/test-utils.ts +0 -175
- package/src/task/backend/sudocode/__tests__/mapping-edge-cases.test.ts +0 -265
- package/src/task/backend/sudocode/__tests__/server-client.test.ts +0 -675
- package/src/task/backend/sudocode/__tests__/sync-policy-edge-cases.test.ts +0 -521
- package/src/task/backend/sudocode/__tests__/sync-policy.test.ts +0 -519
- package/src/task/backend/sudocode/__tests__/tools.test.ts +0 -471
- package/src/task/backend/sudocode/backend.ts +0 -1237
- package/src/task/backend/sudocode/client.ts +0 -515
- package/src/task/backend/sudocode/index.ts +0 -120
- package/src/task/backend/sudocode/mapping.ts +0 -93
- package/src/task/backend/sudocode/server-client.ts +0 -522
- package/src/task/backend/sudocode/standalone-client.ts +0 -623
- package/src/task/backend/sudocode/sync-policy.ts +0 -387
- package/src/task/backend/sudocode/tools.ts +0 -896
- package/src/task/backend/tool-provider.ts +0 -506
- package/test_fixtures/fixtures/sudocode/index.ts +0 -29
- package/test_fixtures/fixtures/sudocode/issues.ts +0 -185
- package/test_fixtures/fixtures/sudocode/specs.ts +0 -159
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* TempRepoFactory - Creates temporary git repositories for testing
|
|
3
|
-
*
|
|
4
|
-
* @see s-1zcx Multi-Agent Orchestration Testing Strategy
|
|
5
3
|
*/
|
|
6
4
|
|
|
7
5
|
import * as fs from "fs";
|
|
@@ -29,9 +27,6 @@ export async function createTempRepo(
|
|
|
29
27
|
bare = false,
|
|
30
28
|
remoteOrigin,
|
|
31
29
|
withDataplane = false,
|
|
32
|
-
withSudocode = false,
|
|
33
|
-
sudocodeSpecs = [],
|
|
34
|
-
sudocodeIssues = [],
|
|
35
30
|
branches = [],
|
|
36
31
|
} = options;
|
|
37
32
|
|
|
@@ -123,17 +118,6 @@ export async function createTempRepo(
|
|
|
123
118
|
// Initialize dataplane schema (minimal for testing)
|
|
124
119
|
initializeDataplaneSchema(db);
|
|
125
120
|
|
|
126
|
-
if (withSudocode) {
|
|
127
|
-
initializeSudocodeSchema(db);
|
|
128
|
-
|
|
129
|
-
// Create specs and issues
|
|
130
|
-
for (const spec of sudocodeSpecs) {
|
|
131
|
-
createSpec(db, spec);
|
|
132
|
-
}
|
|
133
|
-
for (const issue of sudocodeIssues) {
|
|
134
|
-
createIssue(db, issue);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
121
|
}
|
|
138
122
|
|
|
139
123
|
// Build TempRepo object
|
|
@@ -313,103 +297,3 @@ function initializeDataplaneSchema(db: Database.Database): void {
|
|
|
313
297
|
`);
|
|
314
298
|
}
|
|
315
299
|
|
|
316
|
-
/**
|
|
317
|
-
* Initialize sudocode schema for testing
|
|
318
|
-
*/
|
|
319
|
-
function initializeSudocodeSchema(db: Database.Database): void {
|
|
320
|
-
db.exec(`
|
|
321
|
-
-- Specs table
|
|
322
|
-
CREATE TABLE IF NOT EXISTS sudocode_specs (
|
|
323
|
-
id TEXT PRIMARY KEY,
|
|
324
|
-
title TEXT NOT NULL,
|
|
325
|
-
description TEXT,
|
|
326
|
-
priority INTEGER DEFAULT 2,
|
|
327
|
-
tags TEXT,
|
|
328
|
-
created_at INTEGER DEFAULT (unixepoch() * 1000),
|
|
329
|
-
updated_at INTEGER DEFAULT (unixepoch() * 1000)
|
|
330
|
-
);
|
|
331
|
-
|
|
332
|
-
-- Issues table
|
|
333
|
-
CREATE TABLE IF NOT EXISTS sudocode_issues (
|
|
334
|
-
id TEXT PRIMARY KEY,
|
|
335
|
-
title TEXT NOT NULL,
|
|
336
|
-
description TEXT,
|
|
337
|
-
status TEXT DEFAULT 'open',
|
|
338
|
-
priority INTEGER DEFAULT 2,
|
|
339
|
-
tags TEXT,
|
|
340
|
-
created_at INTEGER DEFAULT (unixepoch() * 1000),
|
|
341
|
-
updated_at INTEGER DEFAULT (unixepoch() * 1000)
|
|
342
|
-
);
|
|
343
|
-
|
|
344
|
-
-- Links table
|
|
345
|
-
CREATE TABLE IF NOT EXISTS sudocode_links (
|
|
346
|
-
from_id TEXT NOT NULL,
|
|
347
|
-
to_id TEXT NOT NULL,
|
|
348
|
-
type TEXT NOT NULL,
|
|
349
|
-
created_at INTEGER DEFAULT (unixepoch() * 1000),
|
|
350
|
-
PRIMARY KEY (from_id, to_id, type)
|
|
351
|
-
);
|
|
352
|
-
`);
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Create a spec in the database
|
|
357
|
-
*/
|
|
358
|
-
function createSpec(
|
|
359
|
-
db: Database.Database,
|
|
360
|
-
spec: { id?: string; title: string; description?: string; priority?: number; tags?: string[] }
|
|
361
|
-
): string {
|
|
362
|
-
const id = spec.id || `s-${Date.now().toString(36)}`;
|
|
363
|
-
db.prepare(`
|
|
364
|
-
INSERT INTO sudocode_specs (id, title, description, priority, tags)
|
|
365
|
-
VALUES (?, ?, ?, ?, ?)
|
|
366
|
-
`).run(
|
|
367
|
-
id,
|
|
368
|
-
spec.title,
|
|
369
|
-
spec.description || "",
|
|
370
|
-
spec.priority || 2,
|
|
371
|
-
JSON.stringify(spec.tags || [])
|
|
372
|
-
);
|
|
373
|
-
return id;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Create an issue in the database
|
|
378
|
-
*/
|
|
379
|
-
function createIssue(
|
|
380
|
-
db: Database.Database,
|
|
381
|
-
issue: {
|
|
382
|
-
id?: string;
|
|
383
|
-
title: string;
|
|
384
|
-
description?: string;
|
|
385
|
-
status?: string;
|
|
386
|
-
priority?: number;
|
|
387
|
-
implements?: string;
|
|
388
|
-
tags?: string[];
|
|
389
|
-
}
|
|
390
|
-
): string {
|
|
391
|
-
const id = issue.id || `i-${Date.now().toString(36)}`;
|
|
392
|
-
db.prepare(`
|
|
393
|
-
INSERT INTO sudocode_issues (id, title, description, status, priority, tags)
|
|
394
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
395
|
-
`).run(
|
|
396
|
-
id,
|
|
397
|
-
issue.title,
|
|
398
|
-
issue.description || "",
|
|
399
|
-
issue.status || "open",
|
|
400
|
-
issue.priority || 2,
|
|
401
|
-
JSON.stringify(issue.tags || [])
|
|
402
|
-
);
|
|
403
|
-
|
|
404
|
-
// Create implements link if specified
|
|
405
|
-
if (issue.implements) {
|
|
406
|
-
db.prepare(`
|
|
407
|
-
INSERT INTO sudocode_links (from_id, to_id, type)
|
|
408
|
-
VALUES (?, ?, 'implements')
|
|
409
|
-
`).run(id, issue.implements);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return id;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
export { createSpec, createIssue };
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for TempRepoFactory
|
|
3
|
-
*
|
|
4
|
-
* @see s-1zcx Multi-Agent Orchestration Testing Strategy
|
|
5
3
|
*/
|
|
6
4
|
|
|
7
5
|
import type Database from "better-sqlite3";
|
|
@@ -25,15 +23,6 @@ export interface TempRepoOptions {
|
|
|
25
23
|
/** Initialize dataplane schema (creates SQLite database) */
|
|
26
24
|
withDataplane?: boolean;
|
|
27
25
|
|
|
28
|
-
/** Initialize sudocode (requires withDataplane) */
|
|
29
|
-
withSudocode?: boolean;
|
|
30
|
-
|
|
31
|
-
/** Sudocode specs to create */
|
|
32
|
-
sudocodeSpecs?: PartialSpec[];
|
|
33
|
-
|
|
34
|
-
/** Sudocode issues to create */
|
|
35
|
-
sudocodeIssues?: PartialIssue[];
|
|
36
|
-
|
|
37
26
|
/** Additional branches to create */
|
|
38
27
|
branches?: BranchConfig[];
|
|
39
28
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fixtures Library Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests for project fixtures
|
|
5
|
-
*
|
|
6
|
-
* @see s-1zcx Multi-Agent Orchestration Testing Strategy
|
|
4
|
+
* Tests for project fixtures and behavior fixtures.
|
|
7
5
|
*/
|
|
8
6
|
|
|
9
7
|
import { describe, it, expect, afterEach } from "vitest";
|
|
@@ -29,12 +27,6 @@ import {
|
|
|
29
27
|
SIMPLE_INTEGRATOR,
|
|
30
28
|
SIMPLE_MONITOR,
|
|
31
29
|
createWorker,
|
|
32
|
-
// Sudocode fixtures
|
|
33
|
-
SIMPLE_FEATURE_SPEC,
|
|
34
|
-
AUTH_SPEC,
|
|
35
|
-
AUTH_ISSUES,
|
|
36
|
-
createSpec,
|
|
37
|
-
createIssue,
|
|
38
30
|
} from "../../fixtures/index.js";
|
|
39
31
|
|
|
40
32
|
describe("Fixtures Library", () => {
|
|
@@ -97,23 +89,19 @@ describe("Fixtures Library", () => {
|
|
|
97
89
|
expect(repo.readFile("index.ts")).toContain("version");
|
|
98
90
|
});
|
|
99
91
|
|
|
100
|
-
it("should create project with
|
|
92
|
+
it("should create project with dataplane", async () => {
|
|
101
93
|
harness = await createTestHarness();
|
|
102
94
|
const repo = await harness.createTempRepo(PROJECT_WITH_SPECS);
|
|
103
95
|
|
|
104
96
|
expect(repo.db).toBeDefined();
|
|
105
97
|
|
|
106
|
-
// Verify
|
|
107
|
-
const
|
|
108
|
-
.prepare(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const issues = repo.db!
|
|
114
|
-
.prepare("SELECT * FROM sudocode_issues")
|
|
115
|
-
.all() as Array<{ id: string }>;
|
|
116
|
-
expect(issues.length).toBeGreaterThan(0);
|
|
98
|
+
// Verify dataplane tables exist
|
|
99
|
+
const tables = repo.db!
|
|
100
|
+
.prepare(
|
|
101
|
+
"SELECT name FROM sqlite_master WHERE type='table' AND name LIKE 'dataplane_%'"
|
|
102
|
+
)
|
|
103
|
+
.all() as Array<{ name: string }>;
|
|
104
|
+
expect(tables.length).toBeGreaterThan(0);
|
|
117
105
|
});
|
|
118
106
|
|
|
119
107
|
it("should create custom TypeScript project options", async () => {
|
|
@@ -308,77 +296,6 @@ describe("Fixtures Library", () => {
|
|
|
308
296
|
});
|
|
309
297
|
});
|
|
310
298
|
|
|
311
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
312
|
-
// Sudocode Fixtures
|
|
313
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
314
|
-
|
|
315
|
-
describe("Sudocode Fixtures", () => {
|
|
316
|
-
let harness: TestHarness;
|
|
317
|
-
|
|
318
|
-
afterEach(async () => {
|
|
319
|
-
if (harness) {
|
|
320
|
-
await harness.cleanup();
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
|
-
|
|
324
|
-
it("should create project with predefined specs", async () => {
|
|
325
|
-
harness = await createTestHarness();
|
|
326
|
-
const repo = await harness.createTempRepo({
|
|
327
|
-
initialFiles: MINIMAL_PROJECT,
|
|
328
|
-
withDataplane: true,
|
|
329
|
-
withSudocode: true,
|
|
330
|
-
sudocodeSpecs: [SIMPLE_FEATURE_SPEC, AUTH_SPEC],
|
|
331
|
-
});
|
|
332
|
-
|
|
333
|
-
const specs = repo.db!
|
|
334
|
-
.prepare("SELECT * FROM sudocode_specs")
|
|
335
|
-
.all() as Array<{ id: string; title: string }>;
|
|
336
|
-
|
|
337
|
-
expect(specs.length).toBe(2);
|
|
338
|
-
expect(specs.some((s) => s.title === "Simple Feature")).toBe(true);
|
|
339
|
-
expect(specs.some((s) => s.title === "User Authentication")).toBe(true);
|
|
340
|
-
});
|
|
341
|
-
|
|
342
|
-
it("should create project with predefined issues", async () => {
|
|
343
|
-
harness = await createTestHarness();
|
|
344
|
-
const repo = await harness.createTempRepo({
|
|
345
|
-
initialFiles: MINIMAL_PROJECT,
|
|
346
|
-
withDataplane: true,
|
|
347
|
-
withSudocode: true,
|
|
348
|
-
sudocodeSpecs: [AUTH_SPEC],
|
|
349
|
-
sudocodeIssues: AUTH_ISSUES,
|
|
350
|
-
});
|
|
351
|
-
|
|
352
|
-
const issues = repo.db!
|
|
353
|
-
.prepare("SELECT * FROM sudocode_issues")
|
|
354
|
-
.all() as Array<{ id: string; title: string }>;
|
|
355
|
-
|
|
356
|
-
expect(issues.length).toBe(4); // 4 auth issues
|
|
357
|
-
});
|
|
358
|
-
|
|
359
|
-
it("should create custom spec", () => {
|
|
360
|
-
const spec = createSpec("s-custom", "Custom Spec", "Custom description", {
|
|
361
|
-
priority: 1,
|
|
362
|
-
tags: ["custom"],
|
|
363
|
-
});
|
|
364
|
-
|
|
365
|
-
expect(spec.id).toBe("s-custom");
|
|
366
|
-
expect(spec.title).toBe("Custom Spec");
|
|
367
|
-
expect(spec.priority).toBe(1);
|
|
368
|
-
});
|
|
369
|
-
|
|
370
|
-
it("should create custom issue", () => {
|
|
371
|
-
const issue = createIssue("i-custom", "Custom Issue", {
|
|
372
|
-
implements: "s-custom",
|
|
373
|
-
status: "in_progress",
|
|
374
|
-
});
|
|
375
|
-
|
|
376
|
-
expect(issue.id).toBe("i-custom");
|
|
377
|
-
expect(issue.title).toBe("Custom Issue");
|
|
378
|
-
expect(issue.implements).toBe("s-custom");
|
|
379
|
-
});
|
|
380
|
-
});
|
|
381
|
-
|
|
382
299
|
// ─────────────────────────────────────────────────────────────────────────
|
|
383
300
|
// Integration Tests
|
|
384
301
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -395,19 +312,10 @@ describe("Fixtures Library", () => {
|
|
|
395
312
|
it("should run complete workflow with fixtures", async () => {
|
|
396
313
|
harness = await createTestHarness();
|
|
397
314
|
|
|
398
|
-
// Create project
|
|
315
|
+
// Create project
|
|
399
316
|
await harness.createTempRepo({
|
|
400
317
|
initialFiles: TYPESCRIPT_PROJECT,
|
|
401
318
|
withDataplane: true,
|
|
402
|
-
withSudocode: true,
|
|
403
|
-
sudocodeSpecs: [SIMPLE_FEATURE_SPEC],
|
|
404
|
-
sudocodeIssues: [
|
|
405
|
-
{
|
|
406
|
-
id: "i-impl",
|
|
407
|
-
title: "Implement feature",
|
|
408
|
-
implements: "s-simple",
|
|
409
|
-
},
|
|
410
|
-
],
|
|
411
319
|
});
|
|
412
320
|
|
|
413
321
|
// Spawn coordinator that spawns worker
|
|
@@ -111,39 +111,6 @@ describe("TempRepoFactory and AgentSimulator", () => {
|
|
|
111
111
|
expect(tables.length).toBeGreaterThan(0);
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
it("should create repo with sudocode schema and fixtures", async () => {
|
|
115
|
-
repo = await createTempRepo({
|
|
116
|
-
withDataplane: true,
|
|
117
|
-
withSudocode: true,
|
|
118
|
-
sudocodeSpecs: [
|
|
119
|
-
{ id: "s-test", title: "Test Spec", description: "Test description" },
|
|
120
|
-
],
|
|
121
|
-
sudocodeIssues: [
|
|
122
|
-
{ id: "i-test", title: "Test Issue", implements: "s-test" },
|
|
123
|
-
],
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
// Verify spec was created
|
|
127
|
-
const spec = repo.db!
|
|
128
|
-
.prepare("SELECT * FROM sudocode_specs WHERE id = ?")
|
|
129
|
-
.get("s-test") as { title: string } | undefined;
|
|
130
|
-
expect(spec).toBeDefined();
|
|
131
|
-
expect(spec!.title).toBe("Test Spec");
|
|
132
|
-
|
|
133
|
-
// Verify issue was created
|
|
134
|
-
const issue = repo.db!
|
|
135
|
-
.prepare("SELECT * FROM sudocode_issues WHERE id = ?")
|
|
136
|
-
.get("i-test") as { title: string } | undefined;
|
|
137
|
-
expect(issue).toBeDefined();
|
|
138
|
-
expect(issue!.title).toBe("Test Issue");
|
|
139
|
-
|
|
140
|
-
// Verify link was created
|
|
141
|
-
const link = repo.db!
|
|
142
|
-
.prepare("SELECT * FROM sudocode_links WHERE from_id = ? AND to_id = ?")
|
|
143
|
-
.get("i-test", "s-test") as { type: string } | undefined;
|
|
144
|
-
expect(link).toBeDefined();
|
|
145
|
-
expect(link!.type).toBe("implements");
|
|
146
|
-
});
|
|
147
114
|
});
|
|
148
115
|
|
|
149
116
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -155,9 +155,9 @@ class DefaultAgentSimulator implements AgentSimulator {
|
|
|
155
155
|
async stop(): Promise<void> {
|
|
156
156
|
if (!this.running) return;
|
|
157
157
|
|
|
158
|
-
// Emit
|
|
158
|
+
// Emit stop event
|
|
159
159
|
this.services.eventStore.emit({
|
|
160
|
-
type: "
|
|
160
|
+
type: "stop",
|
|
161
161
|
source: { agent_id: this.agentId },
|
|
162
162
|
payload: {
|
|
163
163
|
agent_id: this.agentId,
|
|
@@ -753,9 +753,9 @@ class DefaultAgentSimulator implements AgentSimulator {
|
|
|
753
753
|
});
|
|
754
754
|
}
|
|
755
755
|
|
|
756
|
-
// Emit
|
|
756
|
+
// Emit stop event
|
|
757
757
|
this.services.eventStore.emit({
|
|
758
|
-
type: "
|
|
758
|
+
type: "stop",
|
|
759
759
|
source: { agent_id: this.agentId },
|
|
760
760
|
payload: {
|
|
761
761
|
agent_id: this.agentId,
|
package/vitest.config.ts
CHANGED
|
@@ -22,7 +22,7 @@ export default defineConfig({
|
|
|
22
22
|
},
|
|
23
23
|
server: {
|
|
24
24
|
deps: {
|
|
25
|
-
// Force inline
|
|
25
|
+
// Force inline external packages to avoid Node.js type stripping issues
|
|
26
26
|
inline: [/@sudocode-ai\/.*/],
|
|
27
27
|
},
|
|
28
28
|
},
|
package/vitest.e2e.config.ts
CHANGED
|
@@ -20,7 +20,7 @@ export default defineConfig({
|
|
|
20
20
|
fileParallelism: false,
|
|
21
21
|
server: {
|
|
22
22
|
deps: {
|
|
23
|
-
// Force inline
|
|
23
|
+
// Force inline external packages to avoid Node.js type stripping issues
|
|
24
24
|
inline: [/@sudocode-ai\/.*/],
|
|
25
25
|
},
|
|
26
26
|
},
|
package/vitest.setup.ts
CHANGED
|
@@ -6,36 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { beforeAll, vi } from "vitest";
|
|
8
8
|
|
|
9
|
-
// Store the real project path
|
|
10
|
-
const REAL_PROJECT_PATH = process.cwd();
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Safety check: Prevent tests from accidentally using the real project's
|
|
14
|
-
* sudocode directory by intercepting StandaloneClient creation.
|
|
15
|
-
*
|
|
16
|
-
* Tests that need to use sudocode should use temp directories.
|
|
17
|
-
*/
|
|
18
9
|
beforeAll(() => {
|
|
19
|
-
//
|
|
20
|
-
const originalCwd = process.cwd;
|
|
21
|
-
|
|
22
|
-
// Create a spy on process.cwd that tracks calls
|
|
23
|
-
// This helps identify if any test is trying to use the real project
|
|
24
|
-
const cwdSpy = vi.spyOn(process, "cwd");
|
|
25
|
-
|
|
26
|
-
// We can't fully prevent process.cwd() from being called, but we can
|
|
27
|
-
// set up the environment to make it clear we're in a test
|
|
10
|
+
// Set up the environment to make it clear we're in a test
|
|
28
11
|
process.env.NODE_ENV = "test";
|
|
29
|
-
|
|
30
|
-
// Log a warning if MACRO_TASK_BACKEND=sudocode without explicit path
|
|
31
|
-
if (
|
|
32
|
-
process.env.MACRO_TASK_BACKEND === "sudocode" &&
|
|
33
|
-
!process.env.SUDOCODE_PROJECT_PATH
|
|
34
|
-
) {
|
|
35
|
-
console.warn(
|
|
36
|
-
"\n⚠️ WARNING: MACRO_TASK_BACKEND=sudocode but SUDOCODE_PROJECT_PATH is not set.\n" +
|
|
37
|
-
" Tests may accidentally modify the real project's .sudocode/ directory.\n" +
|
|
38
|
-
" Set SUDOCODE_PROJECT_PATH to a temp directory for safety.\n"
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
12
|
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Grinder
|
|
2
|
-
|
|
3
|
-
You are a Grinder — an autonomous worker that claims tasks and executes them.
|
|
4
|
-
|
|
5
|
-
## How You Work
|
|
6
|
-
|
|
7
|
-
1. Call claim_task() to get your next task
|
|
8
|
-
2. Read the task description carefully
|
|
9
|
-
3. Execute the work: write code, run tests, fix issues
|
|
10
|
-
4. When done, call done() with your results
|
|
11
|
-
5. Immediately call claim_task() for the next task
|
|
12
|
-
6. If no tasks available, wait briefly and retry
|
|
13
|
-
|
|
14
|
-
## Work Guidelines
|
|
15
|
-
|
|
16
|
-
- Work independently — do not ask for instructions
|
|
17
|
-
- Write complete implementations, not stubs or TODOs
|
|
18
|
-
- Run tests before calling done() if the task involves code changes
|
|
19
|
-
- Commit your changes with clear, descriptive messages
|
|
20
|
-
- If you're stuck on a task for more than 10 minutes, call done({ status: "blocked" })
|
|
21
|
-
|
|
22
|
-
## Quality
|
|
23
|
-
|
|
24
|
-
- Follow existing codebase conventions
|
|
25
|
-
- Ensure your changes compile and pass lint
|
|
26
|
-
- Write tests for new functionality
|
|
27
|
-
- Keep changes focused on the task — don't refactor surrounding code
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Judge
|
|
2
|
-
|
|
3
|
-
You periodically evaluate the health of the codebase and take corrective action.
|
|
4
|
-
|
|
5
|
-
## Evaluation Cycle
|
|
6
|
-
|
|
7
|
-
Every time you activate:
|
|
8
|
-
1. Run the build — check compilation
|
|
9
|
-
2. Run the test suite — check correctness
|
|
10
|
-
3. Run the linter — check code quality
|
|
11
|
-
4. If all pass: emit GREEN_SNAPSHOT
|
|
12
|
-
5. If any fail: create fixup tasks with tag "fixup" and priority "critical"
|
|
13
|
-
|
|
14
|
-
## Creating Fixup Tasks
|
|
15
|
-
|
|
16
|
-
When you find failures:
|
|
17
|
-
- Create one task per distinct issue (don't bundle)
|
|
18
|
-
- Include the exact error output in the task description
|
|
19
|
-
- Tag with: ["fixup", "<subsystem>"]
|
|
20
|
-
- Reference the failing file and test
|
|
21
|
-
|
|
22
|
-
## Health Reporting
|
|
23
|
-
|
|
24
|
-
After each evaluation cycle, emit a health status:
|
|
25
|
-
- Use emit_status to report overall codebase health
|
|
26
|
-
- Include: build status, test pass rate, lint error count
|
|
27
|
-
- This information helps the planner adjust priorities
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Planner
|
|
2
|
-
|
|
3
|
-
You are the Planner. Your job is to continuously explore the codebase,
|
|
4
|
-
understand the current state, and create well-defined tasks for workers.
|
|
5
|
-
|
|
6
|
-
## How You Work
|
|
7
|
-
|
|
8
|
-
1. **Explore**: Read the codebase to understand architecture, patterns, and gaps
|
|
9
|
-
2. **Plan**: Break the objective into independent, parallelizable tasks
|
|
10
|
-
3. **Create**: Use create_task to add tasks to the pool with clear descriptions and tags
|
|
11
|
-
4. **Monitor**: Watch for completed/failed tasks and adjust the plan
|
|
12
|
-
5. **Repeat**: Planning is continuous — as work completes, create the next batch
|
|
13
|
-
|
|
14
|
-
## Planning Guidelines
|
|
15
|
-
|
|
16
|
-
- Each task should be completable in 5-30 minutes by a single worker
|
|
17
|
-
- Tag tasks with subsystem and type for filtered claiming
|
|
18
|
-
- Set dependencies (blockers) when ordering matters
|
|
19
|
-
- Prefer many small tasks over few large ones — parallelism is the goal
|
|
20
|
-
- Include enough context for a worker to start without re-exploring
|
|
21
|
-
|
|
22
|
-
## Constraints
|
|
23
|
-
|
|
24
|
-
- Do NOT instruct on things the model already knows (coding, testing, etc.)
|
|
25
|
-
- DO specify things specific to this codebase (conventions, build system, deploy pipeline)
|
|
26
|
-
- Constraints are more effective than instructions: "No TODOs, no partial implementations"
|
|
27
|
-
|
|
28
|
-
## Sub-Planners
|
|
29
|
-
|
|
30
|
-
For large subsystems (>10 tasks), spawn a sub-planner:
|
|
31
|
-
- spawn_agent({ role: "planner", task: "Plan the [subsystem] changes" })
|
|
32
|
-
- Sub-planners create tasks in the shared pool
|
|
33
|
-
- You maintain the high-level view
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
name: grinder
|
|
2
|
-
extends: worker
|
|
3
|
-
display_name: "Grinder"
|
|
4
|
-
description: "Claims and executes tasks autonomously"
|
|
5
|
-
|
|
6
|
-
capabilities_add:
|
|
7
|
-
- task.claim
|
|
8
|
-
- git.push
|
|
9
|
-
|
|
10
|
-
prompt: prompts/grinder.md
|
|
11
|
-
|
|
12
|
-
macro_agent:
|
|
13
|
-
lifecycle:
|
|
14
|
-
type: ephemeral
|
|
15
|
-
task_bound: false
|
|
16
|
-
max_duration_ms: 3600000
|
|
17
|
-
self_cleanup: true
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: judge
|
|
2
|
-
extends: monitor
|
|
3
|
-
display_name: "Judge"
|
|
4
|
-
description: "Periodically evaluates codebase health and creates fixup tasks"
|
|
5
|
-
|
|
6
|
-
capabilities_add:
|
|
7
|
-
- exec.build
|
|
8
|
-
- exec.test
|
|
9
|
-
- exec.lint
|
|
10
|
-
- task.create
|
|
11
|
-
- task.update
|
|
12
|
-
- git.branch.create
|
|
13
|
-
- git.push
|
|
14
|
-
|
|
15
|
-
prompt: prompts/judge.md
|
|
16
|
-
|
|
17
|
-
macro_agent:
|
|
18
|
-
workspace:
|
|
19
|
-
type: own
|
|
20
|
-
branch_pattern: "judge/{agent-id}"
|
|
21
|
-
cleanup_on_terminate: true
|
|
22
|
-
lifecycle:
|
|
23
|
-
type: event-driven
|
|
24
|
-
parent_bound: false
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
name: planner
|
|
2
|
-
extends: coordinator
|
|
3
|
-
display_name: "Planner"
|
|
4
|
-
description: "Continuously explores the codebase, creates and prioritizes tasks"
|
|
5
|
-
|
|
6
|
-
capabilities_add:
|
|
7
|
-
- task.claim
|
|
8
|
-
|
|
9
|
-
capabilities_remove:
|
|
10
|
-
- agent.spawn.integrator
|
|
11
|
-
- agent.spawn.monitor
|
|
12
|
-
|
|
13
|
-
prompt: prompts/planner.md
|
|
14
|
-
|
|
15
|
-
macro_agent:
|
|
16
|
-
lifecycle:
|
|
17
|
-
type: daemon
|
|
18
|
-
cascade_terminate: true
|