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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Address Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves MAP addresses to concrete agent IDs, with special handling
|
|
5
|
+
* for hierarchical addresses (parent, children, ancestors, descendants, siblings)
|
|
6
|
+
* that are relative to the sender.
|
|
7
|
+
*
|
|
8
|
+
* @module router/address-resolver
|
|
9
|
+
* @see specs/s-5qir_map_integration_for_macro_agent.md
|
|
10
|
+
*/
|
|
11
|
+
import type { AgentId } from "../store/types/index.js";
|
|
12
|
+
import type { Address, HierarchicalAddress } from "../map/types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Agent info required for hierarchy resolution.
|
|
15
|
+
*/
|
|
16
|
+
export interface HierarchyAgentInfo {
|
|
17
|
+
id: AgentId;
|
|
18
|
+
parent?: AgentId | null;
|
|
19
|
+
lineage: AgentId[];
|
|
20
|
+
state: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Source for agent hierarchy information.
|
|
24
|
+
*/
|
|
25
|
+
export interface HierarchySource {
|
|
26
|
+
getAgent(id: AgentId): HierarchyAgentInfo | undefined;
|
|
27
|
+
listAgents(): HierarchyAgentInfo[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Result of resolving an address.
|
|
31
|
+
*/
|
|
32
|
+
export interface ResolvedAddress {
|
|
33
|
+
/** Resolved agent IDs */
|
|
34
|
+
agentIds: AgentId[];
|
|
35
|
+
/** Type of resolution performed */
|
|
36
|
+
type: "direct" | "hierarchical" | "structural" | "broadcast" | "task";
|
|
37
|
+
/** Original address for reference */
|
|
38
|
+
originalAddress: Address;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resolve parent address to sender's parent agent.
|
|
42
|
+
*
|
|
43
|
+
* @param senderId - The agent sending the message
|
|
44
|
+
* @param hierarchy - Source for hierarchy information
|
|
45
|
+
* @returns Array containing parent ID, or empty if no parent
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveParent(senderId: AgentId, hierarchy: HierarchySource): AgentId[];
|
|
48
|
+
/**
|
|
49
|
+
* Resolve children address to sender's child agents.
|
|
50
|
+
*
|
|
51
|
+
* @param senderId - The agent sending the message
|
|
52
|
+
* @param depth - Maximum depth (1 = direct children only)
|
|
53
|
+
* @param hierarchy - Source for hierarchy information
|
|
54
|
+
* @returns Array of child agent IDs
|
|
55
|
+
*/
|
|
56
|
+
export declare function resolveChildren(senderId: AgentId, depth: number | undefined, hierarchy: HierarchySource): AgentId[];
|
|
57
|
+
/**
|
|
58
|
+
* Resolve ancestors address to sender's ancestor agents.
|
|
59
|
+
*
|
|
60
|
+
* @param senderId - The agent sending the message
|
|
61
|
+
* @param depth - Maximum depth (Infinity = all ancestors)
|
|
62
|
+
* @param hierarchy - Source for hierarchy information
|
|
63
|
+
* @returns Array of ancestor agent IDs (closest first)
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveAncestors(senderId: AgentId, depth: number | undefined, hierarchy: HierarchySource): AgentId[];
|
|
66
|
+
/**
|
|
67
|
+
* Resolve descendants address to all agents descended from sender.
|
|
68
|
+
*
|
|
69
|
+
* @param senderId - The agent sending the message
|
|
70
|
+
* @param depth - Maximum depth (Infinity = all descendants)
|
|
71
|
+
* @param hierarchy - Source for hierarchy information
|
|
72
|
+
* @returns Array of descendant agent IDs
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveDescendants(senderId: AgentId, depth: number | undefined, hierarchy: HierarchySource): AgentId[];
|
|
75
|
+
/**
|
|
76
|
+
* Resolve siblings address to agents sharing the same parent as sender.
|
|
77
|
+
*
|
|
78
|
+
* @param senderId - The agent sending the message
|
|
79
|
+
* @param hierarchy - Source for hierarchy information
|
|
80
|
+
* @returns Array of sibling agent IDs (excludes sender)
|
|
81
|
+
*/
|
|
82
|
+
export declare function resolveSiblings(senderId: AgentId, hierarchy: HierarchySource): AgentId[];
|
|
83
|
+
/**
|
|
84
|
+
* Resolve a hierarchical address to concrete agent IDs.
|
|
85
|
+
*
|
|
86
|
+
* @param address - The hierarchical address to resolve
|
|
87
|
+
* @param senderId - The agent sending the message
|
|
88
|
+
* @param hierarchy - Source for hierarchy information
|
|
89
|
+
* @returns Resolved address with agent IDs
|
|
90
|
+
*/
|
|
91
|
+
export declare function resolveHierarchicalAddress(address: HierarchicalAddress, senderId: AgentId, hierarchy: HierarchySource): ResolvedAddress;
|
|
92
|
+
/**
|
|
93
|
+
* Check if a hierarchical address will resolve to any agents.
|
|
94
|
+
* Useful for validation before sending.
|
|
95
|
+
*
|
|
96
|
+
* @param address - The hierarchical address to check
|
|
97
|
+
* @param senderId - The agent sending the message
|
|
98
|
+
* @param hierarchy - Source for hierarchy information
|
|
99
|
+
* @returns True if address resolves to at least one agent
|
|
100
|
+
*/
|
|
101
|
+
export declare function hasRecipients(address: HierarchicalAddress, senderId: AgentId, hierarchy: HierarchySource): boolean;
|
|
102
|
+
//# sourceMappingURL=address-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-resolver.d.ts","sourceRoot":"","sources":["../../src/router/address-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EAMpB,MAAM,iBAAiB,CAAC;AAoBzB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACtD,UAAU,IAAI,kBAAkB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mCAAmC;IACnC,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;IACtE,qCAAqC;IACrC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CAaX;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,YAAI,EACjB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CA2BX;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,YAAW,EACxB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CAmBX;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,YAAW,EACxB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CA0BX;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CAoBX;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,eAAe,GACzB,eAAe,CAuBjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,eAAe,GACzB,OAAO,CAGT"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Address Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves MAP addresses to concrete agent IDs, with special handling
|
|
5
|
+
* for hierarchical addresses (parent, children, ancestors, descendants, siblings)
|
|
6
|
+
* that are relative to the sender.
|
|
7
|
+
*
|
|
8
|
+
* @module router/address-resolver
|
|
9
|
+
* @see specs/s-5qir_map_integration_for_macro_agent.md
|
|
10
|
+
*/
|
|
11
|
+
import { isParentAddress, isChildrenAddress, isAncestorsAddress, isDescendantsAddress, isSiblingsAddress, } from "../map/types.js";
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Hierarchical Resolution Functions
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Resolve parent address to sender's parent agent.
|
|
17
|
+
*
|
|
18
|
+
* @param senderId - The agent sending the message
|
|
19
|
+
* @param hierarchy - Source for hierarchy information
|
|
20
|
+
* @returns Array containing parent ID, or empty if no parent
|
|
21
|
+
*/
|
|
22
|
+
export function resolveParent(senderId, hierarchy) {
|
|
23
|
+
const sender = hierarchy.getAgent(senderId);
|
|
24
|
+
if (!sender?.parent) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
// Verify parent exists and is running
|
|
28
|
+
const parent = hierarchy.getAgent(sender.parent);
|
|
29
|
+
if (!parent || parent.state !== "running") {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
return [sender.parent];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve children address to sender's child agents.
|
|
36
|
+
*
|
|
37
|
+
* @param senderId - The agent sending the message
|
|
38
|
+
* @param depth - Maximum depth (1 = direct children only)
|
|
39
|
+
* @param hierarchy - Source for hierarchy information
|
|
40
|
+
* @returns Array of child agent IDs
|
|
41
|
+
*/
|
|
42
|
+
export function resolveChildren(senderId, depth = 1, hierarchy) {
|
|
43
|
+
const agents = hierarchy.listAgents();
|
|
44
|
+
return agents
|
|
45
|
+
.filter((agent) => {
|
|
46
|
+
// Only include running agents
|
|
47
|
+
if (agent.state !== "running") {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// For depth 1, only direct children (parent === senderId)
|
|
51
|
+
if (depth === 1) {
|
|
52
|
+
return agent.parent === senderId;
|
|
53
|
+
}
|
|
54
|
+
// For depth > 1, check lineage position
|
|
55
|
+
// EventStore lineage is ordered root-to-parent (oldest to newest)
|
|
56
|
+
// The depth from sender to agent is (lineage.length - lineageIndex)
|
|
57
|
+
const lineageIndex = agent.lineage.indexOf(senderId);
|
|
58
|
+
if (lineageIndex === -1) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
const agentDepth = agent.lineage.length - lineageIndex;
|
|
62
|
+
return agentDepth <= depth;
|
|
63
|
+
})
|
|
64
|
+
.map((agent) => agent.id);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolve ancestors address to sender's ancestor agents.
|
|
68
|
+
*
|
|
69
|
+
* @param senderId - The agent sending the message
|
|
70
|
+
* @param depth - Maximum depth (Infinity = all ancestors)
|
|
71
|
+
* @param hierarchy - Source for hierarchy information
|
|
72
|
+
* @returns Array of ancestor agent IDs (closest first)
|
|
73
|
+
*/
|
|
74
|
+
export function resolveAncestors(senderId, depth = Infinity, hierarchy) {
|
|
75
|
+
const sender = hierarchy.getAgent(senderId);
|
|
76
|
+
if (!sender || sender.lineage.length === 0) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
// EventStore lineage is ordered from root to parent (oldest to newest)
|
|
80
|
+
// For depth=1, we want just the direct parent (last element)
|
|
81
|
+
// For depth=2, we want parent and grandparent (last 2 elements)
|
|
82
|
+
// We reverse to get closest ancestors first
|
|
83
|
+
const reversedLineage = [...sender.lineage].reverse();
|
|
84
|
+
const ancestorsToCheck = depth === Infinity ? reversedLineage : reversedLineage.slice(0, depth);
|
|
85
|
+
// Filter to only running ancestors
|
|
86
|
+
return ancestorsToCheck.filter((ancestorId) => {
|
|
87
|
+
const ancestor = hierarchy.getAgent(ancestorId);
|
|
88
|
+
return ancestor && ancestor.state === "running";
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolve descendants address to all agents descended from sender.
|
|
93
|
+
*
|
|
94
|
+
* @param senderId - The agent sending the message
|
|
95
|
+
* @param depth - Maximum depth (Infinity = all descendants)
|
|
96
|
+
* @param hierarchy - Source for hierarchy information
|
|
97
|
+
* @returns Array of descendant agent IDs
|
|
98
|
+
*/
|
|
99
|
+
export function resolveDescendants(senderId, depth = Infinity, hierarchy) {
|
|
100
|
+
const agents = hierarchy.listAgents();
|
|
101
|
+
return agents
|
|
102
|
+
.filter((agent) => {
|
|
103
|
+
// Only include running agents
|
|
104
|
+
if (agent.state !== "running") {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
// Check if senderId is in this agent's lineage
|
|
108
|
+
const lineageIndex = agent.lineage.indexOf(senderId);
|
|
109
|
+
if (lineageIndex === -1) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
// EventStore lineage is ordered root-to-parent (oldest to newest)
|
|
113
|
+
// The depth from sender to agent is (lineage.length - lineageIndex)
|
|
114
|
+
// Example: lineage [root, parent], sender=root, lineageIndex=0
|
|
115
|
+
// depth = 2 - 0 = 2 (grandchild of root)
|
|
116
|
+
// Example: lineage [root], sender=root, lineageIndex=0
|
|
117
|
+
// depth = 1 - 0 = 1 (direct child of root)
|
|
118
|
+
const agentDepth = agent.lineage.length - lineageIndex;
|
|
119
|
+
return depth === Infinity || agentDepth <= depth;
|
|
120
|
+
})
|
|
121
|
+
.map((agent) => agent.id);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Resolve siblings address to agents sharing the same parent as sender.
|
|
125
|
+
*
|
|
126
|
+
* @param senderId - The agent sending the message
|
|
127
|
+
* @param hierarchy - Source for hierarchy information
|
|
128
|
+
* @returns Array of sibling agent IDs (excludes sender)
|
|
129
|
+
*/
|
|
130
|
+
export function resolveSiblings(senderId, hierarchy) {
|
|
131
|
+
const sender = hierarchy.getAgent(senderId);
|
|
132
|
+
if (!sender?.parent) {
|
|
133
|
+
// Root agents have no siblings (no parent)
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
const agents = hierarchy.listAgents();
|
|
137
|
+
return agents
|
|
138
|
+
.filter((agent) => {
|
|
139
|
+
// Only include running agents
|
|
140
|
+
if (agent.state !== "running") {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
// Same parent, but not the sender
|
|
144
|
+
return agent.parent === sender.parent && agent.id !== senderId;
|
|
145
|
+
})
|
|
146
|
+
.map((agent) => agent.id);
|
|
147
|
+
}
|
|
148
|
+
// =============================================================================
|
|
149
|
+
// Main Resolution Function
|
|
150
|
+
// =============================================================================
|
|
151
|
+
/**
|
|
152
|
+
* Resolve a hierarchical address to concrete agent IDs.
|
|
153
|
+
*
|
|
154
|
+
* @param address - The hierarchical address to resolve
|
|
155
|
+
* @param senderId - The agent sending the message
|
|
156
|
+
* @param hierarchy - Source for hierarchy information
|
|
157
|
+
* @returns Resolved address with agent IDs
|
|
158
|
+
*/
|
|
159
|
+
export function resolveHierarchicalAddress(address, senderId, hierarchy) {
|
|
160
|
+
let agentIds = [];
|
|
161
|
+
if (isParentAddress(address)) {
|
|
162
|
+
agentIds = resolveParent(senderId, hierarchy);
|
|
163
|
+
}
|
|
164
|
+
else if (isChildrenAddress(address)) {
|
|
165
|
+
const depth = address.depth ?? 1;
|
|
166
|
+
agentIds = resolveChildren(senderId, depth, hierarchy);
|
|
167
|
+
}
|
|
168
|
+
else if (isAncestorsAddress(address)) {
|
|
169
|
+
const depth = address.depth ?? Infinity;
|
|
170
|
+
agentIds = resolveAncestors(senderId, depth, hierarchy);
|
|
171
|
+
}
|
|
172
|
+
else if (isDescendantsAddress(address)) {
|
|
173
|
+
const depth = address.depth ?? Infinity;
|
|
174
|
+
agentIds = resolveDescendants(senderId, depth, hierarchy);
|
|
175
|
+
}
|
|
176
|
+
else if (isSiblingsAddress(address)) {
|
|
177
|
+
agentIds = resolveSiblings(senderId, hierarchy);
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
agentIds,
|
|
181
|
+
type: "hierarchical",
|
|
182
|
+
originalAddress: address,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Check if a hierarchical address will resolve to any agents.
|
|
187
|
+
* Useful for validation before sending.
|
|
188
|
+
*
|
|
189
|
+
* @param address - The hierarchical address to check
|
|
190
|
+
* @param senderId - The agent sending the message
|
|
191
|
+
* @param hierarchy - Source for hierarchy information
|
|
192
|
+
* @returns True if address resolves to at least one agent
|
|
193
|
+
*/
|
|
194
|
+
export function hasRecipients(address, senderId, hierarchy) {
|
|
195
|
+
const resolved = resolveHierarchicalAddress(address, senderId, hierarchy);
|
|
196
|
+
return resolved.agentIds.length > 0;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=address-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-resolver.js","sourceRoot":"","sources":["../../src/router/address-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broadcast Channel Resolution
|
|
3
|
+
*
|
|
4
|
+
* Handles fan-out delivery for broadcast channels with scope filtering.
|
|
5
|
+
*
|
|
6
|
+
* @module router/broadcast
|
|
7
|
+
* @see s-9rld In-Flight Steering spec section 3.2
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentId } from "../store/types/index.js";
|
|
10
|
+
import type { BroadcastScope } from "./types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Agent info required for broadcast resolution
|
|
13
|
+
*/
|
|
14
|
+
export interface BroadcastAgentInfo {
|
|
15
|
+
id: AgentId;
|
|
16
|
+
state: string;
|
|
17
|
+
role?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Agent source for broadcast resolution
|
|
21
|
+
*/
|
|
22
|
+
export interface BroadcastAgentSource {
|
|
23
|
+
listAgents(): BroadcastAgentInfo[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a role matches a broadcast scope.
|
|
27
|
+
*
|
|
28
|
+
* Scope mappings:
|
|
29
|
+
* - 'all': matches all agents
|
|
30
|
+
* - 'coordinators': matches 'coordinator' role and any 'coordinator.*' subroles
|
|
31
|
+
* - 'workers': matches 'worker' role and any 'worker.*' subroles
|
|
32
|
+
* - 'monitors': matches 'monitor' role and any 'monitor.*' subroles
|
|
33
|
+
*/
|
|
34
|
+
export declare function matchesBroadcastScope(role: string | undefined, scope: BroadcastScope): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Get all agents that should receive a broadcast message.
|
|
37
|
+
*
|
|
38
|
+
* @param agentSource - Source for listing agents
|
|
39
|
+
* @param scope - Optional scope filter (default: 'all')
|
|
40
|
+
* @returns Array of agent IDs to deliver message to
|
|
41
|
+
*/
|
|
42
|
+
export declare function getBroadcastRecipients(agentSource: BroadcastAgentSource, scope?: BroadcastScope): AgentId[];
|
|
43
|
+
/**
|
|
44
|
+
* Resolve a broadcast target to recipient agent IDs.
|
|
45
|
+
*
|
|
46
|
+
* @param agentSource - Source for listing agents
|
|
47
|
+
* @param target - Broadcast target with optional scope
|
|
48
|
+
* @returns Array of agent IDs for fan-out delivery
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveBroadcastTarget(agentSource: BroadcastAgentSource, target: {
|
|
51
|
+
scope?: BroadcastScope;
|
|
52
|
+
}): AgentId[];
|
|
53
|
+
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/router/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,IAAI,kBAAkB,EAAE,CAAC;CACpC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,cAAc,GACpB,OAAO,CAsBT;AAMD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,oBAAoB,EACjC,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,EAAE,CAgBX;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,GACjC,OAAO,EAAE,CAEX"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broadcast Channel Resolution
|
|
3
|
+
*
|
|
4
|
+
* Handles fan-out delivery for broadcast channels with scope filtering.
|
|
5
|
+
*
|
|
6
|
+
* @module router/broadcast
|
|
7
|
+
* @see s-9rld In-Flight Steering spec section 3.2
|
|
8
|
+
*/
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Scope Matching
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Check if a role matches a broadcast scope.
|
|
14
|
+
*
|
|
15
|
+
* Scope mappings:
|
|
16
|
+
* - 'all': matches all agents
|
|
17
|
+
* - 'coordinators': matches 'coordinator' role and any 'coordinator.*' subroles
|
|
18
|
+
* - 'workers': matches 'worker' role and any 'worker.*' subroles
|
|
19
|
+
* - 'monitors': matches 'monitor' role and any 'monitor.*' subroles
|
|
20
|
+
*/
|
|
21
|
+
export function matchesBroadcastScope(role, scope) {
|
|
22
|
+
if (scope === "all") {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
if (!role) {
|
|
26
|
+
// Agents without a role default to worker behavior
|
|
27
|
+
return scope === "workers";
|
|
28
|
+
}
|
|
29
|
+
// Map scope to role prefix
|
|
30
|
+
const scopeToRolePrefix = {
|
|
31
|
+
all: "", // Already handled above
|
|
32
|
+
coordinators: "coordinator",
|
|
33
|
+
workers: "worker",
|
|
34
|
+
monitors: "monitor",
|
|
35
|
+
};
|
|
36
|
+
const rolePrefix = scopeToRolePrefix[scope];
|
|
37
|
+
// Match exact role or subrole (e.g., "worker" or "worker.resolver")
|
|
38
|
+
return role === rolePrefix || role.startsWith(`${rolePrefix}.`);
|
|
39
|
+
}
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// Broadcast Resolution
|
|
42
|
+
// =============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Get all agents that should receive a broadcast message.
|
|
45
|
+
*
|
|
46
|
+
* @param agentSource - Source for listing agents
|
|
47
|
+
* @param scope - Optional scope filter (default: 'all')
|
|
48
|
+
* @returns Array of agent IDs to deliver message to
|
|
49
|
+
*/
|
|
50
|
+
export function getBroadcastRecipients(agentSource, scope) {
|
|
51
|
+
const effectiveScope = scope ?? "all";
|
|
52
|
+
const agents = agentSource.listAgents();
|
|
53
|
+
// Filter to running agents that match the scope
|
|
54
|
+
return agents
|
|
55
|
+
.filter((agent) => {
|
|
56
|
+
// Only include running agents
|
|
57
|
+
if (agent.state !== "running") {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
// Check scope match
|
|
61
|
+
return matchesBroadcastScope(agent.role, effectiveScope);
|
|
62
|
+
})
|
|
63
|
+
.map((agent) => agent.id);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Resolve a broadcast target to recipient agent IDs.
|
|
67
|
+
*
|
|
68
|
+
* @param agentSource - Source for listing agents
|
|
69
|
+
* @param target - Broadcast target with optional scope
|
|
70
|
+
* @returns Array of agent IDs for fan-out delivery
|
|
71
|
+
*/
|
|
72
|
+
export function resolveBroadcastTarget(agentSource, target) {
|
|
73
|
+
return getBroadcastRecipients(agentSource, target.scope);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/router/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyBH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,KAAqB;IAErB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,mDAAmD;QACnD,OAAO,KAAK,KAAK,SAAS,CAAC;IAC7B,CAAC;IAED,2BAA2B;IAC3B,MAAM,iBAAiB,GAAmC;QACxD,GAAG,EAAE,EAAE,EAAE,wBAAwB;QACjC,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;KACpB,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5C,oEAAoE;IACpE,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAiC,EACjC,KAAsB;IAEtB,MAAM,cAAc,GAAG,KAAK,IAAI,KAAK,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAExC,gDAAgD;IAChD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,8BAA8B;QAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oBAAoB;QACpB,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAiC,EACjC,MAAkC;IAElC,OAAO,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Channel Types
|
|
3
|
+
*
|
|
4
|
+
* Extended channel types for agent communication including
|
|
5
|
+
* broadcast and role-based addressing.
|
|
6
|
+
*
|
|
7
|
+
* @module router/channels
|
|
8
|
+
* @see s-9rld In-Flight Steering spec section 3.2
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentId, TaskId } from "../store/types/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* All supported channel types
|
|
13
|
+
*/
|
|
14
|
+
export type ChannelType = "agent" | "task" | "lineage" | "subtree" | "topic" | "broadcast" | "role";
|
|
15
|
+
/**
|
|
16
|
+
* Direct agent channel
|
|
17
|
+
*/
|
|
18
|
+
export interface AgentChannel {
|
|
19
|
+
type: "agent";
|
|
20
|
+
id: AgentId;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Task channel - routes to task's assigned agent
|
|
24
|
+
*/
|
|
25
|
+
export interface TaskChannel {
|
|
26
|
+
type: "task";
|
|
27
|
+
id: TaskId;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Lineage channel - messages from ancestors
|
|
31
|
+
*/
|
|
32
|
+
export interface LineageChannel {
|
|
33
|
+
type: "lineage";
|
|
34
|
+
agentId: AgentId;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Subtree channel - events from descendants
|
|
38
|
+
*/
|
|
39
|
+
export interface SubtreeChannel {
|
|
40
|
+
type: "subtree";
|
|
41
|
+
agentId: AgentId;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Topic channel - topic-based pub/sub
|
|
45
|
+
*/
|
|
46
|
+
export interface TopicChannel {
|
|
47
|
+
type: "topic";
|
|
48
|
+
topic: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Broadcast channel - fan-out to all subscribers
|
|
52
|
+
*/
|
|
53
|
+
export interface BroadcastChannel {
|
|
54
|
+
type: "broadcast";
|
|
55
|
+
/** Optional scope for targeted broadcasts */
|
|
56
|
+
scope?: "all" | "coordinators" | "workers" | "monitors";
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Role channel - dynamic resolution by agent role
|
|
60
|
+
* Uses @role syntax (e.g., @workers, @integrator)
|
|
61
|
+
*/
|
|
62
|
+
export interface RoleChannel {
|
|
63
|
+
type: "role";
|
|
64
|
+
/** Role name to target (e.g., "worker", "integrator", "monitor") */
|
|
65
|
+
role: string;
|
|
66
|
+
/** Optional scope to specific coordinator's agents */
|
|
67
|
+
coordinatorId?: AgentId;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Union of all channel specifications
|
|
71
|
+
*/
|
|
72
|
+
export type Channel = AgentChannel | TaskChannel | LineageChannel | SubtreeChannel | TopicChannel | BroadcastChannel | RoleChannel;
|
|
73
|
+
import type { MessagePriority } from "./types.js";
|
|
74
|
+
export type { MessagePriority } from "./types.js";
|
|
75
|
+
/**
|
|
76
|
+
* Priority level numeric values for ordering
|
|
77
|
+
*/
|
|
78
|
+
export declare const PRIORITY_VALUES: Record<MessagePriority, number>;
|
|
79
|
+
/**
|
|
80
|
+
* Compare two priorities (higher priority = larger value)
|
|
81
|
+
*/
|
|
82
|
+
export declare function comparePriority(a: MessagePriority, b: MessagePriority): number;
|
|
83
|
+
/**
|
|
84
|
+
* Message delivery mode
|
|
85
|
+
*/
|
|
86
|
+
export type DeliveryMode = "queue" | "interrupt";
|
|
87
|
+
/**
|
|
88
|
+
* Group resolution strategy
|
|
89
|
+
*/
|
|
90
|
+
export type GroupResolution = "send-time" | "receive-time";
|
|
91
|
+
/**
|
|
92
|
+
* Create an agent channel
|
|
93
|
+
*/
|
|
94
|
+
export declare function agentChannel(id: AgentId): AgentChannel;
|
|
95
|
+
/**
|
|
96
|
+
* Create a task channel
|
|
97
|
+
*/
|
|
98
|
+
export declare function taskChannel(id: TaskId): TaskChannel;
|
|
99
|
+
/**
|
|
100
|
+
* Create a topic channel
|
|
101
|
+
*/
|
|
102
|
+
export declare function topicChannel(topic: string): TopicChannel;
|
|
103
|
+
/**
|
|
104
|
+
* Create a broadcast channel
|
|
105
|
+
*/
|
|
106
|
+
export declare function broadcastChannel(scope?: BroadcastChannel["scope"]): BroadcastChannel;
|
|
107
|
+
/**
|
|
108
|
+
* Create a role channel
|
|
109
|
+
*/
|
|
110
|
+
export declare function roleChannel(role: string, coordinatorId?: AgentId): RoleChannel;
|
|
111
|
+
/**
|
|
112
|
+
* Create a lineage channel
|
|
113
|
+
*/
|
|
114
|
+
export declare function lineageChannel(agentId: AgentId): LineageChannel;
|
|
115
|
+
/**
|
|
116
|
+
* Create a subtree channel
|
|
117
|
+
*/
|
|
118
|
+
export declare function subtreeChannel(agentId: AgentId): SubtreeChannel;
|
|
119
|
+
/**
|
|
120
|
+
* Parse @role syntax to role channel
|
|
121
|
+
* Examples: @workers, @integrator, @monitor
|
|
122
|
+
*/
|
|
123
|
+
export declare function parseRoleSyntax(syntax: string, coordinatorId?: AgentId): RoleChannel | null;
|
|
124
|
+
/**
|
|
125
|
+
* Check if channel is an agent channel
|
|
126
|
+
*/
|
|
127
|
+
export declare function isAgentChannel(channel: Channel): channel is AgentChannel;
|
|
128
|
+
/**
|
|
129
|
+
* Check if channel is a task channel
|
|
130
|
+
*/
|
|
131
|
+
export declare function isTaskChannel(channel: Channel): channel is TaskChannel;
|
|
132
|
+
/**
|
|
133
|
+
* Check if channel is a topic channel
|
|
134
|
+
*/
|
|
135
|
+
export declare function isTopicChannel(channel: Channel): channel is TopicChannel;
|
|
136
|
+
/**
|
|
137
|
+
* Check if channel is a broadcast channel
|
|
138
|
+
*/
|
|
139
|
+
export declare function isBroadcastChannel(channel: Channel): channel is BroadcastChannel;
|
|
140
|
+
/**
|
|
141
|
+
* Check if channel is a role channel
|
|
142
|
+
*/
|
|
143
|
+
export declare function isRoleChannel(channel: Channel): channel is RoleChannel;
|
|
144
|
+
/**
|
|
145
|
+
* Check if channel targets multiple recipients
|
|
146
|
+
*/
|
|
147
|
+
export declare function isMulticastChannel(channel: Channel): boolean;
|
|
148
|
+
//# sourceMappingURL=channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/router/channels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAM/D;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,WAAW,GACX,MAAM,CAAC;AAMX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GACf,YAAY,GACZ,WAAW,GACX,cAAc,GACd,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,WAAW,CAAC;AAOhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,GACjB,MAAM,CAER;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,WAAW,CAAC;AAMhB;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,cAAc,CAAC;AAMnB;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAEnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAChC,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,GACtB,WAAW,CAEb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAE/D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,OAAO,GACtB,WAAW,GAAG,IAAI,CASpB;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAExE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAExE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,gBAAgB,CAE7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAO5D"}
|