crewly 1.20.132 → 1.20.134
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/constants.ts +49 -0
- package/config/index.ts +2 -0
- 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/cloud/cloud-device-pairing.controller.d.ts +56 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js +114 -0
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +25 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +73 -55
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +9 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +14 -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/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/cloud-device-pairing.client.d.ts +132 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.js +228 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.d.ts +115 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.js +160 -0
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.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 +13 -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/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/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/build-info.json +2 -2
- package/dist/backend/config/constants.d.ts +48 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +48 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/backend/config/index.d.ts +2 -2
- package/dist/backend/config/index.d.ts.map +1 -1
- package/dist/backend/config/index.js +2 -2
- package/dist/backend/config/index.js.map +1 -1
- 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/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/cloud/cloud-device-pairing.client.d.ts +132 -0
- package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.d.ts.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.js +228 -0
- package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.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/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/cli/src/commands/cloud.d.ts +45 -25
- package/dist/cli/cli/src/commands/cloud.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/cloud.js +153 -47
- package/dist/cli/cli/src/commands/cloud.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-checklist.js +3 -3
- package/dist/cli/cli/src/commands/onboard-checklist.js.map +1 -1
- 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 +21 -4
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/cloud-submit.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/cloud-submit.js +14 -5
- package/dist/cli/cli/src/utils/cloud-submit.js.map +1 -1
- package/dist/cli/config/constants.d.ts +48 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +48 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/dist/cli/config/index.d.ts +2 -2
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +2 -2
- package/dist/cli/config/index.js.map +1 -1
- package/frontend/dist/assets/{index-5b98bf77.js → index-97bb17d4.js} +274 -274
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -6,22 +6,52 @@
|
|
|
6
6
|
* crewly cloud status — Show current connection status
|
|
7
7
|
* crewly cloud logout — Disconnect from CrewlyAI Cloud
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* 1.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
9
|
+
* Login modes:
|
|
10
|
+
* 1. **Device pairing (default)**: asks Crewly Cloud for a pairing, prints a
|
|
11
|
+
* link + short code (`crewlyai.com/cloud/pair?code=ABCD-2345`) the owner
|
|
12
|
+
* opens on any device — usually their phone — and approves. The CLI polls
|
|
13
|
+
* and receives the token pair by itself: nobody copies a token, and nobody
|
|
14
|
+
* has to be at this machine. Credentials are saved to
|
|
15
|
+
* `$CREWLY_HOME/cloud/config.json` and `POST /api/cloud/connect` is called.
|
|
16
|
+
* 2. `--token <token>`: direct token login.
|
|
17
|
+
* 3. `--web`: the old localhost-callback flow (local callback server + Google
|
|
18
|
+
* OAuth in this machine's browser).
|
|
19
|
+
* 4. `--paste`: the old copy-paste flow (sign in on the portal's token page,
|
|
20
|
+
* paste the token and refresh token here).
|
|
16
21
|
*
|
|
17
22
|
* @module cli/commands/cloud
|
|
18
23
|
*/
|
|
19
24
|
import http from 'http';
|
|
25
|
+
import { startCloudDevicePairing, type DevicePairingOutcome, type WaitForApprovalOptions } from '../../../backend/src/services/cloud/cloud-device-pairing.client.js';
|
|
26
|
+
/**
|
|
27
|
+
* Directory for cloud credentials — `$CREWLY_HOME/cloud` (default
|
|
28
|
+
* `~/.crewly/cloud`). Resolved per call so `CREWLY_HOME` set after import
|
|
29
|
+
* (tests, isolated profiles) is honoured; it must match the backend's
|
|
30
|
+
* `CloudClientService` path so both read the same file.
|
|
31
|
+
*
|
|
32
|
+
* @returns Absolute directory path
|
|
33
|
+
*/
|
|
34
|
+
export declare function getCloudConfigDir(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Path to the cloud credentials file.
|
|
37
|
+
*
|
|
38
|
+
* @returns Absolute file path
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCloudConfigFile(): string;
|
|
20
41
|
/** Options for the login subcommand */
|
|
21
|
-
interface LoginOptions {
|
|
42
|
+
export interface LoginOptions {
|
|
22
43
|
token?: string;
|
|
23
44
|
/** Commander.js sets this to false when --no-browser is passed */
|
|
24
45
|
browser?: boolean;
|
|
46
|
+
/** `--web`: old flow — localhost callback server + Google OAuth in this machine's browser */
|
|
47
|
+
web?: boolean;
|
|
48
|
+
/** `--paste`: old flow — sign in on the portal's token page and paste the tokens here */
|
|
49
|
+
paste?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/** Injectable pairing client (tests). */
|
|
52
|
+
export interface LoginDeps {
|
|
53
|
+
startPairing: typeof startCloudDevicePairing;
|
|
54
|
+
waitForApproval: (options: WaitForApprovalOptions) => Promise<DevicePairingOutcome>;
|
|
25
55
|
}
|
|
26
56
|
/**
|
|
27
57
|
* Shape of the credentials saved to config.json.
|
|
@@ -37,15 +67,7 @@ interface CloudCredentials {
|
|
|
37
67
|
connectedAt: string;
|
|
38
68
|
}
|
|
39
69
|
/**
|
|
40
|
-
* Save cloud credentials to
|
|
41
|
-
*
|
|
42
|
-
* Creates the directory hierarchy if it does not exist.
|
|
43
|
-
*
|
|
44
|
-
* @param token - JWT access token
|
|
45
|
-
* @param refreshToken - Optional refresh token
|
|
46
|
-
*/
|
|
47
|
-
/**
|
|
48
|
-
* Save cloud credentials to ~/.crewly/cloud/config.json.
|
|
70
|
+
* Save cloud credentials to $CREWLY_HOME/cloud/config.json.
|
|
49
71
|
*
|
|
50
72
|
* Creates the directory hierarchy if it does not exist. The format matches
|
|
51
73
|
* PersistedCloudConfig so the backend's loadPersistedConfig() can read it.
|
|
@@ -55,7 +77,7 @@ interface CloudCredentials {
|
|
|
55
77
|
*/
|
|
56
78
|
export declare function saveCloudCredentials(token: string, refreshToken?: string): void;
|
|
57
79
|
/**
|
|
58
|
-
* Load cloud credentials from
|
|
80
|
+
* Load cloud credentials from $CREWLY_HOME/cloud/config.json.
|
|
59
81
|
*
|
|
60
82
|
* @returns The saved credentials, or null if the file does not exist or is invalid
|
|
61
83
|
*/
|
|
@@ -109,15 +131,13 @@ export declare function promptForToken(prompt: string): Promise<string>;
|
|
|
109
131
|
/**
|
|
110
132
|
* Handle the `crewly cloud login` subcommand.
|
|
111
133
|
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* 2. `--no-browser`: prints a URL for mobile login, waits for user to paste token.
|
|
115
|
-
* 3. Default: starts a local HTTP callback server, opens the browser to the
|
|
116
|
-
* backend OAuth URL, waits for the callback, saves credentials.
|
|
134
|
+
* Modes (see the module comment): device pairing by default; `--token`,
|
|
135
|
+
* `--web` and `--paste` keep the older flows.
|
|
117
136
|
*
|
|
118
|
-
* @param options - Login command options
|
|
137
|
+
* @param options - Login command options
|
|
138
|
+
* @param deps - Pairing client (tests)
|
|
119
139
|
*/
|
|
120
|
-
export declare function loginCommand(options: LoginOptions): Promise<void>;
|
|
140
|
+
export declare function loginCommand(options: LoginOptions, deps?: LoginDeps): Promise<void>;
|
|
121
141
|
/**
|
|
122
142
|
* Handle the `crewly cloud status` subcommand.
|
|
123
143
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,OAAO,EACL,uBAAuB,EAEvB,KAAK,oBAAoB,EAEzB,KAAK,sBAAsB,EAC5B,MAAM,oEAAoE,CAAC;AAuC5E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAMD,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yFAAyF;IACzF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,OAAO,uBAAuB,CAAC;IAC7C,eAAe,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrF;AAQD;;;;;GAKG;AACH,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA2B/E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,OAAO,CA0BxC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7C;AAiCD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,CAsDA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9D;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,GAAE,SAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB7G;AA2OD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCnD;AAMD;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBnD"}
|
|
@@ -6,13 +6,18 @@
|
|
|
6
6
|
* crewly cloud status — Show current connection status
|
|
7
7
|
* crewly cloud logout — Disconnect from CrewlyAI Cloud
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* 1.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
9
|
+
* Login modes:
|
|
10
|
+
* 1. **Device pairing (default)**: asks Crewly Cloud for a pairing, prints a
|
|
11
|
+
* link + short code (`crewlyai.com/cloud/pair?code=ABCD-2345`) the owner
|
|
12
|
+
* opens on any device — usually their phone — and approves. The CLI polls
|
|
13
|
+
* and receives the token pair by itself: nobody copies a token, and nobody
|
|
14
|
+
* has to be at this machine. Credentials are saved to
|
|
15
|
+
* `$CREWLY_HOME/cloud/config.json` and `POST /api/cloud/connect` is called.
|
|
16
|
+
* 2. `--token <token>`: direct token login.
|
|
17
|
+
* 3. `--web`: the old localhost-callback flow (local callback server + Google
|
|
18
|
+
* OAuth in this machine's browser).
|
|
19
|
+
* 4. `--paste`: the old copy-paste flow (sign in on the portal's token page,
|
|
20
|
+
* paste the token and refresh token here).
|
|
16
21
|
*
|
|
17
22
|
* @module cli/commands/cloud
|
|
18
23
|
*/
|
|
@@ -23,8 +28,11 @@ import readline from 'readline';
|
|
|
23
28
|
import { exec } from 'child_process';
|
|
24
29
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
|
|
25
30
|
import { join } from 'path';
|
|
26
|
-
import {
|
|
31
|
+
import { hostname, platform } from 'os';
|
|
27
32
|
import { DEFAULT_WEB_PORT } from '../constants.js';
|
|
33
|
+
import { CLOUD_DEVICE_PAIRING_CONSTANTS } from '../../../config/constants.js';
|
|
34
|
+
import { getCrewlyHomePath } from '../../../backend/src/services/core/crewly-home.utils.js';
|
|
35
|
+
import { startCloudDevicePairing, waitForCloudDeviceApproval, } from '../../../backend/src/services/cloud/cloud-device-pairing.client.js';
|
|
28
36
|
// ---------------------------------------------------------------------------
|
|
29
37
|
// Constants
|
|
30
38
|
// ---------------------------------------------------------------------------
|
|
@@ -46,23 +54,39 @@ const CLOUD_CONSOLE_URL = process.env['CLOUD_CONSOLE_URL'] || 'https://crewlyai.
|
|
|
46
54
|
const CLI_TOKEN_PAGE_PATH = '/cloud/cli-token';
|
|
47
55
|
/** Timeout for backend API requests (ms) */
|
|
48
56
|
const API_TIMEOUT_MS = 15_000;
|
|
49
|
-
/**
|
|
50
|
-
const
|
|
51
|
-
/**
|
|
52
|
-
const
|
|
53
|
-
// ---------------------------------------------------------------------------
|
|
54
|
-
// Helpers
|
|
55
|
-
// ---------------------------------------------------------------------------
|
|
57
|
+
/** Sub-directory of the Crewly home that holds cloud credentials */
|
|
58
|
+
const CLOUD_CONFIG_SUBDIR = 'cloud';
|
|
59
|
+
/** Cloud credentials file name */
|
|
60
|
+
const CLOUD_CONFIG_FILENAME = 'config.json';
|
|
56
61
|
/**
|
|
57
|
-
*
|
|
62
|
+
* Directory for cloud credentials — `$CREWLY_HOME/cloud` (default
|
|
63
|
+
* `~/.crewly/cloud`). Resolved per call so `CREWLY_HOME` set after import
|
|
64
|
+
* (tests, isolated profiles) is honoured; it must match the backend's
|
|
65
|
+
* `CloudClientService` path so both read the same file.
|
|
58
66
|
*
|
|
59
|
-
*
|
|
67
|
+
* @returns Absolute directory path
|
|
68
|
+
*/
|
|
69
|
+
export function getCloudConfigDir() {
|
|
70
|
+
return join(getCrewlyHomePath(), CLOUD_CONFIG_SUBDIR);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Path to the cloud credentials file.
|
|
60
74
|
*
|
|
61
|
-
* @
|
|
62
|
-
* @param refreshToken - Optional refresh token
|
|
75
|
+
* @returns Absolute file path
|
|
63
76
|
*/
|
|
77
|
+
export function getCloudConfigFile() {
|
|
78
|
+
return join(getCloudConfigDir(), CLOUD_CONFIG_FILENAME);
|
|
79
|
+
}
|
|
80
|
+
/** The real pairing client. */
|
|
81
|
+
const DEFAULT_LOGIN_DEPS = {
|
|
82
|
+
startPairing: startCloudDevicePairing,
|
|
83
|
+
waitForApproval: waitForCloudDeviceApproval,
|
|
84
|
+
};
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// Helpers
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
64
88
|
/**
|
|
65
|
-
* Save cloud credentials to
|
|
89
|
+
* Save cloud credentials to $CREWLY_HOME/cloud/config.json.
|
|
66
90
|
*
|
|
67
91
|
* Creates the directory hierarchy if it does not exist. The format matches
|
|
68
92
|
* PersistedCloudConfig so the backend's loadPersistedConfig() can read it.
|
|
@@ -71,14 +95,16 @@ const CLOUD_CONFIG_FILE = join(CLOUD_CONFIG_DIR, 'config.json');
|
|
|
71
95
|
* @param refreshToken - Optional refresh token for auto-renewal
|
|
72
96
|
*/
|
|
73
97
|
export function saveCloudCredentials(token, refreshToken) {
|
|
74
|
-
|
|
75
|
-
|
|
98
|
+
const configDir = getCloudConfigDir();
|
|
99
|
+
const configFile = getCloudConfigFile();
|
|
100
|
+
if (!existsSync(configDir)) {
|
|
101
|
+
mkdirSync(configDir, { recursive: true });
|
|
76
102
|
}
|
|
77
103
|
// Merge with existing config to preserve fields the backend may have written
|
|
78
104
|
let existing = {};
|
|
79
105
|
try {
|
|
80
|
-
if (existsSync(
|
|
81
|
-
existing = JSON.parse(readFileSync(
|
|
106
|
+
if (existsSync(configFile)) {
|
|
107
|
+
existing = JSON.parse(readFileSync(configFile, 'utf-8'));
|
|
82
108
|
}
|
|
83
109
|
}
|
|
84
110
|
catch {
|
|
@@ -93,19 +119,20 @@ export function saveCloudCredentials(token, refreshToken) {
|
|
|
93
119
|
// Preserve existing refreshToken if new one not provided
|
|
94
120
|
...(!refreshToken && existing.refreshToken && { refreshToken: existing.refreshToken }),
|
|
95
121
|
};
|
|
96
|
-
writeFileSync(
|
|
122
|
+
writeFileSync(configFile, JSON.stringify(credentials, null, 2), 'utf-8');
|
|
97
123
|
}
|
|
98
124
|
/**
|
|
99
|
-
* Load cloud credentials from
|
|
125
|
+
* Load cloud credentials from $CREWLY_HOME/cloud/config.json.
|
|
100
126
|
*
|
|
101
127
|
* @returns The saved credentials, or null if the file does not exist or is invalid
|
|
102
128
|
*/
|
|
103
129
|
export function loadCloudCredentials() {
|
|
104
|
-
|
|
130
|
+
const configFile = getCloudConfigFile();
|
|
131
|
+
if (!existsSync(configFile)) {
|
|
105
132
|
return null;
|
|
106
133
|
}
|
|
107
134
|
try {
|
|
108
|
-
const raw = readFileSync(
|
|
135
|
+
const raw = readFileSync(configFile, 'utf-8');
|
|
109
136
|
return JSON.parse(raw);
|
|
110
137
|
}
|
|
111
138
|
catch {
|
|
@@ -270,35 +297,114 @@ export function promptForToken(prompt) {
|
|
|
270
297
|
/**
|
|
271
298
|
* Handle the `crewly cloud login` subcommand.
|
|
272
299
|
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
* 2. `--no-browser`: prints a URL for mobile login, waits for user to paste token.
|
|
276
|
-
* 3. Default: starts a local HTTP callback server, opens the browser to the
|
|
277
|
-
* backend OAuth URL, waits for the callback, saves credentials.
|
|
300
|
+
* Modes (see the module comment): device pairing by default; `--token`,
|
|
301
|
+
* `--web` and `--paste` keep the older flows.
|
|
278
302
|
*
|
|
279
|
-
* @param options - Login command options
|
|
303
|
+
* @param options - Login command options
|
|
304
|
+
* @param deps - Pairing client (tests)
|
|
280
305
|
*/
|
|
281
|
-
export async function loginCommand(options) {
|
|
306
|
+
export async function loginCommand(options, deps = DEFAULT_LOGIN_DEPS) {
|
|
282
307
|
if (options.token) {
|
|
283
308
|
// Direct token login
|
|
284
309
|
console.log(chalk.blue('Logging in with provided token...'));
|
|
285
310
|
await connectWithToken(options.token);
|
|
286
311
|
return;
|
|
287
312
|
}
|
|
288
|
-
|
|
289
|
-
// cannot open a browser (SSH, Docker, CI, headless Linux).
|
|
290
|
-
const useBrowser = options.browser !== false && canOpenBrowser();
|
|
291
|
-
if (!useBrowser) {
|
|
292
|
-
if (options.browser !== false) {
|
|
293
|
-
// Auto-detected headless — inform the user
|
|
294
|
-
console.log(chalk.yellow(' Headless environment detected — using manual token flow.'));
|
|
295
|
-
}
|
|
313
|
+
if (options.paste) {
|
|
296
314
|
await mobileLoginFlow();
|
|
297
315
|
return;
|
|
298
316
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
317
|
+
if (options.web) {
|
|
318
|
+
if (options.browser === false || !canOpenBrowser()) {
|
|
319
|
+
console.log(chalk.red(' ✗ --web needs a browser on this machine. Run `crewly cloud login` to approve from your phone instead.'));
|
|
320
|
+
process.exit(1);
|
|
321
|
+
}
|
|
322
|
+
await browserLoginFlow();
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
await deviceLoginFlow(options, deps);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Print a pairing's link and code where the owner can use them from any device.
|
|
329
|
+
*
|
|
330
|
+
* @param started - The pairing
|
|
331
|
+
*/
|
|
332
|
+
function printPairingInstructions(started) {
|
|
333
|
+
console.log(chalk.white(' On your phone or any browser, open:'));
|
|
334
|
+
console.log('');
|
|
335
|
+
console.log(chalk.cyan(` ${started.verificationUrl}`));
|
|
336
|
+
console.log('');
|
|
337
|
+
console.log(chalk.white(` and check the code matches: ${chalk.bold(started.userCode)}`));
|
|
338
|
+
if (started.verificationUri) {
|
|
339
|
+
console.log(chalk.gray(` (or go to ${started.verificationUri} and type the code)`));
|
|
340
|
+
}
|
|
341
|
+
console.log('');
|
|
342
|
+
console.log(chalk.gray(` The link expires in ${Math.round(started.expiresIn / 60)} minutes.`));
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Default login: device-code pairing.
|
|
346
|
+
*
|
|
347
|
+
* Prints a link + code, optionally opens the link locally, and waits while
|
|
348
|
+
* the owner approves from wherever they are. On approval the token pair
|
|
349
|
+
* arrives here by itself and is saved + connected like any other login.
|
|
350
|
+
*
|
|
351
|
+
* @param options - Login options (`--no-browser` stops the local browser from opening)
|
|
352
|
+
* @param deps - Pairing client
|
|
353
|
+
*/
|
|
354
|
+
async function deviceLoginFlow(options, deps) {
|
|
355
|
+
console.log('');
|
|
356
|
+
console.log(chalk.blue('CrewlyAI Cloud Login'));
|
|
357
|
+
console.log(chalk.gray('─'.repeat(40)));
|
|
358
|
+
console.log('');
|
|
359
|
+
let started;
|
|
360
|
+
try {
|
|
361
|
+
started = await deps.startPairing(CLOUD_API_URL, {
|
|
362
|
+
deviceName: hostname(),
|
|
363
|
+
purpose: CLOUD_DEVICE_PAIRING_CONSTANTS.PURPOSES.CLI,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
368
|
+
console.log(chalk.red(` ✗ Could not start login: ${msg}`));
|
|
369
|
+
console.log(chalk.gray(' Other ways in: crewly cloud login --paste | crewly cloud login --token <token>'));
|
|
370
|
+
process.exit(1);
|
|
371
|
+
}
|
|
372
|
+
printPairingInstructions(started);
|
|
373
|
+
if (options.browser !== false && canOpenBrowser()) {
|
|
374
|
+
openBrowser(started.verificationUrl);
|
|
375
|
+
}
|
|
376
|
+
console.log('');
|
|
377
|
+
console.log(chalk.gray(' Waiting for approval… (Ctrl+C to cancel)'));
|
|
378
|
+
let outcome;
|
|
379
|
+
try {
|
|
380
|
+
outcome = await deps.waitForApproval({ cloudUrl: CLOUD_API_URL, start: started });
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
384
|
+
console.log(chalk.red(` ✗ Login failed: ${msg}`));
|
|
385
|
+
process.exit(1);
|
|
386
|
+
}
|
|
387
|
+
if (outcome.status !== 'approved') {
|
|
388
|
+
const reason = outcome.status === 'denied'
|
|
389
|
+
? 'The request was denied on crewlyai.com.'
|
|
390
|
+
: outcome.status === 'expired'
|
|
391
|
+
? 'The link expired before it was approved.'
|
|
392
|
+
: 'Login cancelled.';
|
|
393
|
+
console.log(chalk.red(` ✗ ${reason}`));
|
|
394
|
+
console.log(chalk.gray(' Run `crewly cloud login` again for a new link.'));
|
|
395
|
+
process.exit(1);
|
|
396
|
+
}
|
|
397
|
+
const { credentials } = outcome;
|
|
398
|
+
console.log(chalk.green(` ✓ Approved${credentials.email ? ` by ${credentials.email}` : ''}`));
|
|
399
|
+
await connectWithToken(credentials.token, credentials.refreshToken);
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* `--web`: the localhost-callback flow.
|
|
403
|
+
*
|
|
404
|
+
* Starts a local HTTP callback server, opens Google OAuth on Crewly Cloud in
|
|
405
|
+
* this machine's browser and waits for the redirect back with the tokens.
|
|
406
|
+
*/
|
|
407
|
+
async function browserLoginFlow() {
|
|
302
408
|
console.log('');
|
|
303
409
|
console.log(chalk.blue('CrewlyAI Cloud Login'));
|
|
304
410
|
console.log(chalk.gray('─'.repeat(40)));
|
|
@@ -413,7 +519,7 @@ async function connectWithToken(token, refreshToken) {
|
|
|
413
519
|
catch (error) {
|
|
414
520
|
if (axios.isAxiosError(error) && error.code === 'ECONNREFUSED') {
|
|
415
521
|
// Backend not running — this is OK, credentials are saved
|
|
416
|
-
console.log(chalk.green(
|
|
522
|
+
console.log(chalk.green(` ✓ Credentials saved to ${getCloudConfigFile()}`));
|
|
417
523
|
console.log(chalk.gray(' Backend not running — Cloud will connect automatically on next crewly start'));
|
|
418
524
|
}
|
|
419
525
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: deploy a solution bundle (specs/solution-bundles.md).
|
|
3
|
+
*
|
|
4
|
+
* crewly deploy-bundle <template-id> --answers answers.json [--runtime crewly-agent]
|
|
5
|
+
* [--templates-dir <dir>] [--dry-run] [--allow-draft] [--json]
|
|
6
|
+
*
|
|
7
|
+
* Scripted deploys (hosted servers run it from cloud-init) and
|
|
8
|
+
* `crewly onboard --template <bundle>` both come here. When this user's
|
|
9
|
+
* backend is running, the deploy goes through `POST /api/bundles/apply` and
|
|
10
|
+
* the job is followed until it finishes, so Slack, connector checks and the
|
|
11
|
+
* first-week hand-offs happen right away. Otherwise the same engine runs
|
|
12
|
+
* in-process: the team, norms, SOPs, skills and schedules are written, and
|
|
13
|
+
* the steps that need a running Crewly are left pending — the backend
|
|
14
|
+
* finishes them when it starts.
|
|
15
|
+
*
|
|
16
|
+
* @module cli/commands/deploy-bundle
|
|
17
|
+
*/
|
|
18
|
+
import { BundleCatalog } from '../../../backend/src/services/bundle/bundle-catalog.js';
|
|
19
|
+
import type { BundleDeployment, BundleQuestion } from '../../../backend/src/types/solution-bundle.types.js';
|
|
20
|
+
import { type HttpJson } from '../utils/harness-engine.js';
|
|
21
|
+
/** Output function. */
|
|
22
|
+
type Log = (line: string) => void;
|
|
23
|
+
/** Command options (Commander). */
|
|
24
|
+
export interface DeployBundleOptions {
|
|
25
|
+
/** JSON file with `{ "<question id>": "<answer>" }` */
|
|
26
|
+
answers?: string;
|
|
27
|
+
/** Runtime for every member (default: recommended if this machine can run it, else the orchestrator's) */
|
|
28
|
+
runtime?: string;
|
|
29
|
+
/** Extra template directories (repeatable), e.g. crewly-pro/config/templates */
|
|
30
|
+
templatesDir?: string[];
|
|
31
|
+
/** Validate and print the plan without deploying */
|
|
32
|
+
dryRun?: boolean;
|
|
33
|
+
/** Deploy a bundle marked `draft` */
|
|
34
|
+
allowDraft?: boolean;
|
|
35
|
+
/** Print the final deployment as JSON */
|
|
36
|
+
json?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** A deploy target: the running backend or the in-process engine. */
|
|
39
|
+
export interface BundleDeployTarget {
|
|
40
|
+
readonly where: 'backend' | 'in-process';
|
|
41
|
+
start(request: {
|
|
42
|
+
templateId: string;
|
|
43
|
+
answers?: unknown;
|
|
44
|
+
runtime?: string;
|
|
45
|
+
allowDraft?: boolean;
|
|
46
|
+
}): Promise<BundleDeployment>;
|
|
47
|
+
getJob(jobId: string): Promise<BundleDeployment>;
|
|
48
|
+
/** In-process only: wait for the run started by `start` */
|
|
49
|
+
wait?(request: {
|
|
50
|
+
templateId: string;
|
|
51
|
+
answers?: unknown;
|
|
52
|
+
runtime?: string;
|
|
53
|
+
allowDraft?: boolean;
|
|
54
|
+
}): Promise<BundleDeployment>;
|
|
55
|
+
}
|
|
56
|
+
/** Injectable pieces (tests). */
|
|
57
|
+
export interface DeployBundleDeps {
|
|
58
|
+
log?: Log;
|
|
59
|
+
readFile?: (file: string) => string;
|
|
60
|
+
/** Catalog used to validate before deploying */
|
|
61
|
+
catalog?: Pick<BundleCatalog, 'get'>;
|
|
62
|
+
/** Whether this user's backend is running */
|
|
63
|
+
isRunning?: () => Promise<boolean>;
|
|
64
|
+
/** Target when the backend is running */
|
|
65
|
+
remote?: () => BundleDeployTarget;
|
|
66
|
+
/** Target when it is not */
|
|
67
|
+
local?: (templateDirs: string[]) => BundleDeployTarget | Promise<BundleDeployTarget>;
|
|
68
|
+
sleep?: (ms: number) => Promise<void>;
|
|
69
|
+
/** Clock for the poll timeout */
|
|
70
|
+
now?: () => number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The Crewly package root the CLI runs from.
|
|
74
|
+
*
|
|
75
|
+
* @returns Absolute path (parent of `config/templates`)
|
|
76
|
+
*/
|
|
77
|
+
export declare function cliPackageRoot(): string;
|
|
78
|
+
/**
|
|
79
|
+
* Read a JSON answers file.
|
|
80
|
+
*
|
|
81
|
+
* @param file - Path
|
|
82
|
+
* @param readFile - File reader
|
|
83
|
+
* @returns Answers object
|
|
84
|
+
* @throws Error with an owner-readable message when missing or not a JSON object
|
|
85
|
+
*/
|
|
86
|
+
export declare function loadAnswersFile(file: string, readFile?: (f: string) => string): Record<string, unknown>;
|
|
87
|
+
/**
|
|
88
|
+
* An answers-file skeleton for a bundle (printed when answers are missing).
|
|
89
|
+
*
|
|
90
|
+
* @param questions - Bundle questions
|
|
91
|
+
* @returns Pretty JSON with every question id
|
|
92
|
+
*/
|
|
93
|
+
export declare function answersSkeleton(questions: BundleQuestion[]): string;
|
|
94
|
+
/**
|
|
95
|
+
* The running backend as a deploy target.
|
|
96
|
+
*
|
|
97
|
+
* @param baseUrl - Loopback URL
|
|
98
|
+
* @param http - HTTP helper
|
|
99
|
+
* @returns Target
|
|
100
|
+
*/
|
|
101
|
+
export declare function createRemoteTarget(baseUrl?: string, http?: HttpJson): BundleDeployTarget;
|
|
102
|
+
/**
|
|
103
|
+
* The in-process engine as a deploy target (no Slack, connector checks or
|
|
104
|
+
* orchestrator: those steps stay pending until the backend starts).
|
|
105
|
+
*
|
|
106
|
+
* Loaded lazily: the engine's collaborators pull in the marketplace
|
|
107
|
+
* installer and the harness store, which `crewly onboard` / `crewly doctor`
|
|
108
|
+
* should not load unless a bundle is actually deployed.
|
|
109
|
+
*
|
|
110
|
+
* @param templateDirs - Extra template directories
|
|
111
|
+
* @returns Target
|
|
112
|
+
*/
|
|
113
|
+
export declare function createLocalTarget(templateDirs: string[]): Promise<BundleDeployTarget>;
|
|
114
|
+
/**
|
|
115
|
+
* Human-readable lines for a deployment.
|
|
116
|
+
*
|
|
117
|
+
* @param deployment - Deployment
|
|
118
|
+
* @returns Lines (no trailing newline)
|
|
119
|
+
*/
|
|
120
|
+
export declare function formatDeployment(deployment: BundleDeployment): string[];
|
|
121
|
+
/**
|
|
122
|
+
* Whether a finished deployment should fail the command.
|
|
123
|
+
*
|
|
124
|
+
* @param deployment - Deployment
|
|
125
|
+
* @returns True when the team failed or any step failed
|
|
126
|
+
*/
|
|
127
|
+
export declare function deploymentFailed(deployment: BundleDeployment): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Deploy a bundle (shared by `crewly deploy-bundle` and `crewly onboard`).
|
|
130
|
+
*
|
|
131
|
+
* @param templateId - Bundle template id
|
|
132
|
+
* @param options - Answers (object or file), runtime, flags
|
|
133
|
+
* @param deps - Injectable pieces
|
|
134
|
+
* @returns Process exit code (0 = deployed, possibly with pending steps; 1 = refused or failed)
|
|
135
|
+
*/
|
|
136
|
+
export declare function deployBundle(templateId: string, options: Omit<DeployBundleOptions, 'answers'> & {
|
|
137
|
+
answers?: Record<string, unknown>;
|
|
138
|
+
}, deps?: DeployBundleDeps): Promise<number>;
|
|
139
|
+
/**
|
|
140
|
+
* `crewly deploy-bundle <id>` action.
|
|
141
|
+
*
|
|
142
|
+
* @param templateId - Bundle template id
|
|
143
|
+
* @param options - Commander options
|
|
144
|
+
* @param deps - Injectable pieces
|
|
145
|
+
*/
|
|
146
|
+
export declare function deployBundleCommand(templateId: string, options?: DeployBundleOptions, deps?: DeployBundleDeps): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Ask a bundle's questions in the terminal. An answer from `preset` is
|
|
149
|
+
* kept; Enter takes the default; a select takes a number or a value; a
|
|
150
|
+
* multiselect takes comma-separated numbers or values.
|
|
151
|
+
*
|
|
152
|
+
* @param ask - Prompt function
|
|
153
|
+
* @param questions - Bundle questions
|
|
154
|
+
* @param preset - Answers already given (e.g. from --answers)
|
|
155
|
+
* @param log - Output
|
|
156
|
+
* @returns Answers
|
|
157
|
+
*/
|
|
158
|
+
export declare function askBundleQuestions(ask: (question: string) => Promise<string>, questions: BundleQuestion[], preset?: Record<string, unknown>, log?: Log): Promise<Record<string, unknown>>;
|
|
159
|
+
export {};
|
|
160
|
+
//# sourceMappingURL=deploy-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-bundle.d.ts","sourceRoot":"","sources":["../../../../../cli/src/commands/deploy-bundle.ts"],"names":[],"mappings":"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"}
|