crewly 1.6.1 → 1.6.2
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/orchestrator/prompt.md +16 -0
- package/config/skills/agent/core/get-my-active-work/SKILL.md +101 -0
- package/config/skills/agent/core/get-my-active-work/execute.sh +122 -0
- package/config/skills/agent/core/record-learning/SKILL.md +29 -0
- package/config/skills/agent/core/reply-channel/SKILL.md +41 -0
- package/config/skills/agent/core/reply-channel/execute.sh +165 -0
- package/config/skills/agent/core/reply-channel/execute.test.sh +148 -0
- package/config/skills/agent/remote-browser/execute.sh +296 -14
- package/config/skills/agent/remote-browser/execute.test.sh +482 -0
- package/config/skills/orchestrator/send-message/SKILL.md +30 -7
- package/config/skills/orchestrator/team-health-scan/SKILL.md +98 -0
- package/config/skills/orchestrator/team-health-scan/execute.sh +44 -0
- package/config/skills/registry.json +62 -1
- package/config/sops/developer/git-workflow.md +38 -3
- package/dist/backend/backend/src/constants.d.ts +69 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +69 -2
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts +53 -0
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.js +92 -0
- package/dist/backend/backend/src/controllers/active-work/active-work.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +18 -1
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +68 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +233 -5
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js +10 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.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 +8 -3
- 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 +132 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +401 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts +29 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js +39 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/chat-v2/index.d.ts +8 -0
- package/dist/backend/backend/src/controllers/chat-v2/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/chat-v2/index.js +8 -0
- package/dist/backend/backend/src/controllers/chat-v2/index.js.map +1 -0
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts +13 -13
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js +74 -234
- package/dist/backend/backend/src/controllers/onboarding/onboarding.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/request/request.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/request/request.controller.js +4 -6
- package/dist/backend/backend/src/controllers/request/request.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts +43 -0
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +200 -72
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +46 -0
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team-health/team-health.controller.d.ts +59 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.controller.js +127 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.routes.d.ts +13 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.routes.js +20 -0
- package/dist/backend/backend/src/controllers/team-health/team-health.routes.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts +9 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +233 -0
- 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 +40 -6
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +498 -0
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +759 -0
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +25 -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 +193 -57
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +9 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +35 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +8 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/tmux-command.service.js +2 -1
- package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/tmux.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/tmux.service.js +2 -1
- package/dist/backend/backend/src/services/agent/tmux.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +148 -3
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +241 -2
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +13 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +26 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +79 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +118 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +1 -0
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +161 -0
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +382 -2
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +105 -0
- 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 +232 -13
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +178 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +254 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts +134 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.mention-resolver.js +232 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.mention-resolver.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.realtime-holder.d.ts +25 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.realtime-holder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.realtime-holder.js +23 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.realtime-holder.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +254 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +467 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.d.ts +27 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.js +57 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.team-membership.d.ts +43 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.team-membership.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.team-membership.js +54 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.team-membership.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/config.d.ts +100 -0
- package/dist/backend/backend/src/services/chat-v2/config.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/config.js +174 -0
- package/dist/backend/backend/src/services/chat-v2/config.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/index.d.ts +11 -0
- package/dist/backend/backend/src/services/chat-v2/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/index.js +12 -0
- package/dist/backend/backend/src/services/chat-v2/index.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +114 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +194 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +100 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +351 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +132 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +281 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/types.d.ts +295 -0
- package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/types.js +61 -0
- package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts +113 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js +179 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-bridge.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts +131 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js +227 -0
- package/dist/backend/backend/src/services/cloud/cloud-event-forwarder.service.js.map +1 -0
- package/dist/backend/backend/src/services/core/config.service.js +3 -3
- package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.d.ts +7 -0
- package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +15 -0
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +69 -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 +118 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +275 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +736 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -0
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +18 -2
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +49 -13
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +123 -29
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/learnings-index.service.d.ts +159 -0
- package/dist/backend/backend/src/services/knowledge/learnings-index.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/knowledge/learnings-index.service.js +304 -0
- package/dist/backend/backend/src/services/knowledge/learnings-index.service.js.map +1 -0
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js +24 -4
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/auto-learning.subscriber.d.ts +174 -0
- package/dist/backend/backend/src/services/memory/auto-learning.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/auto-learning.subscriber.js +375 -0
- package/dist/backend/backend/src/services/memory/auto-learning.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts +97 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.js +209 -0
- package/dist/backend/backend/src/services/memory/learning-format.validator.js.map +1 -0
- package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/vector-store.service.js +19 -4
- package/dist/backend/backend/src/services/memory/vector-store.service.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.d.ts +16 -5
- package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.js +32 -5
- package/dist/backend/backend/src/services/onboarding/onboarding-provision.service.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts +157 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.js +229 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.service.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts +141 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.types.js +18 -0
- package/dist/backend/backend/src/services/onboarding/onboarding.types.js.map +1 -0
- package/dist/backend/backend/src/services/pr-review/pr-review.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/pr-review/pr-review.service.js +1 -1
- package/dist/backend/backend/src/services/pr-review/pr-review.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +17 -1
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +39 -1
- 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 +158 -26
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +248 -6
- 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 +531 -51
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/team-health/index.d.ts +16 -0
- package/dist/backend/backend/src/services/team-health/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/index.js +16 -0
- package/dist/backend/backend/src/services/team-health/index.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.d.ts +52 -0
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js +161 -0
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/lost-dispatch-detector.d.ts +53 -0
- package/dist/backend/backend/src/services/team-health/lost-dispatch-detector.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/lost-dispatch-detector.js +88 -0
- package/dist/backend/backend/src/services/team-health/lost-dispatch-detector.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/stale-trigger-detector.d.ts +44 -0
- package/dist/backend/backend/src/services/team-health/stale-trigger-detector.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/stale-trigger-detector.js +83 -0
- package/dist/backend/backend/src/services/team-health/stale-trigger-detector.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-alert-router.d.ts +92 -0
- package/dist/backend/backend/src/services/team-health/team-health-alert-router.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-alert-router.js +328 -0
- package/dist/backend/backend/src/services/team-health/team-health-alert-router.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-config.d.ts +41 -0
- package/dist/backend/backend/src/services/team-health/team-health-config.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-config.js +213 -0
- package/dist/backend/backend/src/services/team-health/team-health-config.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-detector.d.ts +46 -0
- package/dist/backend/backend/src/services/team-health/team-health-detector.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-detector.js +347 -0
- package/dist/backend/backend/src/services/team-health/team-health-detector.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-types.d.ts +154 -0
- package/dist/backend/backend/src/services/team-health/team-health-types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-types.js +94 -0
- package/dist/backend/backend/src/services/team-health/team-health-types.js.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-watchdog.service.d.ts +111 -0
- package/dist/backend/backend/src/services/team-health/team-health-watchdog.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-health/team-health-watchdog.service.js +226 -0
- package/dist/backend/backend/src/services/team-health/team-health-watchdog.service.js.map +1 -0
- package/dist/backend/backend/src/services/v3/mission-reminder.service.d.ts +148 -0
- package/dist/backend/backend/src/services/v3/mission-reminder.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/mission-reminder.service.js +545 -0
- package/dist/backend/backend/src/services/v3/mission-reminder.service.js.map +1 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +499 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +1105 -0
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -0
- package/dist/backend/backend/src/services/v3/request.service.d.ts +22 -0
- package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.js +71 -0
- package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +1 -0
- package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/v3-data.service.js +22 -6
- package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +19 -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 +43 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +22 -1
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/review-reason.types.d.ts +63 -0
- package/dist/backend/backend/src/types/review-reason.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/review-reason.types.js +50 -0
- package/dist/backend/backend/src/types/review-reason.types.js.map +1 -0
- package/dist/backend/backend/src/types/slack.types.d.ts +4 -1
- package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/mission.types.d.ts +18 -0
- package/dist/backend/backend/src/types/v2/mission.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/mission.types.js +1 -0
- package/dist/backend/backend/src/types/v2/mission.types.js.map +1 -1
- 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 +25 -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 +38 -0
- package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/team.utils.js +45 -0
- package/dist/backend/backend/src/utils/team.utils.js.map +1 -0
- package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts +195 -0
- package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts.map +1 -0
- package/dist/backend/backend/src/websocket/chat-v2.gateway.js +401 -0
- package/dist/backend/backend/src/websocket/chat-v2.gateway.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +37 -2
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +106 -5
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +69 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +69 -2
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.js +3 -3
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.d.ts +7 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +15 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +18 -2
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +49 -13
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +123 -29
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js +24 -4
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +22 -1
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- 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 +25 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/frontend/dist/assets/{index-70356616.js → index-7a4e7df5.js} +328 -326
- package/frontend/dist/assets/index-b7e59b2b.css +33 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +2 -1
- package/config/skills/orchestrator/recall/SKILL.md +0 -47
- package/config/skills/orchestrator/recall/execute.sh +0 -13
- package/config/skills/orchestrator/record-learning/SKILL.md +0 -47
- package/config/skills/orchestrator/record-learning/execute.sh +0 -13
- package/config/skills/orchestrator/remember/SKILL.md +0 -55
- package/config/skills/orchestrator/remember/execute.sh +0 -15
- package/frontend/dist/assets/index-6aaa0630.css +0 -33
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-work-briefing.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/active-work-briefing.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AA+ClF;;;GAGG;AACH,MAAM,YAAY,GAAiB;IACjC,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,CAAC;IACjB,mBAAmB,EAAE,EAAE;IACvB,oBAAoB,EAAE,CAAC;CACxB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C,oDAAoD;AACpD,MAAM,mCAAmC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3D,sDAAsD;AACtD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,gCAAgC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,MAAM,uBAAuB,GAA+B,IAAI,GAAG,CAAgB;IACjF,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,yBAAyB,GAAgC,IAAI,GAAG,CAAiB;IACrF,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,qBAAqB,GAAmB,gBAAgB,CAAC;AAsI/D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAyB;IAWjB;IACA;IAXX,MAAM,CAAC,QAAQ,GAAqC,IAAI,CAAC;IAEhD,MAAM,CAAkB;IAEzC;;;;OAIG;IACH,YACmB,qBAA4C,EAC5C,eAAuC;QADvC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,oBAAe,GAAf,eAAe,CAAwB;QAExD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC;YACxC,qGAAqG;YACrG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAC/D,qGAAqG;YACrG,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACzE,yBAAyB,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAChE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,EAClC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CACpC,CAAC;QACJ,CAAC;QACD,OAAO,yBAAyB,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa;QACzB,yBAAyB,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CACzB,qBAA4C,EAC5C,eAAuC;QAEvC,OAAO,IAAI,yBAAyB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;;;;;;;;OASG;IACK,WAAW,CACjB,IAAY,EACZ,SAAiC;QAEjC,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,CAAC;QAClD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO;YACL,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,YAAY,GAAG,UAAU;YAC/E,eAAe,EAAE,SAAS,EAAE,eAAe,IAAI,YAAY,CAAC,eAAe,GAAG,UAAU;YACxF,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,YAAY,CAAC,cAAc,GAAG,UAAU;YACrF,mBAAmB,EACjB,SAAS,EAAE,mBAAmB,IAAI,YAAY,CAAC,mBAAmB,GAAG,UAAU;YACjF,oBAAoB,EAClB,SAAS,EAAE,oBAAoB,IAAI,YAAY,CAAC,oBAAoB,GAAG,UAAU;SACpF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,CAA+B;QAClD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,CAAC,CAAC;YACX;gBACE,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAC,SAAiB,EAAE,KAAa;QAC/C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CACxB,QAA6C,EAC7C,GAAW;QAEX,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAI,KAAU,EAAE,GAAW;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO;YACL,IAAI;YACJ,UAAU,EAAE;gBACV,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,GAAG;gBACH,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG;aAC9B;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACK,eAAe,CACrB,QAAmB,EACnB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YACzD,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,6EAA6E;YAC7E,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YAClC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,wBAAwB;SACnC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACK,sBAAsB,CAC5B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5D,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;YAC7C,MAAM,aAAa,GAAG,SAAS,KAAK,WAAW,CAAC;YAEhD,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YAChD,+DAA+D;YAC/D,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,QAAQ,CAAC;YACpD,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,qBAAqB,CAC3B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,EAAE,CAAC,MAAM,KAAK,qBAAqB;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAClE,OAAO,QAAQ,KAAK,WAAW,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,SAAS;SAC1E,CAAC,CAAC,CAAC;QAEJ,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACK,0BAA0B,CAChC,KAAiB,EACjB,WAAmB,EACnB,KAAa;QAEb,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,WAAW,KAAK,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,uBAAuB,CAC7B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,QAAgB;QAEhB,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAC/F,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,EAAE,GAAG,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE9B,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,CACL,EAAE,CAAC,MAAM,KAAK,WAAW;gBACzB,SAAS,KAAK,WAAW;gBACzB,WAAW,KAAK,WAAW,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAA0B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE;YACvE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,IAAI,SAAS;SACvF,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,QAA6C;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAa;QACjC,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,IAAY;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,IAAI,qBAAqB;YAAE,OAAO,OAAO,CAAC;QAC5D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3D,CAAC;IAED,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAmB,EACnB,IAAY,EACZ,UAA2B,EAAE;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,IAAI,mCAAmC,CAAC;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAElD,qDAAqD;QACrD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjF,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1F,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9F,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAC1D,SAAS,EACT,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,CACT,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5F,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CACxC,uBAAuB,EACvB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAEF,MAAM,SAAS,GACb,YAAY,CAAC,UAAU,CAAC,SAAS;YACjC,eAAe,CAAC,UAAU,CAAC,SAAS;YACpC,cAAc,CAAC,UAAU,CAAC,SAAS;YACnC,mBAAmB,CAAC,UAAU,CAAC,SAAS;YACxC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC;QAE5C,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,eAAe,EAAE,eAAe,CAAC,IAAI;YACrC,cAAc,EAAE,cAAc,CAAC,IAAI;YACnC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI;YAC7C,oBAAoB,EAAE,oBAAoB,CAAC,IAAI;YAC/C,UAAU,EAAE;gBACV,YAAY,EAAE,YAAY,CAAC,UAAU;gBACrC,eAAe,EAAE,eAAe,CAAC,UAAU;gBAC3C,cAAc,EAAE,cAAc,CAAC,UAAU;gBACzC,mBAAmB,EAAE,mBAAmB,CAAC,UAAU;gBACnD,oBAAoB,EAAE,oBAAoB,CAAC,UAAU;aACtD;YACD,SAAS;YACT,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;YAC1C,WAAW,EAAE;gBACX,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,SAAS,EAAE,SAAS,CAAC,MAAM;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,sBAAsB;IACtB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,wBAAwB,CAC7B,QAA4B,EAC5B,WAAyB;QAEzB,MAAM,SAAS,GACb,QAAQ,CAAC,YAAY,CAAC,MAAM;YAC5B,QAAQ,CAAC,eAAe,CAAC,MAAM;YAC/B,QAAQ,CAAC,cAAc,CAAC,MAAM;YAC9B,QAAQ,CAAC,mBAAmB,CAAC,MAAM;YACnC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAEvC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,uDAAuD,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,CAAC;QAEnD,uEAAuE;QACvE,0EAA0E;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,EAAE,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;gBACzF,KAAK,EAAE,EAAE,CAAC,MAAM;gBAChB,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;YACH,MAAM,OAAO,GAAa,CAAC,qBAAqB,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CACpB,QAA4B,EAC5B,WAAoC,EACpC,OAAgB;QAEhB,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,qBAAqB,CACxB,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,UAAU,CAAC,eAAe,EACnC,WAAW,EACX,OAAO,CACR,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,oBAAoB,CACvB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,CAAC,cAAc,EAClC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,yBAAyB,CAC5B,QAAQ,CAAC,mBAAmB,EAC5B,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EACvC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,sBAAsB,CACzB,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACxC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,UAA6B;QAC1D,IAAI,CAAC,UAAU,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC;QACzD,OAAO,YAAY,IAAI,oDAAoD,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACK,gBAAgB,CAAC,IAAY,EAAE,GAAW,EAAE,KAA8B;QAChF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,GAAG,IAAI,cAAc,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,uEAAuE;IAC/D,SAAS,CAAC,QAAgB;QAChC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CACxB,IAAsB,EACtB,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,IAAyB,EACzB,UAA6B,EAC7B,KAA8B,EAC9B,OAAgB;QAEhB,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC;YAC7H,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAC1B,IAAwB,EACxB,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB,CAC/B,IAA6B,EAC7B,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC;YAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAC5B,IAA2B,EAC3B,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC"}
|
|
@@ -6,6 +6,31 @@ export interface OrchestratorConfig {
|
|
|
6
6
|
projectPath: string;
|
|
7
7
|
windowName?: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Error thrown when an agent role cannot be resolved to a valid value.
|
|
11
|
+
*
|
|
12
|
+
* Indicates a member with no `role` field in storage, or a caller passing
|
|
13
|
+
* `undefined`/empty/literal-"undefined". Surfaces the failure loudly so it
|
|
14
|
+
* cannot manifest as the silent "empty Claude prompt" symptom (Bug #1).
|
|
15
|
+
*/
|
|
16
|
+
export declare class InvalidAgentRoleError extends Error {
|
|
17
|
+
readonly received: unknown;
|
|
18
|
+
constructor(received: unknown, context?: string);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Validate that an agent role is a usable string before it flows into session
|
|
22
|
+
* creation, env-var injection, or prompt-template path resolution.
|
|
23
|
+
*
|
|
24
|
+
* Rejects: undefined, null, non-strings, empty/whitespace strings, and the
|
|
25
|
+
* literal string "undefined" (which results from JS coercion when an undefined
|
|
26
|
+
* is interpolated into a template literal — the exact failure mode behind
|
|
27
|
+
* `CREWLY_ROLE="undefined"` in tmux env).
|
|
28
|
+
*
|
|
29
|
+
* @param role - The candidate role value
|
|
30
|
+
* @param context - Optional caller context for the error message (e.g. "startTeamMember")
|
|
31
|
+
* @throws {InvalidAgentRoleError} when role is unusable
|
|
32
|
+
*/
|
|
33
|
+
export declare function validateAgentRole(role: unknown, context?: string): asserts role is string;
|
|
9
34
|
/**
|
|
10
35
|
* Service responsible for the complex, multi-step process of agent initialization and registration.
|
|
11
36
|
* Isolates the complex state management of agent startup with progressive escalation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACN,gBAAgB,EAMhB,WAAW,EAOX,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,16 +10,61 @@ import { WEB_CONSTANTS } from '../../../../config/constants.js';
|
|
|
10
10
|
import { delay } from '../../utils/async.utils.js';
|
|
11
11
|
import { getSettingsService } from '../settings/settings.service.js';
|
|
12
12
|
import { SessionMemoryService } from '../memory/session-memory.service.js';
|
|
13
|
+
import { ActiveWorkBriefingService } from './active-work-briefing.service.js';
|
|
13
14
|
import { RuntimeExitMonitorService } from './runtime-exit-monitor.service.js';
|
|
14
15
|
import { ContextWindowMonitorService } from './context-window-monitor.service.js';
|
|
15
16
|
import { OAuthReloginMonitorService } from './oauth-relogin-monitor.service.js';
|
|
16
17
|
import { SubAgentMessageQueue } from '../messaging/sub-agent-message-queue.service.js';
|
|
17
18
|
import { AgentSuspendService } from './agent-suspend.service.js';
|
|
18
|
-
import { PromptBuilderService } from '../ai/prompt-builder.service.js';
|
|
19
|
+
import { PromptBuilderService, buildModuleConfigFromTeamMember, } from '../ai/prompt-builder.service.js';
|
|
19
20
|
import { PromptAssemblyService } from '../ai/prompt-modules/prompt-assembly.service.js';
|
|
20
21
|
import { stripAnsiCodes } from '../../utils/terminal-output.utils.js';
|
|
21
22
|
import { isPromptLine, containsSpinnerOrWorkingIndicator, containsProcessingIndicator, containsBusyStatusBar, containsRewindMode, extractChatPrefix, stripTuiLineBorders, matchTuiPromptLine, } from '../../utils/terminal-string-ops.js';
|
|
22
23
|
import { PtyActivityTrackerService } from './pty-activity-tracker.service.js';
|
|
24
|
+
/**
|
|
25
|
+
* Error thrown when an agent role cannot be resolved to a valid value.
|
|
26
|
+
*
|
|
27
|
+
* Indicates a member with no `role` field in storage, or a caller passing
|
|
28
|
+
* `undefined`/empty/literal-"undefined". Surfaces the failure loudly so it
|
|
29
|
+
* cannot manifest as the silent "empty Claude prompt" symptom (Bug #1).
|
|
30
|
+
*/
|
|
31
|
+
export class InvalidAgentRoleError extends Error {
|
|
32
|
+
received;
|
|
33
|
+
constructor(received, context) {
|
|
34
|
+
const ctx = context ? ` (${context})` : '';
|
|
35
|
+
const display = received === undefined ? 'undefined'
|
|
36
|
+
: received === null ? 'null'
|
|
37
|
+
: typeof received === 'string' ? `"${received}"`
|
|
38
|
+
: String(received);
|
|
39
|
+
super(`Invalid agent role${ctx}: received ${display}. Role must be a non-empty string ` +
|
|
40
|
+
`matching a directory under config/roles/. ` +
|
|
41
|
+
`Common cause: team member.role field missing or unset in storage.`);
|
|
42
|
+
this.received = received;
|
|
43
|
+
this.name = 'InvalidAgentRoleError';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Validate that an agent role is a usable string before it flows into session
|
|
48
|
+
* creation, env-var injection, or prompt-template path resolution.
|
|
49
|
+
*
|
|
50
|
+
* Rejects: undefined, null, non-strings, empty/whitespace strings, and the
|
|
51
|
+
* literal string "undefined" (which results from JS coercion when an undefined
|
|
52
|
+
* is interpolated into a template literal — the exact failure mode behind
|
|
53
|
+
* `CREWLY_ROLE="undefined"` in tmux env).
|
|
54
|
+
*
|
|
55
|
+
* @param role - The candidate role value
|
|
56
|
+
* @param context - Optional caller context for the error message (e.g. "startTeamMember")
|
|
57
|
+
* @throws {InvalidAgentRoleError} when role is unusable
|
|
58
|
+
*/
|
|
59
|
+
export function validateAgentRole(role, context) {
|
|
60
|
+
if (typeof role !== 'string') {
|
|
61
|
+
throw new InvalidAgentRoleError(role, context);
|
|
62
|
+
}
|
|
63
|
+
const trimmed = role.trim();
|
|
64
|
+
if (trimmed.length === 0 || trimmed.toLowerCase() === 'undefined' || trimmed.toLowerCase() === 'null') {
|
|
65
|
+
throw new InvalidAgentRoleError(role, context);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
23
68
|
/**
|
|
24
69
|
* Service responsible for the complex, multi-step process of agent initialization and registration.
|
|
25
70
|
* Isolates the complex state management of agent startup with progressive escalation.
|
|
@@ -399,6 +444,10 @@ export class AgentRegistrationService {
|
|
|
399
444
|
* Uses the unified config/roles/{role}/prompt.md structure
|
|
400
445
|
*/
|
|
401
446
|
async getPromptFileForRole(role) {
|
|
447
|
+
// Defensive: reject empty/undefined/literal-"undefined" before path concat,
|
|
448
|
+
// which would otherwise resolve to a non-existent `config/roles/undefined/prompt.md`
|
|
449
|
+
// and trigger the silent fallback path that left agents with empty prompts (Bug #1).
|
|
450
|
+
validateAgentRole(role, 'getPromptFileForRole');
|
|
402
451
|
// Normalize role name to directory name format
|
|
403
452
|
const roleName = role.toLowerCase().replace(/\s+/g, '-');
|
|
404
453
|
return path.join(process.cwd(), 'config', 'roles', roleName, 'prompt.md');
|
|
@@ -1264,6 +1313,35 @@ export class AgentRegistrationService {
|
|
|
1264
1313
|
});
|
|
1265
1314
|
}
|
|
1266
1315
|
}
|
|
1316
|
+
// Issue #395: Inject the authoritative active-work briefing FIRST,
|
|
1317
|
+
// so the agent's reading order is "what am I on the hook for RIGHT
|
|
1318
|
+
// NOW" before the supplementary memory context. Soft-fail with WARN
|
|
1319
|
+
// — TaskPool/Request hiccups must not block agent boot.
|
|
1320
|
+
try {
|
|
1321
|
+
const activeWorkService = ActiveWorkBriefingService.getInstance();
|
|
1322
|
+
const activeWorkBriefing = await activeWorkService.generateActiveWorkBriefing(sessionName, role);
|
|
1323
|
+
const activeWorkMd = activeWorkService.formatBriefingAsMarkdown(activeWorkBriefing);
|
|
1324
|
+
if (activeWorkMd && activeWorkMd.length > 30) {
|
|
1325
|
+
prompt += `\n\n---\n\n${activeWorkMd}`;
|
|
1326
|
+
this.logger.info('Active-work briefing injected into prompt', {
|
|
1327
|
+
sessionName,
|
|
1328
|
+
role,
|
|
1329
|
+
openRequests: activeWorkBriefing.openRequests.length,
|
|
1330
|
+
activeWorkItems: activeWorkBriefing.activeWorkItems.length,
|
|
1331
|
+
pendingReviews: activeWorkBriefing.pendingReviews.length,
|
|
1332
|
+
outboundDelegations: activeWorkBriefing.outboundDelegations.length,
|
|
1333
|
+
recentlyAutoResolved: activeWorkBriefing.recentlyAutoResolved.length,
|
|
1334
|
+
truncated: activeWorkBriefing.truncated,
|
|
1335
|
+
briefingLength: activeWorkMd.length,
|
|
1336
|
+
});
|
|
1337
|
+
}
|
|
1338
|
+
}
|
|
1339
|
+
catch (activeWorkError) {
|
|
1340
|
+
this.logger.warn('Failed to generate active-work briefing (non-critical)', {
|
|
1341
|
+
sessionName,
|
|
1342
|
+
error: activeWorkError instanceof Error ? activeWorkError.message : String(activeWorkError),
|
|
1343
|
+
});
|
|
1344
|
+
}
|
|
1267
1345
|
// Generate and inject startup briefing from session memory
|
|
1268
1346
|
try {
|
|
1269
1347
|
const sessionMemoryService = SessionMemoryService.getInstance();
|
|
@@ -1325,53 +1403,73 @@ export class AgentRegistrationService {
|
|
|
1325
1403
|
this.logger.info('Using modular prompt assembly (Phase 5)', { sessionName, role });
|
|
1326
1404
|
const agentSkillsPath = path.join(this.projectRoot, 'config', 'skills', 'agent');
|
|
1327
1405
|
const tlSkillsPath = path.join(this.projectRoot, 'config', 'skills', 'team-leader');
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
//
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1406
|
+
// Pre-compute the subordinate roster — used by both the helper
|
|
1407
|
+
// path (passed via runtime.subordinates) and the orchestrator
|
|
1408
|
+
// fallback path below.
|
|
1409
|
+
const subordinates = foundMember?.subordinateIds
|
|
1410
|
+
?.map((subId) => {
|
|
1411
|
+
const subMember = foundTeam?.members?.find((m) => m.id === subId);
|
|
1412
|
+
if (!subMember)
|
|
1413
|
+
return null;
|
|
1414
|
+
return {
|
|
1415
|
+
name: subMember.name,
|
|
1416
|
+
sessionName: subMember.sessionName || '',
|
|
1417
|
+
role: subMember.role || 'developer',
|
|
1418
|
+
memberId: subMember.id || subId,
|
|
1419
|
+
};
|
|
1420
|
+
})
|
|
1421
|
+
.filter((s) => s !== null);
|
|
1422
|
+
const teamNormsPath = foundTeam?.id
|
|
1423
|
+
? path.join(os.homedir(), CREWLY_CONSTANTS.PATHS.CREWLY_HOME, 'teams', foundTeam.id, 'norms')
|
|
1424
|
+
: undefined;
|
|
1425
|
+
let moduleConfig;
|
|
1426
|
+
if (foundMember && foundTeam) {
|
|
1427
|
+
// WIRE-2: When the agent is a TeamMember of a Team, build the
|
|
1428
|
+
// canonical ModuleConfig via the shared helper so every
|
|
1429
|
+
// autonomy / org / team-level field reaches the assembler.
|
|
1430
|
+
// Caller-side overlay covers the two registration-specific
|
|
1431
|
+
// fields the helper doesn't know about (teamNormsPath +
|
|
1432
|
+
// the registration's `memberId` override which may differ
|
|
1433
|
+
// from member.id when the caller passed an explicit id).
|
|
1434
|
+
const runtime = {
|
|
1435
|
+
sessionName,
|
|
1436
|
+
projectPath,
|
|
1437
|
+
runtimeType: runtimeType,
|
|
1438
|
+
subordinates,
|
|
1439
|
+
agentSkillsPath,
|
|
1440
|
+
tlSkillsPath,
|
|
1441
|
+
projectRoot: this.projectRoot,
|
|
1442
|
+
};
|
|
1443
|
+
moduleConfig = {
|
|
1444
|
+
...buildModuleConfigFromTeamMember(foundMember, foundTeam, runtime),
|
|
1445
|
+
memberId: memberId ?? foundMember.id ?? '',
|
|
1446
|
+
teamNormsPath,
|
|
1447
|
+
};
|
|
1448
|
+
}
|
|
1449
|
+
else {
|
|
1450
|
+
// Orchestrator + legacy paths: foundMember/foundTeam not
|
|
1451
|
+
// present (orchestrator config lives outside getTeams()).
|
|
1452
|
+
// Keep the inline fallback so registration still works for
|
|
1453
|
+
// the orchestrator and any caller without team context.
|
|
1454
|
+
moduleConfig = {
|
|
1455
|
+
sessionName,
|
|
1456
|
+
memberId: memberId ?? '',
|
|
1457
|
+
role,
|
|
1458
|
+
teamId: foundTeam?.id,
|
|
1459
|
+
projectPath,
|
|
1460
|
+
runtimeType: runtimeType,
|
|
1461
|
+
canDelegate: foundMember?.canDelegate,
|
|
1462
|
+
subordinates,
|
|
1463
|
+
agentSkillsPath,
|
|
1464
|
+
tlSkillsPath,
|
|
1465
|
+
projectRoot: this.projectRoot,
|
|
1466
|
+
orgRole: role === 'orchestrator' ? 'orchestrator'
|
|
1467
|
+
: foundMember?.canDelegate ? 'team-lead'
|
|
1468
|
+
: 'executor',
|
|
1469
|
+
autonomyLevel: foundMember?.autonomyLevel ?? 'directed',
|
|
1470
|
+
teamNormsPath,
|
|
1471
|
+
};
|
|
1472
|
+
}
|
|
1375
1473
|
const assembler = new PromptAssemblyService();
|
|
1376
1474
|
const { prompt: modularPrompt, report } = await assembler.assemble(moduleConfig);
|
|
1377
1475
|
this.logger.info('Modular prompt assembled for registration', {
|
|
@@ -1693,6 +1791,28 @@ After checking in, just say "Ready for tasks" and wait for me to send you work.`
|
|
|
1693
1791
|
* @returns Promise with success/error information
|
|
1694
1792
|
*/
|
|
1695
1793
|
async createAgentSession(config) {
|
|
1794
|
+
// Fail fast if role is unusable. Without this guard, an undefined role
|
|
1795
|
+
// flows through the entire pipeline, gets stringified to "undefined" in
|
|
1796
|
+
// the CREWLY_ROLE env var, and silently breaks prompt resolution. We
|
|
1797
|
+
// surface the misconfiguration here instead of spawning a dead session.
|
|
1798
|
+
try {
|
|
1799
|
+
validateAgentRole(config.role, 'createAgentSession');
|
|
1800
|
+
}
|
|
1801
|
+
catch (err) {
|
|
1802
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
1803
|
+
this.logger.error('Refusing to create agent session with invalid role', {
|
|
1804
|
+
sessionName: config.sessionName,
|
|
1805
|
+
memberId: config.memberId,
|
|
1806
|
+
teamId: config.teamId,
|
|
1807
|
+
receivedRole: config.role,
|
|
1808
|
+
error,
|
|
1809
|
+
});
|
|
1810
|
+
return {
|
|
1811
|
+
success: false,
|
|
1812
|
+
sessionName: config.sessionName,
|
|
1813
|
+
error,
|
|
1814
|
+
};
|
|
1815
|
+
}
|
|
1696
1816
|
// If another creation is in progress for this session, wait for it
|
|
1697
1817
|
const existingLock = this.sessionCreationLocks.get(config.sessionName);
|
|
1698
1818
|
if (existingLock) {
|
|
@@ -2835,8 +2955,25 @@ After checking in, just say "Ready for tasks" and wait for me to send you work.`
|
|
|
2835
2955
|
});
|
|
2836
2956
|
}
|
|
2837
2957
|
}
|
|
2838
|
-
// On retries:
|
|
2839
|
-
// message text
|
|
2958
|
+
// On retries: log informationally if the agent is mid-task and
|
|
2959
|
+
// our message text isn't visible at the bottom of the pane.
|
|
2960
|
+
// Historically this branch returned `true` (silent skip) on
|
|
2961
|
+
// `notAtPrompt && !textStuck`, which silently dropped Slack
|
|
2962
|
+
// messages whenever the orc was busy on a prior task and the
|
|
2963
|
+
// force-deliver fallback's first internal write had been
|
|
2964
|
+
// suppressed by the spinner-dedup guard above. Steve's
|
|
2965
|
+
// 2026-04-30 UTC 17:28 / 18:37 incident: messages acked by
|
|
2966
|
+
// the queue, never reached the orc PTY.
|
|
2967
|
+
//
|
|
2968
|
+
// Correct semantics: the only safe condition for skipping is
|
|
2969
|
+
// a positive recent-duplicate hash match (handled in the
|
|
2970
|
+
// `hasSpinner` block above via `isRecentDuplicate`). If we
|
|
2971
|
+
// reach this point we KNOW the new message has not been
|
|
2972
|
+
// confirmed-written this round, so proceed to the actual
|
|
2973
|
+
// `session.write` below — the PTY input buffer will queue
|
|
2974
|
+
// the bytes until the agent is ready to consume them. A
|
|
2975
|
+
// duplicate is recoverable on the agent side; a silent loss
|
|
2976
|
+
// is not.
|
|
2840
2977
|
if (attempt > 1) {
|
|
2841
2978
|
const notAtPrompt = !this.isClaudeAtPrompt(preWriteCheck, runtimeType);
|
|
2842
2979
|
if (notAtPrompt) {
|
|
@@ -2845,13 +2982,12 @@ After checking in, just say "Ready for tasks" and wait for me to send you work.`
|
|
|
2845
2982
|
: message).replace(/\s+/g, ' ').trim();
|
|
2846
2983
|
const bottomLines = preWriteCheck.split('\n').slice(-10).join(' ').replace(/\s+/g, ' ');
|
|
2847
2984
|
const textStuck = bottomLines.includes(msgSnippet);
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
}
|
|
2985
|
+
this.logger.info('Agent busy on retry — proceeding to write (no silent skip)', {
|
|
2986
|
+
sessionName,
|
|
2987
|
+
attempt,
|
|
2988
|
+
textStuck,
|
|
2989
|
+
});
|
|
2990
|
+
// No early return — fall through to session.write.
|
|
2855
2991
|
}
|
|
2856
2992
|
}
|
|
2857
2993
|
}
|