macro-agent 0.2.4 → 0.2.6
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/LICENSE +1 -1
- package/README.md +30 -56
- package/dist/acp/websocket-server.d.ts +6 -0
- package/dist/acp/websocket-server.d.ts.map +1 -1
- package/dist/acp/websocket-server.js +13 -0
- package/dist/acp/websocket-server.js.map +1 -1
- package/dist/acp/websocket-stream.d.ts +30 -0
- package/dist/acp/websocket-stream.d.ts.map +1 -0
- package/dist/acp/websocket-stream.js +118 -0
- package/dist/acp/websocket-stream.js.map +1 -0
- package/dist/activity/deduplication.d.ts +85 -0
- package/dist/activity/deduplication.d.ts.map +1 -0
- package/dist/activity/deduplication.js +149 -0
- package/dist/activity/deduplication.js.map +1 -0
- package/dist/activity/index.d.ts +16 -0
- package/dist/activity/index.d.ts.map +1 -0
- package/dist/activity/index.js +17 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/activity/relevance.d.ts +81 -0
- package/dist/activity/relevance.d.ts.map +1 -0
- package/dist/activity/relevance.js +161 -0
- package/dist/activity/relevance.js.map +1 -0
- package/dist/activity/types.d.ts +169 -0
- package/dist/activity/types.d.ts.map +1 -0
- package/dist/activity/types.js +33 -0
- package/dist/activity/types.js.map +1 -0
- package/dist/activity/watcher.d.ts +64 -0
- package/dist/activity/watcher.d.ts.map +1 -0
- package/dist/activity/watcher.js +212 -0
- package/dist/activity/watcher.js.map +1 -0
- package/dist/adapters/federation.d.ts +8 -1
- package/dist/adapters/federation.d.ts.map +1 -1
- package/dist/adapters/federation.js +33 -2
- package/dist/adapters/federation.js.map +1 -1
- package/dist/agent/agent-manager-v2.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.js +189 -67
- package/dist/agent/agent-manager-v2.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +17 -0
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +21 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agent/wake.d.ts +85 -0
- package/dist/agent/wake.d.ts.map +1 -0
- package/dist/agent/wake.js +278 -0
- package/dist/agent/wake.js.map +1 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +41 -25
- package/dist/api/server.js.map +1 -1
- package/dist/api/types.d.ts +6 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/auth/server-auth.d.ts +43 -0
- package/dist/auth/server-auth.d.ts.map +1 -0
- package/dist/auth/server-auth.js +80 -0
- package/dist/auth/server-auth.js.map +1 -0
- package/dist/auth/token.d.ts +4 -0
- package/dist/auth/token.d.ts.map +1 -1
- package/dist/auth/token.js +7 -6
- package/dist/auth/token.js.map +1 -1
- package/dist/boot-v2.d.ts +6 -3
- package/dist/boot-v2.d.ts.map +1 -1
- package/dist/boot-v2.js +44 -25
- package/dist/boot-v2.js.map +1 -1
- package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
- package/dist/cognitive/macro-agent-backend.js +37 -8
- package/dist/cognitive/macro-agent-backend.js.map +1 -1
- package/dist/cognitive/team-lifecycle.d.ts +82 -0
- package/dist/cognitive/team-lifecycle.d.ts.map +1 -0
- package/dist/cognitive/team-lifecycle.js +121 -0
- package/dist/cognitive/team-lifecycle.js.map +1 -0
- package/dist/cognitive/trajectory-extractor.d.ts +25 -0
- package/dist/cognitive/trajectory-extractor.d.ts.map +1 -0
- package/dist/cognitive/trajectory-extractor.js +134 -0
- package/dist/cognitive/trajectory-extractor.js.map +1 -0
- package/dist/cognitive/types.d.ts +24 -0
- package/dist/cognitive/types.d.ts.map +1 -1
- package/dist/control/control-server.d.ts.map +1 -1
- package/dist/control/control-server.js +10 -0
- package/dist/control/control-server.js.map +1 -1
- package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -1
- package/dist/dispatch/mail-inbound-consumer.js +43 -10
- package/dist/dispatch/mail-inbound-consumer.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/handlers/generic.d.ts +27 -0
- package/dist/lifecycle/handlers/generic.d.ts.map +1 -0
- package/dist/lifecycle/handlers/generic.js +56 -0
- package/dist/lifecycle/handlers/generic.js.map +1 -0
- package/dist/lifecycle/handlers/index.d.ts +51 -0
- package/dist/lifecycle/handlers/index.d.ts.map +1 -0
- package/dist/lifecycle/handlers/index.js +110 -0
- package/dist/lifecycle/handlers/index.js.map +1 -0
- package/dist/lifecycle/handlers/integrator.d.ts +81 -0
- package/dist/lifecycle/handlers/integrator.d.ts.map +1 -0
- package/dist/lifecycle/handlers/integrator.js +451 -0
- package/dist/lifecycle/handlers/integrator.js.map +1 -0
- package/dist/lifecycle/handlers/monitor.d.ts +29 -0
- package/dist/lifecycle/handlers/monitor.d.ts.map +1 -0
- package/dist/lifecycle/handlers/monitor.js +79 -0
- package/dist/lifecycle/handlers/monitor.js.map +1 -0
- package/dist/lifecycle/handlers/worker.d.ts +56 -0
- package/dist/lifecycle/handlers/worker.d.ts.map +1 -0
- package/dist/lifecycle/handlers/worker.js +381 -0
- package/dist/lifecycle/handlers/worker.js.map +1 -0
- package/dist/lifecycle/handlers-v2.d.ts +0 -2
- package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
- package/dist/lifecycle/handlers-v2.js +4 -55
- package/dist/lifecycle/handlers-v2.js.map +1 -1
- package/dist/mail/conversation-map.d.ts +33 -0
- package/dist/mail/conversation-map.d.ts.map +1 -0
- package/dist/mail/conversation-map.js +61 -0
- package/dist/mail/conversation-map.js.map +1 -0
- package/dist/mail/index.d.ts +11 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +11 -0
- package/dist/mail/index.js.map +1 -0
- package/dist/mail/mail-service.d.ts +85 -0
- package/dist/mail/mail-service.d.ts.map +1 -0
- package/dist/mail/mail-service.js +121 -0
- package/dist/mail/mail-service.js.map +1 -0
- package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
- package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
- package/dist/mail/stores/eventstore-conversation-store.js +131 -0
- package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
- package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
- package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
- package/dist/mail/stores/eventstore-participant-store.js +145 -0
- package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
- package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
- package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
- package/dist/mail/stores/eventstore-thread-store.js +118 -0
- package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
- package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
- package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
- package/dist/mail/stores/eventstore-turn-store.js +153 -0
- package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
- package/dist/mail/stores/index.d.ts +12 -0
- package/dist/mail/stores/index.d.ts.map +1 -0
- package/dist/mail/stores/index.js +12 -0
- package/dist/mail/stores/index.js.map +1 -0
- package/dist/mail/stores/types.d.ts +146 -0
- package/dist/mail/stores/types.d.ts.map +1 -0
- package/dist/mail/stores/types.js +13 -0
- package/dist/mail/stores/types.js.map +1 -0
- package/dist/mail/turn-recorder.d.ts +30 -0
- package/dist/mail/turn-recorder.d.ts.map +1 -0
- package/dist/mail/turn-recorder.js +98 -0
- package/dist/mail/turn-recorder.js.map +1 -0
- package/dist/map/adapter/acp-over-map.d.ts +115 -0
- package/dist/map/adapter/acp-over-map.d.ts.map +1 -0
- package/dist/map/adapter/acp-over-map.js +1024 -0
- package/dist/map/adapter/acp-over-map.js.map +1 -0
- package/dist/map/adapter/connection-manager.d.ts +150 -0
- package/dist/map/adapter/connection-manager.d.ts.map +1 -0
- package/dist/map/adapter/connection-manager.js +207 -0
- package/dist/map/adapter/connection-manager.js.map +1 -0
- package/dist/map/adapter/event-log.d.ts +87 -0
- package/dist/map/adapter/event-log.d.ts.map +1 -0
- package/dist/map/adapter/event-log.js +122 -0
- package/dist/map/adapter/event-log.js.map +1 -0
- package/dist/map/adapter/event-translator.d.ts +85 -0
- package/dist/map/adapter/event-translator.d.ts.map +1 -0
- package/dist/map/adapter/event-translator.js +295 -0
- package/dist/map/adapter/event-translator.js.map +1 -0
- package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
- package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
- package/dist/map/adapter/extensions/agent-detection.js +91 -0
- package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
- package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
- package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
- package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
- package/dist/map/adapter/extensions/cognitive.d.ts +27 -0
- package/dist/map/adapter/extensions/cognitive.d.ts.map +1 -0
- package/dist/map/adapter/extensions/cognitive.js +158 -0
- package/dist/map/adapter/extensions/cognitive.js.map +1 -0
- package/dist/map/adapter/extensions/index.d.ts +95 -0
- package/dist/map/adapter/extensions/index.d.ts.map +1 -0
- package/dist/map/adapter/extensions/index.js +228 -0
- package/dist/map/adapter/extensions/index.js.map +1 -0
- package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
- package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
- package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
- package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
- package/dist/map/adapter/extensions/resume.d.ts +47 -0
- package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
- package/dist/map/adapter/extensions/resume.js +59 -0
- package/dist/map/adapter/extensions/resume.js.map +1 -0
- package/dist/map/adapter/extensions/streams.d.ts +95 -0
- package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
- package/dist/map/adapter/extensions/streams.js +515 -0
- package/dist/map/adapter/extensions/streams.js.map +1 -0
- package/dist/map/adapter/extensions/task.d.ts +40 -0
- package/dist/map/adapter/extensions/task.d.ts.map +1 -0
- package/dist/map/adapter/extensions/task.js +197 -0
- package/dist/map/adapter/extensions/task.js.map +1 -0
- package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
- package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
- package/dist/map/adapter/extensions/update-metadata.js +67 -0
- package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
- package/dist/map/adapter/extensions/wake.d.ts +60 -0
- package/dist/map/adapter/extensions/wake.d.ts.map +1 -0
- package/dist/map/adapter/extensions/wake.js +144 -0
- package/dist/map/adapter/extensions/wake.js.map +1 -0
- package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
- package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
- package/dist/map/adapter/extensions/workspace-files.js +338 -0
- package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
- package/dist/map/adapter/extensions/workspace.d.ts +57 -0
- package/dist/map/adapter/extensions/workspace.d.ts.map +1 -0
- package/dist/map/adapter/extensions/workspace.js +81 -0
- package/dist/map/adapter/extensions/workspace.js.map +1 -0
- package/dist/map/adapter/index.d.ts +20 -0
- package/dist/map/adapter/index.d.ts.map +1 -0
- package/dist/map/adapter/index.js +40 -0
- package/dist/map/adapter/index.js.map +1 -0
- package/dist/map/adapter/interface.d.ts +450 -0
- package/dist/map/adapter/interface.d.ts.map +1 -0
- package/dist/map/adapter/interface.js +24 -0
- package/dist/map/adapter/interface.js.map +1 -0
- package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
- package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
- package/dist/map/adapter/mail-handler-adapter.js +292 -0
- package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
- package/dist/map/adapter/map-adapter.d.ts +200 -0
- package/dist/map/adapter/map-adapter.d.ts.map +1 -0
- package/dist/map/adapter/map-adapter.js +1199 -0
- package/dist/map/adapter/map-adapter.js.map +1 -0
- package/dist/map/adapter/rpc-handler.d.ts +263 -0
- package/dist/map/adapter/rpc-handler.d.ts.map +1 -0
- package/dist/map/adapter/rpc-handler.js +365 -0
- package/dist/map/adapter/rpc-handler.js.map +1 -0
- package/dist/map/adapter/subscription-manager.d.ts +174 -0
- package/dist/map/adapter/subscription-manager.d.ts.map +1 -0
- package/dist/map/adapter/subscription-manager.js +248 -0
- package/dist/map/adapter/subscription-manager.js.map +1 -0
- package/dist/map/adapter/types.d.ts +194 -0
- package/dist/map/adapter/types.d.ts.map +1 -0
- package/dist/map/adapter/types.js +27 -0
- package/dist/map/adapter/types.js.map +1 -0
- package/dist/map/adapter/websocket-integration.d.ts +113 -0
- package/dist/map/adapter/websocket-integration.d.ts.map +1 -0
- package/dist/map/adapter/websocket-integration.js +134 -0
- package/dist/map/adapter/websocket-integration.js.map +1 -0
- package/dist/map/cascade-action-handler.d.ts.map +1 -1
- package/dist/map/cascade-action-handler.js +19 -5
- package/dist/map/cascade-action-handler.js.map +1 -1
- package/dist/map/federation/envelope.d.ts +98 -0
- package/dist/map/federation/envelope.d.ts.map +1 -0
- package/dist/map/federation/envelope.js +160 -0
- package/dist/map/federation/envelope.js.map +1 -0
- package/dist/map/federation/federation-handler.d.ts +50 -0
- package/dist/map/federation/federation-handler.d.ts.map +1 -0
- package/dist/map/federation/federation-handler.js +306 -0
- package/dist/map/federation/federation-handler.js.map +1 -0
- package/dist/map/federation/index.d.ts +14 -0
- package/dist/map/federation/index.d.ts.map +1 -0
- package/dist/map/federation/index.js +13 -0
- package/dist/map/federation/index.js.map +1 -0
- package/dist/map/federation/types.d.ts +239 -0
- package/dist/map/federation/types.d.ts.map +1 -0
- package/dist/map/federation/types.js +23 -0
- package/dist/map/federation/types.js.map +1 -0
- package/dist/map/mail-bridge.d.ts +7 -0
- package/dist/map/mail-bridge.d.ts.map +1 -1
- package/dist/map/mail-bridge.js +39 -9
- package/dist/map/mail-bridge.js.map +1 -1
- package/dist/map/server.d.ts.map +1 -1
- package/dist/map/server.js +17 -2
- package/dist/map/server.js.map +1 -1
- package/dist/map/types.d.ts +6 -0
- package/dist/map/types.d.ts.map +1 -1
- package/dist/mcp/map-client.d.ts +39 -0
- package/dist/mcp/map-client.d.ts.map +1 -0
- package/dist/mcp/map-client.js +129 -0
- package/dist/mcp/map-client.js.map +1 -0
- package/dist/mcp/mcp-server.d.ts +72 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -0
- package/dist/mcp/mcp-server.js +1027 -0
- package/dist/mcp/mcp-server.js.map +1 -0
- package/dist/mcp/tools/claim_task.d.ts +35 -0
- package/dist/mcp/tools/claim_task.d.ts.map +1 -0
- package/dist/mcp/tools/claim_task.js +58 -0
- package/dist/mcp/tools/claim_task.js.map +1 -0
- package/dist/mcp/tools/done-v2.d.ts +0 -1
- package/dist/mcp/tools/done-v2.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.js +0 -1
- package/dist/mcp/tools/done-v2.js.map +1 -1
- package/dist/mcp/tools/done.d.ts +102 -0
- package/dist/mcp/tools/done.d.ts.map +1 -0
- package/dist/mcp/tools/done.js +253 -0
- package/dist/mcp/tools/done.js.map +1 -0
- package/dist/mcp/tools/inject_context.d.ts +61 -0
- package/dist/mcp/tools/inject_context.d.ts.map +1 -0
- package/dist/mcp/tools/inject_context.js +123 -0
- package/dist/mcp/tools/inject_context.js.map +1 -0
- package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
- package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
- package/dist/mcp/tools/list_claimable_tasks.js +63 -0
- package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
- package/dist/mcp/tools/unclaim_task.d.ts +31 -0
- package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
- package/dist/mcp/tools/unclaim_task.js +47 -0
- package/dist/mcp/tools/unclaim_task.js.map +1 -0
- package/dist/mcp/tools/wait_for_activity.d.ts +60 -0
- package/dist/mcp/tools/wait_for_activity.d.ts.map +1 -0
- package/dist/mcp/tools/wait_for_activity.js +135 -0
- package/dist/mcp/tools/wait_for_activity.js.map +1 -0
- package/dist/monitor/health-check-service.d.ts +143 -0
- package/dist/monitor/health-check-service.d.ts.map +1 -0
- package/dist/monitor/health-check-service.js +240 -0
- package/dist/monitor/health-check-service.js.map +1 -0
- package/dist/monitor/index.d.ts +14 -0
- package/dist/monitor/index.d.ts.map +1 -0
- package/dist/monitor/index.js +14 -0
- package/dist/monitor/index.js.map +1 -0
- package/dist/monitor/stall-detector.d.ts +109 -0
- package/dist/monitor/stall-detector.d.ts.map +1 -0
- package/dist/monitor/stall-detector.js +152 -0
- package/dist/monitor/stall-detector.js.map +1 -0
- package/dist/peer/capability-manager.d.ts +56 -0
- package/dist/peer/capability-manager.d.ts.map +1 -0
- package/dist/peer/capability-manager.js +186 -0
- package/dist/peer/capability-manager.js.map +1 -0
- package/dist/peer/encapsulation-manager.d.ts +190 -0
- package/dist/peer/encapsulation-manager.d.ts.map +1 -0
- package/dist/peer/encapsulation-manager.js +486 -0
- package/dist/peer/encapsulation-manager.js.map +1 -0
- package/dist/peer/federation-manager.d.ts +223 -0
- package/dist/peer/federation-manager.d.ts.map +1 -0
- package/dist/peer/federation-manager.js +528 -0
- package/dist/peer/federation-manager.js.map +1 -0
- package/dist/peer/hierarchy-errors.d.ts +208 -0
- package/dist/peer/hierarchy-errors.d.ts.map +1 -0
- package/dist/peer/hierarchy-errors.js +268 -0
- package/dist/peer/hierarchy-errors.js.map +1 -0
- package/dist/peer/hierarchy-protocol.d.ts +159 -0
- package/dist/peer/hierarchy-protocol.d.ts.map +1 -0
- package/dist/peer/hierarchy-protocol.js +142 -0
- package/dist/peer/hierarchy-protocol.js.map +1 -0
- package/dist/peer/index.d.ts +15 -0
- package/dist/peer/index.d.ts.map +1 -0
- package/dist/peer/index.js +15 -0
- package/dist/peer/index.js.map +1 -0
- package/dist/peer/peer-manager.d.ts +99 -0
- package/dist/peer/peer-manager.d.ts.map +1 -0
- package/dist/peer/peer-manager.js +333 -0
- package/dist/peer/peer-manager.js.map +1 -0
- package/dist/peer/task-delegation.d.ts +189 -0
- package/dist/peer/task-delegation.d.ts.map +1 -0
- package/dist/peer/task-delegation.js +303 -0
- package/dist/peer/task-delegation.js.map +1 -0
- package/dist/peer/transports/index.d.ts +8 -0
- package/dist/peer/transports/index.d.ts.map +1 -0
- package/dist/peer/transports/index.js +8 -0
- package/dist/peer/transports/index.js.map +1 -0
- package/dist/peer/transports/local-transport.d.ts +56 -0
- package/dist/peer/transports/local-transport.d.ts.map +1 -0
- package/dist/peer/transports/local-transport.js +263 -0
- package/dist/peer/transports/local-transport.js.map +1 -0
- package/dist/peer/transports/websocket-transport.d.ts +86 -0
- package/dist/peer/transports/websocket-transport.d.ts.map +1 -0
- package/dist/peer/transports/websocket-transport.js +338 -0
- package/dist/peer/transports/websocket-transport.js.map +1 -0
- package/dist/peer/types.d.ts +268 -0
- package/dist/peer/types.d.ts.map +1 -0
- package/dist/peer/types.js +36 -0
- package/dist/peer/types.js.map +1 -0
- package/dist/router/address-resolver.d.ts +102 -0
- package/dist/router/address-resolver.d.ts.map +1 -0
- package/dist/router/address-resolver.js +198 -0
- package/dist/router/address-resolver.js.map +1 -0
- package/dist/router/broadcast.d.ts +53 -0
- package/dist/router/broadcast.d.ts.map +1 -0
- package/dist/router/broadcast.js +75 -0
- package/dist/router/broadcast.js.map +1 -0
- package/dist/router/channels.d.ts +148 -0
- package/dist/router/channels.d.ts.map +1 -0
- package/dist/router/channels.js +126 -0
- package/dist/router/channels.js.map +1 -0
- package/dist/router/index.d.ts +21 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +18 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/message-router.d.ts +197 -0
- package/dist/router/message-router.d.ts.map +1 -0
- package/dist/router/message-router.js +903 -0
- package/dist/router/message-router.js.map +1 -0
- package/dist/router/message-types.d.ts +183 -0
- package/dist/router/message-types.d.ts.map +1 -0
- package/dist/router/message-types.js +79 -0
- package/dist/router/message-types.js.map +1 -0
- package/dist/router/role-resolver.d.ts +67 -0
- package/dist/router/role-resolver.d.ts.map +1 -0
- package/dist/router/role-resolver.js +106 -0
- package/dist/router/role-resolver.js.map +1 -0
- package/dist/router/signals.d.ts +253 -0
- package/dist/router/signals.d.ts.map +1 -0
- package/dist/router/signals.js +53 -0
- package/dist/router/signals.js.map +1 -0
- package/dist/router/types.d.ts +191 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +34 -0
- package/dist/router/types.js.map +1 -0
- package/dist/router/wake.d.ts +111 -0
- package/dist/router/wake.d.ts.map +1 -0
- package/dist/router/wake.js +180 -0
- package/dist/router/wake.js.map +1 -0
- package/dist/server/combined-server.d.ts +95 -0
- package/dist/server/combined-server.d.ts.map +1 -0
- package/dist/server/combined-server.js +335 -0
- package/dist/server/combined-server.js.map +1 -0
- package/dist/steering/index.d.ts +11 -0
- package/dist/steering/index.d.ts.map +1 -0
- package/dist/steering/index.js +11 -0
- package/dist/steering/index.js.map +1 -0
- package/dist/steering/inject.d.ts +39 -0
- package/dist/steering/inject.d.ts.map +1 -0
- package/dist/steering/inject.js +197 -0
- package/dist/steering/inject.js.map +1 -0
- package/dist/steering/types.d.ts +100 -0
- package/dist/steering/types.d.ts.map +1 -0
- package/dist/steering/types.js +11 -0
- package/dist/steering/types.js.map +1 -0
- package/dist/store/backends/index.d.ts +11 -0
- package/dist/store/backends/index.d.ts.map +1 -0
- package/dist/store/backends/index.js +15 -0
- package/dist/store/backends/index.js.map +1 -0
- package/dist/store/backends/json-backend.d.ts +23 -0
- package/dist/store/backends/json-backend.d.ts.map +1 -0
- package/dist/store/backends/json-backend.js +220 -0
- package/dist/store/backends/json-backend.js.map +1 -0
- package/dist/store/backends/memory-backend.d.ts +12 -0
- package/dist/store/backends/memory-backend.d.ts.map +1 -0
- package/dist/store/backends/memory-backend.js +205 -0
- package/dist/store/backends/memory-backend.js.map +1 -0
- package/dist/store/backends/sqlite-backend.d.ts +27 -0
- package/dist/store/backends/sqlite-backend.d.ts.map +1 -0
- package/dist/store/backends/sqlite-backend.js +231 -0
- package/dist/store/backends/sqlite-backend.js.map +1 -0
- package/dist/store/backends/tinybase-backend.d.ts +22 -0
- package/dist/store/backends/tinybase-backend.d.ts.map +1 -0
- package/dist/store/backends/tinybase-backend.js +203 -0
- package/dist/store/backends/tinybase-backend.js.map +1 -0
- package/dist/store/backends/types.d.ts +175 -0
- package/dist/store/backends/types.d.ts.map +1 -0
- package/dist/store/backends/types.js +28 -0
- package/dist/store/backends/types.js.map +1 -0
- package/dist/store/event-store.d.ts +128 -0
- package/dist/store/event-store.d.ts.map +1 -0
- package/dist/store/event-store.js +1751 -0
- package/dist/store/event-store.js.map +1 -0
- package/dist/store/instance.d.ts +290 -0
- package/dist/store/instance.d.ts.map +1 -0
- package/dist/store/instance.js +363 -0
- package/dist/store/instance.js.map +1 -0
- package/dist/store/migrations.d.ts +41 -0
- package/dist/store/migrations.d.ts.map +1 -0
- package/dist/store/migrations.js +79 -0
- package/dist/store/migrations.js.map +1 -0
- package/dist/store/test-utils.d.ts +63 -0
- package/dist/store/test-utils.d.ts.map +1 -0
- package/dist/store/test-utils.js +63 -0
- package/dist/store/test-utils.js.map +1 -0
- package/dist/store/types/config.d.ts +16 -0
- package/dist/store/types/config.d.ts.map +1 -0
- package/dist/store/types/config.js +8 -0
- package/dist/store/types/config.js.map +1 -0
- package/dist/store/types/conversations.d.ts +91 -0
- package/dist/store/types/conversations.d.ts.map +1 -0
- package/dist/store/types/conversations.js +8 -0
- package/dist/store/types/conversations.js.map +1 -0
- package/dist/store/types/sessions.d.ts +44 -0
- package/dist/store/types/sessions.d.ts.map +1 -0
- package/dist/store/types/sessions.js +9 -0
- package/dist/store/types/sessions.js.map +1 -0
- package/dist/store/types.d.ts +115 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +6 -0
- package/dist/store/types.js.map +1 -0
- package/dist/task/backend/index.d.ts +93 -0
- package/dist/task/backend/index.d.ts.map +1 -0
- package/dist/task/backend/index.js +178 -0
- package/dist/task/backend/index.js.map +1 -0
- package/dist/task/backend/memory.d.ts +70 -0
- package/dist/task/backend/memory.d.ts.map +1 -0
- package/dist/task/backend/memory.js +621 -0
- package/dist/task/backend/memory.js.map +1 -0
- package/dist/task/backend/opentasks/backend.d.ts +140 -0
- package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
- package/dist/task/backend/opentasks/backend.js +1023 -0
- package/dist/task/backend/opentasks/backend.js.map +1 -0
- package/dist/task/backend/opentasks/client.d.ts +337 -0
- package/dist/task/backend/opentasks/client.d.ts.map +1 -0
- package/dist/task/backend/opentasks/client.js +225 -0
- package/dist/task/backend/opentasks/client.js.map +1 -0
- package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
- package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
- package/dist/task/backend/opentasks/daemon-manager.js +195 -0
- package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
- package/dist/task/backend/opentasks/index.d.ts +21 -0
- package/dist/task/backend/opentasks/index.d.ts.map +1 -0
- package/dist/task/backend/opentasks/index.js +21 -0
- package/dist/task/backend/opentasks/index.js.map +1 -0
- package/dist/task/backend/opentasks/mapping.d.ts +48 -0
- package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
- package/dist/task/backend/opentasks/mapping.js +77 -0
- package/dist/task/backend/opentasks/mapping.js.map +1 -0
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +54 -0
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +1 -0
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +88 -0
- package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +1 -0
- package/dist/task/backend/sudocode/backend.d.ts +155 -0
- package/dist/task/backend/sudocode/backend.d.ts.map +1 -0
- package/dist/task/backend/sudocode/backend.js +942 -0
- package/dist/task/backend/sudocode/backend.js.map +1 -0
- package/dist/task/backend/sudocode/client.d.ts +303 -0
- package/dist/task/backend/sudocode/client.d.ts.map +1 -0
- package/dist/task/backend/sudocode/client.js +101 -0
- package/dist/task/backend/sudocode/client.js.map +1 -0
- package/dist/task/backend/sudocode/index.d.ts +19 -0
- package/dist/task/backend/sudocode/index.d.ts.map +1 -0
- package/dist/task/backend/sudocode/index.js +17 -0
- package/dist/task/backend/sudocode/index.js.map +1 -0
- package/dist/task/backend/sudocode/mapping.d.ts +51 -0
- package/dist/task/backend/sudocode/mapping.d.ts.map +1 -0
- package/dist/task/backend/sudocode/mapping.js +86 -0
- package/dist/task/backend/sudocode/mapping.js.map +1 -0
- package/dist/task/backend/sudocode/server-client.d.ts +56 -0
- package/dist/task/backend/sudocode/server-client.d.ts.map +1 -0
- package/dist/task/backend/sudocode/server-client.js +367 -0
- package/dist/task/backend/sudocode/server-client.js.map +1 -0
- package/dist/task/backend/sudocode/standalone-client.d.ts +91 -0
- package/dist/task/backend/sudocode/standalone-client.d.ts.map +1 -0
- package/dist/task/backend/sudocode/standalone-client.js +476 -0
- package/dist/task/backend/sudocode/standalone-client.js.map +1 -0
- package/dist/task/backend/sudocode/sync-policy.d.ts +166 -0
- package/dist/task/backend/sudocode/sync-policy.d.ts.map +1 -0
- package/dist/task/backend/sudocode/sync-policy.js +221 -0
- package/dist/task/backend/sudocode/sync-policy.js.map +1 -0
- package/dist/task/backend/sudocode/tools.d.ts +87 -0
- package/dist/task/backend/sudocode/tools.d.ts.map +1 -0
- package/dist/task/backend/sudocode/tools.js +743 -0
- package/dist/task/backend/sudocode/tools.js.map +1 -0
- package/dist/task/backend/tool-provider.d.ts +56 -0
- package/dist/task/backend/tool-provider.d.ts.map +1 -0
- package/dist/task/backend/tool-provider.js +424 -0
- package/dist/task/backend/tool-provider.js.map +1 -0
- package/dist/task/backend/types.d.ts +297 -0
- package/dist/task/backend/types.d.ts.map +1 -0
- package/dist/task/backend/types.js +27 -0
- package/dist/task/backend/types.js.map +1 -0
- package/dist/task/backend/unified-tool-provider.d.ts +57 -0
- package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
- package/dist/task/backend/unified-tool-provider.js +623 -0
- package/dist/task/backend/unified-tool-provider.js.map +1 -0
- package/dist/task/index.d.ts +7 -0
- package/dist/task/index.d.ts.map +1 -0
- package/dist/task/index.js +7 -0
- package/dist/task/index.js.map +1 -0
- package/dist/task/retry-policy.d.ts +89 -0
- package/dist/task/retry-policy.d.ts.map +1 -0
- package/dist/task/retry-policy.js +160 -0
- package/dist/task/retry-policy.js.map +1 -0
- package/dist/task/task-manager.d.ts +70 -0
- package/dist/task/task-manager.d.ts.map +1 -0
- package/dist/task/task-manager.js +319 -0
- package/dist/task/task-manager.js.map +1 -0
- package/dist/task/types.d.ts +72 -0
- package/dist/task/types.d.ts.map +1 -0
- package/dist/task/types.js +33 -0
- package/dist/task/types.js.map +1 -0
- package/dist/teams/team-loader.d.ts +2 -1
- package/dist/teams/team-loader.d.ts.map +1 -1
- package/dist/teams/team-loader.js +2 -1
- package/dist/teams/team-loader.js.map +1 -1
- package/dist/teams/team-manager.d.ts +101 -0
- package/dist/teams/team-manager.d.ts.map +1 -0
- package/dist/teams/team-manager.js +260 -0
- package/dist/teams/team-manager.js.map +1 -0
- package/dist/teams/team-runtime-v2.d.ts +0 -3
- package/dist/teams/team-runtime-v2.d.ts.map +1 -1
- package/dist/teams/team-runtime-v2.js +31 -93
- package/dist/teams/team-runtime-v2.js.map +1 -1
- package/dist/teams/team-runtime.d.ts +245 -0
- package/dist/teams/team-runtime.d.ts.map +1 -0
- package/dist/teams/team-runtime.js +1023 -0
- package/dist/teams/team-runtime.js.map +1 -0
- package/dist/trigger/router/index.d.ts +11 -0
- package/dist/trigger/router/index.d.ts.map +1 -0
- package/dist/trigger/router/index.js +10 -0
- package/dist/trigger/router/index.js.map +1 -0
- package/dist/trigger/router/strategies/ai-router-strategy.d.ts +34 -0
- package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +1 -0
- package/dist/trigger/router/strategies/ai-router-strategy.js +359 -0
- package/dist/trigger/router/strategies/ai-router-strategy.js.map +1 -0
- package/dist/trigger/router/strategies/direct-strategy.d.ts +32 -0
- package/dist/trigger/router/strategies/direct-strategy.d.ts.map +1 -0
- package/dist/trigger/router/strategies/direct-strategy.js +119 -0
- package/dist/trigger/router/strategies/direct-strategy.js.map +1 -0
- package/dist/trigger/router/strategies/index.d.ts +11 -0
- package/dist/trigger/router/strategies/index.d.ts.map +1 -0
- package/dist/trigger/router/strategies/index.js +11 -0
- package/dist/trigger/router/strategies/index.js.map +1 -0
- package/dist/trigger/router/strategies/role-strategy.d.ts +39 -0
- package/dist/trigger/router/strategies/role-strategy.d.ts.map +1 -0
- package/dist/trigger/router/strategies/role-strategy.js +207 -0
- package/dist/trigger/router/strategies/role-strategy.js.map +1 -0
- package/dist/trigger/router/trigger-router.d.ts +54 -0
- package/dist/trigger/router/trigger-router.d.ts.map +1 -0
- package/dist/trigger/router/trigger-router.js +362 -0
- package/dist/trigger/router/trigger-router.js.map +1 -0
- package/dist/trigger/router/types.d.ts +225 -0
- package/dist/trigger/router/types.d.ts.map +1 -0
- package/dist/trigger/router/types.js +10 -0
- package/dist/trigger/router/types.js.map +1 -0
- package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
- package/dist/trigger/sources/cron/cron-service.js +6 -3
- package/dist/trigger/sources/cron/cron-service.js.map +1 -1
- package/dist/trigger/trigger-system.d.ts +77 -0
- package/dist/trigger/trigger-system.d.ts.map +1 -0
- package/dist/trigger/trigger-system.js +84 -0
- package/dist/trigger/trigger-system.js.map +1 -0
- package/dist/util/git-safety.d.ts +33 -0
- package/dist/util/git-safety.d.ts.map +1 -0
- package/dist/util/git-safety.js +94 -0
- package/dist/util/git-safety.js.map +1 -0
- package/dist/workspace/index.d.ts +0 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +0 -2
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/landing/direct-push.d.ts.map +1 -1
- package/dist/workspace/landing/direct-push.js +22 -7
- package/dist/workspace/landing/direct-push.js.map +1 -1
- package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -1
- package/dist/workspace/landing/queue-to-branch.js +1 -3
- package/dist/workspace/landing/queue-to-branch.js.map +1 -1
- package/dist/workspace/types.d.ts +0 -13
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.d.ts +0 -11
- package/dist/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.js +0 -30
- package/dist/workspace/workspace-manager.js.map +1 -1
- package/package.json +28 -2
- package/templates/teams/self-driving/prompts/grinder.md +1 -0
- package/templates/teams/self-driving/prompts/judge.md +1 -0
- package/templates/teams/self-driving/prompts/planner.md +1 -0
- package/templates/teams/self-driving/roles/grinder.yaml +15 -0
- package/templates/teams/self-driving/roles/judge.yaml +10 -0
- package/templates/teams/self-driving/roles/planner.yaml +16 -0
- package/.claude/commands/openspec/apply.md +0 -23
- package/.claude/commands/openspec/archive.md +0 -27
- package/.claude/commands/openspec/proposal.md +0 -28
- package/.claude/settings.json +0 -133
- package/.gitattributes +0 -3
- package/.opentasks/config.json +0 -9
- package/.opentasks/graph.jsonl +0 -0
- package/.sessionlog/settings.json +0 -4
- package/.sudocode/issues.jsonl +0 -183
- package/.sudocode/specs.jsonl +0 -56
- package/AGENTS.md +0 -18
- package/CLAUDE.md +0 -923
- package/docs/architecture.md +0 -508
- package/docs/configuration.md +0 -323
- package/docs/conflict-recovery.md +0 -472
- package/docs/design/task-dispatcher.md +0 -880
- package/docs/design-subsystem-extraction.md +0 -627
- package/docs/git-cascade-integration-gaps.md +0 -678
- package/docs/implementation-details.md +0 -1127
- package/docs/implementation-summary.md +0 -448
- package/docs/lifecycle-events-design.md +0 -111
- package/docs/mail-integration.md +0 -608
- package/docs/openhive-capability-summary.md +0 -415
- package/docs/openhive-integration.md +0 -415
- package/docs/plan-self-driving-support.md +0 -433
- package/docs/roadmap-v2-gaps.md +0 -216
- package/docs/spec-self-driving-support.md +0 -462
- package/docs/team-templates.md +0 -860
- package/docs/teams.md +0 -306
- package/docs/trigger-system-design.md +0 -333
- package/docs/troubleshooting.md +0 -489
- package/docs/workspace-interfaces.md +0 -731
- package/docs/workspace-redesign-plan.md +0 -302
- package/examples/distributed-peer-communication.ts +0 -202
- package/examples/local-peer-communication.ts +0 -165
- package/index.js +0 -2
- package/mvp_docs/agent-execution-system.md +0 -347
- package/mvp_docs/agent-interface.md +0 -580
- package/mvp_docs/data-structures.md +0 -701
- package/mvp_docs/dynamic-meta-orchestration.md +0 -116
- package/mvp_docs/multi-agent-interaction-design.md +0 -779
- package/mvp_docs/mvp-implementation-plan.md +0 -1148
- package/renovate.json5 +0 -6
- package/scripts/test-acp-integration.ts +0 -422
- package/src/__tests__/boot-v2.test.ts +0 -631
- package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +0 -496
- package/src/__tests__/e2e/acp-over-map.e2e.test.ts +0 -457
- package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +0 -770
- package/src/__tests__/e2e/auto-sync.e2e.test.ts +0 -257
- package/src/__tests__/e2e/bootstrap.e2e.test.ts +0 -319
- package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +0 -254
- package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +0 -253
- package/src/__tests__/e2e/cli-run.e2e.test.ts +0 -167
- package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +0 -282
- package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +0 -495
- package/src/__tests__/e2e/dispatch-live.e2e.test.ts +0 -564
- package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +0 -496
- package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +0 -456
- package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +0 -386
- package/src/__tests__/e2e/dispatch.e2e.test.ts +0 -376
- package/src/__tests__/e2e/done-scenarios.e2e.test.ts +0 -322
- package/src/__tests__/e2e/live-agent.e2e.test.ts +0 -1330
- package/src/__tests__/e2e/map-server.e2e.test.ts +0 -128
- package/src/__tests__/e2e/map-sidecar.e2e.test.ts +0 -139
- package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +0 -280
- package/src/__tests__/e2e/pull-mode.e2e.test.ts +0 -632
- package/src/__tests__/e2e/resume-continue.e2e.test.ts +0 -312
- package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +0 -197
- package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +0 -200
- package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +0 -562
- package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +0 -1049
- package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +0 -258
- package/src/__tests__/e2e/trigger-wake.e2e.test.ts +0 -257
- package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +0 -383
- package/src/__tests__/e2e/workspace-v3.e2e.test.ts +0 -413
- package/src/acp/__tests__/claude-code-replay.test.ts +0 -225
- package/src/acp/__tests__/macro-agent.test.ts +0 -387
- package/src/acp/__tests__/session-mapper.test.ts +0 -152
- package/src/acp/__tests__/websocket-server.test.ts +0 -194
- package/src/acp/claude-code-replay.ts +0 -208
- package/src/acp/index.ts +0 -32
- package/src/acp/macro-agent.ts +0 -995
- package/src/acp/map-bridge.ts +0 -193
- package/src/acp/session-mapper.ts +0 -116
- package/src/acp/types.ts +0 -99
- package/src/acp/websocket-server.ts +0 -213
- package/src/adapters/__tests__/federation.test.ts +0 -256
- package/src/adapters/__tests__/inbox-adapter.test.ts +0 -316
- package/src/adapters/__tests__/tasks-adapter.test.ts +0 -270
- package/src/adapters/federation.ts +0 -185
- package/src/adapters/inbox-adapter.ts +0 -292
- package/src/adapters/inbox-client-adapter.ts +0 -173
- package/src/adapters/index.ts +0 -44
- package/src/adapters/opentasks-daemon.ts +0 -252
- package/src/adapters/tasks-adapter.ts +0 -330
- package/src/adapters/types.ts +0 -286
- package/src/agent/__tests__/agent-manager-topology.test.ts +0 -73
- package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +0 -296
- package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +0 -233
- package/src/agent/__tests__/agent-manager-v2.test.ts +0 -614
- package/src/agent/__tests__/agent-store.test.ts +0 -465
- package/src/agent/__tests__/task-ref-resolution.test.ts +0 -231
- package/src/agent/agent-manager-v2.ts +0 -2021
- package/src/agent/agent-manager.ts +0 -386
- package/src/agent/agent-store.ts +0 -409
- package/src/agent/index.ts +0 -7
- package/src/agent/prompts/coordinator-signals.ts +0 -115
- package/src/agent/prompts/index.ts +0 -7
- package/src/agent/system-prompt.ts +0 -298
- package/src/agent/types.ts +0 -459
- package/src/agent-detection/__tests__/command-builder.test.ts +0 -336
- package/src/agent-detection/__tests__/detector.test.ts +0 -768
- package/src/agent-detection/__tests__/registry.test.ts +0 -254
- package/src/agent-detection/command-builder.ts +0 -90
- package/src/agent-detection/detector.ts +0 -307
- package/src/agent-detection/index.ts +0 -36
- package/src/agent-detection/registry.ts +0 -200
- package/src/agent-detection/types.ts +0 -184
- package/src/api/__tests__/server.test.ts +0 -292
- package/src/api/index.ts +0 -8
- package/src/api/server.ts +0 -380
- package/src/api/types.ts +0 -39
- package/src/auth/__tests__/token.test.ts +0 -100
- package/src/auth/index.ts +0 -1
- package/src/auth/token.ts +0 -82
- package/src/boot-v2.ts +0 -1343
- package/src/cli/__tests__/stable-instance-id.test.ts +0 -57
- package/src/cli/acp.ts +0 -101
- package/src/cli/inbox-mcp-proxy.ts +0 -56
- package/src/cli/index.ts +0 -566
- package/src/cli/mcp.ts +0 -305
- package/src/cli/parse-args.ts +0 -54
- package/src/cli/stable-instance-id.ts +0 -14
- package/src/cognitive/__tests__/macro-agent-backend.test.ts +0 -520
- package/src/cognitive/__tests__/session-converter.test.ts +0 -423
- package/src/cognitive/__tests__/workspace-handler.test.ts +0 -221
- package/src/cognitive/analyst-role.ts +0 -59
- package/src/cognitive/index.ts +0 -49
- package/src/cognitive/macro-agent-backend.ts +0 -370
- package/src/cognitive/session-converter.ts +0 -151
- package/src/cognitive/types.ts +0 -163
- package/src/cognitive/workspace-handler.ts +0 -163
- package/src/config/index.ts +0 -9
- package/src/config/project-config.ts +0 -294
- package/src/control/__tests__/control-resilience.test.ts +0 -251
- package/src/control/__tests__/control-socket.test.ts +0 -240
- package/src/control/control-client.ts +0 -337
- package/src/control/control-server.ts +0 -298
- package/src/control/index.ts +0 -17
- package/src/control/types.ts +0 -95
- package/src/dispatch/CLAUDE.md +0 -129
- package/src/dispatch/__tests__/loadout-translation.test.ts +0 -141
- package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +0 -519
- package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +0 -800
- package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +0 -575
- package/src/dispatch/__tests__/permission-evaluator.test.ts +0 -196
- package/src/dispatch/__tests__/permission-overlay.test.ts +0 -56
- package/src/dispatch/__tests__/permissions-handler.test.ts +0 -168
- package/src/dispatch/__tests__/spawn-agent-handler.test.ts +0 -282
- package/src/dispatch/loadout-translation.ts +0 -138
- package/src/dispatch/mail-inbound-consumer.ts +0 -560
- package/src/dispatch/mail-inbound-reuse-consumer.ts +0 -479
- package/src/dispatch/permission-evaluator.ts +0 -191
- package/src/dispatch/permission-overlay.ts +0 -89
- package/src/dispatch/permissions-handler.ts +0 -112
- package/src/dispatch/spawn-agent-handler.ts +0 -160
- package/src/index.ts +0 -115
- package/src/integrations/__tests__/context-builder.test.ts +0 -218
- package/src/integrations/__tests__/sessionlog.test.ts +0 -498
- package/src/integrations/__tests__/skilltree.test.ts +0 -136
- package/src/integrations/context-builder.ts +0 -280
- package/src/integrations/sessionlog.ts +0 -194
- package/src/integrations/skilltree.ts +0 -184
- package/src/lifecycle/__tests__/cascade-consolidation.test.ts +0 -240
- package/src/lifecycle/__tests__/handlers-v2.test.ts +0 -565
- package/src/lifecycle/cascade.ts +0 -335
- package/src/lifecycle/cleanup.ts +0 -373
- package/src/lifecycle/handlers-v2.ts +0 -508
- package/src/lifecycle/index.ts +0 -76
- package/src/lifecycle/types.ts +0 -260
- package/src/map/__tests__/cascade-bridge.test.ts +0 -229
- package/src/map/__tests__/cascade-diff-server.test.ts +0 -434
- package/src/map/__tests__/emit-event.test.ts +0 -71
- package/src/map/__tests__/lifecycle-bridge.test.ts +0 -430
- package/src/map/__tests__/mail-bridge.test.ts +0 -284
- package/src/map/__tests__/permission-forwarding.test.ts +0 -143
- package/src/map/__tests__/sidecar-diff-install-smoke.test.ts +0 -90
- package/src/map/__tests__/sidecar-integration.test.ts +0 -190
- package/src/map/__tests__/task-bridge.test.ts +0 -153
- package/src/map/__tests__/trajectory-reporter.test.ts +0 -173
- package/src/map/acp-bridge.ts +0 -293
- package/src/map/cascade-action-handler.ts +0 -205
- package/src/map/cascade-bridge.ts +0 -339
- package/src/map/cascade-diff-server.ts +0 -404
- package/src/map/cc-swarm-hooks.ts +0 -242
- package/src/map/coordination-handler.ts +0 -232
- package/src/map/index.ts +0 -18
- package/src/map/lifecycle-bridge.ts +0 -236
- package/src/map/mail-bridge.ts +0 -215
- package/src/map/repo-workspace.ts +0 -82
- package/src/map/server.ts +0 -758
- package/src/map/sidecar.ts +0 -826
- package/src/map/task-bridge.ts +0 -89
- package/src/map/trajectory-reporter.ts +0 -124
- package/src/map/types.ts +0 -304
- package/src/mcp/__tests__/mcp-server-v2.test.ts +0 -236
- package/src/mcp/index.ts +0 -6
- package/src/mcp/mcp-server-v2.ts +0 -485
- package/src/mcp/tools/done-v2.ts +0 -213
- package/src/mcp/types.ts +0 -432
- package/src/metrics/__tests__/metrics.test.ts +0 -205
- package/src/metrics/index.ts +0 -13
- package/src/metrics/metrics.ts +0 -151
- package/src/metrics/types.ts +0 -63
- package/src/roles/__tests__/config-loader.test.ts +0 -540
- package/src/roles/builtin/coordinator.ts +0 -75
- package/src/roles/builtin/generic.ts +0 -39
- package/src/roles/builtin/index.ts +0 -51
- package/src/roles/builtin/integrator.ts +0 -62
- package/src/roles/builtin/monitor.ts +0 -65
- package/src/roles/builtin/worker.ts +0 -134
- package/src/roles/capabilities.ts +0 -257
- package/src/roles/config-loader.ts +0 -405
- package/src/roles/index.ts +0 -141
- package/src/roles/registry.ts +0 -713
- package/src/roles/types.ts +0 -344
- package/src/store/index.ts +0 -8
- package/src/store/types/agents.ts +0 -69
- package/src/store/types/events.ts +0 -91
- package/src/store/types/index.ts +0 -9
- package/src/store/types/messages.ts +0 -32
- package/src/store/types/primitives.ts +0 -9
- package/src/store/types/tasks.ts +0 -124
- package/src/teams/__tests__/team-manager-v2.test.ts +0 -425
- package/src/teams/__tests__/team-runtime-v2.test.ts +0 -402
- package/src/teams/index.ts +0 -29
- package/src/teams/seed-defaults.ts +0 -83
- package/src/teams/team-loader.ts +0 -476
- package/src/teams/team-manager-v2.ts +0 -343
- package/src/teams/team-runtime-v2.ts +0 -920
- package/src/teams/types.ts +0 -276
- package/src/trigger/__tests__/cron-service.test.ts +0 -548
- package/src/trigger/__tests__/scheduler.test.ts +0 -371
- package/src/trigger/__tests__/system-event-queue.test.ts +0 -147
- package/src/trigger/__tests__/trigger-system-v2.test.ts +0 -257
- package/src/trigger/__tests__/wake-manager.test.ts +0 -356
- package/src/trigger/__tests__/webhook-handler.test.ts +0 -567
- package/src/trigger/index.ts +0 -110
- package/src/trigger/queue/index.ts +0 -21
- package/src/trigger/queue/system-event-queue.ts +0 -232
- package/src/trigger/queue/types.ts +0 -149
- package/src/trigger/sources/cron/cron-service.ts +0 -499
- package/src/trigger/sources/cron/index.ts +0 -41
- package/src/trigger/sources/cron/scheduler.ts +0 -344
- package/src/trigger/sources/cron/types.ts +0 -333
- package/src/trigger/sources/index.ts +0 -10
- package/src/trigger/sources/webhook/index.ts +0 -25
- package/src/trigger/sources/webhook/types.ts +0 -205
- package/src/trigger/sources/webhook/webhook-handler.ts +0 -410
- package/src/trigger/strategies/ai-router.ts +0 -170
- package/src/trigger/trigger-system-v2.ts +0 -536
- package/src/trigger/types.ts +0 -228
- package/src/trigger/wake/index.ts +0 -22
- package/src/trigger/wake/types.ts +0 -162
- package/src/trigger/wake/wake-manager.ts +0 -390
- package/src/workspace/__tests__/git-cascade-adapter.test.ts +0 -563
- package/src/workspace/__tests__/land-dispatch.test.ts +0 -214
- package/src/workspace/__tests__/self-driving-yaml.test.ts +0 -122
- package/src/workspace/__tests__/shared-worktree-refcount.test.ts +0 -154
- package/src/workspace/__tests__/standalone-mode.test.ts +0 -118
- package/src/workspace/__tests__/workspace-manager-v3.test.ts +0 -245
- package/src/workspace/__tests__/yaml-schema.test.ts +0 -210
- package/src/workspace/config.ts +0 -165
- package/src/workspace/git-cascade-adapter.ts +0 -1213
- package/src/workspace/index.ts +0 -110
- package/src/workspace/landing/__tests__/strategies.test.ts +0 -184
- package/src/workspace/landing/direct-push.ts +0 -91
- package/src/workspace/landing/index.ts +0 -40
- package/src/workspace/landing/merge-to-parent.ts +0 -229
- package/src/workspace/landing/optimistic-push.ts +0 -36
- package/src/workspace/landing/queue-to-branch.ts +0 -108
- package/src/workspace/merge-queue/__tests__/conflict-resolution-git.e2e.test.ts +0 -641
- package/src/workspace/merge-queue/__tests__/conflict-resolution.test.ts +0 -707
- package/src/workspace/merge-queue/__tests__/merge-queue-concurrent.test.ts +0 -628
- package/src/workspace/merge-queue/__tests__/merge-queue-edge-cases.test.ts +0 -1217
- package/src/workspace/merge-queue/__tests__/merge-queue.test.ts +0 -506
- package/src/workspace/merge-queue/__tests__/real-git-operations.e2e.test.ts +0 -556
- package/src/workspace/merge-queue/__tests__/resolver-flow.test.ts +0 -472
- package/src/workspace/merge-queue/index.ts +0 -38
- package/src/workspace/merge-queue/merge-queue.ts +0 -585
- package/src/workspace/merge-queue/schema.ts +0 -98
- package/src/workspace/merge-queue/types.ts +0 -316
- package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +0 -1281
- package/src/workspace/pool/__tests__/worktree-pool.test.ts +0 -590
- package/src/workspace/pool/index.ts +0 -26
- package/src/workspace/pool/types.ts +0 -276
- package/src/workspace/pool/worktree-pool.ts +0 -659
- package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +0 -127
- package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +0 -139
- package/src/workspace/recovery/__tests__/strategies.test.ts +0 -145
- package/src/workspace/recovery/abandon.ts +0 -51
- package/src/workspace/recovery/auto-resolve.ts +0 -119
- package/src/workspace/recovery/defer.ts +0 -23
- package/src/workspace/recovery/escalate.ts +0 -30
- package/src/workspace/recovery/index.ts +0 -58
- package/src/workspace/recovery/spawn-resolver.ts +0 -152
- package/src/workspace/recovery/types.ts +0 -54
- package/src/workspace/strategies/index.ts +0 -18
- package/src/workspace/strategies/optimistic.ts +0 -139
- package/src/workspace/strategies/queue.ts +0 -81
- package/src/workspace/strategies/registry.ts +0 -89
- package/src/workspace/strategies/trunk.ts +0 -123
- package/src/workspace/strategies/types.ts +0 -145
- package/src/workspace/topology/__tests__/yaml-driven.test.ts +0 -345
- package/src/workspace/topology/index.ts +0 -18
- package/src/workspace/topology/no-workspace.ts +0 -39
- package/src/workspace/topology/types.ts +0 -116
- package/src/workspace/topology/yaml-driven.ts +0 -316
- package/src/workspace/types-v3.ts +0 -162
- package/src/workspace/types.ts +0 -541
- package/src/workspace/workspace-manager.ts +0 -1577
- package/src/workspace/yaml-schema.ts +0 -216
- package/test_fixtures/README.md +0 -425
- package/test_fixtures/fixtures/behaviors/coordinators.ts +0 -196
- package/test_fixtures/fixtures/behaviors/index.ts +0 -62
- package/test_fixtures/fixtures/behaviors/integrators.ts +0 -143
- package/test_fixtures/fixtures/behaviors/monitors.ts +0 -199
- package/test_fixtures/fixtures/behaviors/workers.ts +0 -348
- package/test_fixtures/fixtures/index.ts +0 -7
- package/test_fixtures/fixtures/projects/index.ts +0 -23
- package/test_fixtures/fixtures/projects/project-with-specs.ts +0 -44
- package/test_fixtures/fixtures/projects/typescript-project.ts +0 -200
- package/test_fixtures/fixtures/repos/index.ts +0 -6
- package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -299
- package/test_fixtures/fixtures/repos/types.ts +0 -174
- package/test_fixtures/harness/assertions/harness-assertions.ts +0 -752
- package/test_fixtures/harness/assertions/index.ts +0 -8
- package/test_fixtures/harness/index.ts +0 -15
- package/test_fixtures/harness/simulator/agent-simulator.ts +0 -768
- package/test_fixtures/harness/simulator/behavior-executor.ts +0 -580
- package/test_fixtures/harness/simulator/index.ts +0 -14
- package/test_fixtures/harness/simulator/types.ts +0 -459
- package/test_fixtures/harness/test-harness.ts +0 -770
- package/test_fixtures/harness/timing/event-stepper.ts +0 -344
- package/test_fixtures/harness/timing/index.ts +0 -8
- package/tsconfig.json +0 -21
- package/vitest.config.ts +0 -30
- package/vitest.e2e.config.ts +0 -28
- package/vitest.setup.ts +0 -12
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Permission Overlay Registry
|
|
3
|
-
*
|
|
4
|
-
* Process-singleton map of `agentId → Permissions` for in-flight
|
|
5
|
-
* dispatches. The `PreToolUse` hook installed at spawn time consults
|
|
6
|
-
* this registry on every tool call. Dispatch consumers (e.g., the
|
|
7
|
-
* mail-inbound-reuse-consumer) set the overlay when claiming an
|
|
8
|
-
* in-flight dispatch and clear it on resolution.
|
|
9
|
-
*
|
|
10
|
-
* Why a registry rather than a per-spawn argument:
|
|
11
|
-
* - The session is created with permissive rules at boot. The
|
|
12
|
-
* dispatch's narrower deny rules need to apply at *call time*, not
|
|
13
|
-
* at spawn time, because the agent already exists when the dispatch
|
|
14
|
-
* arrives. The hook closure captures `agentId` and reads the
|
|
15
|
-
* registry per-call so updates propagate without recreating the
|
|
16
|
-
* session.
|
|
17
|
-
*
|
|
18
|
-
* Semantics:
|
|
19
|
-
* - Intersection-only: the overlay can ADD denies to a session but
|
|
20
|
-
* cannot grant new allows. If the session was spawned with broad
|
|
21
|
-
* permissions and the overlay says `allow: [Read]`, the session's
|
|
22
|
-
* other tools still work — the overlay only tightens.
|
|
23
|
-
* - Single overlay per agent: `mail-inbound-reuse-consumer` already
|
|
24
|
-
* enforces one in-flight dispatch per agent (`recipient_busy`
|
|
25
|
-
* reject), so overwriting is safe.
|
|
26
|
-
*
|
|
27
|
-
* @module dispatch/permission-overlay
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
export interface OverlayPermissions {
|
|
31
|
-
allow?: string[];
|
|
32
|
-
deny?: string[];
|
|
33
|
-
ask?: string[];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const overlays = new Map<string, OverlayPermissions>();
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Apply a permission overlay for an agent. Subsequent tool calls by
|
|
40
|
-
* that agent flow through the `PreToolUse` hook, which consults this
|
|
41
|
-
* registry. Overwrites any prior overlay for the same agent.
|
|
42
|
-
*/
|
|
43
|
-
export function setPermissionOverlay(
|
|
44
|
-
agentId: string,
|
|
45
|
-
perms: OverlayPermissions,
|
|
46
|
-
): void {
|
|
47
|
-
overlays.set(agentId, perms);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Remove the active overlay for an agent. Subsequent tool calls fall
|
|
52
|
-
* back to the session's static permission rules.
|
|
53
|
-
*/
|
|
54
|
-
export function clearPermissionOverlay(agentId: string): void {
|
|
55
|
-
overlays.delete(agentId);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Read the current overlay for an agent. Returns `undefined` when no
|
|
60
|
-
* overlay is in effect — the hook treats that as pass-through.
|
|
61
|
-
*/
|
|
62
|
-
export function getPermissionOverlay(
|
|
63
|
-
agentId: string,
|
|
64
|
-
): OverlayPermissions | undefined {
|
|
65
|
-
return overlays.get(agentId);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Clear all overlays. Used as defense-in-depth when a fresh consumer
|
|
70
|
-
* starts (process startup); also exposed for test isolation.
|
|
71
|
-
*/
|
|
72
|
-
export function clearAllPermissionOverlays(): void {
|
|
73
|
-
overlays.clear();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Test helper — alias for `clearAllPermissionOverlays`. Kept distinct
|
|
78
|
-
* so it's grep-able for "test-only" cleanup paths.
|
|
79
|
-
*/
|
|
80
|
-
export function _resetForTest(): void {
|
|
81
|
-
overlays.clear();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Test helper — number of overlays currently active.
|
|
86
|
-
*/
|
|
87
|
-
export function _sizeForTest(): number {
|
|
88
|
-
return overlays.size;
|
|
89
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `x-dispatch/permissions.set` and `x-dispatch/permissions.clear` MAP
|
|
3
|
-
* notification handlers — runtime-agnostic wire shape, macro-agent-specific
|
|
4
|
-
* implementation.
|
|
5
|
-
*
|
|
6
|
-
* Called by OpenHive's orchestrator on the ACP+reuse dispatch path to apply
|
|
7
|
-
* per-dispatch loadout deny/allow rules to a long-lived agent's session at
|
|
8
|
-
* runtime, without recreating the session. The handler invokes
|
|
9
|
-
* `setPermissionOverlay` (resp. `clearPermissionOverlay`); the prompt
|
|
10
|
-
* iterator in `agent-manager-v2.ts` enforces the overlay against
|
|
11
|
-
* `permission_request` ACP session updates.
|
|
12
|
-
*
|
|
13
|
-
* See `docs/PERMISSION_OVERLAY_ACP_DESIGN.md` for the four-process flow
|
|
14
|
-
* diagram and rationale. The mail+reuse path uses the same overlay
|
|
15
|
-
* registry but sets/clears it directly from `mail-inbound-reuse-consumer`
|
|
16
|
-
* (which has a clean entry point on swarm side); ACP+reuse needs this MAP
|
|
17
|
-
* wire because the dispatch's prompt arrives through the ACP server with
|
|
18
|
-
* no equivalent consumer to bracket.
|
|
19
|
-
*
|
|
20
|
-
* Wire shape (set):
|
|
21
|
-
*
|
|
22
|
-
* request: { agent_id: string, deny?: string[], allow?: string[] }
|
|
23
|
-
* response: { ok: true } | { ok: false, error: string }
|
|
24
|
-
*
|
|
25
|
-
* Wire shape (clear):
|
|
26
|
-
*
|
|
27
|
-
* request: { agent_id: string }
|
|
28
|
-
* response: { ok: true } | { ok: false, error: string }
|
|
29
|
-
*
|
|
30
|
-
* Notification-pair pattern matches the existing `x-dispatch/spawn-agent`
|
|
31
|
-
* handler (the MAP SDK's AgentConnection doesn't expose
|
|
32
|
-
* setRequestHandler, so we use notifications with correlation_ids).
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
import {
|
|
36
|
-
setPermissionOverlay,
|
|
37
|
-
clearPermissionOverlay,
|
|
38
|
-
} from "./permission-overlay.js";
|
|
39
|
-
|
|
40
|
-
export interface PermissionsSetRequest {
|
|
41
|
-
agent_id: string;
|
|
42
|
-
deny?: string[];
|
|
43
|
-
allow?: string[];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface PermissionsClearRequest {
|
|
47
|
-
agent_id: string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export type PermissionsResponse =
|
|
51
|
-
| { ok: true }
|
|
52
|
-
| { ok: false; error: string };
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Handle `x-dispatch/permissions.set.request`. Sets the per-agent overlay
|
|
56
|
-
* registry entry that the prompt iterator consults when answering
|
|
57
|
-
* `permission_request` session updates.
|
|
58
|
-
*
|
|
59
|
-
* Idempotent: re-setting on the same agent overwrites the prior overlay.
|
|
60
|
-
* Safe: returns an error response (rather than throwing) for malformed
|
|
61
|
-
* params or unknown agents — the orchestrator should log and proceed.
|
|
62
|
-
*/
|
|
63
|
-
export function handlePermissionsSet(
|
|
64
|
-
params: PermissionsSetRequest,
|
|
65
|
-
log: (msg: string) => void = console.log,
|
|
66
|
-
): PermissionsResponse {
|
|
67
|
-
if (!params || typeof params.agent_id !== "string" || params.agent_id === "") {
|
|
68
|
-
return { ok: false, error: "x-dispatch/permissions.set: missing or invalid 'agent_id'" };
|
|
69
|
-
}
|
|
70
|
-
if (params.deny !== undefined && !Array.isArray(params.deny)) {
|
|
71
|
-
return { ok: false, error: "x-dispatch/permissions.set: 'deny' must be an array of strings" };
|
|
72
|
-
}
|
|
73
|
-
if (params.allow !== undefined && !Array.isArray(params.allow)) {
|
|
74
|
-
return { ok: false, error: "x-dispatch/permissions.set: 'allow' must be an array of strings" };
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const overlay = {
|
|
78
|
-
...(params.deny ? { deny: params.deny } : {}),
|
|
79
|
-
...(params.allow ? { allow: params.allow } : {}),
|
|
80
|
-
};
|
|
81
|
-
setPermissionOverlay(params.agent_id, overlay);
|
|
82
|
-
log(
|
|
83
|
-
`[x-dispatch/permissions.set] agent=${params.agent_id} ` +
|
|
84
|
-
`deny=${params.deny?.length ?? 0} allow=${params.allow?.length ?? 0}`,
|
|
85
|
-
);
|
|
86
|
-
return { ok: true };
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Handle `x-dispatch/permissions.clear.request`. Removes any overlay set
|
|
91
|
-
* on the named agent. Idempotent: clearing a non-existent overlay is a
|
|
92
|
-
* no-op success. Always paired with a prior `set` from the same dispatch;
|
|
93
|
-
* the orchestrator must guarantee `clear` runs even on dispatch failure.
|
|
94
|
-
*/
|
|
95
|
-
export function handlePermissionsClear(
|
|
96
|
-
params: PermissionsClearRequest,
|
|
97
|
-
log: (msg: string) => void = console.log,
|
|
98
|
-
): PermissionsResponse {
|
|
99
|
-
if (!params || typeof params.agent_id !== "string" || params.agent_id === "") {
|
|
100
|
-
return { ok: false, error: "x-dispatch/permissions.clear: missing or invalid 'agent_id'" };
|
|
101
|
-
}
|
|
102
|
-
clearPermissionOverlay(params.agent_id);
|
|
103
|
-
log(`[x-dispatch/permissions.clear] agent=${params.agent_id}`);
|
|
104
|
-
return { ok: true };
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export const X_DISPATCH_PERMISSIONS_METHODS = {
|
|
108
|
-
SET_REQUEST: "x-dispatch/permissions.set.request",
|
|
109
|
-
SET_RESPONSE: "x-dispatch/permissions.set.response",
|
|
110
|
-
CLEAR_REQUEST: "x-dispatch/permissions.clear.request",
|
|
111
|
-
CLEAR_RESPONSE: "x-dispatch/permissions.clear.response",
|
|
112
|
-
} as const;
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `x-dispatch/spawn-agent` MAP request handler — runtime-agnostic wire shape,
|
|
3
|
-
* macro-agent-specific implementation.
|
|
4
|
-
*
|
|
5
|
-
* Called by OpenHive's orchestrator when ACP-routing a dispatch with
|
|
6
|
-
* `lifecycle: 'fresh'` — the hub asks the swarm to spawn a fresh agent
|
|
7
|
-
* with the materialized loadout's structured fields applied to its spawn
|
|
8
|
-
* config. The handler returns the spawned agent's id; the orchestrator
|
|
9
|
-
* then attaches an ACP stream via the existing `findAcpAgentInfo` path.
|
|
10
|
-
*
|
|
11
|
-
* Wire shape — canonical (swarm-dispatch's `RemoteSpawnRequest`):
|
|
12
|
-
*
|
|
13
|
-
* request:
|
|
14
|
-
* {
|
|
15
|
-
* role: string,
|
|
16
|
-
* capabilities_required: string[], // e.g. ["acp"]
|
|
17
|
-
* lifecycle: "fresh" | "reuse",
|
|
18
|
-
* cwd?: string,
|
|
19
|
-
* fullAutonomous?: boolean,
|
|
20
|
-
* consumer_extensions?: {
|
|
21
|
-
* openhive?: { loadout?: WireLoadout }, // OpenHive payload
|
|
22
|
-
* }
|
|
23
|
-
* }
|
|
24
|
-
*
|
|
25
|
-
* response:
|
|
26
|
-
* { agentId: string }
|
|
27
|
-
*
|
|
28
|
-
* Legacy shape support: pre-Tier-2 callers passed `loadout` at the top
|
|
29
|
-
* level (not under consumer_extensions). The handler accepts both for
|
|
30
|
-
* one release window — `consumer_extensions.openhive.loadout` is read
|
|
31
|
-
* first; falls back to top-level `loadout`.
|
|
32
|
-
*
|
|
33
|
-
* Symmetric with the mail path: both routes use `loadoutToSpawnOptions`
|
|
34
|
-
* to translate the wire-level loadout into macro-agent's spawn options.
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
import type { AgentManager } from "../agent/agent-manager.js";
|
|
38
|
-
import { loadoutToSpawnOptions, type WireLoadout } from "./loadout-translation.js";
|
|
39
|
-
|
|
40
|
-
export interface SpawnAgentRequest {
|
|
41
|
-
role: string;
|
|
42
|
-
/** Optional cwd; defaults to the swarm's process.cwd() via agentManager. */
|
|
43
|
-
cwd?: string;
|
|
44
|
-
capabilities_required?: string[];
|
|
45
|
-
lifecycle?: "fresh" | "reuse";
|
|
46
|
-
/**
|
|
47
|
-
* @deprecated — pre-Tier-2 top-level loadout slot. Newer callers ship
|
|
48
|
-
* the loadout under `consumer_extensions.openhive.loadout`. Both
|
|
49
|
-
* shapes are accepted for one release window.
|
|
50
|
-
*/
|
|
51
|
-
loadout?: WireLoadout;
|
|
52
|
-
/** Canonical consumer-extension namespace (Tier 2+). */
|
|
53
|
-
consumer_extensions?: {
|
|
54
|
-
openhive?: { loadout?: WireLoadout };
|
|
55
|
-
[otherConsumer: string]: unknown;
|
|
56
|
-
};
|
|
57
|
-
fullAutonomous?: boolean;
|
|
58
|
-
/** Optional initial task description; defaults to a placeholder so the
|
|
59
|
-
* agent's session has *something* to render until the orchestrator's
|
|
60
|
-
* ACP `session/prompt` arrives. */
|
|
61
|
-
task?: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface SpawnAgentResponse {
|
|
65
|
-
agentId: string;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface SpawnAgentHandlerDeps {
|
|
69
|
-
agentManager: AgentManager;
|
|
70
|
-
/**
|
|
71
|
-
* Optional barrier called after spawn so the spawned agent's
|
|
72
|
-
* lifecycle-bridge has had time to register its `protocols: ['acp']`
|
|
73
|
-
* capability with the hub before this handler returns. Without this
|
|
74
|
-
* the orchestrator's subsequent `findAcpAgentInfo` would race the
|
|
75
|
-
* registration and return null.
|
|
76
|
-
*
|
|
77
|
-
* Returns true once the agent is registered and ACP-capable; false on
|
|
78
|
-
* timeout. Implementations typically wait on a Promise resolved by
|
|
79
|
-
* the lifecycle-bridge's `agent.registered` callback.
|
|
80
|
-
*/
|
|
81
|
-
waitForAcpRegistration?: (
|
|
82
|
-
agentId: string,
|
|
83
|
-
timeoutMs?: number,
|
|
84
|
-
) => Promise<boolean>;
|
|
85
|
-
/** Optional logger; defaults to console.log. */
|
|
86
|
-
log?: (msg: string) => void;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const DEFAULT_REGISTRATION_TIMEOUT_MS = 5_000;
|
|
90
|
-
|
|
91
|
-
export async function handleDispatchSpawnAgent(
|
|
92
|
-
params: SpawnAgentRequest,
|
|
93
|
-
deps: SpawnAgentHandlerDeps,
|
|
94
|
-
): Promise<SpawnAgentResponse> {
|
|
95
|
-
const { agentManager, waitForAcpRegistration, log = console.log } = deps;
|
|
96
|
-
|
|
97
|
-
if (!params.role) {
|
|
98
|
-
throw new Error("x-dispatch/spawn-agent: missing 'role'");
|
|
99
|
-
}
|
|
100
|
-
if (params.lifecycle && params.lifecycle !== "fresh") {
|
|
101
|
-
throw new Error(
|
|
102
|
-
`x-dispatch/spawn-agent: lifecycle='${params.lifecycle}' not supported by this handler — ` +
|
|
103
|
-
`'reuse' is handled hub-side via findAcpAgentInfo, not via this method`,
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
// cwd is optional — agentManager.spawn defaults to its own defaultCwd
|
|
107
|
-
// (typically process.cwd() of the macro-agent process) when omitted.
|
|
108
|
-
|
|
109
|
-
// Loadout location: prefer the canonical consumer_extensions.openhive
|
|
110
|
-
// slot (Tier 2+); fall back to the top-level field (pre-Tier-2). Older
|
|
111
|
-
// hubs ship the loadout at the top level; newer hubs ship under
|
|
112
|
-
// consumer_extensions. Both work during the dual-listen window.
|
|
113
|
-
const loadout: WireLoadout | undefined =
|
|
114
|
-
params.consumer_extensions?.openhive?.loadout ?? params.loadout;
|
|
115
|
-
|
|
116
|
-
const fullAutonomous = params.fullAutonomous ?? true;
|
|
117
|
-
const spawnLoadoutOpts = loadoutToSpawnOptions(loadout, {
|
|
118
|
-
fullAutonomous,
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
log(
|
|
122
|
-
`[x-dispatch/spawn-agent] Spawning fresh ${params.role} cwd=${params.cwd} ` +
|
|
123
|
-
`permissions=${
|
|
124
|
-
spawnLoadoutOpts.permissions ? JSON.stringify(spawnLoadoutOpts.permissions) : "(none)"
|
|
125
|
-
} fullAutonomous=${fullAutonomous}`,
|
|
126
|
-
);
|
|
127
|
-
|
|
128
|
-
const spawned = await agentManager.spawn({
|
|
129
|
-
role: params.role,
|
|
130
|
-
...(params.cwd ? { cwd: params.cwd } : {}),
|
|
131
|
-
parent: null,
|
|
132
|
-
// Mail-inbound and dispatch-spawned coordinators alike run under
|
|
133
|
-
// isolated settings so host-level Claude plugins don't auto-mount.
|
|
134
|
-
isolatedSettings: true,
|
|
135
|
-
task:
|
|
136
|
-
params.task ?? "Awaiting dispatch (created by dispatch/spawn-agent)",
|
|
137
|
-
...spawnLoadoutOpts,
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
// Block until the lifecycle-bridge has registered ACP capabilities,
|
|
141
|
-
// otherwise the orchestrator's subsequent `findAcpAgentInfo` lookup
|
|
142
|
-
// races the registration and fails. Best-effort: a timeout returns
|
|
143
|
-
// anyway and the orchestrator will retry on its own poll.
|
|
144
|
-
if (waitForAcpRegistration) {
|
|
145
|
-
const ok = await waitForAcpRegistration(
|
|
146
|
-
spawned.id,
|
|
147
|
-
DEFAULT_REGISTRATION_TIMEOUT_MS,
|
|
148
|
-
).catch(() => false);
|
|
149
|
-
if (!ok) {
|
|
150
|
-
log(
|
|
151
|
-
`[x-dispatch/spawn-agent] Warning: ACP registration not confirmed for ` +
|
|
152
|
-
`agent ${spawned.id} within ${DEFAULT_REGISTRATION_TIMEOUT_MS}ms; ` +
|
|
153
|
-
`orchestrator may need to retry.`,
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
log(`[x-dispatch/spawn-agent] Spawn complete agentId=${spawned.id}`);
|
|
159
|
-
return { agentId: spawned.id };
|
|
160
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* macro-agent - Multi-agent orchestration system (V2)
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
// Store types (primitives used everywhere)
|
|
6
|
-
export {
|
|
7
|
-
type Agent,
|
|
8
|
-
type AgentState,
|
|
9
|
-
type StopReason,
|
|
10
|
-
type AgentConfig,
|
|
11
|
-
type Task,
|
|
12
|
-
type TaskStatus,
|
|
13
|
-
type TaskAction,
|
|
14
|
-
type ArtifactRef,
|
|
15
|
-
type AgentHistoryEntry,
|
|
16
|
-
type Event,
|
|
17
|
-
type EventInput,
|
|
18
|
-
type EventFilter,
|
|
19
|
-
type EventType,
|
|
20
|
-
type EventSource,
|
|
21
|
-
type EventTarget,
|
|
22
|
-
type EventMetadata,
|
|
23
|
-
type AgentId,
|
|
24
|
-
type TaskId,
|
|
25
|
-
type EventId,
|
|
26
|
-
type SessionId,
|
|
27
|
-
type Timestamp,
|
|
28
|
-
type QueuedMessage,
|
|
29
|
-
type Subscription,
|
|
30
|
-
type SubscriptionType,
|
|
31
|
-
CURRENT_EVENT_VERSION,
|
|
32
|
-
} from './store/types/index.js';
|
|
33
|
-
|
|
34
|
-
// Agent manager (interface + V2 factory)
|
|
35
|
-
export {
|
|
36
|
-
createAgentManager,
|
|
37
|
-
createAgentManagerV2,
|
|
38
|
-
type AgentManager,
|
|
39
|
-
type AgentManagerConfig,
|
|
40
|
-
type SpawnInterceptor,
|
|
41
|
-
} from './agent/agent-manager.js';
|
|
42
|
-
|
|
43
|
-
export {
|
|
44
|
-
type SpawnAgentOptions,
|
|
45
|
-
type SpawnedAgent,
|
|
46
|
-
type AgentFilter,
|
|
47
|
-
type AgentHierarchy,
|
|
48
|
-
type AgentHierarchyNode,
|
|
49
|
-
type ActiveSession,
|
|
50
|
-
type AgentStopReason,
|
|
51
|
-
type HeadManagerOptions,
|
|
52
|
-
type SystemPromptContext,
|
|
53
|
-
type AgentLifecycleEvent,
|
|
54
|
-
type AgentLifecycleCallback,
|
|
55
|
-
AgentManagerError,
|
|
56
|
-
type AgentManagerErrorCode,
|
|
57
|
-
type MCPServerConfig as AgentMCPServerConfig,
|
|
58
|
-
type AgentConfig as SpawnAgentConfig,
|
|
59
|
-
} from './agent/types.js';
|
|
60
|
-
|
|
61
|
-
export { generateSystemPrompt } from './agent/system-prompt.js';
|
|
62
|
-
|
|
63
|
-
// Agent store (V2 lifecycle state)
|
|
64
|
-
export { AgentStore } from './agent/agent-store.js';
|
|
65
|
-
|
|
66
|
-
// Adapters (V2 messaging + tasks)
|
|
67
|
-
export {
|
|
68
|
-
DefaultInboxAdapter,
|
|
69
|
-
} from './adapters/inbox-adapter.js';
|
|
70
|
-
|
|
71
|
-
export {
|
|
72
|
-
DefaultTasksAdapter,
|
|
73
|
-
} from './adapters/tasks-adapter.js';
|
|
74
|
-
|
|
75
|
-
export {
|
|
76
|
-
type InboxAdapter,
|
|
77
|
-
type TasksAdapter,
|
|
78
|
-
} from './adapters/types.js';
|
|
79
|
-
|
|
80
|
-
// Boot V2
|
|
81
|
-
export {
|
|
82
|
-
bootV2,
|
|
83
|
-
type BootV2Config,
|
|
84
|
-
type MacroAgentSystemV2,
|
|
85
|
-
} from './boot-v2.js';
|
|
86
|
-
|
|
87
|
-
// Roles
|
|
88
|
-
export {
|
|
89
|
-
type RoleDefinition,
|
|
90
|
-
type RoleRegistry,
|
|
91
|
-
type Capability,
|
|
92
|
-
} from './roles/types.js';
|
|
93
|
-
|
|
94
|
-
export { DefaultRoleRegistry } from './roles/registry.js';
|
|
95
|
-
export { AGENT_CAPABILITIES } from './roles/capabilities.js';
|
|
96
|
-
|
|
97
|
-
// Workspace
|
|
98
|
-
export {
|
|
99
|
-
type WorkspaceManager,
|
|
100
|
-
type Workspace,
|
|
101
|
-
} from './workspace/types.js';
|
|
102
|
-
|
|
103
|
-
// Teams - template seeding
|
|
104
|
-
export { seedDefaultTemplates } from './teams/seed-defaults.js';
|
|
105
|
-
|
|
106
|
-
// MAP (sidecar + server)
|
|
107
|
-
export { createMAPSidecar, createMAPServerInstance } from './map/index.js';
|
|
108
|
-
export type {
|
|
109
|
-
MAPSidecar,
|
|
110
|
-
MAPSidecarConfig,
|
|
111
|
-
MAPServerInstance,
|
|
112
|
-
MapServerConfig,
|
|
113
|
-
TrajectoryCheckpointPayload,
|
|
114
|
-
TrajectoryCheckpointResult,
|
|
115
|
-
} from './map/types.js';
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit Tests for Capabilities Context Builder
|
|
3
|
-
*
|
|
4
|
-
* Tests `buildCapabilitiesContext()` which generates markdown describing
|
|
5
|
-
* available swarmkit integrations for injection into agent system prompts.
|
|
6
|
-
*
|
|
7
|
-
* Run:
|
|
8
|
-
* npx vitest run src/integrations/__tests__/context-builder.test.ts
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { describe, it, expect } from "vitest";
|
|
12
|
-
import {
|
|
13
|
-
buildCapabilitiesContext,
|
|
14
|
-
type CapabilitiesConfig,
|
|
15
|
-
} from "../context-builder.js";
|
|
16
|
-
|
|
17
|
-
describe("buildCapabilitiesContext", () => {
|
|
18
|
-
it("returns non-empty string with default sections even when no integrations enabled", () => {
|
|
19
|
-
const result = buildCapabilitiesContext({});
|
|
20
|
-
|
|
21
|
-
// Should still include the base sections (Task Management, Communication)
|
|
22
|
-
expect(result).toContain("## Swarm Capabilities");
|
|
23
|
-
expect(result).toContain("### Task Management");
|
|
24
|
-
expect(result).toContain("### Communication");
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it("does not include memory section when minimem disabled", () => {
|
|
28
|
-
const result = buildCapabilitiesContext({
|
|
29
|
-
minimem: { enabled: false },
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
expect(result).not.toContain("### Memory");
|
|
33
|
-
expect(result).not.toContain("minimem");
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it("includes memory section when minimem enabled", () => {
|
|
37
|
-
const result = buildCapabilitiesContext({
|
|
38
|
-
minimem: { enabled: true, status: "ready" },
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
expect(result).toContain("### Memory");
|
|
42
|
-
expect(result).toContain("minimem MCP tools");
|
|
43
|
-
expect(result).toContain("minimem__memory_search");
|
|
44
|
-
expect(result).toContain("minimem__memory_get_details");
|
|
45
|
-
expect(result).toContain("minimem__knowledge_search");
|
|
46
|
-
expect(result).toContain("team-wide");
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it("includes opentasks section when opentasks connected", () => {
|
|
50
|
-
const result = buildCapabilitiesContext({
|
|
51
|
-
opentasks: { enabled: true, status: "connected" },
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
expect(result).toContain("opentasks MCP tools");
|
|
55
|
-
expect(result).toContain("opentasks__create_task");
|
|
56
|
-
expect(result).toContain("opentasks__update_task");
|
|
57
|
-
expect(result).toContain("opentasks__list_tasks");
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("does not include opentasks section when opentasks disabled", () => {
|
|
61
|
-
const result = buildCapabilitiesContext({
|
|
62
|
-
opentasks: { enabled: false },
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
expect(result).not.toContain("opentasks MCP tools");
|
|
66
|
-
expect(result).not.toContain("opentasks__create_task");
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
it("includes inbox section when inbox enabled", () => {
|
|
70
|
-
const result = buildCapabilitiesContext({
|
|
71
|
-
inbox: { enabled: true },
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
expect(result).toContain("agent-inbox MCP tools");
|
|
75
|
-
expect(result).toContain("agent-inbox__check_inbox");
|
|
76
|
-
expect(result).toContain("agent-inbox__send_message");
|
|
77
|
-
expect(result).toContain("agent-inbox__read_thread");
|
|
78
|
-
expect(result).toContain("agent-inbox__list_agents");
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it("does not include inbox section when inbox disabled", () => {
|
|
82
|
-
const result = buildCapabilitiesContext({
|
|
83
|
-
inbox: { enabled: false },
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
expect(result).not.toContain("agent-inbox MCP tools");
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it("includes MAP observability section when map enabled", () => {
|
|
90
|
-
const result = buildCapabilitiesContext({
|
|
91
|
-
map: { enabled: true, status: "connected" },
|
|
92
|
-
sessionlog: { enabled: true, sync: "metrics" },
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
expect(result).toContain("### External Observability");
|
|
96
|
-
expect(result).toContain("MAP: connected");
|
|
97
|
-
expect(result).toContain("trajectory checkpoints synced to MAP");
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
it("includes MAP scope in output", () => {
|
|
101
|
-
const result = buildCapabilitiesContext({
|
|
102
|
-
map: { enabled: true, scope: "swarm:worker-1" },
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
expect(result).toContain("scope: swarm:worker-1");
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it("uses default scope when map.scope not provided", () => {
|
|
109
|
-
const result = buildCapabilitiesContext({
|
|
110
|
-
map: { enabled: true },
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
expect(result).toContain("scope: default");
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
it("shows no observability when map disabled", () => {
|
|
117
|
-
const result = buildCapabilitiesContext({
|
|
118
|
-
map: { enabled: false },
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
expect(result).toContain("No external observability configured");
|
|
122
|
-
expect(result).not.toContain("MAP: connected");
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it("includes skills section when skilltree enabled", () => {
|
|
126
|
-
const result = buildCapabilitiesContext({
|
|
127
|
-
skilltree: { enabled: true, status: "ready" },
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
expect(result).toContain("### Per-Role Skills");
|
|
131
|
-
expect(result).toContain("skill loadout");
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it("does not include skills section when skilltree disabled", () => {
|
|
135
|
-
const result = buildCapabilitiesContext({
|
|
136
|
-
skilltree: { enabled: false },
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
expect(result).not.toContain("### Skills");
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it("includes sessionlog info in MAP section when both enabled", () => {
|
|
143
|
-
const result = buildCapabilitiesContext({
|
|
144
|
-
map: { enabled: true },
|
|
145
|
-
sessionlog: { enabled: true, sync: "metrics" },
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
expect(result).toContain("### External Observability");
|
|
149
|
-
expect(result).toContain("level: metrics");
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it("shows custom sync level for sessionlog", () => {
|
|
153
|
-
const result = buildCapabilitiesContext({
|
|
154
|
-
map: { enabled: true },
|
|
155
|
-
sessionlog: { enabled: true, sync: "full" },
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
expect(result).toContain("level: full");
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
it("does not mention sessionlog when sessionlog disabled and map enabled", () => {
|
|
162
|
-
const result = buildCapabilitiesContext({
|
|
163
|
-
map: { enabled: true },
|
|
164
|
-
sessionlog: { enabled: false },
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
expect(result).toContain("### External Observability");
|
|
168
|
-
expect(result).not.toContain("level:");
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
it("combines all sections correctly when everything enabled", () => {
|
|
172
|
-
const config: CapabilitiesConfig = {
|
|
173
|
-
minimem: { enabled: true, status: "ready" },
|
|
174
|
-
skilltree: { enabled: true, status: "ready" },
|
|
175
|
-
sessionlog: { enabled: true, sync: "full" },
|
|
176
|
-
mesh: { enabled: true },
|
|
177
|
-
map: { enabled: true, scope: "swarm:test", status: "connected" },
|
|
178
|
-
opentasks: { enabled: true, status: "connected" },
|
|
179
|
-
inbox: { enabled: true },
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
const result = buildCapabilitiesContext(config);
|
|
183
|
-
|
|
184
|
-
// All sections present
|
|
185
|
-
expect(result).toContain("## Swarm Capabilities");
|
|
186
|
-
expect(result).toContain("### Team Orchestration");
|
|
187
|
-
expect(result).toContain("### Task Management");
|
|
188
|
-
expect(result).toContain("### Communication");
|
|
189
|
-
expect(result).toContain("### Memory");
|
|
190
|
-
expect(result).toContain("### Per-Role Skills");
|
|
191
|
-
expect(result).toContain("### External Observability");
|
|
192
|
-
expect(result).toContain("opentasks MCP tools");
|
|
193
|
-
expect(result).toContain("agent-inbox MCP tools");
|
|
194
|
-
expect(result).toContain("minimem MCP tools");
|
|
195
|
-
expect(result).toContain("swarm:test");
|
|
196
|
-
expect(result).toContain("level: full");
|
|
197
|
-
|
|
198
|
-
// Verify ordering: Task Management before Memory before Skills before Observability
|
|
199
|
-
const taskIdx = result.indexOf("### Task Management");
|
|
200
|
-
const commIdx = result.indexOf("### Communication");
|
|
201
|
-
const memIdx = result.indexOf("### Memory");
|
|
202
|
-
const skillIdx = result.indexOf("### Per-Role Skills");
|
|
203
|
-
const obsIdx = result.indexOf("### External Observability");
|
|
204
|
-
|
|
205
|
-
expect(taskIdx).toBeLessThan(commIdx);
|
|
206
|
-
expect(commIdx).toBeLessThan(memIdx);
|
|
207
|
-
expect(memIdx).toBeLessThan(skillIdx);
|
|
208
|
-
expect(skillIdx).toBeLessThan(obsIdx);
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
it("starts with the capabilities header", () => {
|
|
212
|
-
const result = buildCapabilitiesContext({
|
|
213
|
-
minimem: { enabled: true },
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
expect(result.startsWith("## Swarm Capabilities")).toBe(true);
|
|
217
|
-
});
|
|
218
|
-
});
|