macro-agent 0.1.2 → 0.1.3
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/.gitattributes +3 -0
- package/.opentasks/config.json +9 -0
- package/CLAUDE.md +432 -206
- package/README.md +129 -371
- package/dist/acp/index.d.ts +9 -51
- package/dist/acp/index.d.ts.map +1 -1
- package/dist/acp/index.js +5 -46
- package/dist/acp/index.js.map +1 -1
- package/dist/acp/macro-agent.d.ts +28 -255
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +593 -1231
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/map-bridge.d.ts +62 -0
- package/dist/acp/map-bridge.d.ts.map +1 -0
- package/dist/acp/map-bridge.js +123 -0
- package/dist/acp/map-bridge.js.map +1 -0
- package/dist/acp/session-mapper.d.ts +29 -126
- package/dist/acp/session-mapper.d.ts.map +1 -1
- package/dist/acp/session-mapper.js +36 -234
- package/dist/acp/session-mapper.js.map +1 -1
- package/dist/acp/types.d.ts +24 -535
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js +7 -7
- package/dist/acp/types.js.map +1 -1
- package/dist/acp/websocket-server.d.ts +16 -136
- package/dist/acp/websocket-server.d.ts.map +1 -1
- package/dist/acp/websocket-server.js +131 -371
- package/dist/acp/websocket-server.js.map +1 -1
- package/dist/adapters/federation.d.ts +76 -0
- package/dist/adapters/federation.d.ts.map +1 -0
- package/dist/adapters/federation.js +120 -0
- package/dist/adapters/federation.js.map +1 -0
- package/dist/adapters/inbox-adapter.d.ts +72 -0
- package/dist/adapters/inbox-adapter.d.ts.map +1 -0
- package/dist/adapters/inbox-adapter.js +196 -0
- package/dist/adapters/inbox-adapter.js.map +1 -0
- package/dist/adapters/inbox-client-adapter.d.ts +40 -0
- package/dist/adapters/inbox-client-adapter.d.ts.map +1 -0
- package/dist/adapters/inbox-client-adapter.js +135 -0
- package/dist/adapters/inbox-client-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +11 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +10 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/opentasks-daemon.d.ts +32 -0
- package/dist/adapters/opentasks-daemon.d.ts.map +1 -0
- package/dist/adapters/opentasks-daemon.js +190 -0
- package/dist/adapters/opentasks-daemon.js.map +1 -0
- package/dist/adapters/tasks-adapter.d.ts +49 -0
- package/dist/adapters/tasks-adapter.d.ts.map +1 -0
- package/dist/adapters/tasks-adapter.js +209 -0
- package/dist/adapters/tasks-adapter.js.map +1 -0
- package/dist/adapters/types.d.ts +198 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +13 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/agent/agent-manager-v2.d.ts +38 -0
- package/dist/agent/agent-manager-v2.d.ts.map +1 -0
- package/dist/agent/agent-manager-v2.js +1097 -0
- package/dist/agent/agent-manager-v2.js.map +1 -0
- package/dist/agent/agent-manager.d.ts +52 -42
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js +11 -1318
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/agent-store.d.ts +89 -0
- package/dist/agent/agent-store.d.ts.map +1 -0
- package/dist/agent/agent-store.js +279 -0
- package/dist/agent/agent-store.js.map +1 -0
- package/dist/api/index.d.ts +5 -3
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -3
- package/dist/api/index.js.map +1 -1
- package/dist/api/server.d.ts +6 -127
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +235 -1574
- package/dist/api/server.js.map +1 -1
- package/dist/api/types.d.ts +20 -248
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +3 -1
- package/dist/api/types.js.map +1 -1
- package/dist/boot-v2.d.ts +165 -0
- package/dist/boot-v2.d.ts.map +1 -0
- package/dist/boot-v2.js +315 -0
- package/dist/boot-v2.js.map +1 -0
- package/dist/cli/acp.d.ts +6 -28
- package/dist/cli/acp.d.ts.map +1 -1
- package/dist/cli/acp.js +38 -442
- package/dist/cli/acp.js.map +1 -1
- package/dist/cli/index.d.ts +1 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +65 -453
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts +18 -8
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +231 -301
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cognitive/analyst-role.d.ts +13 -0
- package/dist/cognitive/analyst-role.d.ts.map +1 -0
- package/dist/cognitive/analyst-role.js +48 -0
- package/dist/cognitive/analyst-role.js.map +1 -0
- package/dist/cognitive/index.d.ts +18 -0
- package/dist/cognitive/index.d.ts.map +1 -0
- package/dist/cognitive/index.js +21 -0
- package/dist/cognitive/index.js.map +1 -0
- package/dist/cognitive/macro-agent-backend.d.ts +40 -0
- package/dist/cognitive/macro-agent-backend.d.ts.map +1 -0
- package/dist/cognitive/macro-agent-backend.js +290 -0
- package/dist/cognitive/macro-agent-backend.js.map +1 -0
- package/dist/cognitive/session-converter.d.ts +30 -0
- package/dist/cognitive/session-converter.d.ts.map +1 -0
- package/dist/cognitive/session-converter.js +119 -0
- package/dist/cognitive/session-converter.js.map +1 -0
- package/dist/cognitive/types.d.ts +129 -0
- package/dist/cognitive/types.d.ts.map +1 -0
- package/dist/cognitive/types.js +12 -0
- package/dist/cognitive/types.js.map +1 -0
- package/dist/cognitive/workspace-handler.d.ts +46 -0
- package/dist/cognitive/workspace-handler.d.ts.map +1 -0
- package/dist/cognitive/workspace-handler.js +135 -0
- package/dist/cognitive/workspace-handler.js.map +1 -0
- package/dist/control/control-client.d.ts +63 -0
- package/dist/control/control-client.d.ts.map +1 -0
- package/dist/control/control-client.js +276 -0
- package/dist/control/control-client.js.map +1 -0
- package/dist/control/control-server.d.ts +46 -0
- package/dist/control/control-server.d.ts.map +1 -0
- package/dist/control/control-server.js +237 -0
- package/dist/control/control-server.js.map +1 -0
- package/dist/control/index.d.ts +9 -0
- package/dist/control/index.d.ts.map +1 -0
- package/dist/control/index.js +8 -0
- package/dist/control/index.js.map +1 -0
- package/dist/control/types.d.ts +64 -0
- package/dist/control/types.d.ts.map +1 -0
- package/dist/control/types.js +10 -0
- package/dist/control/types.js.map +1 -0
- package/dist/index.d.ts +14 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -34
- package/dist/index.js.map +1 -1
- package/dist/integrations/context-builder.d.ts +49 -0
- package/dist/integrations/context-builder.d.ts.map +1 -0
- package/dist/integrations/context-builder.js +160 -0
- package/dist/integrations/context-builder.js.map +1 -0
- package/dist/integrations/sessionlog.d.ts +58 -0
- package/dist/integrations/sessionlog.d.ts.map +1 -0
- package/dist/integrations/sessionlog.js +152 -0
- package/dist/integrations/sessionlog.js.map +1 -0
- package/dist/integrations/skilltree.d.ts +53 -0
- package/dist/integrations/skilltree.d.ts.map +1 -0
- package/dist/integrations/skilltree.js +140 -0
- package/dist/integrations/skilltree.js.map +1 -0
- package/dist/lifecycle/cleanup.d.ts +5 -14
- package/dist/lifecycle/cleanup.d.ts.map +1 -1
- package/dist/lifecycle/cleanup.js +4 -34
- package/dist/lifecycle/cleanup.js.map +1 -1
- package/dist/lifecycle/handlers-v2.d.ts +33 -0
- package/dist/lifecycle/handlers-v2.d.ts.map +1 -0
- package/dist/lifecycle/handlers-v2.js +319 -0
- package/dist/lifecycle/handlers-v2.js.map +1 -0
- package/dist/lifecycle/index.d.ts +3 -5
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +3 -12
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/map/acp-bridge.d.ts +39 -0
- package/dist/map/acp-bridge.d.ts.map +1 -0
- package/dist/map/acp-bridge.js +180 -0
- package/dist/map/acp-bridge.js.map +1 -0
- package/dist/map/cc-swarm-hooks.d.ts +36 -0
- package/dist/map/cc-swarm-hooks.d.ts.map +1 -0
- package/dist/map/cc-swarm-hooks.js +218 -0
- package/dist/map/cc-swarm-hooks.js.map +1 -0
- package/dist/map/coordination-handler.d.ts +36 -0
- package/dist/map/coordination-handler.d.ts.map +1 -0
- package/dist/map/coordination-handler.js +166 -0
- package/dist/map/coordination-handler.js.map +1 -0
- package/dist/map/index.d.ts +5 -10
- package/dist/map/index.d.ts.map +1 -1
- package/dist/map/index.js +4 -13
- package/dist/map/index.js.map +1 -1
- package/dist/map/lifecycle-bridge.d.ts +34 -0
- package/dist/map/lifecycle-bridge.d.ts.map +1 -0
- package/dist/map/lifecycle-bridge.js +96 -0
- package/dist/map/lifecycle-bridge.js.map +1 -0
- package/dist/map/server.d.ts +38 -0
- package/dist/map/server.d.ts.map +1 -0
- package/dist/map/server.js +461 -0
- package/dist/map/server.js.map +1 -0
- package/dist/map/sidecar.d.ts +24 -0
- package/dist/map/sidecar.d.ts.map +1 -0
- package/dist/map/sidecar.js +263 -0
- package/dist/map/sidecar.js.map +1 -0
- package/dist/map/task-bridge.d.ts +22 -0
- package/dist/map/task-bridge.d.ts.map +1 -0
- package/dist/map/task-bridge.js +67 -0
- package/dist/map/task-bridge.js.map +1 -0
- package/dist/map/trajectory-reporter.d.ts +24 -0
- package/dist/map/trajectory-reporter.d.ts.map +1 -0
- package/dist/map/trajectory-reporter.js +86 -0
- package/dist/map/trajectory-reporter.js.map +1 -0
- package/dist/map/types.d.ts +162 -226
- package/dist/map/types.d.ts.map +1 -1
- package/dist/map/types.js +6 -165
- package/dist/map/types.js.map +1 -1
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcp-server-v2.d.ts +44 -0
- package/dist/mcp/mcp-server-v2.d.ts.map +1 -0
- package/dist/mcp/mcp-server-v2.js +376 -0
- package/dist/mcp/mcp-server-v2.js.map +1 -0
- package/dist/mcp/tools/done-v2.d.ts +57 -0
- package/dist/mcp/tools/done-v2.d.ts.map +1 -0
- package/dist/mcp/tools/done-v2.js +129 -0
- package/dist/mcp/tools/done-v2.js.map +1 -0
- package/dist/metrics/index.d.ts +7 -1
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +6 -1
- package/dist/metrics/index.js.map +1 -1
- package/dist/metrics/metrics.d.ts +9 -70
- package/dist/metrics/metrics.d.ts.map +1 -1
- package/dist/metrics/metrics.js +89 -145
- package/dist/metrics/metrics.js.map +1 -1
- package/dist/metrics/types.d.ts +44 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +7 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/store/index.d.ts +3 -6
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +3 -21
- package/dist/store/index.js.map +1 -1
- package/dist/store/types/events.d.ts +3 -60
- package/dist/store/types/events.d.ts.map +1 -1
- package/dist/store/types/events.js +3 -46
- package/dist/store/types/events.js.map +1 -1
- package/dist/store/types/index.d.ts +0 -3
- package/dist/store/types/index.d.ts.map +1 -1
- package/dist/store/types/index.js +0 -3
- package/dist/store/types/index.js.map +1 -1
- package/dist/teams/index.d.ts +0 -2
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.js +0 -2
- package/dist/teams/index.js.map +1 -1
- package/dist/teams/team-manager-v2.d.ts +87 -0
- package/dist/teams/team-manager-v2.d.ts.map +1 -0
- package/dist/teams/team-manager-v2.js +203 -0
- package/dist/teams/team-manager-v2.js.map +1 -0
- package/dist/teams/team-runtime-v2.d.ts +149 -0
- package/dist/teams/team-runtime-v2.d.ts.map +1 -0
- package/dist/teams/team-runtime-v2.js +741 -0
- package/dist/teams/team-runtime-v2.js.map +1 -0
- package/dist/trigger/index.d.ts +2 -2
- package/dist/trigger/index.d.ts.map +1 -1
- package/dist/trigger/index.js +4 -4
- package/dist/trigger/index.js.map +1 -1
- package/dist/trigger/sources/cron/cron-service.d.ts +1 -1
- package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
- package/dist/trigger/sources/webhook/webhook-handler.d.ts +1 -1
- package/dist/trigger/sources/webhook/webhook-handler.d.ts.map +1 -1
- package/dist/trigger/strategies/ai-router.d.ts +31 -0
- package/dist/trigger/strategies/ai-router.d.ts.map +1 -0
- package/dist/trigger/strategies/ai-router.js +132 -0
- package/dist/trigger/strategies/ai-router.js.map +1 -0
- package/dist/trigger/trigger-system-v2.d.ts +106 -0
- package/dist/trigger/trigger-system-v2.d.ts.map +1 -0
- package/dist/trigger/trigger-system-v2.js +347 -0
- package/dist/trigger/trigger-system-v2.js.map +1 -0
- package/dist/trigger/types.d.ts +8 -0
- package/dist/trigger/types.d.ts.map +1 -1
- package/dist/trigger/types.js.map +1 -1
- package/dist/workspace/strategies/optimistic.d.ts +13 -3
- package/dist/workspace/strategies/optimistic.d.ts.map +1 -1
- package/dist/workspace/strategies/optimistic.js +4 -4
- package/dist/workspace/strategies/optimistic.js.map +1 -1
- package/docs/design-subsystem-extraction.md +627 -0
- package/docs/lifecycle-events-design.md +111 -0
- package/docs/openhive-capability-summary.md +415 -0
- package/docs/openhive-integration.md +415 -0
- package/docs/roadmap-v2-gaps.md +216 -0
- package/package.json +26 -7
- package/src/__tests__/boot-v2.test.ts +196 -0
- package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +496 -0
- package/src/__tests__/e2e/acp-over-map.e2e.test.ts +365 -0
- package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +770 -0
- package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +253 -0
- package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +282 -0
- package/src/__tests__/e2e/done-scenarios.e2e.test.ts +322 -0
- package/src/__tests__/e2e/live-agent.e2e.test.ts +1330 -0
- package/src/__tests__/e2e/map-server.e2e.test.ts +128 -0
- package/src/__tests__/e2e/map-sidecar.e2e.test.ts +139 -0
- package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +280 -0
- package/src/__tests__/e2e/pull-mode.e2e.test.ts +632 -0
- package/src/__tests__/e2e/resume-continue.e2e.test.ts +312 -0
- package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +562 -0
- package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +1049 -0
- package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +258 -0
- package/src/__tests__/e2e/trigger-wake.e2e.test.ts +257 -0
- package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +375 -0
- package/src/acp/__tests__/macro-agent.test.ts +234 -945
- package/src/acp/__tests__/session-mapper.test.ts +82 -155
- package/src/acp/__tests__/websocket-server.test.ts +121 -270
- package/src/acp/index.ts +18 -118
- package/src/acp/macro-agent.ts +692 -1752
- package/src/acp/map-bridge.ts +193 -0
- package/src/acp/session-mapper.ts +43 -276
- package/src/acp/types.ts +39 -767
- package/src/acp/websocket-server.ts +152 -588
- package/src/adapters/__tests__/federation.test.ts +256 -0
- package/src/adapters/__tests__/inbox-adapter.test.ts +316 -0
- package/src/adapters/__tests__/tasks-adapter.test.ts +269 -0
- package/src/adapters/federation.ts +185 -0
- package/src/adapters/inbox-adapter.ts +292 -0
- package/src/adapters/inbox-client-adapter.ts +173 -0
- package/src/adapters/index.ts +44 -0
- package/src/adapters/opentasks-daemon.ts +252 -0
- package/src/adapters/tasks-adapter.ts +327 -0
- package/src/adapters/types.ts +285 -0
- package/src/agent/__tests__/agent-manager-v2.test.ts +554 -0
- package/src/agent/__tests__/agent-store.test.ts +413 -0
- package/src/agent/agent-manager-v2.ts +1476 -0
- package/src/agent/agent-manager.ts +41 -1794
- package/src/agent/agent-store.ts +385 -0
- package/src/api/__tests__/server.test.ts +235 -1157
- package/src/api/index.ts +5 -3
- package/src/api/server.ts +270 -1989
- package/src/api/types.ts +25 -339
- package/src/boot-v2.ts +527 -0
- package/src/cli/acp.ts +38 -500
- package/src/cli/index.ts +68 -470
- package/src/cli/mcp.ts +260 -340
- package/src/cognitive/__tests__/macro-agent-backend.test.ts +478 -0
- package/src/cognitive/__tests__/session-converter.test.ts +423 -0
- package/src/cognitive/__tests__/workspace-handler.test.ts +221 -0
- package/src/cognitive/analyst-role.ts +59 -0
- package/src/cognitive/index.ts +49 -0
- package/src/cognitive/macro-agent-backend.ts +354 -0
- package/src/cognitive/session-converter.ts +151 -0
- package/src/cognitive/types.ts +163 -0
- package/src/cognitive/workspace-handler.ts +163 -0
- package/src/control/__tests__/control-resilience.test.ts +251 -0
- package/src/control/__tests__/control-socket.test.ts +240 -0
- package/src/control/control-client.ts +337 -0
- package/src/control/control-server.ts +298 -0
- package/src/control/index.ts +17 -0
- package/src/control/types.ts +95 -0
- package/src/index.ts +42 -224
- package/src/integrations/__tests__/context-builder.test.ts +218 -0
- package/src/integrations/__tests__/sessionlog.test.ts +498 -0
- package/src/integrations/__tests__/skilltree.test.ts +136 -0
- package/src/integrations/context-builder.ts +280 -0
- package/src/integrations/sessionlog.ts +194 -0
- package/src/integrations/skilltree.ts +183 -0
- package/src/lifecycle/__tests__/handlers-v2.test.ts +565 -0
- package/src/lifecycle/cleanup.ts +6 -46
- package/src/lifecycle/handlers-v2.ts +437 -0
- package/src/lifecycle/index.ts +2 -28
- package/src/map/__tests__/lifecycle-bridge.test.ts +223 -0
- package/src/map/__tests__/permission-forwarding.test.ts +143 -0
- package/src/map/__tests__/sidecar-integration.test.ts +190 -0
- package/src/map/__tests__/task-bridge.test.ts +153 -0
- package/src/map/__tests__/trajectory-reporter.test.ts +173 -0
- package/src/map/acp-bridge.ts +270 -0
- package/src/map/cc-swarm-hooks.ts +242 -0
- package/src/map/coordination-handler.ts +220 -0
- package/src/map/index.ts +13 -14
- package/src/map/lifecycle-bridge.ts +140 -0
- package/src/map/server.ts +527 -0
- package/src/map/sidecar.ts +312 -0
- package/src/map/task-bridge.ts +89 -0
- package/src/map/trajectory-reporter.ts +124 -0
- package/src/map/types.ts +195 -367
- package/src/mcp/__tests__/mcp-server-v2.test.ts +236 -0
- package/src/mcp/index.ts +2 -2
- package/src/mcp/mcp-server-v2.ts +485 -0
- package/src/mcp/tools/done-v2.ts +203 -0
- package/src/metrics/__tests__/metrics.test.ts +205 -0
- package/src/metrics/index.ts +13 -9
- package/src/metrics/metrics.ts +110 -239
- package/src/metrics/types.ts +63 -0
- package/src/store/index.ts +3 -64
- package/src/store/types/events.ts +5 -100
- package/src/store/types/index.ts +0 -3
- package/src/teams/__tests__/team-manager-v2.test.ts +425 -0
- package/src/teams/__tests__/team-runtime-v2.test.ts +402 -0
- package/src/teams/index.ts +0 -2
- package/src/teams/team-manager-v2.ts +268 -0
- package/src/teams/team-runtime-v2.ts +898 -0
- package/src/trigger/__tests__/trigger-system-v2.test.ts +257 -0
- package/src/trigger/index.ts +16 -31
- package/src/trigger/sources/cron/cron-service.ts +1 -1
- package/src/trigger/sources/webhook/webhook-handler.ts +1 -1
- package/src/trigger/strategies/ai-router.ts +170 -0
- package/src/trigger/trigger-system-v2.ts +536 -0
- package/src/trigger/types.ts +13 -0
- package/src/workspace/strategies/optimistic.ts +9 -6
- package/.claude/settings.local.json +0 -61
- package/dist/acp/websocket-stream.d.ts +0 -30
- package/dist/acp/websocket-stream.d.ts.map +0 -1
- package/dist/acp/websocket-stream.js +0 -118
- package/dist/acp/websocket-stream.js.map +0 -1
- package/dist/activity/deduplication.d.ts +0 -85
- package/dist/activity/deduplication.d.ts.map +0 -1
- package/dist/activity/deduplication.js +0 -149
- package/dist/activity/deduplication.js.map +0 -1
- package/dist/activity/index.d.ts +0 -16
- package/dist/activity/index.d.ts.map +0 -1
- package/dist/activity/index.js +0 -17
- package/dist/activity/index.js.map +0 -1
- package/dist/activity/relevance.d.ts +0 -81
- package/dist/activity/relevance.d.ts.map +0 -1
- package/dist/activity/relevance.js +0 -161
- package/dist/activity/relevance.js.map +0 -1
- package/dist/activity/types.d.ts +0 -169
- package/dist/activity/types.d.ts.map +0 -1
- package/dist/activity/types.js +0 -33
- package/dist/activity/types.js.map +0 -1
- package/dist/activity/watcher.d.ts +0 -64
- package/dist/activity/watcher.d.ts.map +0 -1
- package/dist/activity/watcher.js +0 -212
- package/dist/activity/watcher.js.map +0 -1
- package/dist/agent/wake.d.ts +0 -85
- package/dist/agent/wake.d.ts.map +0 -1
- package/dist/agent/wake.js +0 -278
- package/dist/agent/wake.js.map +0 -1
- package/dist/lifecycle/handlers/generic.d.ts +0 -27
- package/dist/lifecycle/handlers/generic.d.ts.map +0 -1
- package/dist/lifecycle/handlers/generic.js +0 -56
- package/dist/lifecycle/handlers/generic.js.map +0 -1
- package/dist/lifecycle/handlers/index.d.ts +0 -51
- package/dist/lifecycle/handlers/index.d.ts.map +0 -1
- package/dist/lifecycle/handlers/index.js +0 -110
- package/dist/lifecycle/handlers/index.js.map +0 -1
- package/dist/lifecycle/handlers/integrator.d.ts +0 -81
- package/dist/lifecycle/handlers/integrator.d.ts.map +0 -1
- package/dist/lifecycle/handlers/integrator.js +0 -451
- package/dist/lifecycle/handlers/integrator.js.map +0 -1
- package/dist/lifecycle/handlers/monitor.d.ts +0 -29
- package/dist/lifecycle/handlers/monitor.d.ts.map +0 -1
- package/dist/lifecycle/handlers/monitor.js +0 -79
- package/dist/lifecycle/handlers/monitor.js.map +0 -1
- package/dist/lifecycle/handlers/worker.d.ts +0 -56
- package/dist/lifecycle/handlers/worker.d.ts.map +0 -1
- package/dist/lifecycle/handlers/worker.js +0 -381
- package/dist/lifecycle/handlers/worker.js.map +0 -1
- package/dist/mail/conversation-map.d.ts +0 -33
- package/dist/mail/conversation-map.d.ts.map +0 -1
- package/dist/mail/conversation-map.js +0 -61
- package/dist/mail/conversation-map.js.map +0 -1
- package/dist/mail/index.d.ts +0 -11
- package/dist/mail/index.d.ts.map +0 -1
- package/dist/mail/index.js +0 -11
- package/dist/mail/index.js.map +0 -1
- package/dist/mail/mail-service.d.ts +0 -85
- package/dist/mail/mail-service.d.ts.map +0 -1
- package/dist/mail/mail-service.js +0 -121
- package/dist/mail/mail-service.js.map +0 -1
- package/dist/mail/stores/eventstore-conversation-store.d.ts +0 -40
- package/dist/mail/stores/eventstore-conversation-store.d.ts.map +0 -1
- package/dist/mail/stores/eventstore-conversation-store.js +0 -131
- package/dist/mail/stores/eventstore-conversation-store.js.map +0 -1
- package/dist/mail/stores/eventstore-participant-store.d.ts +0 -43
- package/dist/mail/stores/eventstore-participant-store.d.ts.map +0 -1
- package/dist/mail/stores/eventstore-participant-store.js +0 -145
- package/dist/mail/stores/eventstore-participant-store.js.map +0 -1
- package/dist/mail/stores/eventstore-thread-store.d.ts +0 -46
- package/dist/mail/stores/eventstore-thread-store.d.ts.map +0 -1
- package/dist/mail/stores/eventstore-thread-store.js +0 -118
- package/dist/mail/stores/eventstore-thread-store.js.map +0 -1
- package/dist/mail/stores/eventstore-turn-store.d.ts +0 -47
- package/dist/mail/stores/eventstore-turn-store.d.ts.map +0 -1
- package/dist/mail/stores/eventstore-turn-store.js +0 -153
- package/dist/mail/stores/eventstore-turn-store.js.map +0 -1
- package/dist/mail/stores/index.d.ts +0 -12
- package/dist/mail/stores/index.d.ts.map +0 -1
- package/dist/mail/stores/index.js +0 -12
- package/dist/mail/stores/index.js.map +0 -1
- package/dist/mail/stores/types.d.ts +0 -146
- package/dist/mail/stores/types.d.ts.map +0 -1
- package/dist/mail/stores/types.js +0 -13
- package/dist/mail/stores/types.js.map +0 -1
- package/dist/mail/turn-recorder.d.ts +0 -30
- package/dist/mail/turn-recorder.d.ts.map +0 -1
- package/dist/mail/turn-recorder.js +0 -98
- package/dist/mail/turn-recorder.js.map +0 -1
- package/dist/map/adapter/acp-over-map.d.ts +0 -115
- package/dist/map/adapter/acp-over-map.d.ts.map +0 -1
- package/dist/map/adapter/acp-over-map.js +0 -1024
- package/dist/map/adapter/acp-over-map.js.map +0 -1
- package/dist/map/adapter/connection-manager.d.ts +0 -150
- package/dist/map/adapter/connection-manager.d.ts.map +0 -1
- package/dist/map/adapter/connection-manager.js +0 -207
- package/dist/map/adapter/connection-manager.js.map +0 -1
- package/dist/map/adapter/event-log.d.ts +0 -87
- package/dist/map/adapter/event-log.d.ts.map +0 -1
- package/dist/map/adapter/event-log.js +0 -122
- package/dist/map/adapter/event-log.js.map +0 -1
- package/dist/map/adapter/event-translator.d.ts +0 -85
- package/dist/map/adapter/event-translator.d.ts.map +0 -1
- package/dist/map/adapter/event-translator.js +0 -295
- package/dist/map/adapter/event-translator.js.map +0 -1
- package/dist/map/adapter/extensions/agent-detection.d.ts +0 -49
- package/dist/map/adapter/extensions/agent-detection.d.ts.map +0 -1
- package/dist/map/adapter/extensions/agent-detection.js +0 -91
- package/dist/map/adapter/extensions/agent-detection.js.map +0 -1
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts +0 -82
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +0 -1
- package/dist/map/adapter/extensions/agent-lifecycle.js +0 -164
- package/dist/map/adapter/extensions/agent-lifecycle.js.map +0 -1
- package/dist/map/adapter/extensions/index.d.ts +0 -92
- package/dist/map/adapter/extensions/index.d.ts.map +0 -1
- package/dist/map/adapter/extensions/index.js +0 -214
- package/dist/map/adapter/extensions/index.js.map +0 -1
- package/dist/map/adapter/extensions/mcp-bridge.d.ts +0 -57
- package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +0 -1
- package/dist/map/adapter/extensions/mcp-bridge.js +0 -745
- package/dist/map/adapter/extensions/mcp-bridge.js.map +0 -1
- package/dist/map/adapter/extensions/rename.d.ts +0 -29
- package/dist/map/adapter/extensions/rename.d.ts.map +0 -1
- package/dist/map/adapter/extensions/rename.js +0 -49
- package/dist/map/adapter/extensions/rename.js.map +0 -1
- package/dist/map/adapter/extensions/resume.d.ts +0 -47
- package/dist/map/adapter/extensions/resume.d.ts.map +0 -1
- package/dist/map/adapter/extensions/resume.js +0 -59
- package/dist/map/adapter/extensions/resume.js.map +0 -1
- package/dist/map/adapter/extensions/streams.d.ts +0 -95
- package/dist/map/adapter/extensions/streams.d.ts.map +0 -1
- package/dist/map/adapter/extensions/streams.js +0 -515
- package/dist/map/adapter/extensions/streams.js.map +0 -1
- package/dist/map/adapter/extensions/task.d.ts +0 -40
- package/dist/map/adapter/extensions/task.d.ts.map +0 -1
- package/dist/map/adapter/extensions/task.js +0 -197
- package/dist/map/adapter/extensions/task.js.map +0 -1
- package/dist/map/adapter/extensions/update-metadata.d.ts +0 -29
- package/dist/map/adapter/extensions/update-metadata.d.ts.map +0 -1
- package/dist/map/adapter/extensions/update-metadata.js +0 -67
- package/dist/map/adapter/extensions/update-metadata.js.map +0 -1
- package/dist/map/adapter/extensions/wake.d.ts +0 -60
- package/dist/map/adapter/extensions/wake.d.ts.map +0 -1
- package/dist/map/adapter/extensions/wake.js +0 -144
- package/dist/map/adapter/extensions/wake.js.map +0 -1
- package/dist/map/adapter/extensions/workspace-files.d.ts +0 -42
- package/dist/map/adapter/extensions/workspace-files.d.ts.map +0 -1
- package/dist/map/adapter/extensions/workspace-files.js +0 -338
- package/dist/map/adapter/extensions/workspace-files.js.map +0 -1
- package/dist/map/adapter/extensions/workspace.d.ts +0 -57
- package/dist/map/adapter/extensions/workspace.d.ts.map +0 -1
- package/dist/map/adapter/extensions/workspace.js +0 -81
- package/dist/map/adapter/extensions/workspace.js.map +0 -1
- package/dist/map/adapter/index.d.ts +0 -20
- package/dist/map/adapter/index.d.ts.map +0 -1
- package/dist/map/adapter/index.js +0 -40
- package/dist/map/adapter/index.js.map +0 -1
- package/dist/map/adapter/interface.d.ts +0 -450
- package/dist/map/adapter/interface.d.ts.map +0 -1
- package/dist/map/adapter/interface.js +0 -24
- package/dist/map/adapter/interface.js.map +0 -1
- package/dist/map/adapter/mail-handler-adapter.d.ts +0 -27
- package/dist/map/adapter/mail-handler-adapter.d.ts.map +0 -1
- package/dist/map/adapter/mail-handler-adapter.js +0 -292
- package/dist/map/adapter/mail-handler-adapter.js.map +0 -1
- package/dist/map/adapter/map-adapter.d.ts +0 -200
- package/dist/map/adapter/map-adapter.d.ts.map +0 -1
- package/dist/map/adapter/map-adapter.js +0 -1199
- package/dist/map/adapter/map-adapter.js.map +0 -1
- package/dist/map/adapter/rpc-handler.d.ts +0 -263
- package/dist/map/adapter/rpc-handler.d.ts.map +0 -1
- package/dist/map/adapter/rpc-handler.js +0 -365
- package/dist/map/adapter/rpc-handler.js.map +0 -1
- package/dist/map/adapter/subscription-manager.d.ts +0 -174
- package/dist/map/adapter/subscription-manager.d.ts.map +0 -1
- package/dist/map/adapter/subscription-manager.js +0 -248
- package/dist/map/adapter/subscription-manager.js.map +0 -1
- package/dist/map/adapter/types.d.ts +0 -194
- package/dist/map/adapter/types.d.ts.map +0 -1
- package/dist/map/adapter/types.js +0 -27
- package/dist/map/adapter/types.js.map +0 -1
- package/dist/map/adapter/websocket-integration.d.ts +0 -113
- package/dist/map/adapter/websocket-integration.d.ts.map +0 -1
- package/dist/map/adapter/websocket-integration.js +0 -134
- package/dist/map/adapter/websocket-integration.js.map +0 -1
- package/dist/map/federation/envelope.d.ts +0 -98
- package/dist/map/federation/envelope.d.ts.map +0 -1
- package/dist/map/federation/envelope.js +0 -160
- package/dist/map/federation/envelope.js.map +0 -1
- package/dist/map/federation/federation-handler.d.ts +0 -50
- package/dist/map/federation/federation-handler.d.ts.map +0 -1
- package/dist/map/federation/federation-handler.js +0 -306
- package/dist/map/federation/federation-handler.js.map +0 -1
- package/dist/map/federation/index.d.ts +0 -14
- package/dist/map/federation/index.d.ts.map +0 -1
- package/dist/map/federation/index.js +0 -13
- package/dist/map/federation/index.js.map +0 -1
- package/dist/map/federation/types.d.ts +0 -239
- package/dist/map/federation/types.d.ts.map +0 -1
- package/dist/map/federation/types.js +0 -23
- package/dist/map/federation/types.js.map +0 -1
- package/dist/map/utils/address-translation.d.ts +0 -99
- package/dist/map/utils/address-translation.d.ts.map +0 -1
- package/dist/map/utils/address-translation.js +0 -285
- package/dist/map/utils/address-translation.js.map +0 -1
- package/dist/map/utils/index.d.ts +0 -7
- package/dist/map/utils/index.d.ts.map +0 -1
- package/dist/map/utils/index.js +0 -7
- package/dist/map/utils/index.js.map +0 -1
- package/dist/mcp/map-client.d.ts +0 -39
- package/dist/mcp/map-client.d.ts.map +0 -1
- package/dist/mcp/map-client.js +0 -129
- package/dist/mcp/map-client.js.map +0 -1
- package/dist/mcp/mcp-server.d.ts +0 -72
- package/dist/mcp/mcp-server.d.ts.map +0 -1
- package/dist/mcp/mcp-server.js +0 -1024
- package/dist/mcp/mcp-server.js.map +0 -1
- package/dist/mcp/tools/claim_task.d.ts +0 -35
- package/dist/mcp/tools/claim_task.d.ts.map +0 -1
- package/dist/mcp/tools/claim_task.js +0 -58
- package/dist/mcp/tools/claim_task.js.map +0 -1
- package/dist/mcp/tools/done.d.ts +0 -102
- package/dist/mcp/tools/done.d.ts.map +0 -1
- package/dist/mcp/tools/done.js +0 -252
- package/dist/mcp/tools/done.js.map +0 -1
- package/dist/mcp/tools/inject_context.d.ts +0 -61
- package/dist/mcp/tools/inject_context.d.ts.map +0 -1
- package/dist/mcp/tools/inject_context.js +0 -123
- package/dist/mcp/tools/inject_context.js.map +0 -1
- package/dist/mcp/tools/list_claimable_tasks.d.ts +0 -38
- package/dist/mcp/tools/list_claimable_tasks.d.ts.map +0 -1
- package/dist/mcp/tools/list_claimable_tasks.js +0 -63
- package/dist/mcp/tools/list_claimable_tasks.js.map +0 -1
- package/dist/mcp/tools/unclaim_task.d.ts +0 -31
- package/dist/mcp/tools/unclaim_task.d.ts.map +0 -1
- package/dist/mcp/tools/unclaim_task.js +0 -47
- package/dist/mcp/tools/unclaim_task.js.map +0 -1
- package/dist/mcp/tools/wait_for_activity.d.ts +0 -60
- package/dist/mcp/tools/wait_for_activity.d.ts.map +0 -1
- package/dist/mcp/tools/wait_for_activity.js +0 -135
- package/dist/mcp/tools/wait_for_activity.js.map +0 -1
- package/dist/monitor/health-check-service.d.ts +0 -143
- package/dist/monitor/health-check-service.d.ts.map +0 -1
- package/dist/monitor/health-check-service.js +0 -240
- package/dist/monitor/health-check-service.js.map +0 -1
- package/dist/monitor/index.d.ts +0 -14
- package/dist/monitor/index.d.ts.map +0 -1
- package/dist/monitor/index.js +0 -14
- package/dist/monitor/index.js.map +0 -1
- package/dist/monitor/stall-detector.d.ts +0 -109
- package/dist/monitor/stall-detector.d.ts.map +0 -1
- package/dist/monitor/stall-detector.js +0 -152
- package/dist/monitor/stall-detector.js.map +0 -1
- package/dist/peer/capability-manager.d.ts +0 -56
- package/dist/peer/capability-manager.d.ts.map +0 -1
- package/dist/peer/capability-manager.js +0 -186
- package/dist/peer/capability-manager.js.map +0 -1
- package/dist/peer/encapsulation-manager.d.ts +0 -190
- package/dist/peer/encapsulation-manager.d.ts.map +0 -1
- package/dist/peer/encapsulation-manager.js +0 -486
- package/dist/peer/encapsulation-manager.js.map +0 -1
- package/dist/peer/federation-manager.d.ts +0 -223
- package/dist/peer/federation-manager.d.ts.map +0 -1
- package/dist/peer/federation-manager.js +0 -528
- package/dist/peer/federation-manager.js.map +0 -1
- package/dist/peer/hierarchy-errors.d.ts +0 -208
- package/dist/peer/hierarchy-errors.d.ts.map +0 -1
- package/dist/peer/hierarchy-errors.js +0 -268
- package/dist/peer/hierarchy-errors.js.map +0 -1
- package/dist/peer/hierarchy-protocol.d.ts +0 -159
- package/dist/peer/hierarchy-protocol.d.ts.map +0 -1
- package/dist/peer/hierarchy-protocol.js +0 -142
- package/dist/peer/hierarchy-protocol.js.map +0 -1
- package/dist/peer/index.d.ts +0 -15
- package/dist/peer/index.d.ts.map +0 -1
- package/dist/peer/index.js +0 -15
- package/dist/peer/index.js.map +0 -1
- package/dist/peer/peer-manager.d.ts +0 -99
- package/dist/peer/peer-manager.d.ts.map +0 -1
- package/dist/peer/peer-manager.js +0 -333
- package/dist/peer/peer-manager.js.map +0 -1
- package/dist/peer/task-delegation.d.ts +0 -189
- package/dist/peer/task-delegation.d.ts.map +0 -1
- package/dist/peer/task-delegation.js +0 -303
- package/dist/peer/task-delegation.js.map +0 -1
- package/dist/peer/transports/index.d.ts +0 -8
- package/dist/peer/transports/index.d.ts.map +0 -1
- package/dist/peer/transports/index.js +0 -8
- package/dist/peer/transports/index.js.map +0 -1
- package/dist/peer/transports/local-transport.d.ts +0 -56
- package/dist/peer/transports/local-transport.d.ts.map +0 -1
- package/dist/peer/transports/local-transport.js +0 -263
- package/dist/peer/transports/local-transport.js.map +0 -1
- package/dist/peer/transports/websocket-transport.d.ts +0 -86
- package/dist/peer/transports/websocket-transport.d.ts.map +0 -1
- package/dist/peer/transports/websocket-transport.js +0 -338
- package/dist/peer/transports/websocket-transport.js.map +0 -1
- package/dist/peer/types.d.ts +0 -268
- package/dist/peer/types.d.ts.map +0 -1
- package/dist/peer/types.js +0 -36
- package/dist/peer/types.js.map +0 -1
- package/dist/router/address-resolver.d.ts +0 -102
- package/dist/router/address-resolver.d.ts.map +0 -1
- package/dist/router/address-resolver.js +0 -198
- package/dist/router/address-resolver.js.map +0 -1
- package/dist/router/broadcast.d.ts +0 -53
- package/dist/router/broadcast.d.ts.map +0 -1
- package/dist/router/broadcast.js +0 -75
- package/dist/router/broadcast.js.map +0 -1
- package/dist/router/channels.d.ts +0 -148
- package/dist/router/channels.d.ts.map +0 -1
- package/dist/router/channels.js +0 -126
- package/dist/router/channels.js.map +0 -1
- package/dist/router/index.d.ts +0 -21
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/index.js +0 -18
- package/dist/router/index.js.map +0 -1
- package/dist/router/message-router.d.ts +0 -197
- package/dist/router/message-router.d.ts.map +0 -1
- package/dist/router/message-router.js +0 -903
- package/dist/router/message-router.js.map +0 -1
- package/dist/router/message-types.d.ts +0 -183
- package/dist/router/message-types.d.ts.map +0 -1
- package/dist/router/message-types.js +0 -79
- package/dist/router/message-types.js.map +0 -1
- package/dist/router/role-resolver.d.ts +0 -67
- package/dist/router/role-resolver.d.ts.map +0 -1
- package/dist/router/role-resolver.js +0 -106
- package/dist/router/role-resolver.js.map +0 -1
- package/dist/router/signals.d.ts +0 -253
- package/dist/router/signals.d.ts.map +0 -1
- package/dist/router/signals.js +0 -53
- package/dist/router/signals.js.map +0 -1
- package/dist/router/types.d.ts +0 -191
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -34
- package/dist/router/types.js.map +0 -1
- package/dist/router/wake.d.ts +0 -111
- package/dist/router/wake.d.ts.map +0 -1
- package/dist/router/wake.js +0 -180
- package/dist/router/wake.js.map +0 -1
- package/dist/server/combined-server.d.ts +0 -95
- package/dist/server/combined-server.d.ts.map +0 -1
- package/dist/server/combined-server.js +0 -335
- package/dist/server/combined-server.js.map +0 -1
- package/dist/steering/index.d.ts +0 -11
- package/dist/steering/index.d.ts.map +0 -1
- package/dist/steering/index.js +0 -11
- package/dist/steering/index.js.map +0 -1
- package/dist/steering/inject.d.ts +0 -39
- package/dist/steering/inject.d.ts.map +0 -1
- package/dist/steering/inject.js +0 -197
- package/dist/steering/inject.js.map +0 -1
- package/dist/steering/types.d.ts +0 -100
- package/dist/steering/types.d.ts.map +0 -1
- package/dist/steering/types.js +0 -11
- package/dist/steering/types.js.map +0 -1
- package/dist/store/backends/index.d.ts +0 -11
- package/dist/store/backends/index.d.ts.map +0 -1
- package/dist/store/backends/index.js +0 -15
- package/dist/store/backends/index.js.map +0 -1
- package/dist/store/backends/json-backend.d.ts +0 -23
- package/dist/store/backends/json-backend.d.ts.map +0 -1
- package/dist/store/backends/json-backend.js +0 -220
- package/dist/store/backends/json-backend.js.map +0 -1
- package/dist/store/backends/memory-backend.d.ts +0 -12
- package/dist/store/backends/memory-backend.d.ts.map +0 -1
- package/dist/store/backends/memory-backend.js +0 -205
- package/dist/store/backends/memory-backend.js.map +0 -1
- package/dist/store/backends/sqlite-backend.d.ts +0 -27
- package/dist/store/backends/sqlite-backend.d.ts.map +0 -1
- package/dist/store/backends/sqlite-backend.js +0 -231
- package/dist/store/backends/sqlite-backend.js.map +0 -1
- package/dist/store/backends/tinybase-backend.d.ts +0 -22
- package/dist/store/backends/tinybase-backend.d.ts.map +0 -1
- package/dist/store/backends/tinybase-backend.js +0 -203
- package/dist/store/backends/tinybase-backend.js.map +0 -1
- package/dist/store/backends/types.d.ts +0 -175
- package/dist/store/backends/types.d.ts.map +0 -1
- package/dist/store/backends/types.js +0 -28
- package/dist/store/backends/types.js.map +0 -1
- package/dist/store/event-store.d.ts +0 -128
- package/dist/store/event-store.d.ts.map +0 -1
- package/dist/store/event-store.js +0 -1746
- package/dist/store/event-store.js.map +0 -1
- package/dist/store/instance.d.ts +0 -283
- package/dist/store/instance.d.ts.map +0 -1
- package/dist/store/instance.js +0 -363
- package/dist/store/instance.js.map +0 -1
- package/dist/store/migrations.d.ts +0 -41
- package/dist/store/migrations.d.ts.map +0 -1
- package/dist/store/migrations.js +0 -79
- package/dist/store/migrations.js.map +0 -1
- package/dist/store/types/config.d.ts +0 -16
- package/dist/store/types/config.d.ts.map +0 -1
- package/dist/store/types/config.js +0 -8
- package/dist/store/types/config.js.map +0 -1
- package/dist/store/types/conversations.d.ts +0 -91
- package/dist/store/types/conversations.d.ts.map +0 -1
- package/dist/store/types/conversations.js +0 -8
- package/dist/store/types/conversations.js.map +0 -1
- package/dist/store/types/sessions.d.ts +0 -44
- package/dist/store/types/sessions.d.ts.map +0 -1
- package/dist/store/types/sessions.js +0 -9
- package/dist/store/types/sessions.js.map +0 -1
- package/dist/task/backend/index.d.ts +0 -93
- package/dist/task/backend/index.d.ts.map +0 -1
- package/dist/task/backend/index.js +0 -178
- package/dist/task/backend/index.js.map +0 -1
- package/dist/task/backend/memory.d.ts +0 -70
- package/dist/task/backend/memory.d.ts.map +0 -1
- package/dist/task/backend/memory.js +0 -621
- package/dist/task/backend/memory.js.map +0 -1
- package/dist/task/backend/opentasks/backend.d.ts +0 -140
- package/dist/task/backend/opentasks/backend.d.ts.map +0 -1
- package/dist/task/backend/opentasks/backend.js +0 -1023
- package/dist/task/backend/opentasks/backend.js.map +0 -1
- package/dist/task/backend/opentasks/client.d.ts +0 -337
- package/dist/task/backend/opentasks/client.d.ts.map +0 -1
- package/dist/task/backend/opentasks/client.js +0 -225
- package/dist/task/backend/opentasks/client.js.map +0 -1
- package/dist/task/backend/opentasks/daemon-manager.d.ts +0 -89
- package/dist/task/backend/opentasks/daemon-manager.d.ts.map +0 -1
- package/dist/task/backend/opentasks/daemon-manager.js +0 -195
- package/dist/task/backend/opentasks/daemon-manager.js.map +0 -1
- package/dist/task/backend/opentasks/index.d.ts +0 -21
- package/dist/task/backend/opentasks/index.d.ts.map +0 -1
- package/dist/task/backend/opentasks/index.js +0 -21
- package/dist/task/backend/opentasks/index.js.map +0 -1
- package/dist/task/backend/opentasks/mapping.d.ts +0 -48
- package/dist/task/backend/opentasks/mapping.d.ts.map +0 -1
- package/dist/task/backend/opentasks/mapping.js +0 -77
- package/dist/task/backend/opentasks/mapping.js.map +0 -1
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +0 -54
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +0 -1
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +0 -88
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +0 -1
- package/dist/task/backend/sudocode/backend.d.ts +0 -155
- package/dist/task/backend/sudocode/backend.d.ts.map +0 -1
- package/dist/task/backend/sudocode/backend.js +0 -942
- package/dist/task/backend/sudocode/backend.js.map +0 -1
- package/dist/task/backend/sudocode/client.d.ts +0 -303
- package/dist/task/backend/sudocode/client.d.ts.map +0 -1
- package/dist/task/backend/sudocode/client.js +0 -101
- package/dist/task/backend/sudocode/client.js.map +0 -1
- package/dist/task/backend/sudocode/index.d.ts +0 -19
- package/dist/task/backend/sudocode/index.d.ts.map +0 -1
- package/dist/task/backend/sudocode/index.js +0 -17
- package/dist/task/backend/sudocode/index.js.map +0 -1
- package/dist/task/backend/sudocode/mapping.d.ts +0 -51
- package/dist/task/backend/sudocode/mapping.d.ts.map +0 -1
- package/dist/task/backend/sudocode/mapping.js +0 -86
- package/dist/task/backend/sudocode/mapping.js.map +0 -1
- package/dist/task/backend/sudocode/server-client.d.ts +0 -56
- package/dist/task/backend/sudocode/server-client.d.ts.map +0 -1
- package/dist/task/backend/sudocode/server-client.js +0 -367
- package/dist/task/backend/sudocode/server-client.js.map +0 -1
- package/dist/task/backend/sudocode/standalone-client.d.ts +0 -91
- package/dist/task/backend/sudocode/standalone-client.d.ts.map +0 -1
- package/dist/task/backend/sudocode/standalone-client.js +0 -476
- package/dist/task/backend/sudocode/standalone-client.js.map +0 -1
- package/dist/task/backend/sudocode/sync-policy.d.ts +0 -166
- package/dist/task/backend/sudocode/sync-policy.d.ts.map +0 -1
- package/dist/task/backend/sudocode/sync-policy.js +0 -221
- package/dist/task/backend/sudocode/sync-policy.js.map +0 -1
- package/dist/task/backend/sudocode/tools.d.ts +0 -87
- package/dist/task/backend/sudocode/tools.d.ts.map +0 -1
- package/dist/task/backend/sudocode/tools.js +0 -743
- package/dist/task/backend/sudocode/tools.js.map +0 -1
- package/dist/task/backend/tool-provider.d.ts +0 -56
- package/dist/task/backend/tool-provider.d.ts.map +0 -1
- package/dist/task/backend/tool-provider.js +0 -424
- package/dist/task/backend/tool-provider.js.map +0 -1
- package/dist/task/backend/types.d.ts +0 -297
- package/dist/task/backend/types.d.ts.map +0 -1
- package/dist/task/backend/types.js +0 -27
- package/dist/task/backend/types.js.map +0 -1
- package/dist/task/backend/unified-tool-provider.d.ts +0 -57
- package/dist/task/backend/unified-tool-provider.d.ts.map +0 -1
- package/dist/task/backend/unified-tool-provider.js +0 -623
- package/dist/task/backend/unified-tool-provider.js.map +0 -1
- package/dist/task/index.d.ts +0 -7
- package/dist/task/index.d.ts.map +0 -1
- package/dist/task/index.js +0 -7
- package/dist/task/index.js.map +0 -1
- package/dist/task/retry-policy.d.ts +0 -89
- package/dist/task/retry-policy.d.ts.map +0 -1
- package/dist/task/retry-policy.js +0 -160
- package/dist/task/retry-policy.js.map +0 -1
- package/dist/task/task-manager.d.ts +0 -70
- package/dist/task/task-manager.d.ts.map +0 -1
- package/dist/task/task-manager.js +0 -319
- package/dist/task/task-manager.js.map +0 -1
- package/dist/task/types.d.ts +0 -72
- package/dist/task/types.d.ts.map +0 -1
- package/dist/task/types.js +0 -33
- package/dist/task/types.js.map +0 -1
- package/dist/teams/team-manager.d.ts +0 -112
- package/dist/teams/team-manager.d.ts.map +0 -1
- package/dist/teams/team-manager.js +0 -305
- package/dist/teams/team-manager.js.map +0 -1
- package/dist/teams/team-runtime.d.ts +0 -245
- package/dist/teams/team-runtime.d.ts.map +0 -1
- package/dist/teams/team-runtime.js +0 -1023
- package/dist/teams/team-runtime.js.map +0 -1
- package/dist/trigger/router/index.d.ts +0 -11
- package/dist/trigger/router/index.d.ts.map +0 -1
- package/dist/trigger/router/index.js +0 -10
- package/dist/trigger/router/index.js.map +0 -1
- package/dist/trigger/router/strategies/ai-router-strategy.d.ts +0 -34
- package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +0 -1
- package/dist/trigger/router/strategies/ai-router-strategy.js +0 -359
- package/dist/trigger/router/strategies/ai-router-strategy.js.map +0 -1
- package/dist/trigger/router/strategies/direct-strategy.d.ts +0 -32
- package/dist/trigger/router/strategies/direct-strategy.d.ts.map +0 -1
- package/dist/trigger/router/strategies/direct-strategy.js +0 -119
- package/dist/trigger/router/strategies/direct-strategy.js.map +0 -1
- package/dist/trigger/router/strategies/index.d.ts +0 -11
- package/dist/trigger/router/strategies/index.d.ts.map +0 -1
- package/dist/trigger/router/strategies/index.js +0 -11
- package/dist/trigger/router/strategies/index.js.map +0 -1
- package/dist/trigger/router/strategies/role-strategy.d.ts +0 -39
- package/dist/trigger/router/strategies/role-strategy.d.ts.map +0 -1
- package/dist/trigger/router/strategies/role-strategy.js +0 -207
- package/dist/trigger/router/strategies/role-strategy.js.map +0 -1
- package/dist/trigger/router/trigger-router.d.ts +0 -54
- package/dist/trigger/router/trigger-router.d.ts.map +0 -1
- package/dist/trigger/router/trigger-router.js +0 -362
- package/dist/trigger/router/trigger-router.js.map +0 -1
- package/dist/trigger/router/types.d.ts +0 -225
- package/dist/trigger/router/types.d.ts.map +0 -1
- package/dist/trigger/router/types.js +0 -10
- package/dist/trigger/router/types.js.map +0 -1
- package/dist/trigger/trigger-system.d.ts +0 -77
- package/dist/trigger/trigger-system.d.ts.map +0 -1
- package/dist/trigger/trigger-system.js +0 -84
- package/dist/trigger/trigger-system.js.map +0 -1
- package/references/acp-factory-ref/CHANGELOG.md +0 -33
- package/references/acp-factory-ref/LICENSE +0 -21
- package/references/acp-factory-ref/README.md +0 -341
- package/references/acp-factory-ref/package-lock.json +0 -3102
- package/references/acp-factory-ref/package.json +0 -96
- package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
- package/references/acp-factory-ref/python/LICENSE +0 -21
- package/references/acp-factory-ref/python/Makefile +0 -57
- package/references/acp-factory-ref/python/README.md +0 -253
- package/references/acp-factory-ref/python/pyproject.toml +0 -73
- package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
- package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
- package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
- package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
- package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
- package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
- package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
- package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
- package/references/claude-code-acp/.prettierrc.json +0 -4
- package/references/claude-code-acp/CHANGELOG.md +0 -249
- package/references/claude-code-acp/LICENSE +0 -222
- package/references/claude-code-acp/README.md +0 -53
- package/references/claude-code-acp/docs/RELEASES.md +0 -24
- package/references/claude-code-acp/eslint.config.js +0 -48
- package/references/claude-code-acp/package-lock.json +0 -4570
- package/references/claude-code-acp/package.json +0 -88
- package/references/claude-code-acp/scripts/release.sh +0 -119
- package/references/claude-code-acp/src/acp-agent.ts +0 -2076
- package/references/claude-code-acp/src/index.ts +0 -26
- package/references/claude-code-acp/src/lib.ts +0 -38
- package/references/claude-code-acp/src/mcp-server.ts +0 -911
- package/references/claude-code-acp/src/settings.ts +0 -522
- package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
- package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
- package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
- package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
- package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
- package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
- package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
- package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
- package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
- package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
- package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
- package/references/claude-code-acp/src/tools.ts +0 -819
- package/references/claude-code-acp/src/utils.ts +0 -171
- package/references/claude-code-acp/tsconfig.json +0 -18
- package/references/claude-code-acp/vitest.config.ts +0 -19
- package/references/minimem/.claude/settings.json +0 -7
- package/references/minimem/.sudocode/issues.jsonl +0 -18
- package/references/minimem/.sudocode/specs.jsonl +0 -1
- package/references/minimem/CLAUDE.md +0 -310
- package/references/minimem/README.md +0 -562
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +0 -10
- package/references/minimem/claude-plugin/.mcp.json +0 -7
- package/references/minimem/claude-plugin/README.md +0 -158
- package/references/minimem/claude-plugin/commands/recall.md +0 -47
- package/references/minimem/claude-plugin/commands/remember.md +0 -41
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +0 -272
- package/references/minimem/claude-plugin/hooks/hooks.json +0 -27
- package/references/minimem/claude-plugin/hooks/session-end.sh +0 -86
- package/references/minimem/claude-plugin/hooks/session-start.sh +0 -85
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +0 -108
- package/references/minimem/media/banner.png +0 -0
- package/references/minimem/package-lock.json +0 -5373
- package/references/minimem/package.json +0 -72
- package/references/minimem/scripts/postbuild.js +0 -35
- package/references/minimem/src/__tests__/edge-cases.test.ts +0 -371
- package/references/minimem/src/__tests__/errors.test.ts +0 -265
- package/references/minimem/src/__tests__/helpers.ts +0 -199
- package/references/minimem/src/__tests__/internal.test.ts +0 -407
- package/references/minimem/src/__tests__/knowledge.test.ts +0 -287
- package/references/minimem/src/__tests__/minimem.integration.test.ts +0 -1127
- package/references/minimem/src/__tests__/session.test.ts +0 -190
- package/references/minimem/src/cli/__tests__/commands.test.ts +0 -759
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +0 -141
- package/references/minimem/src/cli/commands/append.ts +0 -76
- package/references/minimem/src/cli/commands/config.ts +0 -262
- package/references/minimem/src/cli/commands/conflicts.ts +0 -413
- package/references/minimem/src/cli/commands/daemon.ts +0 -169
- package/references/minimem/src/cli/commands/index.ts +0 -12
- package/references/minimem/src/cli/commands/init.ts +0 -88
- package/references/minimem/src/cli/commands/mcp.ts +0 -177
- package/references/minimem/src/cli/commands/push-pull.ts +0 -213
- package/references/minimem/src/cli/commands/search.ts +0 -158
- package/references/minimem/src/cli/commands/status.ts +0 -84
- package/references/minimem/src/cli/commands/sync-init.ts +0 -290
- package/references/minimem/src/cli/commands/sync.ts +0 -70
- package/references/minimem/src/cli/commands/upsert.ts +0 -197
- package/references/minimem/src/cli/config.ts +0 -584
- package/references/minimem/src/cli/index.ts +0 -264
- package/references/minimem/src/cli/shared.ts +0 -161
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +0 -152
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +0 -209
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +0 -118
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +0 -207
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +0 -476
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +0 -363
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +0 -255
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +0 -193
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +0 -178
- package/references/minimem/src/cli/sync/central.ts +0 -292
- package/references/minimem/src/cli/sync/conflicts.ts +0 -204
- package/references/minimem/src/cli/sync/daemon.ts +0 -407
- package/references/minimem/src/cli/sync/detection.ts +0 -138
- package/references/minimem/src/cli/sync/index.ts +0 -107
- package/references/minimem/src/cli/sync/operations.ts +0 -373
- package/references/minimem/src/cli/sync/registry.ts +0 -279
- package/references/minimem/src/cli/sync/state.ts +0 -355
- package/references/minimem/src/cli/sync/validation.ts +0 -206
- package/references/minimem/src/cli/sync/watcher.ts +0 -234
- package/references/minimem/src/cli/version.ts +0 -34
- package/references/minimem/src/core/index.ts +0 -9
- package/references/minimem/src/core/indexer.ts +0 -628
- package/references/minimem/src/core/searcher.ts +0 -221
- package/references/minimem/src/db/schema.ts +0 -183
- package/references/minimem/src/db/sqlite-vec.ts +0 -24
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +0 -431
- package/references/minimem/src/embeddings/batch-gemini.ts +0 -392
- package/references/minimem/src/embeddings/batch-openai.ts +0 -409
- package/references/minimem/src/embeddings/embeddings.ts +0 -434
- package/references/minimem/src/index.ts +0 -109
- package/references/minimem/src/internal.ts +0 -299
- package/references/minimem/src/minimem.ts +0 -1276
- package/references/minimem/src/search/__tests__/hybrid.test.ts +0 -247
- package/references/minimem/src/search/graph.ts +0 -234
- package/references/minimem/src/search/hybrid.ts +0 -151
- package/references/minimem/src/search/search.ts +0 -256
- package/references/minimem/src/server/__tests__/mcp.test.ts +0 -341
- package/references/minimem/src/server/__tests__/tools.test.ts +0 -364
- package/references/minimem/src/server/mcp.ts +0 -326
- package/references/minimem/src/server/tools.ts +0 -720
- package/references/minimem/src/session.ts +0 -460
- package/references/minimem/tsconfig.json +0 -19
- package/references/minimem/tsup.config.ts +0 -26
- package/references/minimem/vitest.config.ts +0 -24
- package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -111
- package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -13
- package/references/multi-agent-protocol/LICENSE +0 -21
- package/references/multi-agent-protocol/README.md +0 -113
- package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
- package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
- package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
- package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
- package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
- package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
- package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
- package/references/multi-agent-protocol/docs/07-federation.md +0 -259
- package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
- package/references/multi-agent-protocol/docs/09-authentication.md +0 -680
- package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
- package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
- package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
- package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
- package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
- package/references/multi-agent-protocol/docs-site/README.md +0 -82
- package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
- package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
- package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
- package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
- package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
- package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
- package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
- package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
- package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
- package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
- package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
- package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
- package/references/multi-agent-protocol/docs-site/index.md +0 -136
- package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
- package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
- package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
- package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
- package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
- package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
- package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
- package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
- package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
- package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
- package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
- package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
- package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
- package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
- package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
- package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
- package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
- package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
- package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
- package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
- package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
- package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
- package/references/multi-agent-protocol/package-lock.json +0 -3886
- package/references/multi-agent-protocol/package.json +0 -56
- package/references/multi-agent-protocol/schema/meta.json +0 -467
- package/references/multi-agent-protocol/schema/schema.json +0 -2558
- package/references/openteams/.claude/settings.json +0 -6
- package/references/openteams/README.md +0 -1
- package/references/openteams/SKILL.md +0 -341
- package/references/openteams/design.md +0 -411
- package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +0 -16
- package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +0 -24
- package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +0 -25
- package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +0 -21
- package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +0 -20
- package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +0 -17
- package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +0 -23
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +0 -27
- package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +0 -21
- package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +0 -16
- package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/roles/analyst.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/architect.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/developer.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/master.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/pm.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/qa.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +0 -8
- package/references/openteams/examples/bmad-method/team.yaml +0 -161
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/ROLE.md +0 -17
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/prompts/debugger/ROLE.md +0 -25
- package/references/openteams/examples/get-shit-done/prompts/debugger/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/prompts/executor/ROLE.md +0 -34
- package/references/openteams/examples/get-shit-done/prompts/executor/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/ROLE.md +0 -18
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/ROLE.md +0 -42
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/ROLE.md +0 -15
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/ROLE.md +0 -17
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/planner/ROLE.md +0 -28
- package/references/openteams/examples/get-shit-done/prompts/planner/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/ROLE.md +0 -16
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/ROLE.md +0 -13
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/ROLE.md +0 -14
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/SOUL.md +0 -3
- package/references/openteams/examples/get-shit-done/prompts/verifier/ROLE.md +0 -19
- package/references/openteams/examples/get-shit-done/prompts/verifier/SOUL.md +0 -5
- package/references/openteams/examples/get-shit-done/roles/codebase-mapper.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/debugger.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/executor.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/integration-checker.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/orchestrator.yaml +0 -9
- package/references/openteams/examples/get-shit-done/roles/phase-researcher.yaml +0 -7
- package/references/openteams/examples/get-shit-done/roles/plan-checker.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/planner.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/project-researcher.yaml +0 -8
- package/references/openteams/examples/get-shit-done/roles/research-synthesizer.yaml +0 -7
- package/references/openteams/examples/get-shit-done/roles/roadmapper.yaml +0 -7
- package/references/openteams/examples/get-shit-done/roles/verifier.yaml +0 -8
- package/references/openteams/examples/get-shit-done/team.yaml +0 -154
- package/references/openteams/package-lock.json +0 -2181
- package/references/openteams/package.json +0 -48
- package/references/openteams/schema/role.schema.json +0 -125
- package/references/openteams/schema/team.schema.json +0 -284
- package/references/openteams/src/cli/agent.ts +0 -104
- package/references/openteams/src/cli/cli.test.ts +0 -381
- package/references/openteams/src/cli/generate.ts +0 -220
- package/references/openteams/src/cli/message.ts +0 -241
- package/references/openteams/src/cli/task.ts +0 -154
- package/references/openteams/src/cli/team.ts +0 -104
- package/references/openteams/src/cli/template.ts +0 -207
- package/references/openteams/src/cli.ts +0 -45
- package/references/openteams/src/db/database.test.ts +0 -185
- package/references/openteams/src/db/database.ts +0 -240
- package/references/openteams/src/generators/agent-prompt-generator.test.ts +0 -332
- package/references/openteams/src/generators/agent-prompt-generator.ts +0 -521
- package/references/openteams/src/generators/package-generator.test.ts +0 -129
- package/references/openteams/src/generators/package-generator.ts +0 -102
- package/references/openteams/src/generators/skill-generator.test.ts +0 -246
- package/references/openteams/src/generators/skill-generator.ts +0 -374
- package/references/openteams/src/index.ts +0 -104
- package/references/openteams/src/services/agent-service.test.ts +0 -158
- package/references/openteams/src/services/agent-service.ts +0 -84
- package/references/openteams/src/services/communication-service.test.ts +0 -455
- package/references/openteams/src/services/communication-service.ts +0 -371
- package/references/openteams/src/services/message-service.test.ts +0 -342
- package/references/openteams/src/services/message-service.ts +0 -203
- package/references/openteams/src/services/task-service.test.ts +0 -434
- package/references/openteams/src/services/task-service.ts +0 -239
- package/references/openteams/src/services/team-service.test.ts +0 -181
- package/references/openteams/src/services/team-service.ts +0 -139
- package/references/openteams/src/services/template-service.test.ts +0 -306
- package/references/openteams/src/services/template-service.ts +0 -182
- package/references/openteams/src/spawner/acp-factory.ts +0 -96
- package/references/openteams/src/spawner/interface.ts +0 -31
- package/references/openteams/src/spawner/mock.test.ts +0 -93
- package/references/openteams/src/spawner/mock.ts +0 -59
- package/references/openteams/src/template/loader.test.ts +0 -1319
- package/references/openteams/src/template/loader.ts +0 -698
- package/references/openteams/src/template/types.ts +0 -200
- package/references/openteams/src/types.ts +0 -205
- package/references/openteams/tsconfig.json +0 -18
- package/references/openteams/vitest.config.ts +0 -9
- package/references/skill-tree/.claude/settings.json +0 -6
- package/references/skill-tree/.sudocode/issues.jsonl +0 -11
- package/references/skill-tree/.sudocode/specs.jsonl +0 -1
- package/references/skill-tree/CLAUDE.md +0 -150
- package/references/skill-tree/README.md +0 -324
- package/references/skill-tree/docs/GAPS_v1.md +0 -221
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +0 -467
- package/references/skill-tree/docs/TODOS.md +0 -91
- package/references/skill-tree/docs/anthropic_skill_guide.md +0 -1364
- package/references/skill-tree/docs/design/federated-skill-trees.md +0 -524
- package/references/skill-tree/docs/design/multi-agent-sync.md +0 -759
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +0 -583
- package/references/skill-tree/docs/scraper/POC_PLAN.md +0 -420
- package/references/skill-tree/docs/scraper/README.md +0 -170
- package/references/skill-tree/examples/basic-usage.ts +0 -190
- package/references/skill-tree/package-lock.json +0 -1509
- package/references/skill-tree/package.json +0 -66
- package/references/skill-tree/scraper/README.md +0 -123
- package/references/skill-tree/scraper/docs/DESIGN.md +0 -683
- package/references/skill-tree/scraper/docs/PLAN.md +0 -336
- package/references/skill-tree/scraper/drizzle.config.ts +0 -10
- package/references/skill-tree/scraper/package-lock.json +0 -6329
- package/references/skill-tree/scraper/package.json +0 -68
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +0 -7
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +0 -7
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +0 -27
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +0 -21
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +0 -54
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +0 -24
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +0 -93
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +0 -22
- package/references/skill-tree/scraper/tsup.config.ts +0 -14
- package/references/skill-tree/scraper/vitest.config.ts +0 -17
- package/references/skill-tree/scripts/convert-to-vitest.ts +0 -166
- package/references/skill-tree/skills/skill-writer/SKILL.md +0 -339
- package/references/skill-tree/skills/skill-writer/references/examples.md +0 -326
- package/references/skill-tree/skills/skill-writer/references/patterns.md +0 -210
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +0 -123
- package/references/skill-tree/test/run-all.ts +0 -106
- package/references/skill-tree/test/utils.ts +0 -128
- package/references/skill-tree/vitest.config.ts +0 -16
- package/src/__tests__/e2e/agent-spawn-visibility.e2e.test.ts +0 -761
- package/src/__tests__/e2e/cascade-termination.e2e.test.ts +0 -588
- package/src/__tests__/e2e/conflict-resolution-flow.e2e.test.ts +0 -790
- package/src/__tests__/e2e/full-agent-conflict-resolution.e2e.test.ts +0 -714
- package/src/__tests__/e2e/full-agent-orchestration.e2e.test.ts +0 -536
- package/src/__tests__/e2e/mcp-server-debug.e2e.test.ts +0 -372
- package/src/__tests__/e2e/mcp-thin-client-bridge.e2e.test.ts +0 -304
- package/src/__tests__/e2e/mcp-tools-available.e2e.test.ts +0 -324
- package/src/__tests__/e2e/multi-agent.e2e.test.ts +0 -1527
- package/src/__tests__/e2e/multi-coordinator.e2e.test.ts +0 -602
- package/src/__tests__/e2e/orchestration-flow.e2e.test.ts +0 -686
- package/src/__tests__/e2e/spawn-session-streaming.e2e.test.ts +0 -563
- package/src/__tests__/e2e/steering-task.e2e.test.ts +0 -840
- package/src/__tests__/integration.e2e.test.ts +0 -407
- package/src/acp/__tests__/combined-websocket-server.test.ts +0 -260
- package/src/acp/__tests__/history.test.ts +0 -530
- package/src/acp/__tests__/integration.test.ts +0 -1049
- package/src/acp/__tests__/multi-client-mounting.test.ts +0 -303
- package/src/acp/__tests__/session-persistence.test.ts +0 -276
- package/src/acp/__tests__/websocket-full.e2e.test.ts +0 -401
- package/src/acp/__tests__/websocket-integration.test.ts +0 -484
- package/src/acp/__tests__/websocket-stream.test.ts +0 -281
- package/src/acp/__tests__/websocket.e2e.test.ts +0 -390
- package/src/acp/websocket-stream.ts +0 -140
- package/src/activity/__tests__/deduplication.test.ts +0 -345
- package/src/activity/__tests__/relevance.test.ts +0 -347
- package/src/activity/__tests__/watcher.test.ts +0 -344
- package/src/activity/deduplication.ts +0 -219
- package/src/activity/index.ts +0 -51
- package/src/activity/relevance.ts +0 -258
- package/src/activity/types.ts +0 -263
- package/src/activity/watcher.ts +0 -345
- package/src/agent/__tests__/agent-manager.test.ts +0 -1382
- package/src/agent/__tests__/wake.test.ts +0 -768
- package/src/agent/wake.ts +0 -357
- package/src/api/__tests__/conversation-api.test.ts +0 -468
- package/src/cli/__tests__/acp.test.ts +0 -214
- package/src/lifecycle/__tests__/cascade-termination.test.ts +0 -919
- package/src/lifecycle/__tests__/cascade.test.ts +0 -595
- package/src/lifecycle/__tests__/cleanup.test.ts +0 -322
- package/src/lifecycle/__tests__/handlers.test.ts +0 -1879
- package/src/lifecycle/__tests__/lifecycle.e2e.test.ts +0 -354
- package/src/lifecycle/__tests__/merge-queue.e2e.test.ts +0 -602
- package/src/lifecycle/handlers/generic.ts +0 -87
- package/src/lifecycle/handlers/index.ts +0 -183
- package/src/lifecycle/handlers/integrator.ts +0 -672
- package/src/lifecycle/handlers/monitor.ts +0 -114
- package/src/lifecycle/handlers/worker.ts +0 -506
- package/src/mail/__tests__/conversation-lifecycle.test.ts +0 -409
- package/src/mail/__tests__/eventstore-stores.test.ts +0 -1073
- package/src/mail/__tests__/mail-full-agent.e2e.test.ts +0 -575
- package/src/mail/__tests__/mail-integration.test.ts +0 -759
- package/src/mail/__tests__/mail-map-protocol.e2e.test.ts +0 -1068
- package/src/mail/__tests__/mail-service.test.ts +0 -506
- package/src/mail/__tests__/turn-recorder.test.ts +0 -328
- package/src/mail/conversation-map.ts +0 -107
- package/src/mail/index.ts +0 -25
- package/src/mail/mail-service.ts +0 -257
- package/src/mail/stores/eventstore-conversation-store.ts +0 -146
- package/src/mail/stores/eventstore-participant-store.ts +0 -172
- package/src/mail/stores/eventstore-thread-store.ts +0 -129
- package/src/mail/stores/eventstore-turn-store.ts +0 -173
- package/src/mail/stores/index.ts +0 -12
- package/src/mail/stores/types.ts +0 -160
- package/src/mail/turn-recorder.ts +0 -124
- package/src/map/README.md +0 -79
- package/src/map/__tests__/adapter-types.test.ts +0 -326
- package/src/map/__tests__/interface-types.test.ts +0 -342
- package/src/map/__tests__/types.test.ts +0 -411
- package/src/map/adapter/__tests__/acp-over-map-cancel.test.ts +0 -820
- package/src/map/adapter/__tests__/acp-over-map-getmodels.test.ts +0 -355
- package/src/map/adapter/__tests__/acp-over-map-history.test.ts +0 -1386
- package/src/map/adapter/__tests__/acp-over-map-persistence.e2e.test.ts +0 -440
- package/src/map/adapter/__tests__/connection-manager.test.ts +0 -344
- package/src/map/adapter/__tests__/event-broadcast.test.ts +0 -420
- package/src/map/adapter/__tests__/event-log.test.ts +0 -527
- package/src/map/adapter/__tests__/event-translator.test.ts +0 -550
- package/src/map/adapter/__tests__/extensions.test.ts +0 -1387
- package/src/map/adapter/__tests__/map-adapter.test.ts +0 -926
- package/src/map/adapter/__tests__/mcp-bridge.test.ts +0 -1187
- package/src/map/adapter/__tests__/multi-client-broadcast.test.ts +0 -711
- package/src/map/adapter/__tests__/rpc-handler.test.ts +0 -644
- package/src/map/adapter/__tests__/stream-extensions.test.ts +0 -494
- package/src/map/adapter/__tests__/subscription-manager.test.ts +0 -536
- package/src/map/adapter/__tests__/websocket-integration.test.ts +0 -487
- package/src/map/adapter/__tests__/workspace-files.test.ts +0 -673
- package/src/map/adapter/acp-over-map.ts +0 -1483
- package/src/map/adapter/connection-manager.ts +0 -400
- package/src/map/adapter/event-log.ts +0 -208
- package/src/map/adapter/event-translator.ts +0 -415
- package/src/map/adapter/extensions/agent-detection.ts +0 -201
- package/src/map/adapter/extensions/agent-lifecycle.ts +0 -267
- package/src/map/adapter/extensions/index.ts +0 -316
- package/src/map/adapter/extensions/mcp-bridge.ts +0 -995
- package/src/map/adapter/extensions/resume.ts +0 -114
- package/src/map/adapter/extensions/streams.ts +0 -839
- package/src/map/adapter/extensions/task.ts +0 -326
- package/src/map/adapter/extensions/update-metadata.ts +0 -126
- package/src/map/adapter/extensions/wake.ts +0 -239
- package/src/map/adapter/extensions/workspace-files.ts +0 -449
- package/src/map/adapter/extensions/workspace.ts +0 -176
- package/src/map/adapter/index.ts +0 -163
- package/src/map/adapter/interface.ts +0 -581
- package/src/map/adapter/mail-handler-adapter.ts +0 -429
- package/src/map/adapter/map-adapter.ts +0 -1749
- package/src/map/adapter/rpc-handler.ts +0 -604
- package/src/map/adapter/subscription-manager.ts +0 -474
- package/src/map/adapter/types.ts +0 -266
- package/src/map/adapter/websocket-integration.ts +0 -229
- package/src/map/federation/__tests__/envelope.test.ts +0 -362
- package/src/map/federation/__tests__/federation-handler.test.ts +0 -461
- package/src/map/federation/envelope.ts +0 -243
- package/src/map/federation/federation-handler.ts +0 -442
- package/src/map/federation/index.ts +0 -65
- package/src/map/federation/types.ts +0 -344
- package/src/mcp/__tests__/map-client.test.ts +0 -386
- package/src/mcp/__tests__/mcp-server-thin-client.test.ts +0 -368
- package/src/mcp/__tests__/mcp-server.test.ts +0 -1002
- package/src/mcp/map-client.ts +0 -177
- package/src/mcp/mcp-server.ts +0 -1406
- package/src/mcp/tools/__tests__/done.test.ts +0 -484
- package/src/mcp/tools/claim_task.ts +0 -86
- package/src/mcp/tools/done.ts +0 -357
- package/src/mcp/tools/inject_context.ts +0 -173
- package/src/mcp/tools/list_claimable_tasks.ts +0 -93
- package/src/mcp/tools/unclaim_task.ts +0 -71
- package/src/mcp/tools/wait_for_activity.ts +0 -185
- package/src/monitor/__tests__/health-check-service.test.ts +0 -425
- package/src/monitor/__tests__/stale-agent-flow.integration.test.ts +0 -393
- package/src/monitor/__tests__/stall-detector.test.ts +0 -395
- package/src/monitor/health-check-service.ts +0 -359
- package/src/monitor/index.ts +0 -28
- package/src/monitor/stall-detector.ts +0 -238
- package/src/peer/__tests__/capability-manager.test.ts +0 -454
- package/src/peer/__tests__/encapsulation-manager.test.ts +0 -787
- package/src/peer/__tests__/federation-manager.test.ts +0 -828
- package/src/peer/__tests__/hierarchy-errors.test.ts +0 -307
- package/src/peer/__tests__/peer-manager.test.ts +0 -535
- package/src/peer/__tests__/task-delegation.test.ts +0 -741
- package/src/peer/capability-manager.ts +0 -289
- package/src/peer/encapsulation-manager.ts +0 -831
- package/src/peer/federation-manager.ts +0 -897
- package/src/peer/hierarchy-errors.ts +0 -382
- package/src/peer/hierarchy-protocol.ts +0 -328
- package/src/peer/index.ts +0 -15
- package/src/peer/peer-manager.ts +0 -540
- package/src/peer/task-delegation.ts +0 -594
- package/src/peer/transports/__tests__/local-transport.test.ts +0 -355
- package/src/peer/transports/__tests__/websocket-transport.test.ts +0 -270
- package/src/peer/transports/index.ts +0 -18
- package/src/peer/transports/local-transport.ts +0 -348
- package/src/peer/transports/websocket-transport.ts +0 -452
- package/src/peer/types.ts +0 -331
- package/src/roles/__tests__/capability-enforcement.test.ts +0 -989
- package/src/roles/__tests__/message-routing.e2e.test.ts +0 -464
- package/src/roles/__tests__/role-resolution.test.ts +0 -576
- package/src/router/README.md +0 -120
- package/src/router/__tests__/address-resolver.test.ts +0 -340
- package/src/router/__tests__/broadcast.test.ts +0 -185
- package/src/router/__tests__/message-router.test.ts +0 -1070
- package/src/router/__tests__/role-channel.test.ts +0 -213
- package/src/router/__tests__/send-to-address.test.ts +0 -731
- package/src/router/__tests__/wake.test.ts +0 -459
- package/src/router/address-resolver.ts +0 -303
- package/src/router/broadcast.ts +0 -117
- package/src/router/channels.ts +0 -283
- package/src/router/index.ts +0 -148
- package/src/router/message-router.ts +0 -1392
- package/src/router/message-types.ts +0 -294
- package/src/router/role-resolver.ts +0 -164
- package/src/router/signals.ts +0 -335
- package/src/router/types.ts +0 -306
- package/src/router/wake.ts +0 -270
- package/src/server/__tests__/combined-server.test.ts +0 -360
- package/src/server/combined-server.ts +0 -544
- package/src/steering/__tests__/inject.test.ts +0 -405
- package/src/steering/__tests__/injection.e2e.test.ts +0 -932
- package/src/steering/__tests__/steering-integration.test.ts +0 -747
- package/src/steering/index.ts +0 -25
- package/src/steering/inject.ts +0 -262
- package/src/steering/types.ts +0 -143
- package/src/store/README.md +0 -134
- package/src/store/__tests__/event-store-oob.test.ts +0 -109
- package/src/store/__tests__/event-store.test.ts +0 -1446
- package/src/store/__tests__/instance.test.ts +0 -556
- package/src/store/__tests__/migrations.test.ts +0 -109
- package/src/store/backends/__tests__/memory-backend.test.ts +0 -383
- package/src/store/backends/__tests__/sqlite-backend.test.ts +0 -427
- package/src/store/backends/index.ts +0 -42
- package/src/store/backends/json-backend.ts +0 -295
- package/src/store/backends/memory-backend.ts +0 -256
- package/src/store/backends/sqlite-backend.ts +0 -337
- package/src/store/backends/tinybase-backend.ts +0 -276
- package/src/store/backends/types.ts +0 -252
- package/src/store/event-store.ts +0 -2214
- package/src/store/instance.ts +0 -681
- package/src/store/migrations.ts +0 -96
- package/src/store/types/config.ts +0 -19
- package/src/store/types/conversations.ts +0 -129
- package/src/store/types/sessions.ts +0 -53
- package/src/task/__tests__/retry-policy.test.ts +0 -409
- package/src/task/__tests__/task-integration.test.ts +0 -457
- package/src/task/__tests__/task-manager.test.ts +0 -815
- package/src/task/backend/__tests__/create-task-backend.test.ts +0 -225
- package/src/task/backend/__tests__/e2e/unified-tool-provider-opentasks.e2e.test.ts +0 -524
- package/src/task/backend/__tests__/memory-pull-mode.test.ts +0 -153
- package/src/task/backend/__tests__/memory.test.ts +0 -1274
- package/src/task/backend/__tests__/unified-tool-provider.test.ts +0 -579
- package/src/task/backend/index.ts +0 -310
- package/src/task/backend/memory.ts +0 -828
- package/src/task/backend/opentasks/__tests__/backend.test.ts +0 -968
- package/src/task/backend/opentasks/__tests__/daemon-manager.test.ts +0 -406
- package/src/task/backend/opentasks/__tests__/mapping.test.ts +0 -84
- package/src/task/backend/opentasks/__tests__/opentasks-backend.e2e.test.ts +0 -1338
- package/src/task/backend/opentasks/backend.ts +0 -1323
- package/src/task/backend/opentasks/client.ts +0 -652
- package/src/task/backend/opentasks/daemon-manager.ts +0 -256
- package/src/task/backend/opentasks/index.ts +0 -69
- package/src/task/backend/opentasks/mapping.ts +0 -94
- package/src/task/backend/types.ts +0 -458
- package/src/task/backend/unified-tool-provider.ts +0 -779
- package/src/task/index.ts +0 -7
- package/src/task/retry-policy.ts +0 -204
- package/src/task/task-manager.ts +0 -515
- package/src/task/types.ts +0 -136
- package/src/teams/CLAUDE.md +0 -180
- package/src/teams/__tests__/cross-subsystem.integration.test.ts +0 -983
- package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +0 -553
- package/src/teams/__tests__/e2e/workspace-isolation.e2e.test.ts +0 -1263
- package/src/teams/__tests__/team-manager.test.ts +0 -814
- package/src/teams/__tests__/team-system.test.ts +0 -2563
- package/src/teams/team-manager.ts +0 -387
- package/src/teams/team-runtime.ts +0 -1198
- package/src/trigger/CLAUDE.md +0 -308
- package/src/trigger/README.md +0 -429
- package/src/trigger/__tests__/macro-agent-regression.test.ts +0 -946
- package/src/trigger/__tests__/routing-strategies.test.ts +0 -329
- package/src/trigger/__tests__/trigger-router.test.ts +0 -433
- package/src/trigger/__tests__/trigger-system-integration.test.ts +0 -581
- package/src/trigger/router/index.ts +0 -36
- package/src/trigger/router/strategies/ai-router-strategy.ts +0 -481
- package/src/trigger/router/strategies/direct-strategy.ts +0 -162
- package/src/trigger/router/strategies/index.ts +0 -26
- package/src/trigger/router/strategies/role-strategy.ts +0 -274
- package/src/trigger/router/trigger-router.ts +0 -463
- package/src/trigger/router/types.ts +0 -273
- package/src/trigger/trigger-system.ts +0 -206
- package/src/workspace/__tests__/multi-coordinator.test.ts +0 -1005
- package/src/workspace/__tests__/workspace-manager.test.ts +0 -391
- package/src/workspace/__tests__/workspace.e2e.test.ts +0 -1155
- package/src/workspace/merge-queue/__tests__/hierarchical-consolidation.e2e.test.ts +0 -414
- package/test_fixtures/harness/__tests__/behavior-executor-and-stepper.test.ts +0 -714
- package/test_fixtures/harness/__tests__/fixtures.test.ts +0 -347
- package/test_fixtures/harness/__tests__/merge-queue-and-worktrees.test.ts +0 -452
- package/test_fixtures/harness/__tests__/temp-repo-and-simulator.test.ts +0 -422
- package/test_fixtures/harness/__tests__/test-harness-and-assertions.test.ts +0 -568
- /package/{references/acp-factory-ref/python/tests/__init__.py → .opentasks/graph.jsonl} +0 -0
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
// ─────────────────────────────────────────────────────────────
|
|
2
|
-
// Team Template Types
|
|
3
|
-
// ─────────────────────────────────────────────────────────────
|
|
4
|
-
// These mirror the macro-agent team template schema.
|
|
5
|
-
// Generic multi-agent fields are top-level; system-specific
|
|
6
|
-
// extensions live under namespaced keys (e.g. macro_agent).
|
|
7
|
-
|
|
8
|
-
// --- Manifest (team.yaml) ---
|
|
9
|
-
|
|
10
|
-
export interface TeamManifest {
|
|
11
|
-
name: string;
|
|
12
|
-
description?: string;
|
|
13
|
-
version: number;
|
|
14
|
-
roles: string[];
|
|
15
|
-
topology: TopologyConfig;
|
|
16
|
-
communication?: CommunicationConfig;
|
|
17
|
-
|
|
18
|
-
// Extension fields from other systems — stored but not interpreted
|
|
19
|
-
macro_agent?: Record<string, unknown>;
|
|
20
|
-
[key: string]: unknown;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// --- Topology ---
|
|
24
|
-
|
|
25
|
-
export interface TopologyConfig {
|
|
26
|
-
root: TopologyNode;
|
|
27
|
-
companions?: TopologyNode[];
|
|
28
|
-
spawn_rules?: Record<string, string[]>;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface TopologyNode {
|
|
32
|
-
role: string;
|
|
33
|
-
prompt?: string; // path to prompt file relative to template dir
|
|
34
|
-
config?: TopologyNodeConfig;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface TopologyNodeConfig {
|
|
38
|
-
model?: string;
|
|
39
|
-
[key: string]: unknown;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// --- Communication ---
|
|
43
|
-
|
|
44
|
-
export interface CommunicationConfig {
|
|
45
|
-
enforcement?: "strict" | "permissive" | "audit";
|
|
46
|
-
channels?: Record<string, ChannelDefinition>;
|
|
47
|
-
subscriptions?: Record<string, SubscriptionEntry[]>;
|
|
48
|
-
emissions?: Record<string, string[]>;
|
|
49
|
-
routing?: RoutingConfig;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface ChannelDefinition {
|
|
53
|
-
description?: string;
|
|
54
|
-
signals: string[];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface SubscriptionEntry {
|
|
58
|
-
channel: string;
|
|
59
|
-
signals?: string[]; // if omitted, subscribes to all signals in channel
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface RoutingConfig {
|
|
63
|
-
status?: "upstream" | "none";
|
|
64
|
-
peers?: PeerRoute[];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface PeerRoute {
|
|
68
|
-
from: string;
|
|
69
|
-
to: string;
|
|
70
|
-
via: "direct" | "topic" | "scope";
|
|
71
|
-
signals?: string[];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// --- Role Definition (roles/<name>.yaml) ---
|
|
75
|
-
|
|
76
|
-
export interface RoleDefinition {
|
|
77
|
-
name: string;
|
|
78
|
-
extends?: string;
|
|
79
|
-
display_name?: string;
|
|
80
|
-
description?: string;
|
|
81
|
-
capabilities?: string[] | CapabilityComposition;
|
|
82
|
-
prompt?: string; // path to a single prompt file
|
|
83
|
-
prompts?: string[]; // ordered list of prompt files (relative to prompts/<role>/)
|
|
84
|
-
|
|
85
|
-
// Flat capability composition (alternative to CapabilityComposition inside capabilities).
|
|
86
|
-
// Only valid when `extends` is set. Mutually exclusive with CapabilityComposition in `capabilities`.
|
|
87
|
-
capabilities_add?: string[];
|
|
88
|
-
capabilities_remove?: string[];
|
|
89
|
-
|
|
90
|
-
// Extension fields
|
|
91
|
-
macro_agent?: Record<string, unknown>;
|
|
92
|
-
[key: string]: unknown;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export interface CapabilityComposition {
|
|
96
|
-
add?: string[];
|
|
97
|
-
remove?: string[];
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// --- Prompt Sections ---
|
|
101
|
-
|
|
102
|
-
export interface PromptSection {
|
|
103
|
-
/** Filename stem, e.g. "soul", "guidelines", "prompt" */
|
|
104
|
-
name: string;
|
|
105
|
-
/** Markdown content of this section */
|
|
106
|
-
content: string;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export interface ResolvedPrompts {
|
|
110
|
-
/** The primary prompt content (from prompt.md or the single-file prompt) */
|
|
111
|
-
primary: string;
|
|
112
|
-
/** Additional prompt materials, in load order */
|
|
113
|
-
additional: PromptSection[];
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// --- Resolved Template (fully loaded) ---
|
|
117
|
-
|
|
118
|
-
export interface ResolvedTemplate {
|
|
119
|
-
manifest: TeamManifest;
|
|
120
|
-
roles: Map<string, ResolvedRole>;
|
|
121
|
-
prompts: Map<string, ResolvedPrompts>; // role name → structured prompts
|
|
122
|
-
mcpServers: Map<string, McpServerEntry[]>; // role name → MCP server entries
|
|
123
|
-
sourcePath: string;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export interface ResolvedRole {
|
|
127
|
-
name: string;
|
|
128
|
-
extends?: string;
|
|
129
|
-
displayName: string;
|
|
130
|
-
description: string;
|
|
131
|
-
capabilities: string[];
|
|
132
|
-
promptFile?: string;
|
|
133
|
-
promptFiles?: string[]; // explicit ordering from role YAML
|
|
134
|
-
raw: RoleDefinition; // original YAML for extension fields
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// --- MCP Server Config ---
|
|
138
|
-
|
|
139
|
-
export interface McpServerEntry {
|
|
140
|
-
name: string;
|
|
141
|
-
command: string;
|
|
142
|
-
args?: string[];
|
|
143
|
-
env?: Record<string, string>;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// --- Load Options ---
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Options for TemplateLoader.load() — all hooks are synchronous.
|
|
150
|
-
*/
|
|
151
|
-
export interface LoadOptions {
|
|
152
|
-
/** Resolve a role that `extends` a name not found in the local roles map. */
|
|
153
|
-
resolveExternalRole?: (name: string) => ResolvedRole | null;
|
|
154
|
-
/** Post-process each role after inheritance resolution. */
|
|
155
|
-
postProcessRole?: (role: ResolvedRole, manifest: TeamManifest) => ResolvedRole;
|
|
156
|
-
/** Post-process the entire template after loading. */
|
|
157
|
-
postProcess?: (template: ResolvedTemplate) => ResolvedTemplate;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Options for TemplateLoader.loadAsync() — hooks may return Promises.
|
|
162
|
-
*/
|
|
163
|
-
export interface AsyncLoadOptions {
|
|
164
|
-
/** Resolve a role that `extends` a name not found in the local roles map. */
|
|
165
|
-
resolveExternalRole?: (name: string) => Promise<ResolvedRole | null> | ResolvedRole | null;
|
|
166
|
-
/** Post-process each role after inheritance resolution. */
|
|
167
|
-
postProcessRole?: (role: ResolvedRole, manifest: TeamManifest) => Promise<ResolvedRole> | ResolvedRole;
|
|
168
|
-
/** Post-process the entire template after loading. */
|
|
169
|
-
postProcess?: (template: ResolvedTemplate) => Promise<ResolvedTemplate> | ResolvedTemplate;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// --- Signal Event (emitted through channels) ---
|
|
173
|
-
|
|
174
|
-
export interface SignalEvent {
|
|
175
|
-
id: number;
|
|
176
|
-
team_name: string;
|
|
177
|
-
channel: string;
|
|
178
|
-
signal: string;
|
|
179
|
-
sender: string;
|
|
180
|
-
payload: Record<string, unknown>;
|
|
181
|
-
created_at: string;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export interface SignalEventRow {
|
|
185
|
-
id: number;
|
|
186
|
-
team_name: string;
|
|
187
|
-
channel: string;
|
|
188
|
-
signal: string;
|
|
189
|
-
sender: string;
|
|
190
|
-
payload: string;
|
|
191
|
-
created_at: string;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export interface EmitSignalOptions {
|
|
195
|
-
teamName: string;
|
|
196
|
-
channel: string;
|
|
197
|
-
signal: string;
|
|
198
|
-
sender: string;
|
|
199
|
-
payload?: Record<string, unknown>;
|
|
200
|
-
}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
// --- Team Types ---
|
|
2
|
-
|
|
3
|
-
export type EnforcementMode = "strict" | "permissive" | "audit";
|
|
4
|
-
|
|
5
|
-
export interface Team {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string | null;
|
|
8
|
-
agent_type: string | null;
|
|
9
|
-
template_name: string | null;
|
|
10
|
-
template_path: string | null;
|
|
11
|
-
enforcement: EnforcementMode;
|
|
12
|
-
created_at: string;
|
|
13
|
-
status: "active" | "deleted";
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface CreateTeamOptions {
|
|
17
|
-
name: string;
|
|
18
|
-
description?: string;
|
|
19
|
-
agentType?: string;
|
|
20
|
-
templateName?: string;
|
|
21
|
-
templatePath?: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// --- Member Types ---
|
|
25
|
-
|
|
26
|
-
export type MemberStatus = "idle" | "running" | "shutdown";
|
|
27
|
-
|
|
28
|
-
export interface Member {
|
|
29
|
-
id: number;
|
|
30
|
-
team_name: string;
|
|
31
|
-
agent_name: string;
|
|
32
|
-
agent_id: string | null;
|
|
33
|
-
agent_type: string;
|
|
34
|
-
role: string | null;
|
|
35
|
-
status: MemberStatus;
|
|
36
|
-
spawn_prompt: string | null;
|
|
37
|
-
model: string | null;
|
|
38
|
-
created_at: string;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// --- Task Types ---
|
|
42
|
-
|
|
43
|
-
export type TaskStatus = "pending" | "in_progress" | "completed" | "deleted";
|
|
44
|
-
|
|
45
|
-
export interface Task {
|
|
46
|
-
id: number;
|
|
47
|
-
team_name: string;
|
|
48
|
-
subject: string;
|
|
49
|
-
description: string;
|
|
50
|
-
active_form: string | null;
|
|
51
|
-
status: TaskStatus;
|
|
52
|
-
owner: string | null;
|
|
53
|
-
metadata: Record<string, unknown>;
|
|
54
|
-
created_at: string;
|
|
55
|
-
updated_at: string;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface TaskRow {
|
|
59
|
-
id: number;
|
|
60
|
-
team_name: string;
|
|
61
|
-
subject: string;
|
|
62
|
-
description: string;
|
|
63
|
-
active_form: string | null;
|
|
64
|
-
status: TaskStatus;
|
|
65
|
-
owner: string | null;
|
|
66
|
-
metadata: string;
|
|
67
|
-
created_at: string;
|
|
68
|
-
updated_at: string;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export interface CreateTaskOptions {
|
|
72
|
-
teamName: string;
|
|
73
|
-
subject: string;
|
|
74
|
-
description: string;
|
|
75
|
-
activeForm?: string;
|
|
76
|
-
blockedBy?: number[];
|
|
77
|
-
metadata?: Record<string, unknown>;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface UpdateTaskOptions {
|
|
81
|
-
status?: TaskStatus;
|
|
82
|
-
subject?: string;
|
|
83
|
-
description?: string;
|
|
84
|
-
activeForm?: string;
|
|
85
|
-
owner?: string | null;
|
|
86
|
-
metadata?: Record<string, unknown>;
|
|
87
|
-
addBlocks?: number[];
|
|
88
|
-
addBlockedBy?: number[];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export interface TaskSummary {
|
|
92
|
-
id: number;
|
|
93
|
-
subject: string;
|
|
94
|
-
status: TaskStatus;
|
|
95
|
-
owner: string | null;
|
|
96
|
-
blockedBy: number[];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// --- Message Types ---
|
|
100
|
-
|
|
101
|
-
export type MessageType =
|
|
102
|
-
| "message"
|
|
103
|
-
| "broadcast"
|
|
104
|
-
| "shutdown_request"
|
|
105
|
-
| "shutdown_response"
|
|
106
|
-
| "plan_approval_response";
|
|
107
|
-
|
|
108
|
-
export interface Message {
|
|
109
|
-
id: number;
|
|
110
|
-
team_name: string;
|
|
111
|
-
type: MessageType;
|
|
112
|
-
sender: string;
|
|
113
|
-
recipient: string | null;
|
|
114
|
-
content: string;
|
|
115
|
-
summary: string | null;
|
|
116
|
-
request_id: string | null;
|
|
117
|
-
approve: boolean | null;
|
|
118
|
-
delivered: boolean;
|
|
119
|
-
created_at: string;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface MessageRow {
|
|
123
|
-
id: number;
|
|
124
|
-
team_name: string;
|
|
125
|
-
type: MessageType;
|
|
126
|
-
sender: string;
|
|
127
|
-
recipient: string | null;
|
|
128
|
-
content: string;
|
|
129
|
-
summary: string | null;
|
|
130
|
-
request_id: string | null;
|
|
131
|
-
approve: number | null;
|
|
132
|
-
delivered: number;
|
|
133
|
-
created_at: string;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export interface SendMessageOptions {
|
|
137
|
-
teamName: string;
|
|
138
|
-
sender: string;
|
|
139
|
-
recipient: string;
|
|
140
|
-
content: string;
|
|
141
|
-
summary: string;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export interface BroadcastMessageOptions {
|
|
145
|
-
teamName: string;
|
|
146
|
-
sender: string;
|
|
147
|
-
content: string;
|
|
148
|
-
summary: string;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export interface ShutdownRequestOptions {
|
|
152
|
-
teamName: string;
|
|
153
|
-
sender: string;
|
|
154
|
-
recipient: string;
|
|
155
|
-
reason?: string;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export interface ShutdownResponseOptions {
|
|
159
|
-
teamName: string;
|
|
160
|
-
sender: string;
|
|
161
|
-
requestId: string;
|
|
162
|
-
approve: boolean;
|
|
163
|
-
content?: string;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export interface PlanApprovalResponseOptions {
|
|
167
|
-
teamName: string;
|
|
168
|
-
sender: string;
|
|
169
|
-
recipient: string;
|
|
170
|
-
requestId: string;
|
|
171
|
-
approve: boolean;
|
|
172
|
-
content?: string;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// --- Agent Spawner Types ---
|
|
176
|
-
|
|
177
|
-
export interface SpawnAgentOptions {
|
|
178
|
-
name: string;
|
|
179
|
-
teamName: string;
|
|
180
|
-
prompt: string;
|
|
181
|
-
agentType?: string;
|
|
182
|
-
model?: string;
|
|
183
|
-
cwd?: string;
|
|
184
|
-
env?: Record<string, string>;
|
|
185
|
-
permissionMode?: "auto-approve" | "auto-deny" | "interactive";
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
export interface AgentUpdate {
|
|
189
|
-
type: "text" | "tool_call" | "thought" | "error" | "done";
|
|
190
|
-
content: string;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export interface AgentInstance {
|
|
194
|
-
id: string;
|
|
195
|
-
name: string;
|
|
196
|
-
isRunning(): boolean;
|
|
197
|
-
sendPrompt(prompt: string): AsyncIterable<AgentUpdate>;
|
|
198
|
-
shutdown(): Promise<void>;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
export interface AgentSpawner {
|
|
202
|
-
spawn(options: SpawnAgentOptions): Promise<AgentInstance>;
|
|
203
|
-
shutdown(agentId: string): Promise<void>;
|
|
204
|
-
list(): AgentInstance[];
|
|
205
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "commonjs",
|
|
5
|
-
"lib": ["ES2022"],
|
|
6
|
-
"declaration": true,
|
|
7
|
-
"strict": true,
|
|
8
|
-
"outDir": "./dist",
|
|
9
|
-
"rootDir": "./src",
|
|
10
|
-
"esModuleInterop": true,
|
|
11
|
-
"skipLibCheck": true,
|
|
12
|
-
"forceConsistentCasingInFileNames": true,
|
|
13
|
-
"resolveJsonModule": true,
|
|
14
|
-
"sourceMap": true
|
|
15
|
-
},
|
|
16
|
-
"include": ["src"],
|
|
17
|
-
"exclude": ["node_modules", "dist", "**/*.test.ts"]
|
|
18
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{"id":"i-7bxx","uuid":"ddf991df-120d-46ed-87e0-0f998b7b8e69","title":"Define serving layer types and extend Skill interface","content":"## Overview\n\nCreate the foundational types for the serving layer and extend the existing `Skill` interface with serving-specific fields.\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/types.ts` with:\n - `LoadoutCriteria` interface (all selection options)\n - `LoadoutState` interface (available, expanded, pending maps)\n - `LoadoutSource` interface\n - `SkillState` type ('available' | 'expanded' | 'pending')\n - `ExpandTrigger` interface\n - `SkillSummary` interface\n - `LoadoutView` interface\n - `ProjectContext` interface\n - `GraphServerConfig` interface\n - `LoadoutCompilerConfig` interface\n\n- [ ] Extend `Skill` interface in `src/types.ts` with `serving?` field:\n ```typescript\n serving?: {\n summary?: string;\n tokenEstimate?: number;\n autoExpand?: ExpandTrigger[];\n expansionGroup?: string;\n }\n ```\n\n- [ ] Create `src/serving/index.ts` with public exports\n\n- [ ] Add tests for type compatibility\n\n## Technical Notes\n\n- Types should be exported from both `src/serving/index.ts` and re-exported from `src/index.ts`\n- Ensure backward compatibility - `serving` field is optional on Skill\n- Use strict TypeScript (no `any` types)\n\n## Implements\n\n[[s-70no]] - Core Types section","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:02","updated_at":"2026-02-03 21:48:02","closed_at":"2026-02-03 21:48:02","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-7bxx","from_type":"issue","to":"i-22y3","to_type":"issue","type":"blocks"},{"from":"i-7bxx","from_type":"issue","to":"i-3rvm","to_type":"issue","type":"blocks"},{"from":"i-7bxx","from_type":"issue","to":"i-4kr7","to_type":"issue","type":"blocks"},{"from":"i-7bxx","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["foundation","serving","types"]}
|
|
2
|
-
{"id":"i-3rvm","uuid":"5d760085-2e9c-4b6f-a067-10fde8b5f478","title":"Implement LoadoutCompiler with filter strategies","content":"## Overview\n\nCreate the LoadoutCompiler class that selects skills based on flexible criteria. This is the core selection logic for building loadouts.\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/loadout-compiler.ts` with `LoadoutCompiler` class\n\n- [ ] Implement filter methods (applied in order):\n - `applyExplicitFilters()` - include/exclude by ID\n - `applyTagFilters()` - tags (any) and tagsAll (all required)\n - `applyQualityFilters()` - status, minSuccessRate, author\n - `applySemanticFilters()` - taskDescription, problemContext, errorContext, keywords (uses existing SemanticMatcher)\n - `applyRelationshipFilters()` - rootSkills, includeDependencies, includeRelated, depth\n - `applyLimits()` - maxSkills, priorityOrder sorting\n\n- [ ] Implement main entry point:\n ```typescript\n async compile(criteria: LoadoutCriteria): Promise<Skill[]>\n ```\n\n- [ ] Implement convenience methods:\n - `compileForTask(taskDescription: string)`\n - `compileFromProfile(profileName: string, profiles: Record<string, LoadoutCriteria>)`\n\n- [ ] Handle merge modes: 'replace', 'merge', 'subtract'\n\n- [ ] Add unit tests for each filter strategy\n\n## Technical Notes\n\n- Reuse existing `SemanticMatcher` for semantic filtering\n- Reuse existing `SkillRelationship` for relationship traversal\n- Filters should be composable and order-independent where possible\n- Empty criteria should return all active skills (up to default limit)\n\n## Implements\n\n[[s-70no]] - LoadoutCompiler section","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:13","updated_at":"2026-02-03 21:53:21","closed_at":"2026-02-03 21:53:21","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-3rvm","from_type":"issue","to":"i-1uji","to_type":"issue","type":"blocks"},{"from":"i-3rvm","from_type":"issue","to":"i-22y3","to_type":"issue","type":"blocks"},{"from":"i-3rvm","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["compiler","core","serving"]}
|
|
3
|
-
{"id":"i-1uji","uuid":"2dd56649-7568-49e4-9129-1577ba221ded","title":"Implement ProjectDetector for auto-configuration","content":"## Overview\n\nCreate the ProjectDetector that analyzes a project directory to infer relevant skills based on detected languages, frameworks, and patterns.\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/project-detector.ts` with `ProjectDetector` class\n\n- [ ] Implement `detectProjectContext(projectPath: string): Promise<ProjectContext>`:\n - Detect project type from manifest files:\n - `package.json` → Node.js/TypeScript\n - `pyproject.toml` / `requirements.txt` → Python\n - `Cargo.toml` → Rust\n - `go.mod` → Go\n - `pom.xml` / `build.gradle` → Java\n - Detect frameworks from dependencies:\n - React, Vue, Angular, Svelte (frontend)\n - Express, Fastify, NestJS, Next.js (Node backend)\n - FastAPI, Django, Flask (Python)\n - Prisma, TypeORM, Drizzle (ORMs)\n - Detect patterns from directory structure:\n - `.github/workflows/` → CI/CD\n - `docker-compose.yml` → Docker\n - `terraform/` → Infrastructure\n - Identify package manager (npm, yarn, pnpm, pip, cargo)\n\n- [ ] Add `compileForProject(projectPath: string)` to LoadoutCompiler that uses ProjectDetector\n\n- [ ] Create mapping from detected context to skill tags/criteria\n\n- [ ] Add tests with mock project structures\n\n## Technical Notes\n\n- Should be fast - only check file existence, don't parse deeply\n- Cache results for same projectPath within a session\n- Handle missing files gracefully (partial detection is fine)\n\n## Implements\n\n[[s-70no]] - Project-Based Auto-Configuration","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:23","updated_at":"2026-02-03 22:05:21","closed_at":"2026-02-03 22:05:21","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-1uji","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["auto-config","detection","serving"],"feedback":[{"id":"87b558ac-260d-401c-835a-5a7f1f668c47","from_id":"i-1uji","to_id":"s-70no","feedback_type":"comment","content":"ProjectDetector implemented with comprehensive detection:\n- **Project types**: Node.js, Python, Rust, Go, Java, Kotlin\n- **Node.js frameworks**: React, Next.js, Vue, Nuxt, Angular, Svelte, Express, Fastify, NestJS, Hono, Prisma, Drizzle, TypeORM, Jest, Vitest, Playwright, Cypress\n- **Python frameworks**: FastAPI, Django, Flask, SQLAlchemy, pytest, Pydantic\n- **Patterns**: GitHub Actions, GitLab CI, Docker, Docker Compose, Terraform, Kubernetes\n- **Package managers**: npm, pnpm, yarn, bun (Node.js), pip (Python), cargo (Rust), maven/gradle (Java)\n- Result caching with `clearCache()` method\n- `contextToCriteria()` converts detected context to LoadoutCriteria for automatic skill selection","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:05:17.795Z","updated_at":"2026-02-03T22:05:17.795Z"}]}
|
|
4
|
-
{"id":"i-22y3","uuid":"b0ac9a37-5cfd-4339-a98a-3cf989800adb","title":"Implement SkillGraphServer orchestrator API","content":"## Overview\n\nCreate the main SkillGraphServer class with the orchestrator-facing API for managing loadout state.\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/graph-server.ts` with `SkillGraphServer` class\n\n- [ ] Implement constructor with `GraphServerConfig`:\n - Initialize LoadoutCompiler\n - Set up empty LoadoutState\n - Store config options (agentCanModify, requireApproval, etc.)\n - Apply initialLoadout if provided\n\n- [ ] Implement orchestrator API methods:\n - `setLoadout(criteria: LoadoutCriteria): Promise<LoadoutState>` - replace current loadout\n - `setLoadoutForTask(taskDescription: string): Promise<LoadoutState>`\n - `setLoadoutForProject(projectPath: string): Promise<LoadoutState>`\n - `setLoadoutFromProfile(profileName: string): Promise<LoadoutState>`\n - `addSkills(skillIds: string[]): Promise<void>` - merge into current\n - `removeSkills(skillIds: string[]): void`\n - `approvePending(skillIds: string[]): void`\n - `denyPending(skillIds: string[]): void`\n - `getState(): LoadoutState`\n\n- [ ] Implement expansion state management:\n - Track expanded vs available skills\n - Enforce `maxExpanded` limit\n - Implement eviction strategies: 'lru', 'priority', 'manual'\n\n- [ ] Implement event emission:\n - `loadout:changed`\n - `skill:expanded`\n - `skill:collapsed`\n - `pending:added`\n\n- [ ] Add unit tests for state transitions\n\n## Technical Notes\n\n- LoadoutState should use Map for available skills (fast lookup)\n- Use Set for expanded and pending skill IDs\n- Events should be synchronous (no async handlers for now)\n\n## Implements\n\n[[s-70no]] - SkillGraphServer External API section","status":"closed","priority":0,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:34","updated_at":"2026-02-03 22:42:41","closed_at":"2026-02-03 22:42:41","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-22y3","from_type":"issue","to":"i-2hn5","to_type":"issue","type":"blocks"},{"from":"i-22y3","from_type":"issue","to":"i-63n4","to_type":"issue","type":"blocks"},{"from":"i-22y3","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["orchestrator-api","server","serving"],"feedback":[{"id":"1c5f0d8c-9c88-467b-8379-0633f33db550","from_id":"i-22y3","to_id":"s-70no","feedback_type":"comment","content":"SkillGraphServer implemented with full orchestrator API:\n- **Loadout management**: `setLoadout()`, `setLoadoutForTask()`, `setLoadoutForProject()`, `setLoadoutFromProfile()`\n- **Skill operations**: `addSkills()`, `removeSkills()`, `getState()`\n- **Pending approval**: `approvePending()`, `denyPending()`\n- **Expansion management**: `expandSkill()`, `collapseSkill()`, `recordUsage()` with LRU eviction\n- **Agent API**: `agentRequestSkills()`, `agentRemoveSkills()`, `agentSwitchProfile()`, `agentSetLoadout()`\n- **Rendering**: `renderSystemPrompt()` (XML/Markdown), `estimateTokens()`\n- **Events**: Full event emission for loadout:changed, skill:expanded, skill:collapsed, pending:added/approved/denied\n- **Profiles**: `getProfiles()`, `addProfile()`, runtime profile management\n- **Configuration**: All GraphServerConfig options implemented (permissions, expansion behavior, eviction strategies)","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:42:41.058Z","updated_at":"2026-02-03T22:42:41.058Z"}]}
|
|
5
|
-
{"id":"i-4kr7","uuid":"216f6ba8-23fd-437f-88ab-5a66cd4de688","title":"Implement ViewRenderer for system prompt output","content":"## Overview\n\nCreate the ViewRenderer that renders loadout state into formats consumable by agents (XML, Markdown).\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/view-renderer.ts` with `ViewRenderer` class\n\n- [ ] Implement `renderXml(state: LoadoutState): string`:\n - OpenSkills-compatible `<skills_system>` wrapper\n - `<usage>` section with instructions\n - `<available_skills>` with skill entries\n - For expanded skills: include full `<content>` block\n - For available skills: just `<name>` and `<description>`\n - `<pending_requests>` section if any pending\n\n- [ ] Implement `renderMarkdown(state: LoadoutState): string`:\n - Human-readable format for debugging\n - Table of skills with state indicators\n - Full content for expanded skills\n\n- [ ] Implement `renderSkillMd(skill: Skill): string`:\n - SKILL.md format with YAML frontmatter\n - Sections: Problem, Solution, Verification, Examples\n\n- [ ] Implement `estimateTokens(state: LoadoutState): number`:\n - Use `skill.serving?.tokenEstimate` if available\n - Fall back to character count / 4 approximation\n - Sum for all available + expanded content\n\n- [ ] Add `renderSystemPrompt()` method to SkillGraphServer that uses ViewRenderer\n\n## Technical Notes\n\n- XML output should be valid and parseable\n- Escape special characters in skill content\n- Keep summaries short (first sentence of description if no explicit summary)\n\n## Implements\n\n[[s-70no]] - ViewRenderer section and XML output example","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:44","updated_at":"2026-02-03 22:05:21","closed_at":"2026-02-03 22:05:21","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-4kr7","from_type":"issue","to":"i-22y3","to_type":"issue","type":"blocks"},{"from":"i-4kr7","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["rendering","serving","xml"],"feedback":[{"id":"caf8f234-dc5b-4a85-865c-cee1fd0cef38","from_id":"i-4kr7","to_id":"s-70no","feedback_type":"comment","content":"ViewRenderer implemented with full functionality:\n- `renderXml()`: OpenSkills-compatible XML format with progressive disclosure (available vs expanded states)\n- `renderMarkdown()`: Debug-friendly table view with expanded skill details\n- `renderSkillMd()`: SKILL.md format with YAML frontmatter\n- `estimateTokens()`: Token estimation for budget tracking\n- `toSummaries()`: Convert loadout to array of skill summaries\n- Proper XML escaping for special characters\n- Configurable options for token estimates, max summary length, and example inclusion","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:05:17.627Z","updated_at":"2026-02-03T22:05:17.627Z"}]}
|
|
6
|
-
{"id":"i-2hn5","uuid":"03ba9fd4-096e-47ef-8f57-bb6c7454378f","title":"Implement SkillGraphServer agent API methods","content":"## Overview\n\nAdd the agent-facing API methods to SkillGraphServer that will be exposed via MCP tools.\n\n## Acceptance Criteria\n\n- [ ] Add agent API methods to `SkillGraphServer`:\n\n - `agentSetLoadout(criteria: LoadoutCriteria): Promise<LoadoutState | 'denied'>`\n - Check `agentCanSetLoadout` config\n - Return 'denied' if not permitted\n\n - `agentRequestSkills(skillIds: string[]): Promise<{ added: string[]; pending: string[] }>`\n - Check `agentCanModify` config\n - If `requireApproval`: add to pending, return in pending array\n - If no approval needed: add directly, return in added array\n\n - `agentSearchSkills(query: string, limit?: number): Promise<SkillSummary[]>`\n - Use SemanticMatcher to search all skills (not just loadout)\n - Return summaries with id, name, description, tags\n - Default limit: 5\n\n - `agentExpandSkill(skillId: string): Promise<Skill | null>`\n - Return null if skill not in available set\n - Add to expanded set\n - Enforce maxExpanded with eviction\n - Emit 'skill:expanded' event\n\n - `agentCollapseSkill(skillId: string): void`\n - Remove from expanded set\n - Emit 'skill:collapsed' event\n\n - `agentListLoadout(): LoadoutView`\n - Return available skills as SkillSummary[]\n - Include pending array\n - Include available profile names\n\n - `agentSwitchProfile(profileName: string): Promise<LoadoutState | 'denied'>`\n - Check `agentCanSwitchProfile` config\n - Apply profile criteria\n\n- [ ] Implement auto-expand on use:\n - When a skill is \"used\" (via skill tool), expand related skills\n - Respect `autoExpandRelated` config\n\n- [ ] Add tests for permission checks\n\n## Technical Notes\n\n- All agent methods should respect config permissions\n- 'denied' return should include reason in a real implementation\n- Consider rate limiting for search in future\n\n## Implements\n\n[[s-70no]] - SkillGraphServer Agent API section","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:15:57","updated_at":"2026-02-03 22:44:10","closed_at":"2026-02-03 22:44:10","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-2hn5","from_type":"issue","to":"i-28ae","to_type":"issue","type":"blocks"},{"from":"i-2hn5","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["agent-api","server","serving"],"feedback":[{"id":"a1e368bc-c5b9-461e-83ba-a32940412268","from_id":"i-2hn5","to_id":"s-70no","feedback_type":"comment","content":"Agent API methods implemented and tested:\n- `agentSearchSkills(query, limit)` - text search across all skills by name, description, problem, and tags\n- `agentExpandSkill(skillId)` - expands skill and returns it (or null if not in loadout)\n- `agentCollapseSkill(skillId)` - collapses skill from expanded state\n- `agentListLoadout()` - returns LoadoutView with available summaries, pending skills, and profile names\n- All existing agent methods (agentRequestSkills, agentRemoveSkills, agentSwitchProfile, agentSetLoadout) verified working\n\nNote: Search currently uses simple text matching. Could be enhanced with SemanticMatcher for better relevance when available.","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:44:09.794Z","updated_at":"2026-02-03T22:44:09.794Z"}]}
|
|
7
|
-
{"id":"i-28ae","uuid":"f84feff7-4f13-4ce9-a562-e860aa76d341","title":"Create MCP tool definitions for loadout management","content":"## Overview\n\nDefine the MCP tool schemas for loadout and skill management that agents will use.\n\n## Acceptance Criteria\n\n- [ ] Create `src/mcp/tools/loadout-tools.ts` with tool definitions:\n\n - `loadout_list`: List skills in current loadout\n - Input: `{ filter?: 'expanded' | 'available' | 'pending' }`\n - Returns: LoadoutView\n\n - `loadout_search`: Search for skills to add\n - Input: `{ query: string, limit?: number }`\n - Returns: SkillSummary[]\n\n - `loadout_add`: Request skills to be added\n - Input: `{ skill_ids: string[] }`\n - Returns: `{ added: string[], pending: string[] }`\n\n - `loadout_remove`: Remove skills from loadout\n - Input: `{ skill_ids: string[] }`\n - Returns: `{ removed: string[] }`\n\n - `loadout_profile`: Switch to a named profile\n - Input: `{ name: string }`\n - Returns: LoadoutView or error\n\n - `loadout_set`: Set loadout from criteria (if permitted)\n - Input: LoadoutCriteria subset\n - Returns: LoadoutView or 'denied'\n\n- [ ] Create `src/mcp/tools/skill-tools.ts` with tool definitions:\n\n - `skill_expand`: Expand a skill to see full content\n - Input: `{ skill_id: string }`\n - Returns: Full Skill object or error\n\n - `skill_collapse`: Collapse back to summary\n - Input: `{ skill_id: string }`\n - Returns: success boolean\n\n - `skill_use`: Apply/invoke an expanded skill\n - Input: `{ skill_id: string }`\n - Returns: Skill content + triggers related expansion\n\n- [ ] Create `src/mcp/tools/index.ts` exporting all tools\n\n- [ ] Follow MCP ToolDefinition schema (name, description, inputSchema)\n\n## Technical Notes\n\n- Tool descriptions should be clear for LLM consumption\n- Input schemas should use JSON Schema format\n- Keep required fields minimal\n\n## Implements\n\n[[s-70no]] - MCP Tools section","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:16:08","updated_at":"2026-02-03 22:47:23","closed_at":"2026-02-03 22:47:23","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-28ae","from_type":"issue","to":"i-3i0j","to_type":"issue","type":"blocks"},{"from":"i-28ae","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["definitions","mcp","tools"],"feedback":[{"id":"89176b15-58c0-4e7d-958a-5dec5a297e85","from_id":"i-28ae","to_id":"s-70no","feedback_type":"comment","content":"MCP tool definitions implemented:\n\n**Loadout Tools:**\n- `loadout_list` - List skills in current loadout with optional filter\n- `loadout_search` - Search for skills to add (by name, description, tags)\n- `loadout_add` - Request skills to be added to loadout\n- `loadout_remove` - Remove skills from loadout\n- `loadout_profile` - Switch to a named profile\n- `loadout_set` - Set loadout from criteria (if permitted)\n\n**Skill Tools:**\n- `skill_expand` - Expand skill to see full content\n- `skill_collapse` - Collapse back to summary\n- `skill_use` - Mark skill as being used (triggers auto-expansion)\n- `skill_get` - Get details about a specific skill\n\n**Utilities:**\n- `allTools` - Array of all tool definitions\n- `getToolDefinition(name)` - Get tool by name\n- `getToolNames()` - List all tool names\n\nAll tools follow MCP ToolDefinition schema with name, description, and JSON Schema inputSchema.","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:47:22.758Z","updated_at":"2026-02-03T22:47:22.758Z"}]}
|
|
8
|
-
{"id":"i-3i0j","uuid":"b517fb8e-881b-437c-94ce-c3653772229c","title":"Implement MCP server with tool handlers","content":"## Overview\n\nCreate the MCP server implementation that exposes loadout/skill tools and handles dynamic tool registration.\n\n## Acceptance Criteria\n\n- [ ] Create `src/mcp/server.ts` with MCP server setup:\n - Use `@modelcontextprotocol/sdk` package\n - Initialize with SkillGraphServer instance\n - Register static tools (loadout_*, skill_*)\n\n- [ ] Create `src/mcp/handlers.ts` with tool execution handlers:\n - Map each tool to corresponding SkillGraphServer method\n - Handle errors gracefully with informative messages\n - Return properly formatted results\n\n- [ ] Implement dynamic tool registration:\n - When skill is expanded, register `skill_{id}` tool\n - When skill is collapsed, unregister the tool\n - Send `notifications/tools/list_changed` on state changes\n\n- [ ] Add `getMcpTools(): ToolDefinition[]` to SkillGraphServer:\n - Return static tools + dynamic skill tools\n - Dynamic tools only for expanded skills\n\n- [ ] Create `src/mcp/index.ts` with public exports:\n - Export server factory function\n - Export tool definitions for reference\n\n- [ ] Add integration test for MCP server lifecycle\n\n## Technical Notes\n\n- MCP SDK: `@modelcontextprotocol/sdk`\n- Server should be instantiable (not singleton) for testing\n- Consider stdio and HTTP transports\n- Handle tool not found errors gracefully\n\n## Dependencies\n\n- Requires `@modelcontextprotocol/sdk` package to be added\n\n## Implements\n\n[[s-70no]] - MCP Server section and Dynamic Tools","status":"closed","priority":1,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:16:18","updated_at":"2026-02-03 22:49:25","closed_at":"2026-02-03 22:49:25","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-3i0j","from_type":"issue","to":"i-7xaz","to_type":"issue","type":"blocks"},{"from":"i-3i0j","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["handlers","mcp","server"],"feedback":[{"id":"54f50f1b-1b00-49af-b192-5f428240b4d3","from_id":"i-3i0j","to_id":"s-70no","feedback_type":"comment","content":"MCP server implementation completed:\n\n**Handlers (`src/mcp/handlers.ts`):**\n- `createToolHandlers(server)` - Creates all tool handlers bound to a SkillGraphServer\n- `executeToolCall(handlers, name, args)` - Execute a tool by name\n- Handlers for all 10 tools: loadout_list, loadout_search, loadout_add, loadout_remove, loadout_profile, loadout_set, skill_expand, skill_collapse, skill_use, skill_get\n\n**Server (`src/mcp/server.ts`):**\n- `SkillTreeMcpServer` class wrapping SkillGraphServer\n- `createMcpServer(graphServer, config)` factory function\n- `getServerInfo()` - Returns name and version for MCP initialization\n- `getTools()` - Returns all tools (static + dynamic for expanded skills)\n- `executeTool(name, args)` - Execute tool calls\n- `onToolsChanged(callback)` - Subscribe to tools/list_changed notifications\n- Dynamic tool registration when skills are expanded/collapsed\n\n**Design Notes:**\n- SDK-agnostic: Works without @modelcontextprotocol/sdk dependency\n- Handlers can be used with any MCP server implementation\n- Server provides notification hooks for dynamic tool updates","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:49:25.126Z","updated_at":"2026-02-03T22:49:25.126Z"}]}
|
|
9
|
-
{"id":"i-63n4","uuid":"69bfdf79-0f0b-4e0f-9c31-2b444b7e1a5e","title":"Create built-in loadout profiles","content":"## Overview\n\nCreate the built-in loadout profiles for common use cases: code-review, implementation, debugging, security.\n\n## Acceptance Criteria\n\n- [ ] Create `src/serving/profiles/index.ts` with profile registry\n\n- [ ] Create profile definitions:\n\n **code-review** (`src/serving/profiles/code-review.ts`):\n ```typescript\n {\n tags: [\"review\", \"quality\", \"security\"],\n taskDescription: \"review code for quality, security, and best practices\",\n maxSkills: 6,\n priorityOrder: 'relevance'\n }\n ```\n\n **implementation** (`src/serving/profiles/implementation.ts`):\n ```typescript\n {\n rootSkills: [\"tdd-workflow\", \"coding-standards\"],\n includeDependencies: true,\n tags: [\"development\", \"testing\"],\n maxSkills: 8\n }\n ```\n\n **debugging** (`src/serving/profiles/debugging.ts`):\n ```typescript\n {\n taskDescription: \"diagnose and fix bugs, analyze errors\",\n tags: [\"debugging\", \"logging\", \"error-handling\"],\n maxSkills: 5\n }\n ```\n\n **security** (`src/serving/profiles/security.ts`):\n ```typescript\n {\n tags: [\"security\"],\n tagsAll: [\"security\"],\n taskDescription: \"security review, vulnerability detection\",\n maxSkills: 8,\n minSuccessRate: 0.7\n }\n ```\n\n- [ ] Export `builtInProfiles: Record<string, LoadoutCriteria>` from profiles/index.ts\n\n- [ ] Integrate with SkillGraphServer:\n - Merge builtInProfiles with user-provided profiles\n - Built-in profiles can be overridden\n\n- [ ] Add documentation for each profile\n\n## Technical Notes\n\n- Profiles should be extensible (users can add their own)\n- Profile names should be kebab-case\n- Consider making profiles configurable via file in future\n\n## Implements\n\n[[s-70no]] - Built-in Profiles section","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:16:30","updated_at":"2026-02-03 22:45:41","closed_at":"2026-02-03 22:45:41","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-63n4","from_type":"issue","to":"i-7xaz","to_type":"issue","type":"blocks"},{"from":"i-63n4","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["config","profiles","serving"],"feedback":[{"id":"00914242-42c8-4878-95c5-4dc3d836027f","from_id":"i-63n4","to_id":"s-70no","feedback_type":"comment","content":"Built-in profiles implemented with 8 pre-configured profiles:\n- **code-review**: Quality, security, and best practices review\n- **implementation**: TDD workflow and coding standards\n- **debugging**: Error analysis and troubleshooting\n- **security**: Vulnerability detection and secure coding\n- **testing**: Test patterns and coverage\n- **refactoring**: Code improvement and design patterns\n- **documentation**: Technical writing and API docs\n- **devops**: CI/CD, Docker, and infrastructure\n\nFeatures:\n- Exported from serving module: `builtInProfiles`, `getBuiltInProfile()`, `listBuiltInProfiles()`\n- SkillGraphServer automatically includes built-in profiles\n- User profiles can override built-in profiles with the same name","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T22:45:41.314Z","updated_at":"2026-02-03T22:45:41.314Z"}]}
|
|
10
|
-
{"id":"i-7xaz","uuid":"923b69f0-d0c9-40d7-a46e-3f02e3dd7803","title":"Add serving layer integration tests","content":"## Overview\n\nCreate comprehensive integration tests that verify the serving layer works end-to-end.\n\n## Acceptance Criteria\n\n- [ ] Create `test/serving.test.ts` with integration tests:\n\n **LoadoutCompiler tests:**\n - Compile with explicit include/exclude\n - Compile with tag filters\n - Compile with semantic task description\n - Compile with relationship traversal\n - Compile with limits and priority ordering\n\n **SkillGraphServer orchestrator API tests:**\n - setLoadout replaces current state\n - addSkills merges into current\n - removeSkills removes from available and expanded\n - approvePending moves to available\n - maxExpanded enforces limit with eviction\n\n **SkillGraphServer agent API tests:**\n - agentRequestSkills respects requireApproval\n - agentExpandSkill respects maxExpanded\n - agentSearchSkills returns relevant results\n - Permission checks work (agentCanModify, etc.)\n\n **ViewRenderer tests:**\n - XML output is valid and parseable\n - Expanded skills include content\n - Available skills show summary only\n - Token estimation is reasonable\n\n **Profile tests:**\n - Built-in profiles load correctly\n - Profile switching works mid-session\n - Custom profiles override built-in\n\n **End-to-end flow tests:**\n - Orchestrator sets loadout → agent searches → agent adds → agent expands\n - Approval flow: request → pending → approve → available\n - Project detection → loadout compilation\n\n- [ ] Use mock SkillBank with test skills\n\n- [ ] Verify event emissions\n\n## Technical Notes\n\n- Use existing test harness pattern\n- Create test fixture skills with known tags/relationships\n- Test both happy path and error cases\n\n## Implements\n\n[[s-70no]] - Success Criteria validation","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:16:41","updated_at":"2026-02-03 23:21:52","closed_at":"2026-02-03 23:21:52","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-7xaz","from_type":"issue","to":"i-3r3l","to_type":"issue","type":"blocks"},{"from":"i-7xaz","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["integration","serving","testing"],"feedback":[{"id":"f87eaecd-0ef8-4f42-bc25-a583181e473b","from_id":"i-7xaz","to_id":"s-70no","feedback_type":"comment","content":"Integration tests already implemented throughout development (89 tests in test/serving.test.ts):\n\n**LoadoutCompiler tests:** ✅\n- compile with empty criteria, tag filters, tagsAll, minSuccessRate, author\n- relationship traversal with dependencies and depth limits\n- limits (maxSkills, maxTokens, priorityOrder)\n- mergeLoadouts (replace, merge, subtract modes)\n\n**SkillGraphServer orchestrator API tests:** ✅\n- setLoadout, setLoadoutForTask, setLoadoutFromProfile\n- addSkills, removeSkills\n- approvePending, denyPending\n- maxExpanded with LRU eviction\n- auto-expand on use\n\n**SkillGraphServer agent API tests:** ✅\n- agentRequestSkills with requireApproval\n- agentExpandSkill, agentCollapseSkill\n- agentSearchSkills by name, tags, with limit\n- agentListLoadout, agentSetLoadout, agentSwitchProfile\n- Permission checks (agentCanModify, agentCanSetLoadout)\n\n**ViewRenderer tests:** ✅\n- XML output with available/expanded states\n- Markdown output with tables\n- SKILL.md format with YAML frontmatter\n- Token estimation\n\n**Profile tests:** ✅\n- Built-in profiles contain expected profiles\n- Profile switching works\n- User profiles override built-in\n\n**MCP tests:** ✅\n- Tool definitions and schemas\n- Handler execution\n- MCP server with dynamic tools\n- tools/list_changed notifications","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T23:21:52.059Z","updated_at":"2026-02-03T23:21:52.059Z"}]}
|
|
11
|
-
{"id":"i-3r3l","uuid":"3b0f1f04-f9db-4d73-ade8-f95e936fc579","title":"Export serving layer from main package","content":"## Overview\n\nWire up the serving layer exports and update package documentation.\n\n## Acceptance Criteria\n\n- [ ] Update `src/index.ts` to export serving layer:\n ```typescript\n export * from './serving/index.js';\n export * from './mcp/index.js';\n ```\n\n- [ ] Update `src/serving/index.ts` with all public exports:\n - Types: LoadoutCriteria, LoadoutState, GraphServerConfig, etc.\n - Classes: SkillGraphServer, LoadoutCompiler, ViewRenderer, ProjectDetector\n - Profiles: builtInProfiles\n\n- [ ] Update `src/mcp/index.ts` with public exports:\n - Server factory\n - Tool definitions\n - Types\n\n- [ ] Add `@modelcontextprotocol/sdk` to package.json dependencies\n\n- [ ] Update CLAUDE.md with serving layer documentation:\n - New file structure\n - Key classes and their purposes\n - Example usage\n\n- [ ] Verify TypeScript compilation succeeds\n\n- [ ] Run full test suite\n\n## Technical Notes\n\n- Ensure no circular dependencies\n- Keep exports organized and documented\n- Consider separate entry point for MCP-only usage\n\n## Implements\n\n[[s-70no]] - File Structure section","status":"closed","priority":2,"assignee":null,"archived":0,"archived_at":null,"created_at":"2026-02-03 21:16:50","updated_at":"2026-02-03 23:22:12","closed_at":"2026-02-03 23:22:12","parent_id":null,"parent_uuid":null,"relationships":[{"from":"i-3r3l","from_type":"issue","to":"s-70no","to_type":"spec","type":"implements"}],"tags":["documentation","exports","packaging"],"feedback":[{"id":"eafbcc91-5bb1-4947-b6b9-d982c67ed3c8","from_id":"i-3r3l","to_id":"s-70no","feedback_type":"comment","content":"Exports completed throughout implementation:\n\n**src/index.ts exports:** ✅\n- All serving layer types and classes\n- All MCP tools, handlers, and server\n\n**src/serving/index.ts exports:** ✅\n- Types: LoadoutCriteria, LoadoutState, GraphServerConfig, SkillSummary, LoadoutView, ProjectContext, etc.\n- Classes: LoadoutCompiler, ViewRenderer, ProjectDetector, SkillGraphServer\n- Profiles: builtInProfiles, getBuiltInProfile, listBuiltInProfiles, and individual profiles\n\n**src/mcp/index.ts exports:** ✅\n- Tool definitions: all 10 tools\n- Handlers: createToolHandlers, executeToolCall\n- Server: SkillTreeMcpServer, createMcpServer\n\n**Design decision:** @modelcontextprotocol/sdk kept as optional\n- Server implementation is SDK-agnostic\n- Handlers can be used with any MCP server implementation\n- No required dependencies added\n\n**Verification:** ✅\n- All 89 tests pass\n- TypeScript compiles (serving layer only - pre-existing errors in config/loader.ts and services/sync.ts unrelated to this work)","agent":"alexngai","anchor":null,"dismissed":false,"created_at":"2026-02-03T23:22:12.154Z","updated_at":"2026-02-03T23:22:12.154Z"}]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"s-70no","uuid":"2070edd2-fb8a-42a2-af93-b8951ab8fa16","title":"Skill Graph Serving Layer","file_path":"specs/s-70no_skill_graph_serving_layer.md","content":"# Skill Graph Serving Layer\n\n## Overview\n\nAdd a serving layer to skill-tree that enables **dynamic skill loadouts** with **mid-session adjustability**. Skills can be selected based on task, project context, semantic matching, or explicit configuration. Both external orchestrators and agents can control the loadout.\n\n## Problem\n\nCurrently, serving skills to an agent requires either:\n1. Loading the entire skill library upfront (context explosion)\n2. Manually configuring which skills to include (inflexible)\n\nNeither approach supports dynamic, context-aware skill selection or mid-session adjustments.\n\n## Solution\n\nImplement a **loadout-based serving model** with two layers:\n\n1. **Loadout Layer**: Which skills are available to the agent\n2. **Expansion Layer**: Of available skills, which are showing full content vs summaries\n\nKey capabilities:\n- **Flexible selection**: Task-based, project-based, profile-based, semantic, dependency-graph\n- **Mid-session adjustable**: Loadouts can change during a session\n- **Dual control**: Both orchestrator (external) and agent (internal) can modify loadouts\n- **Progressive disclosure**: Skills start collapsed, expand on demand\n- **Context-aware**: Auto-suggest skills based on current task/errors\n\n## Reference: OpenSkills Patterns\n\nThis design adopts compatible patterns from [OpenSkills](https://github.com/numman-ali/openskills):\n\n- **SKILL.md format**: Skills stored as markdown with YAML frontmatter\n- **AGENTS.md XML format**: `<available_skills>` block for system prompt rendering\n- **Progressive disclosure**: Summaries visible, full content on demand\n- **CLI-style reads**: Explicit skill loading (we add MCP on top)\n\nKey difference: OpenSkills is stateless (no expansion tracking). We add stateful loadout management.\n\n## Core Types\n\n### LoadoutCriteria\n\nFlexible criteria for selecting skills into a loadout:\n\n```typescript\ninterface LoadoutCriteria {\n // === Explicit Selection ===\n include?: string[]; // Always include these skill IDs\n exclude?: string[]; // Never include these\n \n // === Filter-Based ===\n tags?: string[]; // Match any of these tags\n tagsAll?: string[]; // Must have ALL these tags\n status?: SkillStatus[]; // Filter by status (default: ['active'])\n minSuccessRate?: number; // Quality threshold (0-1)\n author?: string; // Filter by author\n \n // === Semantic/Context-Based ===\n taskDescription?: string; // Semantic match to task\n problemContext?: string; // Current problem being solved\n errorContext?: string; // Error message to match\n keywords?: string[]; // Keyword triggers\n \n // === Project-Based ===\n projectType?: string; // \"python\", \"typescript\", \"rust\", etc.\n filePatterns?: string[]; // Glob patterns of files in scope\n frameworks?: string[]; // Detected frameworks\n \n // === Relationship-Based ===\n rootSkills?: string[]; // Start here, traverse relationships\n includeDependencies?: boolean; // Follow 'depends_on' edges\n includeRelated?: boolean; // Include 'related' skills\n depth?: number; // Max traversal depth (default: 2)\n \n // === Limits ===\n maxSkills?: number; // Cap on loadout size\n maxTokens?: number; // Context budget (estimated)\n priorityOrder?: 'relevance' | 'usage' | 'successRate' | 'recent';\n \n // === Merge Behavior ===\n mode?: 'replace' | 'merge' | 'subtract'; // How to apply to current state\n}\n```\n\n### LoadoutState\n\nCurrent state of what's loaded for an agent:\n\n```typescript\ntype SkillState = 'available' | 'expanded' | 'pending';\n\ninterface LoadoutState {\n /** Skills available to the agent (summaries visible) */\n available: Map<string, Skill>;\n \n /** Skills with full content expanded */\n expanded: Set<string>;\n \n /** Skills requested by agent, pending orchestrator approval */\n pending: Set<string>;\n \n /** How this loadout was created */\n source: LoadoutSource;\n \n /** When the loadout was last modified */\n updatedAt: Date;\n}\n\ninterface LoadoutSource {\n type: 'criteria' | 'profile' | 'task' | 'project' | 'manual';\n criteria?: LoadoutCriteria;\n profileName?: string;\n taskDescription?: string;\n projectPath?: string;\n}\n```\n\n### Skill Extension\n\nExtend existing `Skill` interface in `src/types.ts`:\n\n```typescript\ninterface Skill {\n // ... existing fields\n \n serving?: {\n /** Short summary for collapsed view (defaults to description) */\n summary?: string;\n \n /** Estimated token count for context budgeting */\n tokenEstimate?: number;\n \n /** Auto-expand triggers */\n autoExpand?: ExpandTrigger[];\n \n /** Group ID for batch expansion */\n expansionGroup?: string;\n };\n}\n\ninterface ExpandTrigger {\n on: 'use' | 'mention' | 'error-match' | 'file-match' | 'explicit';\n conditions?: {\n keywords?: string[];\n errorPatterns?: string[];\n filePatterns?: string[];\n };\n}\n```\n\n## Core Components\n\n### 1. LoadoutCompiler (`src/serving/loadout-compiler.ts`)\n\nCompiles skills from criteria using multiple selection strategies:\n\n```typescript\ninterface LoadoutCompilerConfig {\n defaultMaxSkills?: number; // Default: 15\n defaultStatus?: SkillStatus[]; // Default: ['active']\n semanticThreshold?: number; // Default: 0.6\n}\n\nclass LoadoutCompiler {\n constructor(\n private skillBank: SkillBank,\n private config?: LoadoutCompilerConfig\n ) {}\n\n /**\n * Compile from flexible criteria (main entry point)\n */\n async compile(criteria: LoadoutCriteria): Promise<Skill[]> {\n let candidates = await this.skillBank.listSkills({ \n status: criteria.status ?? ['active'] \n });\n \n // Apply filters in priority order\n candidates = this.applyExplicitFilters(candidates, criteria);\n candidates = this.applyTagFilters(candidates, criteria);\n candidates = this.applyQualityFilters(candidates, criteria);\n candidates = await this.applySemanticFilters(candidates, criteria);\n candidates = await this.applyRelationshipFilters(candidates, criteria);\n candidates = this.applyLimits(candidates, criteria);\n \n return candidates;\n }\n\n /**\n * Compile for a specific task (semantic matching)\n */\n async compileForTask(taskDescription: string): Promise<Skill[]>;\n\n /**\n * Compile by analyzing a project directory\n */\n async compileForProject(projectPath: string): Promise<Skill[]>;\n\n /**\n * Compile from a named profile\n */\n async compileFromProfile(profileName: string): Promise<Skill[]>;\n\n /**\n * Detect project context from files\n */\n async detectProjectContext(projectPath: string): Promise<ProjectContext>;\n}\n\ninterface ProjectContext {\n type: string; // \"typescript\", \"python\", etc.\n frameworks: string[]; // [\"react\", \"express\", ...]\n patterns: string[]; // File patterns found\n packageManager?: string; // \"npm\", \"pip\", etc.\n}\n```\n\n### 2. SkillGraphServer (`src/serving/graph-server.ts`)\n\nMain orchestrator with dual control (orchestrator + agent):\n\n```typescript\ninterface GraphServerConfig {\n /** SkillBank instance */\n skillBank: SkillBank;\n \n /** Initial loadout criteria (optional) */\n initialLoadout?: LoadoutCriteria;\n \n /** Whether agent can modify loadout */\n agentCanModify?: boolean; // Default: true\n \n /** Whether agent additions need approval */\n requireApproval?: boolean; // Default: false\n \n /** Auto-expand skills on first use */\n autoExpandOnUse?: boolean; // Default: true\n \n /** Max skills in expanded state (context budget) */\n maxExpanded?: number; // Default: 5\n \n /** Eviction strategy when maxExpanded reached */\n evictionStrategy?: 'lru' | 'priority' | 'manual';\n \n /** Available loadout profiles */\n profiles?: Record<string, LoadoutCriteria>;\n \n /** Persist state across sessions */\n persistState?: boolean; // Default: false\n}\n\nclass SkillGraphServer {\n private state: LoadoutState;\n private compiler: LoadoutCompiler;\n \n constructor(config: GraphServerConfig);\n\n // =========================================================================\n // External API (for Orchestrator)\n // =========================================================================\n\n /** Set loadout from criteria (replaces current) */\n async setLoadout(criteria: LoadoutCriteria): Promise<LoadoutState>;\n \n /** Set loadout for a specific task */\n async setLoadoutForTask(taskDescription: string): Promise<LoadoutState>;\n \n /** Set loadout based on project analysis */\n async setLoadoutForProject(projectPath: string): Promise<LoadoutState>;\n \n /** Switch to a named profile */\n async setLoadoutFromProfile(profileName: string): Promise<LoadoutState>;\n \n /** Merge additional skills into current loadout */\n async addSkills(skillIds: string[]): Promise<void>;\n \n /** Remove skills from loadout */\n removeSkills(skillIds: string[]): void;\n \n /** Approve pending skill requests from agent */\n approvePending(skillIds: string[]): void;\n \n /** Deny pending skill requests */\n denyPending(skillIds: string[]): void;\n \n /** Get current state */\n getState(): LoadoutState;\n\n // =========================================================================\n // Agent API (exposed via MCP tools)\n // =========================================================================\n\n /** Agent requests to change loadout */\n async agentSetLoadout(criteria: LoadoutCriteria): Promise<LoadoutState | 'denied'>;\n \n /** Agent requests additional skills */\n async agentRequestSkills(skillIds: string[]): Promise<{ added: string[]; pending: string[] }>;\n \n /** Agent searches for skills by query */\n async agentSearchSkills(query: string, limit?: number): Promise<SkillSummary[]>;\n \n /** Agent expands a skill to see full content */\n async agentExpandSkill(skillId: string): Promise<Skill | null>;\n \n /** Agent collapses a skill back to summary */\n agentCollapseSkill(skillId: string): void;\n \n /** Agent lists current loadout */\n agentListLoadout(): LoadoutView;\n \n /** Agent switches to a profile */\n async agentSwitchProfile(profileName: string): Promise<LoadoutState | 'denied'>;\n\n // =========================================================================\n // Rendering\n // =========================================================================\n\n /** Render current state for system prompt (OpenSkills-compatible XML) */\n renderSystemPrompt(): string;\n \n /** Get MCP tool definitions for current loadout */\n getMcpTools(): ToolDefinition[];\n \n /** Render a single skill's full content */\n renderSkillContent(skillId: string): string;\n\n // =========================================================================\n // Events\n // =========================================================================\n\n on(event: 'loadout:changed' | 'skill:expanded' | 'skill:collapsed' | 'pending:added', \n handler: (data: any) => void): void;\n}\n\ninterface LoadoutView {\n available: SkillSummary[];\n pending: string[];\n profiles: string[];\n}\n\ninterface SkillSummary {\n id: string;\n name: string;\n description: string;\n expanded: boolean;\n tags: string[];\n}\n```\n\n### 3. ViewRenderer (`src/serving/view-renderer.ts`)\n\nRenders loadout state for different consumers:\n\n```typescript\nclass ViewRenderer {\n /**\n * Render as OpenSkills-compatible XML for system prompt\n */\n renderXml(state: LoadoutState): string;\n \n /**\n * Render as Markdown (for debugging/display)\n */\n renderMarkdown(state: LoadoutState): string;\n \n /**\n * Render skill in SKILL.md format\n */\n renderSkillMd(skill: Skill): string;\n \n /**\n * Estimate token count for current state\n */\n estimateTokens(state: LoadoutState): number;\n}\n```\n\nExample XML output (OpenSkills-compatible):\n\n```xml\n<skills_system>\n<usage>\nSkills in your current loadout. Use skill_expand to see full content.\nUse loadout_search to find additional skills. Use loadout_add to request them.\n</usage>\n\n<available_skills>\n<skill id=\"tdd-workflow\" state=\"expanded\">\n <name>TDD Workflow</name>\n <description>Test-driven development patterns</description>\n <content>\n ## Problem\n Writing tests after code leads to incomplete coverage...\n \n ## Solution\n 1. Write failing test first\n 2. Implement minimal code to pass\n ...\n </content>\n</skill>\n\n<skill id=\"security-review\" state=\"available\">\n <name>Security Review</name>\n <description>Security vulnerability detection and remediation</description>\n</skill>\n</available_skills>\n\n<pending_requests>\n <skill id=\"oauth-patterns\">Awaiting approval</skill>\n</pending_requests>\n</skills_system>\n```\n\n### 4. MCP Server (`src/mcp/`)\n\nMCP server with loadout management tools:\n\n#### Loadout Management Tools\n\n| Tool | Description |\n|------|-------------|\n| `loadout_list` | List available skills with expansion state |\n| `loadout_search` | Search for skills to add (semantic) |\n| `loadout_add` | Request skills to be added |\n| `loadout_remove` | Remove skills from loadout |\n| `loadout_profile` | Switch to a named profile |\n| `loadout_set` | Set loadout from criteria (if permitted) |\n\n#### Skill Tools\n\n| Tool | Description |\n|------|-------------|\n| `skill_expand` | Expand a skill to see full content |\n| `skill_collapse` | Collapse back to summary |\n| `skill_use` | Apply/invoke an expanded skill |\n\n#### Dynamic Tools\n\nWhen a skill is expanded, it becomes a callable tool: `skill_{id}`\n\nUsing a skill tool:\n1. Triggers `autoExpandOnUse` for related skills\n2. Records usage for metrics\n3. Returns skill guidance for the agent to follow\n\n#### Tool Definitions\n\n```typescript\n// src/mcp/tools/loadout-tools.ts\n\nconst loadoutListTool: ToolDefinition = {\n name: 'loadout_list',\n description: 'List skills in your current loadout with their expansion state',\n inputSchema: {\n type: 'object',\n properties: {\n filter: { \n type: 'string', \n description: 'Optional: filter by \"expanded\", \"available\", or \"pending\"' \n }\n }\n }\n};\n\nconst loadoutSearchTool: ToolDefinition = {\n name: 'loadout_search',\n description: 'Search for skills that could help with your current task',\n inputSchema: {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'What you need help with' },\n limit: { type: 'number', description: 'Max results (default: 5)' }\n },\n required: ['query']\n }\n};\n\nconst loadoutAddTool: ToolDefinition = {\n name: 'loadout_add',\n description: 'Request skills to be added to your loadout',\n inputSchema: {\n type: 'object',\n properties: {\n skill_ids: { \n type: 'array', \n items: { type: 'string' },\n description: 'Skill IDs to add'\n }\n },\n required: ['skill_ids']\n }\n};\n\nconst skillExpandTool: ToolDefinition = {\n name: 'skill_expand',\n description: 'Expand a skill to see its full content and guidance',\n inputSchema: {\n type: 'object',\n properties: {\n skill_id: { type: 'string', description: 'ID of skill to expand' }\n },\n required: ['skill_id']\n }\n};\n```\n\n## File Structure\n\n```\nsrc/\n├── serving/ # NEW\n│ ├── index.ts # Public exports\n│ ├── types.ts # LoadoutCriteria, LoadoutState, etc.\n│ ├── graph-server.ts # Main orchestrator\n│ ├── loadout-compiler.ts # Selection logic\n│ ├── view-renderer.ts # XML/Markdown rendering\n│ ├── project-detector.ts # Auto-detect project context\n│ └── profiles/ # Built-in loadout profiles\n│ ├── index.ts\n│ ├── code-review.ts\n│ ├── implementation.ts\n│ ├── debugging.ts\n│ └── security.ts\n│\n├── mcp/ # NEW\n│ ├── index.ts # Public exports\n│ ├── server.ts # MCP server implementation\n│ ├── handlers.ts # Tool execution handlers\n│ └── tools/\n│ ├── loadout-tools.ts # Loadout management tools\n│ └── skill-tools.ts # Skill expand/collapse/use\n│\n├── types.ts # EXTEND with Skill.serving\n└── matching/ # EXISTING (used by compiler)\n```\n\n## Example Flows\n\n### Flow 1: Orchestrator Pre-configures Agent\n\n```typescript\n// Orchestrator spawning an agent for PR review\nconst server = new SkillGraphServer({\n skillBank,\n agentCanModify: true,\n requireApproval: false,\n});\n\n// Set loadout based on task\nawait server.setLoadoutForTask(\"Review PR #123 for security issues and code quality\");\n\n// Get what agent needs\nconst systemPrompt = server.renderSystemPrompt();\nconst tools = server.getMcpTools();\n\n// Spawn agent\nspawnAgent({ systemPrompt, tools });\n```\n\n### Flow 2: Agent Discovers and Adds Skills Mid-Session\n\n```\nUser: Review this code for SQL injection vulnerabilities.\n\nAgent: I should check if there are relevant security skills.\n\n→ loadout_search({ query: \"SQL injection prevention\" })\n← [{ id: \"sql-security\", name: \"SQL Security Patterns\", description: \"...\" }]\n\nAgent: Found one. Let me add it to my loadout.\n\n→ loadout_add({ skill_ids: [\"sql-security\"] })\n← { added: [\"sql-security\"], pending: [] }\n\nAgent: Now let me see the full guidance.\n\n→ skill_expand({ skill_id: \"sql-security\" })\n← { id: \"sql-security\", content: \"## Problem\\nSQL injection occurs when...\" }\n\nAgent: [Applies the skill's guidance to review the code]\n```\n\n### Flow 3: Approval Flow (Controlled Environment)\n\n```typescript\n// Orchestrator requires approval for sensitive skills\nconst server = new SkillGraphServer({\n skillBank,\n agentCanModify: true,\n requireApproval: true, // Agent must request, human approves\n});\n\n// Agent requests a skill...\n// Tool: loadout_add({ skill_ids: [\"production-deploy\"] })\n// Response: { added: [], pending: [\"production-deploy\"] }\n\n// Agent sees: \"Skill requested, awaiting approval.\"\n\n// Human/orchestrator approves\nserver.approvePending([\"production-deploy\"]);\n\n// Agent can now expand and use it\n```\n\n### Flow 4: Profile Switching\n\n```typescript\n// Define profiles\nconst profiles = {\n \"code-review\": {\n tags: [\"review\", \"quality\", \"security\"],\n maxSkills: 5,\n },\n \"implementation\": {\n rootSkills: [\"tdd-workflow\", \"coding-standards\"],\n includeDependencies: true,\n maxSkills: 8,\n },\n \"debugging\": {\n taskDescription: \"diagnose and fix issues\",\n tags: [\"debugging\", \"logging\"],\n },\n};\n\nconst server = new SkillGraphServer({ skillBank, profiles });\n\n// Agent can switch profiles mid-session\n// Tool: loadout_profile({ name: \"debugging\" })\n// → Loadout changes to debugging-focused skills\n```\n\n### Flow 5: Project-Based Auto-Configuration\n\n```typescript\n// Analyze project and configure loadout automatically\nawait server.setLoadoutForProject(\"/path/to/project\");\n\n// Detects:\n// - package.json → Node.js\n// - tsconfig.json → TypeScript \n// - prisma/ → Prisma ORM\n// - .github/workflows/ → CI/CD\n\n// Selects relevant skills:\n// → typescript-patterns, nodejs-backend, prisma-patterns, github-actions\n```\n\n## Configuration Options\n\n### GraphServerConfig\n\n```typescript\ninterface GraphServerConfig {\n // Core\n skillBank: SkillBank;\n initialLoadout?: LoadoutCriteria;\n \n // Agent permissions\n agentCanModify?: boolean; // Default: true\n agentCanSetLoadout?: boolean; // Default: false (can search/add, not replace)\n agentCanSwitchProfile?: boolean; // Default: true\n requireApproval?: boolean; // Default: false\n \n // Expansion behavior\n autoExpandOnUse?: boolean; // Default: true\n autoExpandRelated?: boolean; // Default: true\n maxExpanded?: number; // Default: 5\n evictionStrategy?: 'lru' | 'priority' | 'manual';\n \n // Profiles\n profiles?: Record<string, LoadoutCriteria>;\n defaultProfile?: string;\n \n // Persistence\n persistState?: boolean; // Default: false\n stateStorage?: StateStorage; // Custom persistence adapter\n \n // Rendering\n outputFormat?: 'xml' | 'markdown'; // Default: 'xml'\n includeTokenEstimates?: boolean; // Default: false\n}\n```\n\n## Built-in Profiles\n\n### code-review\n```typescript\n{\n tags: [\"review\", \"quality\", \"security\"],\n taskDescription: \"review code for quality, security, and best practices\",\n maxSkills: 6,\n priorityOrder: 'relevance'\n}\n```\n\n### implementation \n```typescript\n{\n rootSkills: [\"tdd-workflow\", \"coding-standards\"],\n includeDependencies: true,\n tags: [\"development\", \"testing\"],\n maxSkills: 8\n}\n```\n\n### debugging\n```typescript\n{\n taskDescription: \"diagnose and fix bugs, analyze errors\",\n tags: [\"debugging\", \"logging\", \"error-handling\"],\n maxSkills: 5\n}\n```\n\n### security\n```typescript\n{\n tags: [\"security\"],\n tagsAll: [\"security\"],\n taskDescription: \"security review, vulnerability detection\",\n maxSkills: 8,\n minSuccessRate: 0.7\n}\n```\n\n## Success Criteria\n\n- [ ] LoadoutCompiler supports all selection strategies (explicit, tag, semantic, project, relationship)\n- [ ] SkillGraphServer provides both orchestrator API and agent API\n- [ ] Agent can search, add, expand, collapse skills mid-session\n- [ ] Approval flow works when requireApproval=true\n- [ ] Profile switching works mid-session\n- [ ] MCP tools update dynamically (tools/list_changed)\n- [ ] System prompt renders OpenSkills-compatible XML\n- [ ] maxExpanded limit enforced with configurable eviction\n- [ ] Project detection infers relevant skills from codebase\n- [ ] Token estimates available for context budgeting\n\n## Open Questions (Resolved)\n\n1. ~~State persistence~~ → Configurable via `persistState`, default false\n2. ~~Auto-collapse~~ → Use `evictionStrategy` when `maxExpanded` reached\n3. ~~Context budget~~ → `maxExpanded` + `maxTokens` in criteria + token estimates\n\n## Future Enhancements\n\n- **Usage-based learning**: Track which skills are used together, suggest bundles\n- **Adaptive profiles**: Profiles that evolve based on usage patterns\n- **Cross-agent sharing**: Share loadout state between related agents\n- **Skill recommendations**: Proactively suggest skills based on errors/context\n\n## Related\n\n- Existing: `SkillBank`, `SemanticMatcher`, `DependencyGraph`\n- Reference: [OpenSkills](https://github.com/numman-ali/openskills) patterns\n- Integration: `@modelcontextprotocol/sdk` for MCP server\n","priority":1,"archived":0,"archived_at":null,"created_at":"2026-01-29 23:37:43","updated_at":"2026-02-03 20:50:05","parent_id":null,"parent_uuid":null,"relationships":[],"tags":["agent-control","architecture","loadout","mcp","serving"]}
|