crewly 1.6.5 → 1.7.0
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/config/roles/auditor/prompt.md +24 -0
- package/config/roles/developer/prompt.md +2 -1
- package/config/roles/orchestrator/prompt.md +74 -2
- package/config/roles/team-leader/prompt.md +6 -0
- package/config/skills/agent/core/create-request/SKILL.md +1 -1
- package/config/skills/agent/core/create-request/execute.sh +29 -2
- package/config/skills/agent/core/create-request/execute.test.sh +168 -0
- package/config/skills/agent/core/report-status/SKILL.md +8 -1
- package/config/skills/agent/core/report-status/execute.sh +23 -1
- package/config/skills/orchestrator/heartbeat/execute.sh +48 -6
- package/config/sops/common/mid-flight-milestone-surface.md +128 -0
- package/config/sops/common/owner-facing-communication.md +46 -2
- package/config/sops/developer/git-workflow.md +33 -0
- package/dist/backend/backend/src/constants.d.ts +12 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +12 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +2 -2
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +6 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts +73 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +128 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js +8 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.js +50 -8
- package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +215 -94
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +185 -36
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +11 -1
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +42 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +218 -6
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +61 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +117 -9
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +33 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +108 -4
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js +40 -2
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +48 -331
- package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.js +261 -712
- package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +82 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +120 -2
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts +114 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js +182 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts +188 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js +434 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +401 -5
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +619 -3
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts +93 -0
- package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js +138 -0
- package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +46 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +75 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +10 -2
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +178 -10
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +37 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +71 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/types.d.ts +33 -1
- package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/types.js +1 -1
- package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +22 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +71 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +102 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +61 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts +21 -3
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js +47 -13
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/system-health.util.d.ts +25 -4
- package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/system-health.util.js +30 -5
- package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +22 -11
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +35 -3
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts +2 -4
- package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-replay.service.js +22 -12
- package/dist/backend/backend/src/services/messaging/message-replay.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +25 -5
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +13 -3
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
- package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts +99 -0
- package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js +225 -0
- package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +39 -18
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +60 -32
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +134 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +416 -13
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +73 -7
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.js +30 -4
- package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.js +13 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +9 -6
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +21 -2
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +120 -46
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +49 -0
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +33 -2
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +160 -8
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/cascade-request-status.js +55 -2
- package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/mission-executor.service.js +9 -1
- package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +28 -3
- package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +5 -2
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +57 -15
- package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +39 -0
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +81 -0
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +17 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +22 -3
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +26 -10
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +68 -5
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts +44 -0
- package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts.map +1 -0
- package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js +57 -0
- package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js.map +1 -0
- package/dist/backend/backend/src/types/credential.types.d.ts +17 -1
- package/dist/backend/backend/src/types/credential.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/credential.types.js +15 -5
- package/dist/backend/backend/src/types/credential.types.js.map +1 -1
- package/dist/backend/backend/src/types/cron-task.types.d.ts +17 -0
- package/dist/backend/backend/src/types/cron-task.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +12 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/intent-task.types.d.ts +10 -13
- package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/intent-task.types.js +4 -1
- package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +23 -0
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/backend/src/utils/team.utils.d.ts +3 -1
- package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/team.utils.js +26 -5
- package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
- package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts +23 -0
- package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/chat-v2.gateway.js +56 -7
- package/dist/backend/backend/src/websocket/chat-v2.gateway.js.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.d.ts +19 -4
- package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js +78 -63
- package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +10 -2
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +12 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +12 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js +22 -11
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +35 -3
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/skill/skill-executor.service.js +13 -1
- package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +33 -2
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +160 -8
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/types/credential.types.d.ts +17 -1
- package/dist/cli/backend/src/types/credential.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/credential.types.js +15 -5
- package/dist/cli/backend/src/types/credential.types.js.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.d.ts +1 -1
- package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.js +12 -0
- package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +23 -0
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/cli/src/commands/start.js +73 -12
- package/dist/cli/cli/src/commands/start.js.map +1 -1
- package/frontend/dist/assets/index-b279da34.js +4926 -0
- package/frontend/dist/assets/{index-b7e59b2b.css → index-c07e04c0.css} +2 -2
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-698305f3.js +0 -5228
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,28 @@ export interface MentionDispatchOutcome {
|
|
|
50
50
|
/** Error message, if delivery failed. */
|
|
51
51
|
error?: string;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Phase B-2 (2026-05-17) — one per-member outcome for huddle dispatch.
|
|
55
|
+
*
|
|
56
|
+
* Huddles don't go through `MentionResolver` — their roster is read
|
|
57
|
+
* directly from `chat_channel_members`. The outcome records whether
|
|
58
|
+
* the member was @-mentioned (which controls `responseMode` in the
|
|
59
|
+
* prompt) and whether the underlying sink call succeeded.
|
|
60
|
+
*/
|
|
61
|
+
export interface HuddleDispatchOutcome {
|
|
62
|
+
/** Member's agent session name. */
|
|
63
|
+
sessionName: string;
|
|
64
|
+
/**
|
|
65
|
+
* `'required'` when the member appeared in `message.mentions[]`
|
|
66
|
+
* (they MUST reply); `'optional'` otherwise (they MAY reply if it
|
|
67
|
+
* makes sense). Surfaced in the formatted prompt.
|
|
68
|
+
*/
|
|
69
|
+
responseMode: 'required' | 'optional';
|
|
70
|
+
/** Whether the prompt was successfully queued for the member. */
|
|
71
|
+
dispatched: boolean;
|
|
72
|
+
/** Error message, if delivery failed. */
|
|
73
|
+
error?: string;
|
|
74
|
+
}
|
|
53
75
|
/**
|
|
54
76
|
* Aggregate result of `dispatchMessage`. Reports the chosen routing
|
|
55
77
|
* strategy and per-recipient outcomes so callers (and tests) can assert
|
|
@@ -63,7 +85,7 @@ export interface DispatchMessageResult {
|
|
|
63
85
|
* - `'skip'`: nothing was dispatched (non-user message, no recipients,
|
|
64
86
|
* archived/unbound channel, etc.). `reason` is filled.
|
|
65
87
|
*/
|
|
66
|
-
strategy: 'dm' | 'channel-mentions' | 'skip';
|
|
88
|
+
strategy: 'dm' | 'channel-mentions' | 'huddle-broadcast' | 'skip';
|
|
67
89
|
/** True when at least one underlying delivery succeeded. */
|
|
68
90
|
dispatched: boolean;
|
|
69
91
|
/** Filled when `strategy === 'skip'`. */
|
|
@@ -75,6 +97,12 @@ export interface DispatchMessageResult {
|
|
|
75
97
|
* resolved target. Empty when no mentions resolved.
|
|
76
98
|
*/
|
|
77
99
|
mentionOutcomes?: MentionDispatchOutcome[];
|
|
100
|
+
/**
|
|
101
|
+
* Phase B-2 — populated for `strategy === 'huddle-broadcast'`. One
|
|
102
|
+
* entry per huddle member. Mentioned members carry
|
|
103
|
+
* `responseMode: 'required'`; the rest are `'optional'`.
|
|
104
|
+
*/
|
|
105
|
+
huddleOutcomes?: HuddleDispatchOutcome[];
|
|
78
106
|
}
|
|
79
107
|
/** Constructor options for {@link ChatV2DispatcherService}. */
|
|
80
108
|
export interface ChatV2DispatcherOptions {
|
|
@@ -93,6 +121,17 @@ export interface ChatV2DispatcherOptions {
|
|
|
93
121
|
* by `StorageService.getTeams()`.
|
|
94
122
|
*/
|
|
95
123
|
mentionResolver?: ChatV2MentionResolver;
|
|
124
|
+
/**
|
|
125
|
+
* Phase B-2 (2026-05-17) — roster lookup used when dispatching a
|
|
126
|
+
* `type='huddle'` message to every member. Synchronous because the
|
|
127
|
+
* production implementation is a direct SQLite read against
|
|
128
|
+
* `chat_channel_members`. When omitted, huddle messages skip
|
|
129
|
+
* dispatch (mirrors how `mentionResolver` gates `'channel'` rows).
|
|
130
|
+
*
|
|
131
|
+
* Returns the list of `agentSession` ids for the huddle's members.
|
|
132
|
+
* Order doesn't matter — the dispatcher loops over the whole list.
|
|
133
|
+
*/
|
|
134
|
+
huddleMembersFor?: (channelId: string) => readonly string[];
|
|
96
135
|
}
|
|
97
136
|
/** Inputs to the prompt formatter. */
|
|
98
137
|
export interface FormatPromptArgs {
|
|
@@ -102,6 +141,15 @@ export interface FormatPromptArgs {
|
|
|
102
141
|
senderId: string;
|
|
103
142
|
content: string;
|
|
104
143
|
clientMessageId?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Phase B-2 — in a huddle, every member receives the prompt but
|
|
146
|
+
* only the @-mentioned ones MUST reply. The default formatter
|
|
147
|
+
* appends a "你必须回复" (mandatory) or "你可以选择是否回复" (optional)
|
|
148
|
+
* tag so the agent's prompt-following heuristics can branch. Defaults
|
|
149
|
+
* to `'required'` for DMs and `'channel'` (single-mention) dispatches
|
|
150
|
+
* where every recipient was explicitly addressed.
|
|
151
|
+
*/
|
|
152
|
+
responseMode?: 'required' | 'optional';
|
|
105
153
|
}
|
|
106
154
|
/**
|
|
107
155
|
* Default prompt formatter the agent sees when a user sends in their
|
|
@@ -122,6 +170,7 @@ export declare class ChatV2DispatcherService {
|
|
|
122
170
|
private readonly agentSink;
|
|
123
171
|
private readonly formatPrompt;
|
|
124
172
|
private readonly mentionResolver?;
|
|
173
|
+
private readonly huddleMembersFor?;
|
|
125
174
|
private readonly logger;
|
|
126
175
|
constructor(options: ChatV2DispatcherOptions);
|
|
127
176
|
/**
|
|
@@ -146,6 +195,27 @@ export declare class ChatV2DispatcherService {
|
|
|
146
195
|
* @returns Aggregate result describing the strategy + outcomes.
|
|
147
196
|
*/
|
|
148
197
|
dispatchMessage(channel: ChatChannelDTO, message: ChatMessageDTO): Promise<DispatchMessageResult>;
|
|
198
|
+
/**
|
|
199
|
+
* Phase B-2 — fan a user message out to every member of a huddle.
|
|
200
|
+
*
|
|
201
|
+
* Resolution path:
|
|
202
|
+
* 1. Look up the roster via the injected `huddleMembersFor`. No
|
|
203
|
+
* resolver wired → return `strategy: 'skip'` (the message still
|
|
204
|
+
* persists; nobody is paged).
|
|
205
|
+
* 2. Empty roster → same skip path. Should not happen since
|
|
206
|
+
* `createHuddle` rejects empty membership, but defensive.
|
|
207
|
+
* 3. For each member, derive `responseMode` from whether their
|
|
208
|
+
* session appears in `message.mentions[]`. Format the prompt
|
|
209
|
+
* accordingly and call `sendMessageToAgent`.
|
|
210
|
+
*
|
|
211
|
+
* Always resolves; per-member errors are captured in
|
|
212
|
+
* {@link DispatchMessageResult.huddleOutcomes} and never thrown.
|
|
213
|
+
*
|
|
214
|
+
* @param channel - The huddle channel.
|
|
215
|
+
* @param message - The persisted user message.
|
|
216
|
+
* @returns Aggregate result with one outcome per member.
|
|
217
|
+
*/
|
|
218
|
+
private dispatchHuddleBroadcast;
|
|
149
219
|
/**
|
|
150
220
|
* Dispatch a `type='channel'` message to its resolved mentions.
|
|
151
221
|
*
|
|
@@ -170,6 +240,17 @@ export declare class ChatV2DispatcherService {
|
|
|
170
240
|
* Messages where `senderType !== "user"` are a no-op — we never loop an
|
|
171
241
|
* agent's own reply back into its own PTY.
|
|
172
242
|
*
|
|
243
|
+
* @deprecated Issue #334 — `dispatchToAgent` is the legacy 1:1 entry
|
|
244
|
+
* point. New callers MUST go through `dispatchMessage`, which routes
|
|
245
|
+
* type='dm' messages here and adds the type='channel' (@mentions /
|
|
246
|
+
* @team) path. Direct callers of `dispatchToAgent` silently bypass
|
|
247
|
+
* the mention-resolution layer.
|
|
248
|
+
*
|
|
249
|
+
* Conversion: replace `dispatchToAgent(channel, message)` with
|
|
250
|
+
* `dispatchMessage(channel, message)` and read the `dmResult` field
|
|
251
|
+
* of the returned object. See chat-v2.dispatcher.service.ts:dispatchMessage
|
|
252
|
+
* for the contract.
|
|
253
|
+
*
|
|
173
254
|
* @param channel - Channel DTO (provides `agentSession` + display name)
|
|
174
255
|
* @param message - Persisted message DTO
|
|
175
256
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-v2.dispatcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EACV,qBAAqB,EAErB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAOvC;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtF;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,MAAM,EAAE,aAAa,CAAC;IACtB,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,QAAQ,EAAE,IAAI,GAAG,kBAAkB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-v2.dispatcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,16 +33,23 @@ import { LoggerService } from '../core/logger.service.js';
|
|
|
33
33
|
* instruction on how to reply.
|
|
34
34
|
*/
|
|
35
35
|
export function defaultFormatPrompt(args) {
|
|
36
|
-
const { channelId, channelName, senderId, content, clientMessageId } = args;
|
|
36
|
+
const { channelId, channelName, senderId, content, clientMessageId, responseMode } = args;
|
|
37
37
|
const trimmed = content.trim();
|
|
38
38
|
const idHint = clientMessageId ? ` [cmid:${clientMessageId}]` : '';
|
|
39
|
+
// Default to "required" so DM and single-mention channel dispatches
|
|
40
|
+
// preserve the legacy "must reply" semantic. Only huddles flip this
|
|
41
|
+
// to "optional" for non-@'d members.
|
|
42
|
+
const mode = responseMode ?? 'required';
|
|
43
|
+
const replyHint = mode === 'optional'
|
|
44
|
+
? `回复本频道: 你在此 huddle 中收到此消息但未被 @ — 如有必要可用 \`reply-channel\` skill (channelId="${channelId}") 回复,否则不回复也可以。`
|
|
45
|
+
: `回复本频道: 用 \`reply-channel\` skill, 参数 channelId="${channelId}"、content="<your reply>"。`;
|
|
39
46
|
return [
|
|
40
47
|
`[CHAT:${channelId}]${idHint} <${senderId}@${channelName}>`,
|
|
41
48
|
``,
|
|
42
49
|
trimmed,
|
|
43
50
|
``,
|
|
44
51
|
`---`,
|
|
45
|
-
|
|
52
|
+
replyHint,
|
|
46
53
|
].join('\n');
|
|
47
54
|
}
|
|
48
55
|
// ---------------------------------------------------------------------------
|
|
@@ -57,11 +64,13 @@ export class ChatV2DispatcherService {
|
|
|
57
64
|
agentSink;
|
|
58
65
|
formatPrompt;
|
|
59
66
|
mentionResolver;
|
|
67
|
+
huddleMembersFor;
|
|
60
68
|
logger;
|
|
61
69
|
constructor(options) {
|
|
62
70
|
this.agentSink = options.agentSink;
|
|
63
71
|
this.formatPrompt = options.formatPrompt ?? defaultFormatPrompt;
|
|
64
72
|
this.mentionResolver = options.mentionResolver;
|
|
73
|
+
this.huddleMembersFor = options.huddleMembersFor;
|
|
65
74
|
this.logger = LoggerService.getInstance().createComponentLogger('ChatV2Dispatcher');
|
|
66
75
|
}
|
|
67
76
|
/**
|
|
@@ -96,6 +105,9 @@ export class ChatV2DispatcherService {
|
|
|
96
105
|
if (channel.type === 'channel') {
|
|
97
106
|
return this.dispatchChannelMentions(channel, message);
|
|
98
107
|
}
|
|
108
|
+
if (channel.type === 'huddle') {
|
|
109
|
+
return this.dispatchHuddleBroadcast(channel, message);
|
|
110
|
+
}
|
|
99
111
|
// Default to the DM path for any other type (including legacy /
|
|
100
112
|
// missing — `type` is non-null after Phase A migration but defensive
|
|
101
113
|
// here keeps the dispatcher robust).
|
|
@@ -106,6 +118,101 @@ export class ChatV2DispatcherService {
|
|
|
106
118
|
dmResult,
|
|
107
119
|
};
|
|
108
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Phase B-2 — fan a user message out to every member of a huddle.
|
|
123
|
+
*
|
|
124
|
+
* Resolution path:
|
|
125
|
+
* 1. Look up the roster via the injected `huddleMembersFor`. No
|
|
126
|
+
* resolver wired → return `strategy: 'skip'` (the message still
|
|
127
|
+
* persists; nobody is paged).
|
|
128
|
+
* 2. Empty roster → same skip path. Should not happen since
|
|
129
|
+
* `createHuddle` rejects empty membership, but defensive.
|
|
130
|
+
* 3. For each member, derive `responseMode` from whether their
|
|
131
|
+
* session appears in `message.mentions[]`. Format the prompt
|
|
132
|
+
* accordingly and call `sendMessageToAgent`.
|
|
133
|
+
*
|
|
134
|
+
* Always resolves; per-member errors are captured in
|
|
135
|
+
* {@link DispatchMessageResult.huddleOutcomes} and never thrown.
|
|
136
|
+
*
|
|
137
|
+
* @param channel - The huddle channel.
|
|
138
|
+
* @param message - The persisted user message.
|
|
139
|
+
* @returns Aggregate result with one outcome per member.
|
|
140
|
+
*/
|
|
141
|
+
async dispatchHuddleBroadcast(channel, message) {
|
|
142
|
+
if (!this.huddleMembersFor) {
|
|
143
|
+
this.logger.debug('chat-v2 huddle dispatch skipped — no roster lookup wired', {
|
|
144
|
+
channelId: channel.id,
|
|
145
|
+
messageId: message.id,
|
|
146
|
+
});
|
|
147
|
+
return {
|
|
148
|
+
strategy: 'skip',
|
|
149
|
+
dispatched: false,
|
|
150
|
+
reason: 'no huddleMembersFor resolver wired',
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const members = this.huddleMembersFor(channel.id);
|
|
154
|
+
if (members.length === 0) {
|
|
155
|
+
return {
|
|
156
|
+
strategy: 'skip',
|
|
157
|
+
dispatched: false,
|
|
158
|
+
reason: 'huddle has no members',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
// Pre-build the mention set so each member lookup is O(1). The
|
|
162
|
+
// wire mention is the agent session id (same shape as the roster
|
|
163
|
+
// entries) so a simple Set membership check is enough.
|
|
164
|
+
const mentioned = new Set(Array.isArray(message.mentions) ? message.mentions : []);
|
|
165
|
+
const outcomes = [];
|
|
166
|
+
let anyDispatched = false;
|
|
167
|
+
for (const sessionName of members) {
|
|
168
|
+
const responseMode = mentioned.has(sessionName) ? 'required' : 'optional';
|
|
169
|
+
const prompt = this.formatPrompt({
|
|
170
|
+
channelId: channel.id,
|
|
171
|
+
channelName: channel.name,
|
|
172
|
+
agentSession: sessionName,
|
|
173
|
+
senderId: message.senderId,
|
|
174
|
+
content: message.content,
|
|
175
|
+
clientMessageId: typeof message.metadata?.clientMessageId === 'string'
|
|
176
|
+
? message.metadata.clientMessageId
|
|
177
|
+
: undefined,
|
|
178
|
+
responseMode,
|
|
179
|
+
});
|
|
180
|
+
try {
|
|
181
|
+
const result = await this.agentSink.sendMessageToAgent(sessionName, prompt);
|
|
182
|
+
if (result.success) {
|
|
183
|
+
outcomes.push({ sessionName, responseMode, dispatched: true });
|
|
184
|
+
anyDispatched = true;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
this.logger.warn('chat-v2 huddle dispatch reported failure', {
|
|
188
|
+
channelId: channel.id,
|
|
189
|
+
sessionName,
|
|
190
|
+
err: result.error,
|
|
191
|
+
});
|
|
192
|
+
outcomes.push({
|
|
193
|
+
sessionName,
|
|
194
|
+
responseMode,
|
|
195
|
+
dispatched: false,
|
|
196
|
+
error: result.error ?? 'unknown sink failure',
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
202
|
+
this.logger.error('chat-v2 huddle dispatch threw', {
|
|
203
|
+
channelId: channel.id,
|
|
204
|
+
sessionName,
|
|
205
|
+
err: errMsg,
|
|
206
|
+
});
|
|
207
|
+
outcomes.push({ sessionName, responseMode, dispatched: false, error: errMsg });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
strategy: 'huddle-broadcast',
|
|
212
|
+
dispatched: anyDispatched,
|
|
213
|
+
huddleOutcomes: outcomes,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
109
216
|
/**
|
|
110
217
|
* Dispatch a `type='channel'` message to its resolved mentions.
|
|
111
218
|
*
|
|
@@ -199,6 +306,17 @@ export class ChatV2DispatcherService {
|
|
|
199
306
|
* Messages where `senderType !== "user"` are a no-op — we never loop an
|
|
200
307
|
* agent's own reply back into its own PTY.
|
|
201
308
|
*
|
|
309
|
+
* @deprecated Issue #334 — `dispatchToAgent` is the legacy 1:1 entry
|
|
310
|
+
* point. New callers MUST go through `dispatchMessage`, which routes
|
|
311
|
+
* type='dm' messages here and adds the type='channel' (@mentions /
|
|
312
|
+
* @team) path. Direct callers of `dispatchToAgent` silently bypass
|
|
313
|
+
* the mention-resolution layer.
|
|
314
|
+
*
|
|
315
|
+
* Conversion: replace `dispatchToAgent(channel, message)` with
|
|
316
|
+
* `dispatchMessage(channel, message)` and read the `dmResult` field
|
|
317
|
+
* of the returned object. See chat-v2.dispatcher.service.ts:dispatchMessage
|
|
318
|
+
* for the contract.
|
|
319
|
+
*
|
|
202
320
|
* @param channel - Channel DTO (provides `agentSession` + display name)
|
|
203
321
|
* @param message - Persisted message DTO
|
|
204
322
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-v2.dispatcher.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-v2.dispatcher.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AA6I3E,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC1F,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,qCAAqC;IACrC,MAAM,IAAI,GAAG,YAAY,IAAI,UAAU,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,KAAK,UAAU;QACnC,CAAC,CAAC,8EAA8E,SAAS,iBAAiB;QAC1G,CAAC,CAAC,mDAAmD,SAAS,2BAA2B,CAAC;IAC5F,OAAO;QACL,SAAS,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,GAAG;QAC3D,EAAE;QACF,OAAO;QACP,EAAE;QACF,KAAK;QACL,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IACjB,SAAS,CAAmB;IAC5B,YAAY,CAAqC;IACjD,eAAe,CAAyB;IACxC,gBAAgB,CAA4C;IAC5D,MAAM,CAAkB;IAEzC,YAAY,OAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB;QAEvB,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,2BAA2B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBAC5E,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,oCAAoC;aAC7C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,uBAAuB;aAChC,CAAC;QACJ,CAAC;QAED,+DAA+D;QAC/D,iEAAiE;QACjE,uDAAuD;QACvD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,YAAY,GAA4B,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACnG,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,WAAW;gBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;oBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;oBAC9C,CAAC,CAAC,SAAS;gBACf,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;wBAC3D,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW;wBACX,GAAG,EAAE,MAAM,CAAC,KAAK;qBAClB,CAAC,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,YAAY;wBACZ,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBACjD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW;oBACX,GAAG,EAAE,MAAM;iBACZ,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;gBACxE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,4CAA4C;aACrD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,qCAAqC;aAC9C,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAElE,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;oBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;oBAC9C,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;wBAC5D,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,GAAG,EAAE,MAAM,CAAC,KAAK;qBAClB,CAAC,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAClD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,GAAG,EAAE,MAAM;iBACZ,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB;QAEvB,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBAC7D,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;gBAC9C,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC;QAEH,IAAI,MAAmE,CAAC;QACxE,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACpD,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,MAAM,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACtC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;SAC/B,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider factories backing the chat-v2 controller's `/agents` and
|
|
3
|
+
* `/presence/:agentId` endpoints.
|
|
4
|
+
*
|
|
5
|
+
* These are intentionally kept separate from the controller + service so
|
|
6
|
+
* tests can inject a fixture (`IAgentDirectoryProvider` / `IAgentPresenceProvider`
|
|
7
|
+
* stubs) without spinning up StorageService or the orchestrator-status
|
|
8
|
+
* helper. The production wiring in `api.routes.ts` instantiates them
|
|
9
|
+
* once per request stack and passes them as `ChatV2ControllerDeps`.
|
|
10
|
+
*
|
|
11
|
+
* Why a thin adapter layer over StorageService.getTeams + isAgentActive?
|
|
12
|
+
* - StorageService.getTeams returns the full `Team[]` shape including
|
|
13
|
+
* fields the directory doesn't need (templates, hierarchy graphs,
|
|
14
|
+
* project bindings). The controller's `IAgentDirectoryProvider`
|
|
15
|
+
* contract is intentionally narrow so the route handler stays
|
|
16
|
+
* decoupled from the storage shape.
|
|
17
|
+
* - `isAgentActive` returns a boolean only; the controller's wire DTO
|
|
18
|
+
* wants a `status` union + `lastSeenAt`. We do that mapping here.
|
|
19
|
+
*
|
|
20
|
+
* @module services/chat-v2/chat-v2.providers
|
|
21
|
+
*/
|
|
22
|
+
import type { IAgentDirectoryProvider, IAgentPresenceProvider, ChatAgentPresenceDTO } from '../../controllers/chat-v2/chat-v2.controller.js';
|
|
23
|
+
/**
|
|
24
|
+
* Minimal storage surface the providers need. Decoupled from the full
|
|
25
|
+
* `StorageService` so a fixture team list is enough to test.
|
|
26
|
+
*/
|
|
27
|
+
export interface IStorageServiceLike {
|
|
28
|
+
getTeams(): Promise<Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
members: Array<{
|
|
32
|
+
sessionName?: string;
|
|
33
|
+
name: string;
|
|
34
|
+
role: string;
|
|
35
|
+
agentStatus: string;
|
|
36
|
+
workingStatus: string;
|
|
37
|
+
avatar?: string;
|
|
38
|
+
}>;
|
|
39
|
+
}>>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Minimal agent-liveness probe. Defaults to `isAgentActive` from
|
|
43
|
+
* `orchestrator-status.service`; tests pass a synchronous stub.
|
|
44
|
+
*/
|
|
45
|
+
export type IsAgentActiveFn = (sessionName: string) => Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Optional hook for surfacing the virtual "Orchestrator Team". The OSS
|
|
48
|
+
* orchestrator is not a row in any teams.json (it lives in
|
|
49
|
+
* `teams/orchestrator/config.json` and is *filtered out* by
|
|
50
|
+
* StorageService.getTeams), but the user expects to chat with it from
|
|
51
|
+
* the /agents page. The provider synthesizes the team on top of
|
|
52
|
+
* `getTeams()` so the rail always lists the orchestrator first.
|
|
53
|
+
*
|
|
54
|
+
* Tests can override the resolver to return null + skip the virtual
|
|
55
|
+
* team, or to inject a synthetic status without touching storage.
|
|
56
|
+
*/
|
|
57
|
+
export type OrchestratorStatusResolver = () => Promise<{
|
|
58
|
+
agentStatus: string;
|
|
59
|
+
workingStatus: string;
|
|
60
|
+
} | null>;
|
|
61
|
+
/**
|
|
62
|
+
* Build the production `IAgentDirectoryProvider`. Flattens
|
|
63
|
+
* `StorageService.getTeams()` into the narrow controller-facing shape,
|
|
64
|
+
* filtering out members without a `sessionName` (incomplete team
|
|
65
|
+
* entries, deleted-but-not-purged rows).
|
|
66
|
+
*
|
|
67
|
+
* Also prepends a synthetic Orchestrator Team so the user can DM the
|
|
68
|
+
* orchestrator from /agents without setting up a regular team. This
|
|
69
|
+
* mirrors team.controller's `buildOrchestratorTeam` virtual-team
|
|
70
|
+
* synthesis on the /api/teams endpoint.
|
|
71
|
+
*
|
|
72
|
+
* @param storage - The StorageService instance (or a fixture stub)
|
|
73
|
+
* @param opts.resolveOrchestratorStatus - Optional override for the
|
|
74
|
+
* orchestrator's stored status. Defaults to a lazy import of
|
|
75
|
+
* `StorageService.getOrchestratorStatus()` so tests can inject a stub.
|
|
76
|
+
* Returning null skips the virtual-team prepend entirely.
|
|
77
|
+
* @returns Provider satisfying {@link IAgentDirectoryProvider}
|
|
78
|
+
*/
|
|
79
|
+
export declare function createOssAgentDirectoryProvider(storage: IStorageServiceLike, opts?: {
|
|
80
|
+
resolveOrchestratorStatus?: OrchestratorStatusResolver;
|
|
81
|
+
}): IAgentDirectoryProvider;
|
|
82
|
+
/**
|
|
83
|
+
* Map the stored `(agentStatus, workingStatus, isActive)` tuple to the
|
|
84
|
+
* presence wire status. The chat-ui client expects the closed set:
|
|
85
|
+
* - `online` : agent is up and idle (ready for a new message)
|
|
86
|
+
* - `busy` : agent is up and working on something
|
|
87
|
+
* - `starting` : agent is registered but session not yet alive
|
|
88
|
+
* - `offline` : everything else (inactive, suspended, crash, …)
|
|
89
|
+
*
|
|
90
|
+
* Single source of truth — exported for tests + presence-aware UI bits.
|
|
91
|
+
*
|
|
92
|
+
* @param isActive - True when the PTY/in-process session is alive
|
|
93
|
+
* @param agentStatus - Stored `agentStatus` from team file
|
|
94
|
+
* @param workingStatus - Stored `workingStatus` from team file
|
|
95
|
+
* @returns Wire-level presence status
|
|
96
|
+
*/
|
|
97
|
+
export declare function resolvePresenceStatus(isActive: boolean, agentStatus: string, workingStatus: string): ChatAgentPresenceDTO['status'];
|
|
98
|
+
/**
|
|
99
|
+
* Build the production `IAgentPresenceProvider`. Uses
|
|
100
|
+
* {@link IsAgentActiveFn} (defaulting to `isAgentActive` from
|
|
101
|
+
* orchestrator-status) for liveness and falls back to the stored
|
|
102
|
+
* agentStatus/workingStatus for unknown sessions.
|
|
103
|
+
*
|
|
104
|
+
* @param storage - StorageService for member lookups
|
|
105
|
+
* @param opts.isAgentActive - Optional override (tests pass a stub)
|
|
106
|
+
* @param opts.now - Optional clock override (tests freeze the
|
|
107
|
+
* `lastSeenAt` timestamp)
|
|
108
|
+
* @returns Provider satisfying {@link IAgentPresenceProvider}
|
|
109
|
+
*/
|
|
110
|
+
export declare function createOssAgentPresenceProvider(storage: IStorageServiceLike, opts?: {
|
|
111
|
+
isAgentActive?: IsAgentActiveFn;
|
|
112
|
+
now?: () => number;
|
|
113
|
+
}): IAgentPresenceProvider;
|
|
114
|
+
//# sourceMappingURL=chat-v2.providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-v2.providers.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iDAAiD,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CACjB,KAAK,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,KAAK,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC,CACH,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAAC,CAAC;AAEV;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE;IACJ,yBAAyB,CAAC,EAAE,0BAA0B,CAAC;CACnD,GACL,uBAAuB,CA2DzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,oBAAoB,CAAC,QAAQ,CAAC,CAOhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE;IACJ,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACf,GACL,sBAAsB,CAiDxB"}
|