crewly 1.20.133 → 1.20.135
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/skills/agent/core/block-task/SKILL.md +16 -3
- package/dist/backend/backend/src/constants.d.ts +82 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +87 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.d.ts +44 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js +122 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.d.ts +25 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.js +33 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +6 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +9 -2
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +28 -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 +4 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +43 -7
- 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 +144 -51
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.js +121 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.js.map +1 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.js +72 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.d.ts +62 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.js +173 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.d.ts +359 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js +888 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.d.ts +167 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.js +248 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.d.ts +43 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.js +57 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.d.ts +37 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.js +60 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.d.ts +93 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.js +532 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.d.ts +100 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js +183 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.d.ts +36 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.js +38 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.d.ts +105 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.js +144 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.d.ts +48 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.js +90 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.d.ts +81 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.js +172 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.d.ts +59 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.js +98 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +5 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/teams-backup.service.js +4 -2
- package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.js +2 -0
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.d.ts +14 -2
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js +37 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +9 -1
- 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.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +8 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +21 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +85 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
- 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 +60 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.js +5 -2
- package/dist/backend/backend/src/services/template/template.service.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 +4 -2
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts +367 -0
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/solution-bundle.types.js +17 -0
- package/dist/backend/backend/src/types/solution-bundle.types.js.map +1 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts +8 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +37 -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 +33 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +82 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +87 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +43 -7
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +144 -51
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.js +121 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.js.map +1 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.js +72 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.d.ts +359 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js +888 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.d.ts +167 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.js +248 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.d.ts +37 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.js +60 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.d.ts +93 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.js +532 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.d.ts +100 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js +183 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.d.ts +36 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.js +38 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.d.ts +105 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.js +144 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.d.ts +48 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.js +90 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.d.ts +81 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.js +172 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.d.ts +59 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.js +98 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.js.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.js +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/teams-backup.service.js +4 -2
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts +72 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js +389 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/index.d.ts +15 -0
- package/dist/cli/backend/src/services/messaging/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/index.js +20 -0
- package/dist/cli/backend/src/services/messaging/index.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts +224 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js +969 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.d.ts +110 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.js +268 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.d.ts +14 -2
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js +37 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.d.ts +133 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.js +232 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.d.ts +277 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.js +708 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.js.map +1 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.d.ts +243 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.js +439 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +21 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +85 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
- 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 +60 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/template/template.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/template/template.service.js +5 -2
- package/dist/cli/backend/src/services/template/template.service.js.map +1 -1
- package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts +316 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.js +1043 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.js.map +1 -0
- package/dist/cli/backend/src/types/cron-task.types.d.ts +95 -0
- package/dist/cli/backend/src/types/cron-task.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/cron-task.types.js +10 -0
- package/dist/cli/backend/src/types/cron-task.types.js.map +1 -0
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts +367 -0
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/solution-bundle.types.js +17 -0
- package/dist/cli/backend/src/types/solution-bundle.types.js.map +1 -0
- package/dist/cli/backend/src/types/team-template.types.d.ts +8 -0
- package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +37 -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 +33 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/cli/src/commands/deploy-bundle.d.ts +160 -0
- package/dist/cli/cli/src/commands/deploy-bundle.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/deploy-bundle.js +386 -0
- package/dist/cli/cli/src/commands/deploy-bundle.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +32 -1
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +80 -3
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/constants.d.ts +5 -0
- package/dist/cli/cli/src/constants.d.ts.map +1 -1
- package/dist/cli/cli/src/constants.js +5 -0
- package/dist/cli/cli/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +15 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/frontend/dist/assets/{index-e6c403b6.js → index-2c7ee4a6.js} +276 -276
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-processor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response Router Service
|
|
3
|
+
*
|
|
4
|
+
* Routes orchestrator responses back to the correct source.
|
|
5
|
+
* - Web chat: no-op (existing TerminalGateway -> ChatGateway -> WebSocket pipeline handles it)
|
|
6
|
+
* - Slack: resolves the blocking promise via the slackResolve callback
|
|
7
|
+
*
|
|
8
|
+
* @module services/messaging/response-router
|
|
9
|
+
*/
|
|
10
|
+
import type { QueuedMessage } from '../../types/messaging.types.js';
|
|
11
|
+
import type { ReplyStatus } from '../../types/thread-status.types.js';
|
|
12
|
+
import type { ThreadStatusQueueService } from './thread-status-queue.service.js';
|
|
13
|
+
/**
|
|
14
|
+
* ResponseRouterService routes orchestrator responses to the appropriate
|
|
15
|
+
* destination based on the message source.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const router = new ResponseRouterService();
|
|
20
|
+
* router.routeResponse(completedMessage, 'Here is the response');
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class ResponseRouterService {
|
|
24
|
+
private logger;
|
|
25
|
+
/** Thread status queue for tracking reply outcomes */
|
|
26
|
+
private threadStatusQueue;
|
|
27
|
+
constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Set the thread status queue service for tracking reply outcomes.
|
|
30
|
+
*
|
|
31
|
+
* @param service - The ThreadStatusQueueService instance
|
|
32
|
+
*/
|
|
33
|
+
setThreadStatusQueue(service: ThreadStatusQueueService): void;
|
|
34
|
+
/**
|
|
35
|
+
* Determine the reply status based on orchestrator response content.
|
|
36
|
+
* Checks for delegation markers and follow-up question patterns.
|
|
37
|
+
*
|
|
38
|
+
* @param response - The orchestrator's reply text
|
|
39
|
+
* @returns The appropriate ReplyStatus for this response
|
|
40
|
+
*/
|
|
41
|
+
detectReplyStatus(response: string): ReplyStatus;
|
|
42
|
+
/**
|
|
43
|
+
* Route a response to the appropriate destination based on message source.
|
|
44
|
+
*
|
|
45
|
+
* @param message - The completed/failed QueuedMessage
|
|
46
|
+
* @param response - The response content from the orchestrator
|
|
47
|
+
*/
|
|
48
|
+
routeResponse(message: QueuedMessage, response: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Route response to web chat.
|
|
51
|
+
* This is a no-op because the existing TerminalGateway -> ChatGateway ->
|
|
52
|
+
* WebSocket pipeline already broadcasts responses to connected clients.
|
|
53
|
+
*
|
|
54
|
+
* @param message - The completed QueuedMessage
|
|
55
|
+
* @param response - The response content
|
|
56
|
+
*/
|
|
57
|
+
private routeToWebChat;
|
|
58
|
+
/**
|
|
59
|
+
* Route response to Slack by calling the slackResolve callback.
|
|
60
|
+
* This unblocks the Slack bridge's promise that is waiting for a response.
|
|
61
|
+
*
|
|
62
|
+
* @param message - The completed QueuedMessage
|
|
63
|
+
* @param response - The response content
|
|
64
|
+
*/
|
|
65
|
+
private routeToSlack;
|
|
66
|
+
/**
|
|
67
|
+
* Route response to Google Chat by calling the googleChatResolve callback.
|
|
68
|
+
* This unblocks the promise that sends the reply back to the Chat thread.
|
|
69
|
+
*
|
|
70
|
+
* @param message - The completed QueuedMessage
|
|
71
|
+
* @param response - The response content
|
|
72
|
+
*/
|
|
73
|
+
private routeToGoogleChat;
|
|
74
|
+
/**
|
|
75
|
+
* Route response to Telegram by calling the telegramResolve callback.
|
|
76
|
+
* This unblocks the promise that sends the reply back to the Telegram chat.
|
|
77
|
+
*
|
|
78
|
+
* @param message - The completed QueuedMessage
|
|
79
|
+
* @param response - The response content
|
|
80
|
+
*/
|
|
81
|
+
private routeToTelegram;
|
|
82
|
+
/**
|
|
83
|
+
* Resolve a source-specific callback stored in the message's sourceMetadata.
|
|
84
|
+
*
|
|
85
|
+
* Shared helper used by routeToSlack, routeToGoogleChat, and routeError
|
|
86
|
+
* to avoid duplicating the resolve-callback pattern.
|
|
87
|
+
*
|
|
88
|
+
* @param message - The QueuedMessage containing the callback in sourceMetadata
|
|
89
|
+
* @param response - The response string to pass to the callback
|
|
90
|
+
* @param callbackKey - The key in sourceMetadata that holds the resolve function
|
|
91
|
+
* @param label - Human-readable label for log messages (e.g. "Slack", "Google Chat")
|
|
92
|
+
*/
|
|
93
|
+
private resolveCallback;
|
|
94
|
+
/**
|
|
95
|
+
* Route an error to the appropriate destination.
|
|
96
|
+
*
|
|
97
|
+
* @param message - The failed QueuedMessage
|
|
98
|
+
* @param error - The error message
|
|
99
|
+
*/
|
|
100
|
+
routeError(message: QueuedMessage, error: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Route a response back to a remote device via CloudSync.
|
|
103
|
+
*
|
|
104
|
+
* Cross-machine messages are fire-and-forget on the response side —
|
|
105
|
+
* the orchestrator uses reply-remote skill for explicit replies.
|
|
106
|
+
* This handler is mainly for logging and future auto-reply support.
|
|
107
|
+
*/
|
|
108
|
+
private routeToRemoteDevice;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=response-router.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-router.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAEhC,sDAAsD;IACtD,OAAO,CAAC,iBAAiB,CAAyC;;IAMlE;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI7D;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAyBhD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsD7D;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqCvD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAe5B"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response Router Service
|
|
3
|
+
*
|
|
4
|
+
* Routes orchestrator responses back to the correct source.
|
|
5
|
+
* - Web chat: no-op (existing TerminalGateway -> ChatGateway -> WebSocket pipeline handles it)
|
|
6
|
+
* - Slack: resolves the blocking promise via the slackResolve callback
|
|
7
|
+
*
|
|
8
|
+
* @module services/messaging/response-router
|
|
9
|
+
*/
|
|
10
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
11
|
+
import { formatError } from '../../utils/format-error.js';
|
|
12
|
+
import { THREAD_STATUS_CONSTANTS } from '../../constants.js';
|
|
13
|
+
/**
|
|
14
|
+
* ResponseRouterService routes orchestrator responses to the appropriate
|
|
15
|
+
* destination based on the message source.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const router = new ResponseRouterService();
|
|
20
|
+
* router.routeResponse(completedMessage, 'Here is the response');
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class ResponseRouterService {
|
|
24
|
+
logger;
|
|
25
|
+
/** Thread status queue for tracking reply outcomes */
|
|
26
|
+
threadStatusQueue = null;
|
|
27
|
+
constructor() {
|
|
28
|
+
this.logger = LoggerService.getInstance().createComponentLogger('ResponseRouter');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set the thread status queue service for tracking reply outcomes.
|
|
32
|
+
*
|
|
33
|
+
* @param service - The ThreadStatusQueueService instance
|
|
34
|
+
*/
|
|
35
|
+
setThreadStatusQueue(service) {
|
|
36
|
+
this.threadStatusQueue = service;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Determine the reply status based on orchestrator response content.
|
|
40
|
+
* Checks for delegation markers and follow-up question patterns.
|
|
41
|
+
*
|
|
42
|
+
* @param response - The orchestrator's reply text
|
|
43
|
+
* @returns The appropriate ReplyStatus for this response
|
|
44
|
+
*/
|
|
45
|
+
detectReplyStatus(response) {
|
|
46
|
+
if (!response || response.length === 0) {
|
|
47
|
+
return 'replied_completed';
|
|
48
|
+
}
|
|
49
|
+
const lowerResponse = response.toLowerCase();
|
|
50
|
+
// Check for delegation markers
|
|
51
|
+
for (const marker of THREAD_STATUS_CONSTANTS.DELEGATION_MARKERS) {
|
|
52
|
+
if (lowerResponse.includes(marker.toLowerCase())) {
|
|
53
|
+
return 'replied_waiting_actions';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Check for follow-up question markers (only if response ends with question-like text)
|
|
57
|
+
const lastSentence = response.trim().split(/[.!]\s+/).pop() || '';
|
|
58
|
+
for (const marker of THREAD_STATUS_CONSTANTS.FOLLOW_UP_MARKERS) {
|
|
59
|
+
if (lastSentence.toLowerCase().includes(marker.toLowerCase())) {
|
|
60
|
+
return 'replied_to_follow_up';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return 'replied_completed';
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Route a response to the appropriate destination based on message source.
|
|
67
|
+
*
|
|
68
|
+
* @param message - The completed/failed QueuedMessage
|
|
69
|
+
* @param response - The response content from the orchestrator
|
|
70
|
+
*/
|
|
71
|
+
routeResponse(message, response) {
|
|
72
|
+
switch (message.source) {
|
|
73
|
+
case 'web_chat':
|
|
74
|
+
this.routeToWebChat(message, response);
|
|
75
|
+
break;
|
|
76
|
+
case 'slack':
|
|
77
|
+
this.routeToSlack(message, response);
|
|
78
|
+
break;
|
|
79
|
+
case 'google_chat':
|
|
80
|
+
this.routeToGoogleChat(message, response);
|
|
81
|
+
break;
|
|
82
|
+
case 'telegram':
|
|
83
|
+
this.routeToTelegram(message, response);
|
|
84
|
+
break;
|
|
85
|
+
case 'remote':
|
|
86
|
+
this.routeToRemoteDevice(message, response);
|
|
87
|
+
break;
|
|
88
|
+
case 'system_event':
|
|
89
|
+
this.logger.debug('System event response routed (no-op)', {
|
|
90
|
+
messageId: message.id,
|
|
91
|
+
});
|
|
92
|
+
break;
|
|
93
|
+
default:
|
|
94
|
+
this.logger.warn('Unknown message source for routing', {
|
|
95
|
+
messageId: message.id,
|
|
96
|
+
source: message.source,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// Track reply status in the thread status queue (skip empty responses
|
|
100
|
+
// from fire-and-forget delivery — actual reply comes via reply-* skills)
|
|
101
|
+
if (this.threadStatusQueue && response && response.length > 0 && message.sourceMetadata) {
|
|
102
|
+
try {
|
|
103
|
+
const channelId = message.sourceMetadata.channelId;
|
|
104
|
+
const threadTs = message.sourceMetadata.threadTs;
|
|
105
|
+
if (channelId) {
|
|
106
|
+
const threadKey = threadTs ? `${channelId}:${threadTs}` : `${channelId}:${message.enqueuedAt}`;
|
|
107
|
+
const replyStatus = this.detectReplyStatus(response);
|
|
108
|
+
this.threadStatusQueue.markReplied(threadKey, replyStatus);
|
|
109
|
+
this.logger.debug('Thread status marked as replied', {
|
|
110
|
+
messageId: message.id,
|
|
111
|
+
threadKey,
|
|
112
|
+
replyStatus,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
this.logger.warn('Failed to mark thread as replied', {
|
|
118
|
+
messageId: message.id,
|
|
119
|
+
error: err instanceof Error ? err.message : String(err),
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Route response to web chat.
|
|
126
|
+
* This is a no-op because the existing TerminalGateway -> ChatGateway ->
|
|
127
|
+
* WebSocket pipeline already broadcasts responses to connected clients.
|
|
128
|
+
*
|
|
129
|
+
* @param message - The completed QueuedMessage
|
|
130
|
+
* @param response - The response content
|
|
131
|
+
*/
|
|
132
|
+
routeToWebChat(message, response) {
|
|
133
|
+
this.logger.debug('Web chat response routed (via existing WebSocket pipeline)', {
|
|
134
|
+
messageId: message.id,
|
|
135
|
+
conversationId: message.conversationId,
|
|
136
|
+
responseLength: response.length,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Route response to Slack by calling the slackResolve callback.
|
|
141
|
+
* This unblocks the Slack bridge's promise that is waiting for a response.
|
|
142
|
+
*
|
|
143
|
+
* @param message - The completed QueuedMessage
|
|
144
|
+
* @param response - The response content
|
|
145
|
+
*/
|
|
146
|
+
routeToSlack(message, response) {
|
|
147
|
+
this.resolveCallback(message, response, 'slackResolve', 'Slack');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Route response to Google Chat by calling the googleChatResolve callback.
|
|
151
|
+
* This unblocks the promise that sends the reply back to the Chat thread.
|
|
152
|
+
*
|
|
153
|
+
* @param message - The completed QueuedMessage
|
|
154
|
+
* @param response - The response content
|
|
155
|
+
*/
|
|
156
|
+
routeToGoogleChat(message, response) {
|
|
157
|
+
this.resolveCallback(message, response, 'googleChatResolve', 'Google Chat');
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Route response to Telegram by calling the telegramResolve callback.
|
|
161
|
+
* This unblocks the promise that sends the reply back to the Telegram chat.
|
|
162
|
+
*
|
|
163
|
+
* @param message - The completed QueuedMessage
|
|
164
|
+
* @param response - The response content
|
|
165
|
+
*/
|
|
166
|
+
routeToTelegram(message, response) {
|
|
167
|
+
this.resolveCallback(message, response, 'telegramResolve', 'Telegram');
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Resolve a source-specific callback stored in the message's sourceMetadata.
|
|
171
|
+
*
|
|
172
|
+
* Shared helper used by routeToSlack, routeToGoogleChat, and routeError
|
|
173
|
+
* to avoid duplicating the resolve-callback pattern.
|
|
174
|
+
*
|
|
175
|
+
* @param message - The QueuedMessage containing the callback in sourceMetadata
|
|
176
|
+
* @param response - The response string to pass to the callback
|
|
177
|
+
* @param callbackKey - The key in sourceMetadata that holds the resolve function
|
|
178
|
+
* @param label - Human-readable label for log messages (e.g. "Slack", "Google Chat")
|
|
179
|
+
*/
|
|
180
|
+
resolveCallback(message, response, callbackKey, label) {
|
|
181
|
+
const resolve = message.sourceMetadata?.[callbackKey];
|
|
182
|
+
if (typeof resolve === 'function') {
|
|
183
|
+
try {
|
|
184
|
+
resolve(response);
|
|
185
|
+
this.logger.debug(`${label} response resolved`, {
|
|
186
|
+
messageId: message.id,
|
|
187
|
+
conversationId: message.conversationId,
|
|
188
|
+
responseLength: response.length,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
this.logger.error(`Failed to resolve ${label} response`, {
|
|
193
|
+
messageId: message.id,
|
|
194
|
+
error: formatError(error),
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
this.logger.warn(`${label} message has no ${callbackKey} callback`, {
|
|
200
|
+
messageId: message.id,
|
|
201
|
+
conversationId: message.conversationId,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Route an error to the appropriate destination.
|
|
207
|
+
*
|
|
208
|
+
* @param message - The failed QueuedMessage
|
|
209
|
+
* @param error - The error message
|
|
210
|
+
*/
|
|
211
|
+
routeError(message, error) {
|
|
212
|
+
switch (message.source) {
|
|
213
|
+
case 'web_chat':
|
|
214
|
+
this.logger.debug('Web chat error routed (via existing pipeline)', {
|
|
215
|
+
messageId: message.id,
|
|
216
|
+
error,
|
|
217
|
+
});
|
|
218
|
+
break;
|
|
219
|
+
case 'slack':
|
|
220
|
+
this.resolveCallback(message, `Error: ${error}`, 'slackResolve', 'Slack');
|
|
221
|
+
break;
|
|
222
|
+
case 'google_chat':
|
|
223
|
+
this.resolveCallback(message, `Error: ${error}`, 'googleChatResolve', 'Google Chat');
|
|
224
|
+
break;
|
|
225
|
+
case 'telegram':
|
|
226
|
+
this.resolveCallback(message, `Error: ${error}`, 'telegramResolve', 'Telegram');
|
|
227
|
+
break;
|
|
228
|
+
case 'remote':
|
|
229
|
+
this.logger.debug('Remote device error (fire-and-forget)', {
|
|
230
|
+
messageId: message.id,
|
|
231
|
+
error,
|
|
232
|
+
});
|
|
233
|
+
break;
|
|
234
|
+
case 'system_event':
|
|
235
|
+
this.logger.debug('System event error routed (no-op)', {
|
|
236
|
+
messageId: message.id,
|
|
237
|
+
error,
|
|
238
|
+
});
|
|
239
|
+
break;
|
|
240
|
+
default:
|
|
241
|
+
this.logger.warn('Unknown message source for error routing', {
|
|
242
|
+
messageId: message.id,
|
|
243
|
+
source: message.source,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Route a response back to a remote device via CloudSync.
|
|
249
|
+
*
|
|
250
|
+
* Cross-machine messages are fire-and-forget on the response side —
|
|
251
|
+
* the orchestrator uses reply-remote skill for explicit replies.
|
|
252
|
+
* This handler is mainly for logging and future auto-reply support.
|
|
253
|
+
*/
|
|
254
|
+
routeToRemoteDevice(message, response) {
|
|
255
|
+
const fromDeviceId = message.sourceMetadata?.fromDeviceId;
|
|
256
|
+
const fromDeviceName = message.sourceMetadata?.fromDeviceName;
|
|
257
|
+
this.logger.info('Remote device response routed (fire-and-forget)', {
|
|
258
|
+
messageId: message.id,
|
|
259
|
+
fromDeviceId,
|
|
260
|
+
fromDeviceName,
|
|
261
|
+
responseLength: response.length,
|
|
262
|
+
});
|
|
263
|
+
// Auto-reply is handled by the orchestrator via reply-remote skill,
|
|
264
|
+
// triggered by the [REMOTE:deviceId:deviceName] marker in the delivered content.
|
|
265
|
+
// The orchestrator's skills reference tells it to use reply-remote for these messages.
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=response-router.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-router.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
import type { Team } from '../../types/index.js';
|
|
27
27
|
import type { TeamTemplate } from '../../types/team-template.types.js';
|
|
28
28
|
import type { CreateFromTemplateResult } from '../template/template.service.js';
|
|
29
|
+
import type { BundleTemplate } from '../../types/solution-bundle.types.js';
|
|
29
30
|
import { OnboardingStateStore } from './onboarding-state.store.js';
|
|
30
31
|
/** Checklist step ids, in display order. */
|
|
31
32
|
export type ChecklistStepId = 'harness' | 'team' | 'first_task' | 'cloud' | 'slack';
|
|
@@ -109,10 +110,18 @@ export interface OnboardingChecklist {
|
|
|
109
110
|
dismissed: boolean;
|
|
110
111
|
dismissedAt: string | null;
|
|
111
112
|
}
|
|
112
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* What picking a starter does: `template` creates the team
|
|
115
|
+
* (`POST /starter-team`), `bundle` deploys a solution bundle after its
|
|
116
|
+
* questions (`POST /api/bundles/apply`), `blank` records the Blank choice.
|
|
117
|
+
*/
|
|
118
|
+
export type OnboardingStarterKind = 'template' | 'bundle' | 'blank';
|
|
119
|
+
/** A starter team the owner can pick (a template, a solution bundle, or Blank). */
|
|
113
120
|
export interface OnboardingStarter {
|
|
114
121
|
/** Template id, or `blank` */
|
|
115
122
|
id: string;
|
|
123
|
+
/** How it is created */
|
|
124
|
+
kind: OnboardingStarterKind;
|
|
116
125
|
name: string;
|
|
117
126
|
/** Short Chinese display name */
|
|
118
127
|
label: string;
|
|
@@ -173,6 +182,8 @@ export interface OrchestratorSendResult {
|
|
|
173
182
|
/** Dependencies (all injectable for tests). */
|
|
174
183
|
export interface OnboardingChecklistDeps {
|
|
175
184
|
store: OnboardingStateStore;
|
|
185
|
+
/** Ready solution bundles, offered after the free starters (optional) */
|
|
186
|
+
listBundles?(): BundleTemplate[];
|
|
176
187
|
/** Harness step */
|
|
177
188
|
getHarnessState(): Promise<HarnessStepDetail>;
|
|
178
189
|
listTeams(): Promise<Team[]>;
|
|
@@ -232,7 +243,8 @@ export declare class OnboardingChecklistService {
|
|
|
232
243
|
*/
|
|
233
244
|
getChecklist(): Promise<OnboardingChecklist>;
|
|
234
245
|
/**
|
|
235
|
-
* The starter teams: templates marked `onboarding` (by `order`), then
|
|
246
|
+
* The starter teams: templates marked `onboarding` (by `order`), then the
|
|
247
|
+
* ready solution bundles, then Blank.
|
|
236
248
|
*
|
|
237
249
|
* @returns Starters, recommended first
|
|
238
250
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-checklist.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/onboarding/onboarding-checklist.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,oCAAoC,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAwB,MAAM,6BAA6B,CAAC;AAMzF,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpF,2BAA2B;AAC3B,MAAM,WAAW,iBAAiB;IACjC,qDAAqD;IACrD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAwB;AACxB,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtE,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8BAA8B;AAC9B,MAAM,WAAW,mBAAmB;IACnC,yDAAyD;IACzD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yBAAyB;AACzB,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yBAAyB;AACzB,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GACtB;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAC3D;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAChE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACvD;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3D,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,
|
|
1
|
+
{"version":3,"file":"onboarding-checklist.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/onboarding/onboarding-checklist.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,6 +87,7 @@ export function buildFirstTaskMessage(text, team) {
|
|
|
87
87
|
function templateToStarter(template, onboarding) {
|
|
88
88
|
return {
|
|
89
89
|
id: template.id,
|
|
90
|
+
kind: 'template',
|
|
90
91
|
name: template.name,
|
|
91
92
|
label: onboarding.label,
|
|
92
93
|
tagline: onboarding.tagline,
|
|
@@ -99,6 +100,30 @@ function templateToStarter(template, onboarding) {
|
|
|
99
100
|
suggestions: [...onboarding.suggestions],
|
|
100
101
|
};
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Starter DTO for a solution bundle. Its first-week tasks are sent by the
|
|
105
|
+
* bundle itself, so it offers no suggestions.
|
|
106
|
+
*
|
|
107
|
+
* @param template - Bundle template
|
|
108
|
+
* @returns Starter
|
|
109
|
+
*/
|
|
110
|
+
function bundleToStarter(template) {
|
|
111
|
+
const roles = [...template.roles, ...(template.bundle.teams ?? []).flatMap((t) => t.roles)];
|
|
112
|
+
return {
|
|
113
|
+
id: template.id,
|
|
114
|
+
kind: 'bundle',
|
|
115
|
+
name: template.name,
|
|
116
|
+
label: template.bundle.label,
|
|
117
|
+
tagline: template.bundle.tagline,
|
|
118
|
+
description: template.bundle.ownerSummary,
|
|
119
|
+
recommended: false,
|
|
120
|
+
members: roles.flatMap((role) => Array.from({ length: Math.max(1, role.count) }, (_, i) => ({
|
|
121
|
+
name: role.count > 1 ? `${role.defaultName}${i + 1}` : role.defaultName,
|
|
122
|
+
role: role.role,
|
|
123
|
+
}))),
|
|
124
|
+
suggestions: [],
|
|
125
|
+
};
|
|
126
|
+
}
|
|
102
127
|
/**
|
|
103
128
|
* Error text for a failed step read.
|
|
104
129
|
*
|
|
@@ -150,7 +175,8 @@ export class OnboardingChecklistService {
|
|
|
150
175
|
};
|
|
151
176
|
}
|
|
152
177
|
/**
|
|
153
|
-
* The starter teams: templates marked `onboarding` (by `order`), then
|
|
178
|
+
* The starter teams: templates marked `onboarding` (by `order`), then the
|
|
179
|
+
* ready solution bundles, then Blank.
|
|
154
180
|
*
|
|
155
181
|
* @returns Starters, recommended first
|
|
156
182
|
*/
|
|
@@ -160,9 +186,19 @@ export class OnboardingChecklistService {
|
|
|
160
186
|
.listOnboardingStarters()
|
|
161
187
|
.filter((t) => !!t.onboarding)
|
|
162
188
|
.map((t) => templateToStarter(t, t.onboarding));
|
|
189
|
+
let bundles = [];
|
|
190
|
+
try {
|
|
191
|
+
bundles = this.deps.listBundles?.() ?? [];
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
bundles = [];
|
|
195
|
+
}
|
|
196
|
+
const taken = new Set(starters.map((s) => s.id));
|
|
197
|
+
starters.push(...bundles.filter((b) => !taken.has(b.id)).map(bundleToStarter));
|
|
163
198
|
const blank = ONBOARDING_CONSTANTS.BLANK_STARTER;
|
|
164
199
|
starters.push({
|
|
165
200
|
id: ONBOARDING_CONSTANTS.BLANK_STARTER_ID,
|
|
201
|
+
kind: 'blank',
|
|
166
202
|
name: blank.NAME,
|
|
167
203
|
label: blank.LABEL,
|
|
168
204
|
tagline: blank.TAGLINE,
|