macro-agent 0.2.5 → 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 +7 -24
- package/dist/agent/agent-manager-v2.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/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/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 +4 -0
- 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/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 +8 -87
- 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/dataplane-adapter.d.ts +260 -0
- package/dist/workspace/dataplane-adapter.d.ts.map +1 -0
- package/dist/workspace/dataplane-adapter.js +416 -0
- package/dist/workspace/dataplane-adapter.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.completion-signal.test.ts +0 -284
- 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 -2187
- package/src/agent/agent-manager.ts +0 -403
- 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 -480
- 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 -673
- 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 -402
- package/src/cognitive/session-converter.ts +0 -151
- package/src/cognitive/types.ts +0 -187
- 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 -117
- 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 -321
- 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 -263
- 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 -943
- 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
package/src/adapters/types.ts
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapter interfaces for subsystem integration.
|
|
3
|
-
*
|
|
4
|
-
* InboxAdapter wraps agent-inbox for messaging.
|
|
5
|
-
* TasksAdapter wraps opentasks for task management.
|
|
6
|
-
*
|
|
7
|
-
* These are the only two touch points between macro-agent
|
|
8
|
-
* and the external subsystems.
|
|
9
|
-
*
|
|
10
|
-
* @module adapters/types
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import type { Message, MessageContent, Importance } from "agent-inbox";
|
|
14
|
-
|
|
15
|
-
// ─────────────────────────────────────────────────────────────────
|
|
16
|
-
// InboxAdapter
|
|
17
|
-
// ─────────────────────────────────────────────────────────────────
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Event emitted when a message is delivered to an agent's inbox.
|
|
21
|
-
*/
|
|
22
|
-
export interface InboxDeliveryEvent {
|
|
23
|
-
/** Recipient agent ID */
|
|
24
|
-
agentId: string;
|
|
25
|
-
/** Recipient kind (to, cc, bcc) */
|
|
26
|
-
recipientKind: "to" | "cc" | "bcc";
|
|
27
|
-
/** The delivered message */
|
|
28
|
-
message: Message;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Signal filter: returns false to suppress delivery to a specific agent.
|
|
33
|
-
* Used by TeamRuntime to enforce subscription-based signal filtering.
|
|
34
|
-
*/
|
|
35
|
-
export type SignalFilterFn = (
|
|
36
|
-
from: string,
|
|
37
|
-
to: string,
|
|
38
|
-
message: Message
|
|
39
|
-
) => boolean;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Emission validator: returns a rejection reason string to block the send,
|
|
43
|
-
* or null to allow it. Used by TeamRuntime to enforce per-role emission rules.
|
|
44
|
-
*/
|
|
45
|
-
export type EmissionValidatorFn = (
|
|
46
|
-
from: string,
|
|
47
|
-
message: Message
|
|
48
|
-
) => string | null;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Options for registering an agent with agent-inbox.
|
|
52
|
-
*/
|
|
53
|
-
export interface RegisterAgentOptions {
|
|
54
|
-
name?: string;
|
|
55
|
-
role: string;
|
|
56
|
-
scope: string;
|
|
57
|
-
metadata?: Record<string, unknown>;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Options for sending a message through agent-inbox.
|
|
62
|
-
*/
|
|
63
|
-
export interface SendMessageOptions {
|
|
64
|
-
threadTag?: string;
|
|
65
|
-
importance?: Importance;
|
|
66
|
-
scope?: string;
|
|
67
|
-
subject?: string;
|
|
68
|
-
inReplyTo?: string;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Delivery event handler callback.
|
|
73
|
-
*/
|
|
74
|
-
export type DeliveryHandler = (event: InboxDeliveryEvent) => void;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* InboxAdapter — macro-agent's interface to agent-inbox.
|
|
78
|
-
*
|
|
79
|
-
* Owns adapter-side signal filtering and emission validation.
|
|
80
|
-
* Embeds agent-inbox in-process for zero-latency event access,
|
|
81
|
-
* with IPC server running for agent MCP subprocesses.
|
|
82
|
-
*/
|
|
83
|
-
export interface InboxAdapter {
|
|
84
|
-
// ── Agent Lifecycle ──────────────────────────────────────────
|
|
85
|
-
|
|
86
|
-
/** Register an agent in agent-inbox's storage and warm registry. */
|
|
87
|
-
registerAgent(
|
|
88
|
-
agentId: string,
|
|
89
|
-
opts: RegisterAgentOptions
|
|
90
|
-
): Promise<void>;
|
|
91
|
-
|
|
92
|
-
/** Deregister an agent (set status to offline). */
|
|
93
|
-
deregisterAgent(agentId: string): Promise<void>;
|
|
94
|
-
|
|
95
|
-
// ── Messaging ────────────────────────────────────────────────
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Send a message. Emission validation runs before forwarding
|
|
99
|
-
* to agent-inbox. Returns the message ID on success.
|
|
100
|
-
*
|
|
101
|
-
* @throws if emission validator rejects the send.
|
|
102
|
-
*/
|
|
103
|
-
send(
|
|
104
|
-
from: string,
|
|
105
|
-
to: string | string[],
|
|
106
|
-
content: MessageContent | string,
|
|
107
|
-
opts?: SendMessageOptions
|
|
108
|
-
): Promise<string>;
|
|
109
|
-
|
|
110
|
-
// ── Delivery Subscription ────────────────────────────────────
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Subscribe to delivery events. Signal filtering runs before
|
|
114
|
-
* invoking the handler — filtered messages are silently dropped.
|
|
115
|
-
*/
|
|
116
|
-
onDelivery(handler: DeliveryHandler): void;
|
|
117
|
-
|
|
118
|
-
/** Remove a delivery handler. */
|
|
119
|
-
offDelivery(handler: DeliveryHandler): void;
|
|
120
|
-
|
|
121
|
-
// ── Queries ──────────────────────────────────────────────────
|
|
122
|
-
|
|
123
|
-
/** Check an agent's inbox. */
|
|
124
|
-
checkInbox(
|
|
125
|
-
agentId: string,
|
|
126
|
-
opts?: { unreadOnly?: boolean; limit?: number }
|
|
127
|
-
): Promise<Message[]>;
|
|
128
|
-
|
|
129
|
-
/** Read a message thread by tag. */
|
|
130
|
-
readThread(
|
|
131
|
-
threadTag: string,
|
|
132
|
-
scope?: string
|
|
133
|
-
): Promise<Message[]>;
|
|
134
|
-
|
|
135
|
-
// ── Policy Hooks (set by TeamRuntime) ────────────────────────
|
|
136
|
-
|
|
137
|
-
/** Install a signal filter (replaces any existing filter). */
|
|
138
|
-
setSignalFilter(filter: SignalFilterFn): void;
|
|
139
|
-
|
|
140
|
-
/** Install an emission validator (replaces any existing validator). */
|
|
141
|
-
setEmissionValidator(validator: EmissionValidatorFn): void;
|
|
142
|
-
|
|
143
|
-
// ── Multi-Team Policy Hooks ─────────────────────────────────
|
|
144
|
-
|
|
145
|
-
/** Add a named signal filter (for multi-team). */
|
|
146
|
-
addSignalFilter(id: string, filter: SignalFilterFn): void;
|
|
147
|
-
|
|
148
|
-
/** Remove a named signal filter. */
|
|
149
|
-
removeSignalFilter(id: string): void;
|
|
150
|
-
|
|
151
|
-
/** Add a named emission validator (for multi-team). */
|
|
152
|
-
addEmissionValidator(id: string, validator: EmissionValidatorFn): void;
|
|
153
|
-
|
|
154
|
-
/** Remove a named emission validator. */
|
|
155
|
-
removeEmissionValidator(id: string): void;
|
|
156
|
-
|
|
157
|
-
// ── Lifecycle ────────────────────────────────────────────────
|
|
158
|
-
|
|
159
|
-
/** The IPC socket path for agent subprocesses to connect to. */
|
|
160
|
-
readonly socketPath: string;
|
|
161
|
-
|
|
162
|
-
/** Stop the embedded agent-inbox (IPC server, storage, etc.). */
|
|
163
|
-
stop(): Promise<void>;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// ─────────────────────────────────────────────────────────────────
|
|
167
|
-
// TasksAdapter
|
|
168
|
-
// ─────────────────────────────────────────────────────────────────
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Task status values used by macro-agent.
|
|
172
|
-
* Maps to opentasks canonical statuses.
|
|
173
|
-
*/
|
|
174
|
-
export type TaskStatus = "open" | "in_progress" | "blocked" | "closed";
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Semantic actions for task state transitions.
|
|
178
|
-
*/
|
|
179
|
-
export type TaskAction = "start" | "complete" | "fail" | "block" | "reopen";
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Options for creating a task.
|
|
183
|
-
*/
|
|
184
|
-
export interface CreateTaskOptions {
|
|
185
|
-
title: string;
|
|
186
|
-
content?: string;
|
|
187
|
-
assignee?: string;
|
|
188
|
-
parent?: string;
|
|
189
|
-
tags?: string[];
|
|
190
|
-
priority?: number;
|
|
191
|
-
metadata?: Record<string, unknown>;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Options for querying tasks.
|
|
196
|
-
*/
|
|
197
|
-
export interface TaskQueryOptions {
|
|
198
|
-
status?: TaskStatus;
|
|
199
|
-
assignee?: string;
|
|
200
|
-
tags?: string[];
|
|
201
|
-
limit?: number;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Simplified task record returned by the adapter.
|
|
206
|
-
* Flattened from opentasks' graph node model.
|
|
207
|
-
*/
|
|
208
|
-
export interface TaskRecord {
|
|
209
|
-
id: string;
|
|
210
|
-
title: string;
|
|
211
|
-
content?: string;
|
|
212
|
-
status: TaskStatus;
|
|
213
|
-
assignee?: string;
|
|
214
|
-
parent?: string;
|
|
215
|
-
tags?: string[];
|
|
216
|
-
priority?: number;
|
|
217
|
-
claimed_by?: string;
|
|
218
|
-
created_at?: string;
|
|
219
|
-
closed_at?: string;
|
|
220
|
-
metadata?: Record<string, unknown>;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* TasksAdapter — macro-agent's interface to opentasks.
|
|
225
|
-
*
|
|
226
|
-
* Wraps OpenTasksClient via IPC to the opentasks daemon.
|
|
227
|
-
* macro-agent ensures the daemon is running at boot.
|
|
228
|
-
*/
|
|
229
|
-
export interface TasksAdapter {
|
|
230
|
-
// ── Task Lifecycle ───────────────────────────────────────────
|
|
231
|
-
|
|
232
|
-
/** Create a new task. Returns the task ID. */
|
|
233
|
-
createTask(opts: CreateTaskOptions): Promise<string>;
|
|
234
|
-
|
|
235
|
-
/** Assign a task to an agent. */
|
|
236
|
-
assignTask(taskId: string, agentId: string): Promise<void>;
|
|
237
|
-
|
|
238
|
-
/** Transition a task to a new state via semantic action. */
|
|
239
|
-
transitionTask(taskId: string, action: TaskAction): Promise<void>;
|
|
240
|
-
|
|
241
|
-
// ── Queries ──────────────────────────────────────────────────
|
|
242
|
-
|
|
243
|
-
/** Get a single task by ID. */
|
|
244
|
-
getTask(taskId: string): Promise<TaskRecord>;
|
|
245
|
-
|
|
246
|
-
/** Query tasks ready to work on (no active blockers). */
|
|
247
|
-
queryReady(opts?: { tags?: string[]; limit?: number }): Promise<TaskRecord[]>;
|
|
248
|
-
|
|
249
|
-
/** List tasks with optional filters. */
|
|
250
|
-
listTasks(filter?: TaskQueryOptions): Promise<TaskRecord[]>;
|
|
251
|
-
|
|
252
|
-
// ── Dependencies ─────────────────────────────────────────────
|
|
253
|
-
|
|
254
|
-
/** Add a blocking dependency: blockerId blocks taskId. */
|
|
255
|
-
addBlocker(taskId: string, blockerId: string): Promise<void>;
|
|
256
|
-
|
|
257
|
-
/** Remove a blocking dependency. */
|
|
258
|
-
removeBlocker(taskId: string, blockerId: string): Promise<void>;
|
|
259
|
-
|
|
260
|
-
// ── Pull Mode (claim-based) ──────────────────────────────────
|
|
261
|
-
|
|
262
|
-
/** Claim the next available task matching the filter. */
|
|
263
|
-
claimTask(
|
|
264
|
-
agentId: string,
|
|
265
|
-
filter?: { tags?: string[] }
|
|
266
|
-
): Promise<TaskRecord | null>;
|
|
267
|
-
|
|
268
|
-
/** Release a claimed task back to the pool. */
|
|
269
|
-
unclaimTask(taskId: string): Promise<void>;
|
|
270
|
-
|
|
271
|
-
/** List tasks available for claiming. */
|
|
272
|
-
listClaimable(
|
|
273
|
-
filter?: { tags?: string[]; limit?: number }
|
|
274
|
-
): Promise<TaskRecord[]>;
|
|
275
|
-
|
|
276
|
-
// ── Connection Lifecycle ─────────────────────────────────────
|
|
277
|
-
|
|
278
|
-
/** Connect to the opentasks daemon. Auto-starts if needed. */
|
|
279
|
-
connect(): Promise<void>;
|
|
280
|
-
|
|
281
|
-
/** Disconnect from the opentasks daemon. */
|
|
282
|
-
disconnect(): void;
|
|
283
|
-
|
|
284
|
-
/** Whether the adapter is connected to the daemon. */
|
|
285
|
-
readonly connected: boolean;
|
|
286
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentManagerV2 + TopologyPolicy integration (Phase 4).
|
|
3
|
-
*
|
|
4
|
-
* Verifies that when a TopologyPolicy is set, workspace allocation goes
|
|
5
|
-
* through the V3 path (YamlDrivenTopology → WorkspaceDecision → V3 methods).
|
|
6
|
-
* When unset, legacy role-name dispatch is preserved (regression guard).
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
10
|
-
import { YamlDrivenTopology } from '../../workspace/topology/yaml-driven.js';
|
|
11
|
-
import { parseTeamWorkspaceConfig } from '../../workspace/yaml-schema.js';
|
|
12
|
-
|
|
13
|
-
// Isolated test: verify the TopologyPolicy → WorkspaceDecision compilation
|
|
14
|
-
// happens when policy is set. Full AgentManagerV2 spawn integration is
|
|
15
|
-
// covered by E2E tests; here we validate the delegation logic in isolation.
|
|
16
|
-
|
|
17
|
-
describe('AgentManagerV2 + TopologyPolicy (Phase 4)', () => {
|
|
18
|
-
describe('policy presence', () => {
|
|
19
|
-
it('YamlDrivenTopology is the primary policy for declarative teams', async () => {
|
|
20
|
-
const config = parseTeamWorkspaceConfig({
|
|
21
|
-
roles: {
|
|
22
|
-
peer: {
|
|
23
|
-
workspace: 'new_stream',
|
|
24
|
-
stream_lineage: 'fork_from_team_root',
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
const topology = new YamlDrivenTopology(config!);
|
|
29
|
-
|
|
30
|
-
// Policy name is stable (used for introspection)
|
|
31
|
-
expect(topology.name).toBe('yaml-driven');
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it('onAgentSpawn is invocable via policy reference', async () => {
|
|
35
|
-
const config = parseTeamWorkspaceConfig({
|
|
36
|
-
roles: {
|
|
37
|
-
peer: { workspace: 'none' },
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
const topology = new YamlDrivenTopology(config!);
|
|
41
|
-
|
|
42
|
-
const mockWs = {
|
|
43
|
-
createStreamV3: vi.fn(() => 'stream-1'),
|
|
44
|
-
allocateWorktree: vi.fn(),
|
|
45
|
-
} as unknown as import('../../workspace/types.js').WorkspaceManager;
|
|
46
|
-
|
|
47
|
-
await topology.onTeamStart({
|
|
48
|
-
teamName: 't',
|
|
49
|
-
teamInstanceId: 't-1',
|
|
50
|
-
workspaceConfig: config,
|
|
51
|
-
workspaceManager: mockWs,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const decision = await topology.onAgentSpawn({
|
|
55
|
-
agentId: 'a1',
|
|
56
|
-
role: 'peer',
|
|
57
|
-
workspaceManager: mockWs,
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
expect(decision.kind).toBe('none');
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe('policy absence (legacy path)', () => {
|
|
65
|
-
it('policy=null means AgentManagerV2 uses role-name dispatch (regression guard)', () => {
|
|
66
|
-
// This test documents the behavior contract: when
|
|
67
|
-
// setTopologyPolicy(null) or never called, the legacy switch(role)
|
|
68
|
-
// path in agent-manager-v2.ts:createWorkspaceForRole is the active
|
|
69
|
-
// code path. Validated by existing E2E tests for self-driving.
|
|
70
|
-
expect(true).toBe(true);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
});
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* S1 (completion-detection) unit tests for promptUntilDone's optional
|
|
3
|
-
* `isComplete` predicate.
|
|
4
|
-
*
|
|
5
|
-
* The macro `promptUntilDone` normally completes ONLY when the agent calls the
|
|
6
|
-
* macro done() tool; otherwise it re-prompts "call done()" up to maxFollowUps
|
|
7
|
-
* times (each a slow full turn). The τ agent calls τ's `finish`, not macro
|
|
8
|
-
* done(), so without an external completion predicate the loop exhausts
|
|
9
|
-
* maxFollowUps and Atlas.solve() hangs until the rollout backstop.
|
|
10
|
-
*
|
|
11
|
-
* These tests drive promptUntilDone with a MOCKED acp session `prompt` stream
|
|
12
|
-
* (no live agent) and assert:
|
|
13
|
-
* - an `isComplete` that flips true after the first streamed update breaks the
|
|
14
|
-
* loop on attempt 0, calls terminate(agentId, "completed"), returns
|
|
15
|
-
* completedExternally:true, and does NOT exhaust maxFollowUps;
|
|
16
|
-
* - back-compat: with NO predicate the existing done()-detection is unchanged.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
20
|
-
import { createAgentManagerV2 } from "../agent-manager-v2.js";
|
|
21
|
-
import { AgentStore } from "../agent-store.js";
|
|
22
|
-
import type { AgentManager } from "../agent-manager.js";
|
|
23
|
-
import type { InboxAdapter, TasksAdapter } from "../../adapters/types.js";
|
|
24
|
-
|
|
25
|
-
// ── Mock acp-factory: a controllable per-spawn session.prompt stream ───────
|
|
26
|
-
// `promptStreamFactory` is reassigned per test to control what each prompt
|
|
27
|
-
// attempt yields. `promptCallCount` lets us assert how many attempts ran.
|
|
28
|
-
let promptStreamFactory: () => AsyncIterable<unknown>;
|
|
29
|
-
let promptCallCount = 0;
|
|
30
|
-
// Invoked when the agent handle is closed (i.e. terminate() tears down the
|
|
31
|
-
// session). The silent-stream repro registers a hook here so that ONLY a real
|
|
32
|
-
// terminate() can end its otherwise-forever-blocked stream — faithfully
|
|
33
|
-
// modelling the live "stream ends/throws on teardown" behavior. On the old
|
|
34
|
-
// reactive-only code terminate() is never called mid-stream, so the stream
|
|
35
|
-
// never ends → the for-await hangs (red).
|
|
36
|
-
let onHandleClose: (() => void) | null = null;
|
|
37
|
-
|
|
38
|
-
vi.mock("acp-factory", () => ({
|
|
39
|
-
AgentFactory: {
|
|
40
|
-
spawn: vi.fn().mockResolvedValue({
|
|
41
|
-
createSession: vi.fn().mockResolvedValue({
|
|
42
|
-
id: "provider-session-1",
|
|
43
|
-
prompt: vi.fn().mockImplementation(() => {
|
|
44
|
-
promptCallCount++;
|
|
45
|
-
return promptStreamFactory();
|
|
46
|
-
}),
|
|
47
|
-
forkWithFlush: vi.fn().mockResolvedValue({ id: "forked-session-1" }),
|
|
48
|
-
}),
|
|
49
|
-
loadSession: vi.fn().mockResolvedValue({ id: "loaded-session-1" }),
|
|
50
|
-
close: vi.fn().mockImplementation(async () => {
|
|
51
|
-
onHandleClose?.();
|
|
52
|
-
}),
|
|
53
|
-
isRunning: vi.fn().mockReturnValue(true),
|
|
54
|
-
}),
|
|
55
|
-
},
|
|
56
|
-
}));
|
|
57
|
-
|
|
58
|
-
function createMockInboxAdapter(): InboxAdapter {
|
|
59
|
-
return {
|
|
60
|
-
registerAgent: vi.fn().mockResolvedValue(undefined),
|
|
61
|
-
deregisterAgent: vi.fn().mockResolvedValue(undefined),
|
|
62
|
-
send: vi.fn().mockResolvedValue("msg-1"),
|
|
63
|
-
onDelivery: vi.fn(),
|
|
64
|
-
offDelivery: vi.fn(),
|
|
65
|
-
checkInbox: vi.fn().mockResolvedValue([]),
|
|
66
|
-
readThread: vi.fn().mockResolvedValue([]),
|
|
67
|
-
setSignalFilter: vi.fn(),
|
|
68
|
-
setEmissionValidator: vi.fn(),
|
|
69
|
-
socketPath: "/tmp/test-inbox.sock",
|
|
70
|
-
stop: vi.fn().mockResolvedValue(undefined),
|
|
71
|
-
} as unknown as InboxAdapter;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// A single benign streamed update (an agent message chunk — NOT a done() tool
|
|
75
|
-
// call), used to trigger the isComplete check mid-stream.
|
|
76
|
-
function* oneMessageUpdate(): Generator<unknown> {
|
|
77
|
-
yield {
|
|
78
|
-
sessionUpdate: "agent_message_chunk",
|
|
79
|
-
content: { type: "text", text: "working" },
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// A stream that emits a macro done() tool-call update (title ends with __done),
|
|
84
|
-
// for the back-compat path.
|
|
85
|
-
function* doneToolUpdate(): Generator<unknown> {
|
|
86
|
-
yield {
|
|
87
|
-
sessionUpdate: "tool_call",
|
|
88
|
-
title: "mcp__macro-agent__done",
|
|
89
|
-
rawInput: { status: "completed" },
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
async function* asAsync(gen: Iterable<unknown>): AsyncIterable<unknown> {
|
|
94
|
-
for (const u of gen) yield u;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Reproduces the live τ hang: the agent runs the whole episode in ONE prompt()
|
|
98
|
-
// call, yields a couple of updates, then the stream goes SILENT but does NOT
|
|
99
|
-
// close — the async iterator just blocks forever. With only the reactive
|
|
100
|
-
// per-update / per-attempt checks, isComplete is never re-evaluated and the
|
|
101
|
-
// for-await never unblocks.
|
|
102
|
-
//
|
|
103
|
-
// The ONLY way out is terminate(): it tears down the session (calls
|
|
104
|
-
// handle.close()), which we wire to release the dangling await — faithfully
|
|
105
|
-
// modelling the live "stream ends on teardown" behavior. So on the old
|
|
106
|
-
// reactive-only code (terminate never called mid-stream) the stream NEVER ends
|
|
107
|
-
// → hang (red); the concurrent poller calls terminate → close → release →
|
|
108
|
-
// stream ends → completion (green).
|
|
109
|
-
function silentThenHangStream(): () => AsyncIterable<unknown> {
|
|
110
|
-
let release: () => void = () => {};
|
|
111
|
-
const hang = new Promise<void>((resolve) => {
|
|
112
|
-
release = resolve;
|
|
113
|
-
});
|
|
114
|
-
// terminate() → handle.close() → release the blocked stream.
|
|
115
|
-
onHandleClose = () => release();
|
|
116
|
-
async function* gen(): AsyncIterable<unknown> {
|
|
117
|
-
yield {
|
|
118
|
-
sessionUpdate: "agent_message_chunk",
|
|
119
|
-
content: { type: "text", text: "working 1" },
|
|
120
|
-
};
|
|
121
|
-
yield {
|
|
122
|
-
sessionUpdate: "agent_message_chunk",
|
|
123
|
-
content: { type: "text", text: "working 2" },
|
|
124
|
-
};
|
|
125
|
-
// Silent-but-open: block forever until terminate() releases it — exactly
|
|
126
|
-
// the live failure mode (silent, non-closing iterator).
|
|
127
|
-
await hang;
|
|
128
|
-
}
|
|
129
|
-
return gen;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function createMockTasksAdapter(): TasksAdapter {
|
|
133
|
-
return {
|
|
134
|
-
createTask: vi.fn().mockResolvedValue("ot-task-1"),
|
|
135
|
-
assignTask: vi.fn().mockResolvedValue(undefined),
|
|
136
|
-
transitionTask: vi.fn().mockResolvedValue(undefined),
|
|
137
|
-
getTask: vi.fn().mockResolvedValue(null),
|
|
138
|
-
queryReady: vi.fn().mockResolvedValue([]),
|
|
139
|
-
listTasks: vi.fn().mockResolvedValue([]),
|
|
140
|
-
addBlocker: vi.fn().mockResolvedValue(undefined),
|
|
141
|
-
removeBlocker: vi.fn().mockResolvedValue(undefined),
|
|
142
|
-
claimTask: vi.fn().mockResolvedValue(null),
|
|
143
|
-
unclaimTask: vi.fn().mockResolvedValue(undefined),
|
|
144
|
-
listClaimable: vi.fn().mockResolvedValue([]),
|
|
145
|
-
connect: vi.fn().mockResolvedValue(undefined),
|
|
146
|
-
disconnect: vi.fn(),
|
|
147
|
-
connected: true,
|
|
148
|
-
} as unknown as TasksAdapter;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
describe("promptUntilDone — S1 external completion predicate", () => {
|
|
152
|
-
let agentStore: AgentStore;
|
|
153
|
-
let inboxAdapter: InboxAdapter;
|
|
154
|
-
let manager: AgentManager;
|
|
155
|
-
|
|
156
|
-
beforeEach(() => {
|
|
157
|
-
promptCallCount = 0;
|
|
158
|
-
onHandleClose = null;
|
|
159
|
-
agentStore = new AgentStore(":memory:");
|
|
160
|
-
inboxAdapter = createMockInboxAdapter();
|
|
161
|
-
manager = createAgentManagerV2(agentStore, inboxAdapter, createMockTasksAdapter(), {
|
|
162
|
-
defaultCwd: "/tmp/test",
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
afterEach(async () => {
|
|
167
|
-
await manager.close();
|
|
168
|
-
agentStore.close();
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
it("breaks on attempt 0 when isComplete flips true after the first update; terminates 'completed'; completedExternally:true; does NOT exhaust maxFollowUps", async () => {
|
|
172
|
-
promptStreamFactory = () => asAsync(oneMessageUpdate());
|
|
173
|
-
|
|
174
|
-
const spawned = await manager.spawn({ task: "tau episode", role: "worker" });
|
|
175
|
-
expect(manager.hasActiveSession(spawned.id)).toBe(true);
|
|
176
|
-
|
|
177
|
-
// Flip true after the first update is observed.
|
|
178
|
-
let updates = 0;
|
|
179
|
-
const isComplete = vi.fn(() => {
|
|
180
|
-
updates++;
|
|
181
|
-
return updates >= 1; // true from the first check on
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
const maxFollowUps = 16;
|
|
185
|
-
const result = await manager.promptUntilDone(spawned.id, "go", {
|
|
186
|
-
maxFollowUps,
|
|
187
|
-
isComplete,
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
expect(result.completedExternally).toBe(true);
|
|
191
|
-
expect(result.doneCalled).toBe(false);
|
|
192
|
-
// Only the initial attempt ran — no "please call done()" re-prompts.
|
|
193
|
-
expect(promptCallCount).toBe(1);
|
|
194
|
-
expect(isComplete).toHaveBeenCalled();
|
|
195
|
-
// Mirrors the done() path: the agent is terminated (its active session is
|
|
196
|
-
// torn down + the store record transitions to "stopped"). terminate() is an
|
|
197
|
-
// internal closure call, so we observe its EFFECT rather than spy on it.
|
|
198
|
-
expect(manager.hasActiveSession(spawned.id)).toBe(false);
|
|
199
|
-
expect(agentStore.getAgent(spawned.id)!.state).toBe("stopped");
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
it("REPRO (live hang): silent-but-open stream + poll-only isComplete → concurrent poller terminates and returns bounded (completedExternally:true, promptCallCount===1)", async () => {
|
|
203
|
-
// The stream yields 2 updates then blocks forever without closing. The
|
|
204
|
-
// predicate is true from the start but can ONLY be observed via the
|
|
205
|
-
// concurrent poller, because no further updates arrive to drive the
|
|
206
|
-
// reactive per-update check, and the per-attempt check never runs (the
|
|
207
|
-
// for-await never ends on its own). On the OLD reactive-only code this
|
|
208
|
-
// test HANGS until the vitest timeout (red). With the concurrent poller it
|
|
209
|
-
// returns within a few poll intervals (green).
|
|
210
|
-
promptStreamFactory = silentThenHangStream();
|
|
211
|
-
|
|
212
|
-
const spawned = await manager.spawn({ task: "tau episode (silent)", role: "worker" });
|
|
213
|
-
expect(manager.hasActiveSession(spawned.id)).toBe(true);
|
|
214
|
-
|
|
215
|
-
// FALSE during the streamed updates (so the reactive per-update check
|
|
216
|
-
// (a) does NOT catch it), then TRUE once the episode has externally
|
|
217
|
-
// completed. After the 2 updates the stream goes silent forever, so the
|
|
218
|
-
// reactive checks never run again — ONLY the concurrent poller can observe
|
|
219
|
-
// the flip. (The 2 per-update reactive checks consume the first 2 false
|
|
220
|
-
// returns; everything after — i.e. the poller — sees true.)
|
|
221
|
-
let checks = 0;
|
|
222
|
-
const isComplete = vi.fn(() => {
|
|
223
|
-
checks++;
|
|
224
|
-
return checks > 2;
|
|
225
|
-
});
|
|
226
|
-
|
|
227
|
-
const pollIntervalMs = 20;
|
|
228
|
-
const maxFollowUps = 16;
|
|
229
|
-
|
|
230
|
-
const start = Date.now();
|
|
231
|
-
const result = await manager.promptUntilDone(spawned.id, "go", {
|
|
232
|
-
maxFollowUps,
|
|
233
|
-
isComplete,
|
|
234
|
-
pollIntervalMs,
|
|
235
|
-
});
|
|
236
|
-
const elapsed = Date.now() - start;
|
|
237
|
-
|
|
238
|
-
// Bounded return — NOT a hang, NOT maxFollowUps exhaustion.
|
|
239
|
-
expect(elapsed).toBeLessThan(2000);
|
|
240
|
-
expect(result.completedExternally).toBe(true);
|
|
241
|
-
expect(result.doneCalled).toBe(false);
|
|
242
|
-
// The whole episode is one prompt() call; no re-prompts.
|
|
243
|
-
expect(promptCallCount).toBe(1);
|
|
244
|
-
expect(isComplete).toHaveBeenCalled();
|
|
245
|
-
// terminate('completed') was effected: session torn down + store stopped.
|
|
246
|
-
expect(manager.hasActiveSession(spawned.id)).toBe(false);
|
|
247
|
-
expect(agentStore.getAgent(spawned.id)!.state).toBe("stopped");
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
it("back-compat: with NO predicate, done()-detection is unchanged (doneCalled true, completedExternally false, terminate 'completed')", async () => {
|
|
251
|
-
promptStreamFactory = () => asAsync(doneToolUpdate());
|
|
252
|
-
|
|
253
|
-
const spawned = await manager.spawn({ task: "normal agent", role: "worker" });
|
|
254
|
-
|
|
255
|
-
const result = await manager.promptUntilDone(spawned.id, "go", {
|
|
256
|
-
maxFollowUps: 2,
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
expect(result.doneCalled).toBe(true);
|
|
260
|
-
expect(result.doneStatus).toBe("completed");
|
|
261
|
-
expect(result.completedExternally).toBe(false);
|
|
262
|
-
expect(promptCallCount).toBe(1);
|
|
263
|
-
// done()-detection still terminates the agent (unchanged behavior).
|
|
264
|
-
expect(manager.hasActiveSession(spawned.id)).toBe(false);
|
|
265
|
-
expect(agentStore.getAgent(spawned.id)!.state).toBe("stopped");
|
|
266
|
-
});
|
|
267
|
-
|
|
268
|
-
it("no predicate + no done(): exhausts maxFollowUps (unchanged re-prompt behavior)", async () => {
|
|
269
|
-
// Empty stream each attempt — agent never calls done(), no predicate.
|
|
270
|
-
promptStreamFactory = () => asAsync([]);
|
|
271
|
-
|
|
272
|
-
const spawned = await manager.spawn({ task: "silent agent", role: "worker" });
|
|
273
|
-
|
|
274
|
-
const maxFollowUps = 3;
|
|
275
|
-
const result = await manager.promptUntilDone(spawned.id, "go", {
|
|
276
|
-
maxFollowUps,
|
|
277
|
-
});
|
|
278
|
-
|
|
279
|
-
expect(result.doneCalled).toBe(false);
|
|
280
|
-
expect(result.completedExternally).toBe(false);
|
|
281
|
-
// Initial attempt + maxFollowUps re-prompts = maxFollowUps + 1 prompt calls.
|
|
282
|
-
expect(promptCallCount).toBe(maxFollowUps + 1);
|
|
283
|
-
});
|
|
284
|
-
});
|