@productbrain/cli 0.1.0-beta.29 → 0.1.0-beta.2914
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/README.md +72 -174
- package/dist/__tests__/adapters.test.js +54 -1
- package/dist/__tests__/adapters.test.js.map +1 -1
- package/dist/__tests__/audit.test.js +65 -44
- package/dist/__tests__/audit.test.js.map +1 -1
- package/dist/__tests__/authority-domains-queue.test.d.ts +2 -0
- package/dist/__tests__/authority-domains-queue.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains-queue.test.js +169 -0
- package/dist/__tests__/authority-domains-queue.test.js.map +1 -0
- package/dist/__tests__/authority-domains.test.d.ts +2 -0
- package/dist/__tests__/authority-domains.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains.test.js +48 -0
- package/dist/__tests__/authority-domains.test.js.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.js +89 -0
- package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.js +29 -0
- package/dist/__tests__/capture-receipt-domain.test.js.map +1 -0
- package/dist/__tests__/capture.test.js +645 -40
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.js +47 -0
- package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.js +107 -0
- package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts +2 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js +58 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.js +82 -0
- package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +8 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +566 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.js +146 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/constellation.test.js +16 -22
- package/dist/__tests__/constellation.test.js.map +1 -1
- package/dist/__tests__/context-strategy.test.js +8 -8
- package/dist/__tests__/context-strategy.test.js.map +1 -1
- package/dist/__tests__/conversation.test.d.ts +2 -0
- package/dist/__tests__/conversation.test.d.ts.map +1 -0
- package/dist/__tests__/conversation.test.js +113 -0
- package/dist/__tests__/conversation.test.js.map +1 -0
- package/dist/__tests__/entry-formatter.test.d.ts +2 -0
- package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/entry-formatter.test.js +82 -0
- package/dist/__tests__/entry-formatter.test.js.map +1 -0
- package/dist/__tests__/envelope-contract.test.d.ts +15 -0
- package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
- package/dist/__tests__/envelope-contract.test.js +152 -0
- package/dist/__tests__/envelope-contract.test.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +130 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/experiment.test.d.ts +6 -0
- package/dist/__tests__/experiment.test.d.ts.map +1 -0
- package/dist/__tests__/experiment.test.js +69 -0
- package/dist/__tests__/experiment.test.js.map +1 -0
- package/dist/__tests__/fields.test.js +36 -36
- package/dist/__tests__/fields.test.js.map +1 -1
- package/dist/__tests__/glossary.test.d.ts +2 -0
- package/dist/__tests__/glossary.test.d.ts.map +1 -0
- package/dist/__tests__/glossary.test.js +32 -0
- package/dist/__tests__/glossary.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +424 -0
- package/dist/__tests__/handshake-augment.test.js.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.js +207 -0
- package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
- package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
- package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-formatter.test.js +67 -0
- package/dist/__tests__/handshake-formatter.test.js.map +1 -0
- package/dist/__tests__/handshake-preview.test.d.ts +2 -0
- package/dist/__tests__/handshake-preview.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-preview.test.js +950 -0
- package/dist/__tests__/handshake-preview.test.js.map +1 -0
- package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
- package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.e2e.test.js +1255 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +796 -19
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js +41 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
- package/dist/__tests__/hook-intents.test.d.ts +2 -0
- package/dist/__tests__/hook-intents.test.d.ts.map +1 -0
- package/dist/__tests__/hook-intents.test.js +184 -0
- package/dist/__tests__/hook-intents.test.js.map +1 -0
- package/dist/__tests__/ingest.test.js +37 -28
- package/dist/__tests__/ingest.test.js.map +1 -1
- package/dist/__tests__/init.test.d.ts +7 -0
- package/dist/__tests__/init.test.d.ts.map +1 -0
- package/dist/__tests__/init.test.js +146 -0
- package/dist/__tests__/init.test.js.map +1 -0
- package/dist/__tests__/login.test.d.ts +2 -0
- package/dist/__tests__/login.test.d.ts.map +1 -0
- package/dist/__tests__/login.test.js +167 -0
- package/dist/__tests__/login.test.js.map +1 -0
- package/dist/__tests__/manifest.test.d.ts +6 -0
- package/dist/__tests__/manifest.test.d.ts.map +1 -0
- package/dist/__tests__/manifest.test.js +255 -0
- package/dist/__tests__/manifest.test.js.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.js +71 -0
- package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
- package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
- package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.integration.test.js +17 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +12 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +86 -0
- package/dist/__tests__/method-registry.test.js.map +1 -0
- package/dist/__tests__/notice-marker.test.d.ts +2 -0
- package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
- package/dist/__tests__/notice-marker.test.js +41 -0
- package/dist/__tests__/notice-marker.test.js.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.d.ts +2 -0
- package/dist/__tests__/onboarding-path-b.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.js +46 -0
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -0
- package/dist/__tests__/onboarding.test.d.ts +6 -0
- package/dist/__tests__/onboarding.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding.test.js +347 -0
- package/dist/__tests__/onboarding.test.js.map +1 -0
- package/dist/__tests__/orient.test.js +485 -11
- package/dist/__tests__/orient.test.js.map +1 -1
- package/dist/__tests__/perimeter.test.d.ts +2 -0
- package/dist/__tests__/perimeter.test.d.ts.map +1 -0
- package/dist/__tests__/perimeter.test.js +165 -0
- package/dist/__tests__/perimeter.test.js.map +1 -0
- package/dist/__tests__/personal-layer.test.d.ts +11 -0
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
- package/dist/__tests__/personal-layer.test.js +268 -0
- package/dist/__tests__/personal-layer.test.js.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.d.ts +2 -0
- package/dist/__tests__/profiles.test.d.ts.map +1 -0
- package/dist/__tests__/profiles.test.js +320 -0
- package/dist/__tests__/profiles.test.js.map +1 -0
- package/dist/__tests__/promote-batch.test.d.ts +2 -0
- package/dist/__tests__/promote-batch.test.d.ts.map +1 -0
- package/dist/__tests__/promote-batch.test.js +185 -0
- package/dist/__tests__/promote-batch.test.js.map +1 -0
- package/dist/__tests__/promote.test.js +297 -40
- package/dist/__tests__/promote.test.js.map +1 -1
- package/dist/__tests__/prompts.test.d.ts +6 -0
- package/dist/__tests__/prompts.test.d.ts.map +1 -0
- package/dist/__tests__/prompts.test.js +146 -0
- package/dist/__tests__/prompts.test.js.map +1 -0
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/proposals.test.js +24 -47
- package/dist/__tests__/proposals.test.js.map +1 -1
- package/dist/__tests__/relate.test.js +20 -37
- package/dist/__tests__/relate.test.js.map +1 -1
- package/dist/__tests__/runner.test.js +19 -15
- package/dist/__tests__/runner.test.js.map +1 -1
- package/dist/__tests__/session-close-loop.test.d.ts +2 -0
- package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-loop.test.js +231 -0
- package/dist/__tests__/session-close-loop.test.js.map +1 -0
- package/dist/__tests__/session-label.test.d.ts +2 -0
- package/dist/__tests__/session-label.test.d.ts.map +1 -0
- package/dist/__tests__/session-label.test.js +46 -0
- package/dist/__tests__/session-label.test.js.map +1 -0
- package/dist/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/__tests__/session-list-show.test.js +174 -0
- package/dist/__tests__/session-list-show.test.js.map +1 -0
- package/dist/__tests__/session-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +138 -0
- package/dist/__tests__/session-reset.test.js.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.js +99 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.js +183 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.d.ts +2 -0
- package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +379 -0
- package/dist/__tests__/session-state-machine.test.js.map +1 -0
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +132 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.js +11 -11
- package/dist/__tests__/session-touch.test.js.map +1 -1
- package/dist/__tests__/session.test.js +4 -10
- package/dist/__tests__/session.test.js.map +1 -1
- package/dist/__tests__/setup-ingest.test.d.ts +2 -0
- package/dist/__tests__/setup-ingest.test.d.ts.map +1 -0
- package/dist/__tests__/setup-ingest.test.js +71 -0
- package/dist/__tests__/setup-ingest.test.js.map +1 -0
- package/dist/__tests__/setup-resolver.test.d.ts +14 -0
- package/dist/__tests__/setup-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/setup-resolver.test.js +228 -0
- package/dist/__tests__/setup-resolver.test.js.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.js +192 -0
- package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
- package/dist/__tests__/spinner-labels.test.d.ts +2 -0
- package/dist/__tests__/spinner-labels.test.d.ts.map +1 -0
- package/dist/__tests__/spinner-labels.test.js +23 -0
- package/dist/__tests__/spinner-labels.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +6 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +97 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/surfaces.test.d.ts +2 -0
- package/dist/__tests__/surfaces.test.d.ts.map +1 -0
- package/dist/__tests__/surfaces.test.js +46 -0
- package/dist/__tests__/surfaces.test.js.map +1 -0
- package/dist/__tests__/update-check.test.d.ts +2 -0
- package/dist/__tests__/update-check.test.d.ts.map +1 -0
- package/dist/__tests__/update-check.test.js +215 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.js +122 -81
- package/dist/__tests__/update.test.js.map +1 -1
- package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
- package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade-runner.test.js +54 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -0
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/verify-formatter.test.d.ts +2 -0
- package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/verify-formatter.test.js +85 -0
- package/dist/__tests__/verify-formatter.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +539 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.d.ts +2 -0
- package/dist/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/__tests__/workspace.test.js +328 -0
- package/dist/__tests__/workspace.test.js.map +1 -0
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +338 -0
- package/dist/__tests__/workspaceNotice.test.js.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.js +111 -0
- package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
- package/dist/commands/__tests__/rework.test.d.ts +2 -0
- package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
- package/dist/commands/__tests__/rework.test.js +149 -0
- package/dist/commands/__tests__/rework.test.js.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
- package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
- package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-state.test.js +194 -0
- package/dist/commands/__tests__/setup-state.test.js.map +1 -0
- package/dist/commands/accept.d.ts.map +1 -1
- package/dist/commands/accept.js +10 -6
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/admin/cockpit.d.ts +90 -0
- package/dist/commands/admin/cockpit.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.js +618 -0
- package/dist/commands/admin/cockpit.js.map +1 -0
- package/dist/commands/admin/index.d.ts +21 -0
- package/dist/commands/admin/index.d.ts.map +1 -0
- package/dist/commands/admin/index.js +256 -0
- package/dist/commands/admin/index.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +30 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -0
- package/dist/commands/admin/inspect.js +555 -0
- package/dist/commands/admin/inspect.js.map +1 -0
- package/dist/commands/admin/inspect.test.d.ts +7 -0
- package/dist/commands/admin/inspect.test.d.ts.map +1 -0
- package/dist/commands/admin/inspect.test.js +90 -0
- package/dist/commands/admin/inspect.test.js.map +1 -0
- package/dist/commands/admin/manage.d.ts +8 -0
- package/dist/commands/admin/manage.d.ts.map +1 -0
- package/dist/commands/admin/manage.js +260 -0
- package/dist/commands/admin/manage.js.map +1 -0
- package/dist/commands/admin/manage.test.d.ts +16 -0
- package/dist/commands/admin/manage.test.d.ts.map +1 -0
- package/dist/commands/admin/manage.test.js +159 -0
- package/dist/commands/admin/manage.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +75 -0
- package/dist/commands/admin/seed.d.ts.map +1 -0
- package/dist/commands/admin/seed.js +944 -0
- package/dist/commands/admin/seed.js.map +1 -0
- package/dist/commands/admin/seed.test.d.ts +11 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -0
- package/dist/commands/admin/seed.test.js +127 -0
- package/dist/commands/admin/seed.test.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +153 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +91 -0
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +42 -7
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/authority-domains.d.ts +157 -0
- package/dist/commands/authority-domains.d.ts.map +1 -0
- package/dist/commands/authority-domains.js +387 -0
- package/dist/commands/authority-domains.js.map +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +14 -5
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +9 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +295 -76
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/chain-walk.d.ts.map +1 -1
- package/dist/commands/chain-walk.js +8 -3
- package/dist/commands/chain-walk.js.map +1 -1
- package/dist/commands/changes.d.ts.map +1 -1
- package/dist/commands/changes.js +8 -3
- package/dist/commands/changes.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +12 -1
- package/dist/commands/codex-prep.d.ts.map +1 -1
- package/dist/commands/codex-prep.js +25 -87
- package/dist/commands/codex-prep.js.map +1 -1
- package/dist/commands/collections.d.ts.map +1 -1
- package/dist/commands/collections.js +11 -7
- package/dist/commands/collections.js.map +1 -1
- package/dist/commands/conflicts.d.ts +10 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +103 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/conflicts.test.d.ts +2 -0
- package/dist/commands/conflicts.test.d.ts.map +1 -0
- package/dist/commands/conflicts.test.js +97 -0
- package/dist/commands/conflicts.test.js.map +1 -0
- package/dist/commands/connect-config.test.d.ts +2 -0
- package/dist/commands/connect-config.test.d.ts.map +1 -0
- package/dist/commands/connect-config.test.js +44 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-context.d.ts +45 -0
- package/dist/commands/connect-context.d.ts.map +1 -0
- package/dist/commands/connect-context.js +83 -0
- package/dist/commands/connect-context.js.map +1 -0
- package/dist/commands/connect-context.test.d.ts +2 -0
- package/dist/commands/connect-context.test.d.ts.map +1 -0
- package/dist/commands/connect-context.test.js +158 -0
- package/dist/commands/connect-context.test.js.map +1 -0
- package/dist/commands/connect-handoff.d.ts +51 -0
- package/dist/commands/connect-handoff.d.ts.map +1 -0
- package/dist/commands/connect-handoff.js +70 -0
- package/dist/commands/connect-handoff.js.map +1 -0
- package/dist/commands/connect-integration.test.d.ts +7 -0
- package/dist/commands/connect-integration.test.d.ts.map +1 -0
- package/dist/commands/connect-integration.test.js +219 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +33 -0
- package/dist/commands/connect-screens.d.ts.map +1 -0
- package/dist/commands/connect-screens.js +124 -0
- package/dist/commands/connect-screens.js.map +1 -0
- package/dist/commands/connect.d.ts +42 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +339 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/connect.test.d.ts +6 -0
- package/dist/commands/connect.test.d.ts.map +1 -0
- package/dist/commands/connect.test.js +380 -0
- package/dist/commands/connect.test.js.map +1 -0
- package/dist/commands/constellation.d.ts.map +1 -1
- package/dist/commands/constellation.js +8 -3
- package/dist/commands/constellation.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +8 -3
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts.map +1 -1
- package/dist/commands/cross-cut.js +2 -2
- package/dist/commands/cross-cut.js.map +1 -1
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +297 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +8 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +461 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/feedback.d.ts +36 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +187 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/feedback.test.d.ts +2 -0
- package/dist/commands/feedback.test.d.ts.map +1 -0
- package/dist/commands/feedback.test.js +119 -0
- package/dist/commands/feedback.test.js.map +1 -0
- package/dist/commands/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +8 -4
- package/dist/commands/fields.js.map +1 -1
- package/dist/commands/files.d.ts +26 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +160 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/files.test.d.ts +2 -0
- package/dist/commands/files.test.d.ts.map +1 -0
- package/dist/commands/files.test.js +243 -0
- package/dist/commands/files.test.js.map +1 -0
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +14 -6
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/handshake.d.ts +225 -2
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +2140 -81
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +26 -9
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +109 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +101 -38
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/method.d.ts +99 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +804 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/migrate-setup.d.ts +18 -0
- package/dist/commands/migrate-setup.d.ts.map +1 -0
- package/dist/commands/migrate-setup.js +148 -0
- package/dist/commands/migrate-setup.js.map +1 -0
- package/dist/commands/organisation.d.ts +32 -0
- package/dist/commands/organisation.d.ts.map +1 -0
- package/dist/commands/organisation.js +287 -0
- package/dist/commands/organisation.js.map +1 -0
- package/dist/commands/organisation.test.d.ts +2 -0
- package/dist/commands/organisation.test.d.ts.map +1 -0
- package/dist/commands/organisation.test.js +187 -0
- package/dist/commands/organisation.test.js.map +1 -0
- package/dist/commands/organisationHierarchy.d.ts +8 -0
- package/dist/commands/organisationHierarchy.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.js +67 -0
- package/dist/commands/organisationHierarchy.js.map +1 -0
- package/dist/commands/organisationHierarchy.test.d.ts +2 -0
- package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.test.js +55 -0
- package/dist/commands/organisationHierarchy.test.js.map +1 -0
- package/dist/commands/organisationWrite.d.ts +18 -0
- package/dist/commands/organisationWrite.d.ts.map +1 -0
- package/dist/commands/organisationWrite.js +50 -0
- package/dist/commands/organisationWrite.js.map +1 -0
- package/dist/commands/orient.d.ts +121 -2
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +222 -7
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +34 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +170 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/promote.d.ts +12 -1
- package/dist/commands/promote.d.ts.map +1 -1
- package/dist/commands/promote.js +246 -55
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/proposals.d.ts.map +1 -1
- package/dist/commands/proposals.js +2 -2
- package/dist/commands/proposals.js.map +1 -1
- package/dist/commands/reject.d.ts.map +1 -1
- package/dist/commands/reject.js +14 -7
- package/dist/commands/reject.js.map +1 -1
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +45 -14
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/rework.d.ts +24 -0
- package/dist/commands/rework.d.ts.map +1 -0
- package/dist/commands/rework.js +97 -0
- package/dist/commands/rework.js.map +1 -0
- package/dist/commands/scoreboard.d.ts +28 -0
- package/dist/commands/scoreboard.d.ts.map +1 -0
- package/dist/commands/scoreboard.js +40 -0
- package/dist/commands/scoreboard.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +55 -2
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +485 -45
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup-audit.d.ts +59 -0
- package/dist/commands/setup-audit.d.ts.map +1 -0
- package/dist/commands/setup-audit.js +250 -0
- package/dist/commands/setup-audit.js.map +1 -0
- package/dist/commands/setup-detect-surfaces.d.ts +38 -0
- package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
- package/dist/commands/setup-detect-surfaces.js +76 -0
- package/dist/commands/setup-detect-surfaces.js.map +1 -0
- package/dist/commands/setup-ingest.d.ts +17 -0
- package/dist/commands/setup-ingest.d.ts.map +1 -0
- package/dist/commands/setup-ingest.js +174 -0
- package/dist/commands/setup-ingest.js.map +1 -0
- package/dist/commands/setup-resolver.d.ts +58 -0
- package/dist/commands/setup-resolver.d.ts.map +1 -0
- package/dist/commands/setup-resolver.js +150 -0
- package/dist/commands/setup-resolver.js.map +1 -0
- package/dist/commands/setup-state.d.ts +42 -0
- package/dist/commands/setup-state.d.ts.map +1 -0
- package/dist/commands/setup-state.js +93 -0
- package/dist/commands/setup-state.js.map +1 -0
- package/dist/commands/setup.d.ts +23 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +69 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +90 -49
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +5 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +110 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/usage.d.ts +40 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +214 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +19 -7
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts +21 -0
- package/dist/commands/welcome.d.ts.map +1 -0
- package/dist/commands/welcome.js +50 -0
- package/dist/commands/welcome.js.map +1 -0
- package/dist/commands/whoami.d.ts +12 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +70 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/whoami.test.d.ts +2 -0
- package/dist/commands/whoami.test.d.ts.map +1 -0
- package/dist/commands/whoami.test.js +50 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +115 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +263 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +548 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.js +159 -0
- package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
- package/dist/formatters/__tests__/session.test.d.ts +2 -0
- package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session.test.js +113 -0
- package/dist/formatters/__tests__/session.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +6 -0
- package/dist/formatters/audit.d.ts.map +1 -1
- package/dist/formatters/audit.js.map +1 -1
- package/dist/formatters/capture.d.ts +8 -0
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +9 -0
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/coaching.d.ts +51 -0
- package/dist/formatters/coaching.d.ts.map +1 -0
- package/dist/formatters/coaching.js +46 -0
- package/dist/formatters/coaching.js.map +1 -0
- package/dist/formatters/conflicts.d.ts +44 -0
- package/dist/formatters/conflicts.d.ts.map +1 -0
- package/dist/formatters/conflicts.js +44 -0
- package/dist/formatters/conflicts.js.map +1 -0
- package/dist/formatters/conflicts.test.d.ts +2 -0
- package/dist/formatters/conflicts.test.d.ts.map +1 -0
- package/dist/formatters/conflicts.test.js +83 -0
- package/dist/formatters/conflicts.test.js.map +1 -0
- package/dist/formatters/context.d.ts +1 -1
- package/dist/formatters/context.d.ts.map +1 -1
- package/dist/formatters/context.js.map +1 -1
- package/dist/formatters/entry.d.ts +44 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +70 -7
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/feedback.d.ts +56 -0
- package/dist/formatters/feedback.d.ts.map +1 -0
- package/dist/formatters/feedback.js +89 -0
- package/dist/formatters/feedback.js.map +1 -0
- package/dist/formatters/feedback.test.d.ts +2 -0
- package/dist/formatters/feedback.test.d.ts.map +1 -0
- package/dist/formatters/feedback.test.js +112 -0
- package/dist/formatters/feedback.test.js.map +1 -0
- package/dist/formatters/handshake.d.ts +39 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +133 -3
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
- package/dist/formatters/orient.d.ts +245 -4
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +302 -25
- package/dist/formatters/orient.js.map +1 -1
- package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
- package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
- package/dist/formatters/orient.rcrtMiss.test.js +146 -0
- package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
- package/dist/formatters/promote.d.ts +43 -0
- package/dist/formatters/promote.d.ts.map +1 -1
- package/dist/formatters/promote.js +32 -0
- package/dist/formatters/promote.js.map +1 -1
- package/dist/formatters/scoreboard.d.ts +11 -0
- package/dist/formatters/scoreboard.d.ts.map +1 -0
- package/dist/formatters/scoreboard.js +107 -0
- package/dist/formatters/scoreboard.js.map +1 -0
- package/dist/formatters/scoreboard.test.d.ts +2 -0
- package/dist/formatters/scoreboard.test.d.ts.map +1 -0
- package/dist/formatters/scoreboard.test.js +144 -0
- package/dist/formatters/scoreboard.test.js.map +1 -0
- package/dist/formatters/session-feedback.test.d.ts +2 -0
- package/dist/formatters/session-feedback.test.d.ts.map +1 -0
- package/dist/formatters/session-feedback.test.js +49 -0
- package/dist/formatters/session-feedback.test.js.map +1 -0
- package/dist/formatters/session.d.ts +101 -1
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +272 -9
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/update.d.ts +3 -0
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +4 -0
- package/dist/formatters/update.js.map +1 -1
- package/dist/formatters/verify.d.ts +12 -4
- package/dist/formatters/verify.d.ts.map +1 -1
- package/dist/formatters/verify.js +20 -2
- package/dist/formatters/verify.js.map +1 -1
- package/dist/generated/healthGapKinds.generated.d.ts +12 -0
- package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
- package/dist/generated/healthGapKinds.generated.js +24 -0
- package/dist/generated/healthGapKinds.generated.js.map +1 -0
- package/dist/generators/adapters.d.ts +33 -0
- package/dist/generators/adapters.d.ts.map +1 -1
- package/dist/generators/adapters.js +64 -4
- package/dist/generators/adapters.js.map +1 -1
- package/dist/generators/archetypes.d.ts.map +1 -1
- package/dist/generators/archetypes.js +46 -9
- package/dist/generators/archetypes.js.map +1 -1
- package/dist/generators/archetypes.test.js +35 -0
- package/dist/generators/archetypes.test.js.map +1 -1
- package/dist/generators/boundary-manifest.d.ts +29 -0
- package/dist/generators/boundary-manifest.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.js +183 -0
- package/dist/generators/boundary-manifest.js.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.js +70 -0
- package/dist/generators/boundary-manifest.real-file.test.js.map +1 -0
- package/dist/generators/boundary-manifest.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.test.js +91 -0
- package/dist/generators/boundary-manifest.test.js.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts +2 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js +41 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js.map +1 -0
- package/dist/generators/chain-classifier.d.ts +67 -14
- package/dist/generators/chain-classifier.d.ts.map +1 -1
- package/dist/generators/chain-classifier.js +46 -174
- package/dist/generators/chain-classifier.js.map +1 -1
- package/dist/generators/chain-rules.d.ts +3 -3
- package/dist/generators/chain-rules.d.ts.map +1 -1
- package/dist/generators/chain-rules.js +118 -6
- package/dist/generators/chain-rules.js.map +1 -1
- package/dist/generators/chain-rules.test.js +273 -4
- package/dist/generators/chain-rules.test.js.map +1 -1
- package/dist/generators/context-md.d.ts +1 -1
- package/dist/generators/context-md.d.ts.map +1 -1
- package/dist/generators/context-md.js +18 -7
- package/dist/generators/context-md.js.map +1 -1
- package/dist/generators/manifest.d.ts +115 -0
- package/dist/generators/manifest.d.ts.map +1 -0
- package/dist/generators/manifest.js +277 -0
- package/dist/generators/manifest.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +24 -2
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +97 -2
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +43 -0
- package/dist/generators/portable-knowledge.test.js.map +1 -1
- package/dist/generators/region-projections.d.ts +18 -0
- package/dist/generators/region-projections.d.ts.map +1 -0
- package/dist/generators/region-projections.js +49 -0
- package/dist/generators/region-projections.js.map +1 -0
- package/dist/generators/region-projections.test.d.ts +2 -0
- package/dist/generators/region-projections.test.d.ts.map +1 -0
- package/dist/generators/region-projections.test.js +63 -0
- package/dist/generators/region-projections.test.js.map +1 -0
- package/dist/generators/region.d.ts +24 -0
- package/dist/generators/region.d.ts.map +1 -0
- package/dist/generators/region.js +87 -0
- package/dist/generators/region.js.map +1 -0
- package/dist/generators/region.test.d.ts +2 -0
- package/dist/generators/region.test.d.ts.map +1 -0
- package/dist/generators/region.test.js +126 -0
- package/dist/generators/region.test.js.map +1 -0
- package/dist/generators/surface-profiles.d.ts +1 -2
- package/dist/generators/surface-profiles.d.ts.map +1 -1
- package/dist/generators/surface-profiles.js.map +1 -1
- package/dist/index.js +765 -289
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
- package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
- package/dist/lib/__tests__/parseFields.test.js +19 -0
- package/dist/lib/__tests__/parseFields.test.js.map +1 -0
- package/dist/lib/activation.d.ts +28 -0
- package/dist/lib/activation.d.ts.map +1 -0
- package/dist/lib/activation.js +61 -0
- package/dist/lib/activation.js.map +1 -0
- package/dist/lib/activation.test.d.ts +6 -0
- package/dist/lib/activation.test.d.ts.map +1 -0
- package/dist/lib/activation.test.js +121 -0
- package/dist/lib/activation.test.js.map +1 -0
- package/dist/lib/canonicalRefs.d.ts +141 -0
- package/dist/lib/canonicalRefs.d.ts.map +1 -0
- package/dist/lib/canonicalRefs.js +150 -0
- package/dist/lib/canonicalRefs.js.map +1 -0
- package/dist/lib/client.d.ts +36 -6
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +245 -45
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +52 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +118 -0
- package/dist/lib/collectionRegistry.js.map +1 -0
- package/dist/lib/compose-wrapup-view.d.ts +48 -0
- package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
- package/dist/lib/compose-wrapup-view.js +37 -0
- package/dist/lib/compose-wrapup-view.js.map +1 -0
- package/dist/lib/config.d.ts +204 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +594 -42
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connectKeyLabel.d.ts +9 -0
- package/dist/lib/connectKeyLabel.d.ts.map +1 -0
- package/dist/lib/connectKeyLabel.js +12 -0
- package/dist/lib/connectKeyLabel.js.map +1 -0
- package/dist/lib/constants.d.ts +46 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +83 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/conversation-engine.d.ts +45 -0
- package/dist/lib/conversation-engine.d.ts.map +1 -0
- package/dist/lib/conversation-engine.js +112 -0
- package/dist/lib/conversation-engine.js.map +1 -0
- package/dist/lib/conversation-phases.d.ts +59 -0
- package/dist/lib/conversation-phases.d.ts.map +1 -0
- package/dist/lib/conversation-phases.js +11 -0
- package/dist/lib/conversation-phases.js.map +1 -0
- package/dist/lib/conversation-signals.d.ts +30 -0
- package/dist/lib/conversation-signals.d.ts.map +1 -0
- package/dist/lib/conversation-signals.js +64 -0
- package/dist/lib/conversation-signals.js.map +1 -0
- package/dist/lib/conversation.d.ts +36 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +66 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/deployment.d.ts +23 -0
- package/dist/lib/deployment.d.ts.map +1 -0
- package/dist/lib/deployment.js +78 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/deployment.test.d.ts +5 -0
- package/dist/lib/deployment.test.d.ts.map +1 -0
- package/dist/lib/deployment.test.js +54 -0
- package/dist/lib/deployment.test.js.map +1 -0
- package/dist/lib/errors.d.ts +112 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +121 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/experiment.d.ts +18 -0
- package/dist/lib/experiment.d.ts.map +1 -0
- package/dist/lib/experiment.js +28 -0
- package/dist/lib/experiment.js.map +1 -0
- package/dist/lib/format.d.ts +10 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +27 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +55 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +92 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +15 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +98 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/glossary.d.ts +19 -0
- package/dist/lib/glossary.d.ts.map +1 -0
- package/dist/lib/glossary.js +53 -0
- package/dist/lib/glossary.js.map +1 -0
- package/dist/lib/hook-intents.d.ts +51 -0
- package/dist/lib/hook-intents.d.ts.map +1 -0
- package/dist/lib/hook-intents.js +85 -0
- package/dist/lib/hook-intents.js.map +1 -0
- package/dist/lib/inferSourceDate.d.ts +12 -0
- package/dist/lib/inferSourceDate.d.ts.map +1 -0
- package/dist/lib/inferSourceDate.js +44 -0
- package/dist/lib/inferSourceDate.js.map +1 -0
- package/dist/lib/method-registry.d.ts +37 -0
- package/dist/lib/method-registry.d.ts.map +1 -0
- package/dist/lib/method-registry.js +41 -0
- package/dist/lib/method-registry.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.js +56 -0
- package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
- package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
- package/dist/lib/notice-marker.d.ts +3 -0
- package/dist/lib/notice-marker.d.ts.map +1 -0
- package/dist/lib/notice-marker.js +53 -0
- package/dist/lib/notice-marker.js.map +1 -0
- package/dist/lib/onboarding-path-b.d.ts +10 -0
- package/dist/lib/onboarding-path-b.d.ts.map +1 -0
- package/dist/lib/onboarding-path-b.js +243 -0
- package/dist/lib/onboarding-path-b.js.map +1 -0
- package/dist/lib/onboarding-shared.d.ts +81 -0
- package/dist/lib/onboarding-shared.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.js +175 -0
- package/dist/lib/onboarding-shared.js.map +1 -0
- package/dist/lib/onboarding-topics.d.ts +27 -0
- package/dist/lib/onboarding-topics.d.ts.map +1 -0
- package/dist/lib/onboarding-topics.js +57 -0
- package/dist/lib/onboarding-topics.js.map +1 -0
- package/dist/lib/onboarding.d.ts +17 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +350 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/parseFields.d.ts +6 -0
- package/dist/lib/parseFields.d.ts.map +1 -0
- package/dist/lib/parseFields.js +30 -0
- package/dist/lib/parseFields.js.map +1 -0
- package/dist/lib/previewBanner.d.ts +9 -0
- package/dist/lib/previewBanner.d.ts.map +1 -0
- package/dist/lib/previewBanner.js +37 -0
- package/dist/lib/previewBanner.js.map +1 -0
- package/dist/lib/productbrain-files.d.ts +94 -0
- package/dist/lib/productbrain-files.d.ts.map +1 -0
- package/dist/lib/productbrain-files.js +214 -0
- package/dist/lib/productbrain-files.js.map +1 -0
- package/dist/lib/productbrain-files.test.d.ts +2 -0
- package/dist/lib/productbrain-files.test.d.ts.map +1 -0
- package/dist/lib/productbrain-files.test.js +258 -0
- package/dist/lib/productbrain-files.test.js.map +1 -0
- package/dist/lib/profiles.d.ts +41 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +188 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/prompts.d.ts +65 -0
- package/dist/lib/prompts.d.ts.map +1 -0
- package/dist/lib/prompts.js +132 -0
- package/dist/lib/prompts.js.map +1 -0
- package/dist/lib/runner.d.ts +10 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +44 -7
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/session.d.ts +85 -4
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +276 -13
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/spinner.d.ts +27 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +76 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/spinner.test.d.ts +2 -0
- package/dist/lib/spinner.test.d.ts.map +1 -0
- package/dist/lib/spinner.test.js +39 -0
- package/dist/lib/spinner.test.js.map +1 -0
- package/dist/lib/startup-resolution-signals.d.ts +34 -0
- package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.js +118 -0
- package/dist/lib/startup-resolution-signals.js.map +1 -0
- package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
- package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.test.js +113 -0
- package/dist/lib/startup-resolution-signals.test.js.map +1 -0
- package/dist/lib/startup-signals.d.ts +12 -0
- package/dist/lib/startup-signals.d.ts.map +1 -0
- package/dist/lib/startup-signals.js +172 -0
- package/dist/lib/startup-signals.js.map +1 -0
- package/dist/lib/startup-signals.test.d.ts +2 -0
- package/dist/lib/startup-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-signals.test.js +165 -0
- package/dist/lib/startup-signals.test.js.map +1 -0
- package/dist/lib/state.d.ts +51 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +90 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +7 -1
- package/dist/lib/strip.js.map +1 -1
- package/dist/lib/style.d.ts +96 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +169 -0
- package/dist/lib/style.js.map +1 -0
- package/dist/lib/style.test.d.ts +7 -0
- package/dist/lib/style.test.d.ts.map +1 -0
- package/dist/lib/style.test.js +263 -0
- package/dist/lib/style.test.js.map +1 -0
- package/dist/lib/telemetry.d.ts +15 -0
- package/dist/lib/telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry.js +47 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/lib/tokenConstants.d.ts +19 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +19 -0
- package/dist/lib/tokenConstants.js.map +1 -0
- package/dist/lib/update-check.d.ts +56 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +296 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-runner.d.ts +22 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +110 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/wizard-surfaces.d.ts +47 -0
- package/dist/lib/wizard-surfaces.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.js +176 -0
- package/dist/lib/wizard-surfaces.js.map +1 -0
- package/dist/lib/wizard-surfaces.test.d.ts +2 -0
- package/dist/lib/wizard-surfaces.test.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.test.js +127 -0
- package/dist/lib/wizard-surfaces.test.js.map +1 -0
- package/dist/lib/wizard-trust.d.ts +31 -0
- package/dist/lib/wizard-trust.d.ts.map +1 -0
- package/dist/lib/wizard-trust.js +66 -0
- package/dist/lib/wizard-trust.js.map +1 -0
- package/dist/lib/wizard-trust.test.d.ts +2 -0
- package/dist/lib/wizard-trust.test.d.ts.map +1 -0
- package/dist/lib/wizard-trust.test.js +32 -0
- package/dist/lib/wizard-trust.test.js.map +1 -0
- package/dist/lib/workspace-probe.d.ts +19 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -0
- package/dist/lib/workspace-probe.js +27 -0
- package/dist/lib/workspace-probe.js.map +1 -0
- package/dist/lib/workspaceNotice.d.ts +59 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +77 -0
- package/dist/lib/workspaceNotice.js.map +1 -0
- package/dist/lib/workspaceVocabCache.d.ts +60 -0
- package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
- package/dist/lib/workspaceVocabCache.js +98 -0
- package/dist/lib/workspaceVocabCache.js.map +1 -0
- package/dist/scoreboard/diagnose.d.ts +266 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +274 -0
- package/dist/scoreboard/diagnose.js.map +1 -0
- package/dist/scoreboard/diagnose.test.d.ts +14 -0
- package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.test.js +266 -0
- package/dist/scoreboard/diagnose.test.js.map +1 -0
- package/dist/scoreboard/localDrift.d.ts +23 -0
- package/dist/scoreboard/localDrift.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.js +111 -0
- package/dist/scoreboard/localDrift.js.map +1 -0
- package/dist/scoreboard/localDrift.test.d.ts +9 -0
- package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.test.js +82 -0
- package/dist/scoreboard/localDrift.test.js.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.js +189 -0
- package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.js +177 -0
- package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
- package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
- package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
- package/dist/setup/__tests__/state-machine.test.js +341 -0
- package/dist/setup/__tests__/state-machine.test.js.map +1 -0
- package/dist/setup/detect-surfaces.d.ts +21 -0
- package/dist/setup/detect-surfaces.d.ts.map +1 -0
- package/dist/setup/detect-surfaces.js +39 -0
- package/dist/setup/detect-surfaces.js.map +1 -0
- package/dist/setup/manifest-writer.d.ts +17 -0
- package/dist/setup/manifest-writer.d.ts.map +1 -0
- package/dist/setup/manifest-writer.js +153 -0
- package/dist/setup/manifest-writer.js.map +1 -0
- package/dist/setup/perimeter.d.ts +72 -0
- package/dist/setup/perimeter.d.ts.map +1 -0
- package/dist/setup/perimeter.js +128 -0
- package/dist/setup/perimeter.js.map +1 -0
- package/dist/setup/state-machine.d.ts +67 -0
- package/dist/setup/state-machine.d.ts.map +1 -0
- package/dist/setup/state-machine.js +124 -0
- package/dist/setup/state-machine.js.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.js +90 -0
- package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.js +55 -0
- package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
- package/dist/surfaces/adapter.d.ts +70 -0
- package/dist/surfaces/adapter.d.ts.map +1 -0
- package/dist/surfaces/adapter.js +2 -0
- package/dist/surfaces/adapter.js.map +1 -0
- package/dist/surfaces/adapters/claude.d.ts +3 -0
- package/dist/surfaces/adapters/claude.d.ts.map +1 -0
- package/dist/surfaces/adapters/claude.js +67 -0
- package/dist/surfaces/adapters/claude.js.map +1 -0
- package/dist/surfaces/adapters/codex.d.ts +3 -0
- package/dist/surfaces/adapters/codex.d.ts.map +1 -0
- package/dist/surfaces/adapters/codex.js +61 -0
- package/dist/surfaces/adapters/codex.js.map +1 -0
- package/dist/surfaces/adapters/copilot.d.ts +3 -0
- package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
- package/dist/surfaces/adapters/copilot.js +59 -0
- package/dist/surfaces/adapters/copilot.js.map +1 -0
- package/dist/surfaces/adapters/cursor.d.ts +3 -0
- package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
- package/dist/surfaces/adapters/cursor.js +78 -0
- package/dist/surfaces/adapters/cursor.js.map +1 -0
- package/dist/surfaces/registry.d.ts +76 -0
- package/dist/surfaces/registry.d.ts.map +1 -0
- package/dist/surfaces/registry.js +117 -0
- package/dist/surfaces/registry.js.map +1 -0
- package/dist/surfaces/telemetry.d.ts +17 -0
- package/dist/surfaces/telemetry.d.ts.map +1 -0
- package/dist/surfaces/telemetry.js +31 -0
- package/dist/surfaces/telemetry.js.map +1 -0
- package/package.json +11 -3
- package/templates/method-registry.json +16 -0
- package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
- package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.js +0 -89
- package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
- package/dist/generators/chain-classifier.test.d.ts +0 -2
- package/dist/generators/chain-classifier.test.d.ts.map +0 -1
- package/dist/generators/chain-classifier.test.js +0 -257
- package/dist/generators/chain-classifier.test.js.map +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ink screens for `pb connect` post-redemption wizard.
|
|
3
|
+
*
|
|
4
|
+
* Screen 1 — ConnectedScreen: shows workspace name + synced context file list.
|
|
5
|
+
* Screen 2 — ProfileScreen: shows profile name + multi-workspace hint.
|
|
6
|
+
*
|
|
7
|
+
* Each screen waits for "any key" via useInput before resolving.
|
|
8
|
+
* After both screens complete, the caller prints the tailored handoff message (WP-433 FEAT-1291).
|
|
9
|
+
*
|
|
10
|
+
* Chain: WP-325 S3, FEAT-1031, WP-379 S3b (seed polling)
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Runs the post-connect Ink wizard:
|
|
14
|
+
* 1. Prepares workspace context — waits for starter-setup seeds to be ready,
|
|
15
|
+
* then runs a lenient handshake (see prepareConnectContext). Seeds must be
|
|
16
|
+
* ready before the handshake fetches their bodies (WP-379 S3b, WP-439 S4).
|
|
17
|
+
* 2. Renders ConnectedScreen, waits for keypress.
|
|
18
|
+
* 3. Renders ProfileScreen, waits for keypress.
|
|
19
|
+
*
|
|
20
|
+
* After this resolves, the caller prints the tailored handoff message (WP-433 FEAT-1291).
|
|
21
|
+
*/
|
|
22
|
+
export declare function runConnectScreens(workspaceName: string, profileName: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Headless post-connect summary — the non-interactive counterpart to runConnectScreens,
|
|
25
|
+
* used when `pb connect --yes` runs without a TTY (e.g. CI). It prepares the SAME workspace
|
|
26
|
+
* context (seed poll + lenient handshake) so context files are written in CI too, then
|
|
27
|
+
* writes a plain-text summary instead of rendering Ink. The Ink screens wait on keypresses
|
|
28
|
+
* via useInput, which needs raw-mode stdin a non-TTY shell can't provide — rendering them
|
|
29
|
+
* there throws after the key/config were already written (TEN-2561 / WP-2). No keypress is
|
|
30
|
+
* awaited here. `workspaceName` is pre-sanitized by the caller (stripControlChars).
|
|
31
|
+
*/
|
|
32
|
+
export declare function runConnectHeadless(workspaceName: string, profileName: string): Promise<void>;
|
|
33
|
+
//# sourceMappingURL=connect-screens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-screens.d.ts","sourceRoot":"","sources":["../../src/commands/connect-screens.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmLH;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CjG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BlG"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Ink screens for `pb connect` post-redemption wizard.
|
|
4
|
+
*
|
|
5
|
+
* Screen 1 — ConnectedScreen: shows workspace name + synced context file list.
|
|
6
|
+
* Screen 2 — ProfileScreen: shows profile name + multi-workspace hint.
|
|
7
|
+
*
|
|
8
|
+
* Each screen waits for "any key" via useInput before resolving.
|
|
9
|
+
* After both screens complete, the caller prints the tailored handoff message (WP-433 FEAT-1291).
|
|
10
|
+
*
|
|
11
|
+
* Chain: WP-325 S3, FEAT-1031, WP-379 S3b (seed polling)
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import { render, Box, Text, useInput, useApp } from 'ink';
|
|
15
|
+
import { prepareConnectContext } from './connect-context.js';
|
|
16
|
+
import { withSpinner } from '../lib/spinner.js';
|
|
17
|
+
// Surfaces pb projects context files to. Rendered as the "synced" list, minus
|
|
18
|
+
// any surface whose file the handshake left untouched (TEN-2107) — so a file is
|
|
19
|
+
// never shown as both synced and left-untouched.
|
|
20
|
+
const PROJECTED_SURFACES = [
|
|
21
|
+
{ file: '.cursor/rules/', arrow: ' → ', tool: 'Cursor' },
|
|
22
|
+
{ file: 'CLAUDE.md', arrow: ' → ', tool: 'Claude Code' },
|
|
23
|
+
{ file: '.github/', arrow: ' → ', tool: 'GitHub Copilot' },
|
|
24
|
+
{ file: 'AGENTS.md', arrow: ' → ', tool: 'Codex / CI' },
|
|
25
|
+
];
|
|
26
|
+
function ConnectedScreen({ workspaceName, handshakeFailed, handshakeError, seedGaps, skippedFiles, onExit }) {
|
|
27
|
+
const { exit } = useApp();
|
|
28
|
+
useInput(() => {
|
|
29
|
+
onExit();
|
|
30
|
+
exit();
|
|
31
|
+
});
|
|
32
|
+
// A surface is "left untouched" when a skipped file equals it (CLAUDE.md,
|
|
33
|
+
// AGENTS.md) or sits under it (.cursor/rules/*, .github/*).
|
|
34
|
+
const isLeftUntouched = (surfaceFile) => (skippedFiles ?? []).some((f) => f === surfaceFile || f.startsWith(surfaceFile));
|
|
35
|
+
const syncedSurfaces = PROJECTED_SURFACES.filter((s) => !isLeftUntouched(s.file));
|
|
36
|
+
return (_jsxs(Box, { flexDirection: "column", paddingTop: 1, paddingBottom: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "green", bold: true, children: '✓ ' }), _jsx(Text, { bold: true, children: 'Connected to ' }), _jsx(Text, { bold: true, color: "green", children: workspaceName })] }), !handshakeFailed && syncedSurfaces.length > 0 && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { children: 'Context files synced to your AI tools:' }) }), _jsx(Box, { flexDirection: "column", marginLeft: 2, children: syncedSurfaces.map((s) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: s.file }), _jsx(Text, { dimColor: true, children: s.arrow }), _jsx(Text, { children: s.tool })] }, s.file))) }), _jsxs(Box, { marginTop: 1, marginLeft: 2, children: [_jsx(Text, { dimColor: true, children: 'These update when you run ' }), _jsx(Text, { dimColor: true, bold: true, children: '`pb session start`' })] })] })), handshakeFailed && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: '⚠ Context sync skipped' }), handshakeError && (_jsx(Text, { dimColor: true, children: ` — ${handshakeError}` }))] }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { dimColor: true, children: 'Run `pb handshake` manually to set up context files.' }) })] })), seedGaps && seedGaps.length > 0 && (_jsx(Box, { flexDirection: "column", marginBottom: 1, marginTop: 1, children: seedGaps.map((gap, i) => (_jsxs(Box, { children: [_jsx(Text, { color: "yellow", children: '⚠ ' }), _jsx(Text, { dimColor: true, children: `${gap.message} (kind: ${gap.kind}). Wait a few seconds and re-run ` }), _jsx(Text, { dimColor: true, bold: true, children: 'pb connect' }), _jsx(Text, { dimColor: true, children: '.' })] }, i))) })), skippedFiles && skippedFiles.length > 0 && (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: 'Left untouched (your own files): ' }), _jsx(Text, { children: skippedFiles.join(', ') })] }) })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: 'Press any key to continue' }) })] }));
|
|
37
|
+
}
|
|
38
|
+
function ProfileScreen({ profileName, onExit }) {
|
|
39
|
+
const { exit } = useApp();
|
|
40
|
+
useInput(() => {
|
|
41
|
+
onExit();
|
|
42
|
+
exit();
|
|
43
|
+
});
|
|
44
|
+
return (_jsxs(Box, { flexDirection: "column", paddingTop: 1, paddingBottom: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { children: 'Your API key is saved as profile ' }), _jsx(Text, { bold: true, color: "cyan", children: profileName })] }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 2, children: [_jsx(Box, { children: _jsx(Text, { dimColor: true, children: 'To connect another workspace:' }) }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { children: 'pb connect <token>' }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: 'To switch between workspaces:' }) }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { children: 'pb use <profile>' }) })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: 'Press any key to continue' }) })] }));
|
|
45
|
+
}
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// Runner — handshake + sequential screen rendering
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
/**
|
|
50
|
+
* Runs the post-connect Ink wizard:
|
|
51
|
+
* 1. Prepares workspace context — waits for starter-setup seeds to be ready,
|
|
52
|
+
* then runs a lenient handshake (see prepareConnectContext). Seeds must be
|
|
53
|
+
* ready before the handshake fetches their bodies (WP-379 S3b, WP-439 S4).
|
|
54
|
+
* 2. Renders ConnectedScreen, waits for keypress.
|
|
55
|
+
* 3. Renders ProfileScreen, waits for keypress.
|
|
56
|
+
*
|
|
57
|
+
* After this resolves, the caller prints the tailored handoff message (WP-433 FEAT-1291).
|
|
58
|
+
*/
|
|
59
|
+
export async function runConnectScreens(workspaceName, profileName) {
|
|
60
|
+
// Prepare workspace context for the screens: wait for starter-setup seeds to
|
|
61
|
+
// be ready, then run a lenient handshake. Ordering + lenience matter on fresh
|
|
62
|
+
// workspaces — see prepareConnectContext (connect-context.ts).
|
|
63
|
+
//
|
|
64
|
+
// WP-2: one human progress line replaces the raw internal kernelCall spinners.
|
|
65
|
+
// withSpinner samples the quiet flag at start — quiet is still off here, so this line
|
|
66
|
+
// shows; prepareConnectContext flips quiet on internally so its own kernelCall spinners
|
|
67
|
+
// stay silent (and clears the line again if the work finishes before the 200ms delay).
|
|
68
|
+
const { handshakeFailed, handshakeError, seedGaps, skippedFiles } = await withSpinner('Setting up your workspace context', () => prepareConnectContext());
|
|
69
|
+
// Screen 1 — ConnectedScreen
|
|
70
|
+
await new Promise((resolve) => {
|
|
71
|
+
const { unmount, waitUntilExit } = render(React.createElement(ConnectedScreen, {
|
|
72
|
+
workspaceName,
|
|
73
|
+
handshakeFailed,
|
|
74
|
+
handshakeError,
|
|
75
|
+
seedGaps,
|
|
76
|
+
skippedFiles,
|
|
77
|
+
onExit: () => {
|
|
78
|
+
unmount();
|
|
79
|
+
resolve();
|
|
80
|
+
},
|
|
81
|
+
}));
|
|
82
|
+
void waitUntilExit().catch(() => resolve());
|
|
83
|
+
});
|
|
84
|
+
// Screen 2 — ProfileScreen
|
|
85
|
+
await new Promise((resolve) => {
|
|
86
|
+
const { unmount, waitUntilExit } = render(React.createElement(ProfileScreen, {
|
|
87
|
+
profileName,
|
|
88
|
+
onExit: () => {
|
|
89
|
+
unmount();
|
|
90
|
+
resolve();
|
|
91
|
+
},
|
|
92
|
+
}));
|
|
93
|
+
void waitUntilExit().catch(() => resolve());
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Headless post-connect summary — the non-interactive counterpart to runConnectScreens,
|
|
98
|
+
* used when `pb connect --yes` runs without a TTY (e.g. CI). It prepares the SAME workspace
|
|
99
|
+
* context (seed poll + lenient handshake) so context files are written in CI too, then
|
|
100
|
+
* writes a plain-text summary instead of rendering Ink. The Ink screens wait on keypresses
|
|
101
|
+
* via useInput, which needs raw-mode stdin a non-TTY shell can't provide — rendering them
|
|
102
|
+
* there throws after the key/config were already written (TEN-2561 / WP-2). No keypress is
|
|
103
|
+
* awaited here. `workspaceName` is pre-sanitized by the caller (stripControlChars).
|
|
104
|
+
*/
|
|
105
|
+
export async function runConnectHeadless(workspaceName, profileName) {
|
|
106
|
+
const { handshakeFailed, handshakeError, seedGaps, skippedFiles } = await withSpinner('Setting up your workspace context', () => prepareConnectContext());
|
|
107
|
+
const out = process.stdout;
|
|
108
|
+
out.write(`✓ Connected to ${workspaceName}\n`);
|
|
109
|
+
if (handshakeFailed) {
|
|
110
|
+
out.write(`⚠ Context sync skipped${handshakeError ? ` — ${handshakeError}` : ''}. ` +
|
|
111
|
+
'Run `pb handshake` to set up context files.\n');
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
out.write('Context files synced to your AI tools (Cursor, Claude Code, GitHub Copilot, Codex / CI).\n');
|
|
115
|
+
}
|
|
116
|
+
if (skippedFiles && skippedFiles.length > 0) {
|
|
117
|
+
out.write(`Left untouched (your own files): ${skippedFiles.join(', ')}\n`);
|
|
118
|
+
}
|
|
119
|
+
for (const gap of seedGaps ?? []) {
|
|
120
|
+
out.write(`⚠ ${gap.message} (kind: ${gap.kind}). Wait a few seconds and re-run \`pb connect\`.\n`);
|
|
121
|
+
}
|
|
122
|
+
out.write(`Your API key is saved as profile ${profileName}.\n`);
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=connect-screens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-screens.js","sourceRoot":"","sources":["../../src/commands/connect-screens.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pb connect — redeem a short-lived connect token to save an API key locally.
|
|
3
|
+
*
|
|
4
|
+
* Part of FEAT-958 Path C: Onboarding flow. Redeems a connect token, saves API
|
|
5
|
+
* key locally, runs Ink screens, then prints a tailored chat-handoff instruction
|
|
6
|
+
* (WP-433 FEAT-1291).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Write project config files to pin this project to the workspace.
|
|
10
|
+
* Returns the prior repo profile pin so the caller can detect a workspace redirect.
|
|
11
|
+
*
|
|
12
|
+
* Split design:
|
|
13
|
+
* - config.json (committed): siteUrl only — workspace gateway, safe to share with teammates.
|
|
14
|
+
* Strips any legacy `profile` field that may be present from earlier pb versions.
|
|
15
|
+
* - config.local.json (gitignored): profile pin — machine-local, never committed.
|
|
16
|
+
* Written via the shared setLocalProfilePin() writer (used by `pb profile use --local`
|
|
17
|
+
* and `pb connect`).
|
|
18
|
+
*
|
|
19
|
+
* Does NOT include the API key anywhere — that stays in profiles, never committed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function saveProjectConfig(siteUrl: string, profileName: string): {
|
|
22
|
+
previousProfile: string | null;
|
|
23
|
+
};
|
|
24
|
+
export interface ConnectOptions {
|
|
25
|
+
/** Override redeem gateway (`pb connect --gateway`). */
|
|
26
|
+
gateway?: string;
|
|
27
|
+
/** Optional API key label for workspace settings (non-TTY: use instead of prompt). */
|
|
28
|
+
name?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Skip the interactive workspace-confirm gate (`pb connect --yes`). Required to
|
|
31
|
+
* connect in a non-interactive shell (e.g. CI), where the gate otherwise fails
|
|
32
|
+
* closed. Pairs with `--name` for scripted connects.
|
|
33
|
+
*/
|
|
34
|
+
assumeYes?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Main entrypoint for `pb connect <token>`.
|
|
38
|
+
* Validates token format, redeems it via /auth/redeem-connect-token,
|
|
39
|
+
* saves the key, and runs the wizard (S3).
|
|
40
|
+
*/
|
|
41
|
+
export declare function runConnect(token: string, options?: ConnectOptions): Promise<void>;
|
|
42
|
+
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6MH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoB1G;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAiFD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE3F"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pb connect — redeem a short-lived connect token to save an API key locally.
|
|
3
|
+
*
|
|
4
|
+
* Part of FEAT-958 Path C: Onboarding flow. Redeems a connect token, saves API
|
|
5
|
+
* key locally, runs Ink screens, then prints a tailored chat-handoff instruction
|
|
6
|
+
* (WP-433 FEAT-1291).
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
9
|
+
import { resolve } from 'path';
|
|
10
|
+
import { resolveAppUrl, resolveConnectRedeemUrl } from '../lib/constants.js';
|
|
11
|
+
import { CONNECT_REDEEM_DEFAULT_API_KEY_NAME, trimClientKeyLabelInput, } from '../lib/connectKeyLabel.js';
|
|
12
|
+
import { CONNECT_TOKEN_PREFIX } from '../lib/tokenConstants.js';
|
|
13
|
+
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
14
|
+
import { createProfile, listProfiles, PROFILES_DIR } from '../lib/profiles.js';
|
|
15
|
+
import { withSpinner } from '../lib/spinner.js';
|
|
16
|
+
import { stripControlChars } from '../lib/strip.js';
|
|
17
|
+
import * as clack from '@clack/prompts';
|
|
18
|
+
import { runConnectScreens, runConnectHeadless } from './connect-screens.js';
|
|
19
|
+
import { detectHandoffMarkers, resolveHandoff, printHandoff } from './connect-handoff.js';
|
|
20
|
+
import { setLocalProfilePin, readLocalProjectConfig } from '../lib/config.js';
|
|
21
|
+
import { discardAllSessions } from '../lib/session.js';
|
|
22
|
+
import { confirm, isInteractive } from '../lib/prompts.js';
|
|
23
|
+
const APP_URL = resolveAppUrl();
|
|
24
|
+
/**
|
|
25
|
+
* Validate token format — must start with pb_ct_ and be >20 chars.
|
|
26
|
+
* @returns error message if invalid, undefined if valid.
|
|
27
|
+
*/
|
|
28
|
+
function validateTokenFormat(token) {
|
|
29
|
+
if (!token.startsWith(CONNECT_TOKEN_PREFIX)) {
|
|
30
|
+
return `Invalid token format. Token must start with '${CONNECT_TOKEN_PREFIX}'.`;
|
|
31
|
+
}
|
|
32
|
+
if (token.length < 30) {
|
|
33
|
+
return `Token is too short. Got ${token.length} chars, expected >30.`;
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* POST /auth/redeem-connect-token with the token.
|
|
39
|
+
* Returns the API key + workspace info, or throws CLIError on failure.
|
|
40
|
+
*/
|
|
41
|
+
async function redeemToken(token, siteUrl, optionalDisplayName) {
|
|
42
|
+
return withSpinner('Redeeming token', async () => {
|
|
43
|
+
const controller = new AbortController();
|
|
44
|
+
const timer = setTimeout(() => controller.abort(), 5000);
|
|
45
|
+
try {
|
|
46
|
+
const body = { token };
|
|
47
|
+
if (optionalDisplayName !== undefined && optionalDisplayName.length > 0) {
|
|
48
|
+
body.name = optionalDisplayName;
|
|
49
|
+
}
|
|
50
|
+
const res = await fetch(`${siteUrl}/auth/redeem-connect-token`, {
|
|
51
|
+
method: 'POST',
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': 'application/json',
|
|
54
|
+
},
|
|
55
|
+
body: JSON.stringify(body),
|
|
56
|
+
signal: controller.signal,
|
|
57
|
+
});
|
|
58
|
+
clearTimeout(timer);
|
|
59
|
+
if (!res.ok) {
|
|
60
|
+
let errorCode = 'unknown_error';
|
|
61
|
+
let errorMessage = `Server returned ${res.status}`;
|
|
62
|
+
try {
|
|
63
|
+
const errorData = (await res.json());
|
|
64
|
+
if (errorData.error?.code) {
|
|
65
|
+
errorCode = errorData.error.code;
|
|
66
|
+
errorMessage = errorData.error.message ?? errorMessage;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Failed to parse error JSON — use default message
|
|
71
|
+
}
|
|
72
|
+
// Map error codes to user-friendly messages
|
|
73
|
+
if (errorCode === 'invalid_token' || res.status === 400) {
|
|
74
|
+
throw new CLIError('Token is invalid, expired, or already used. Get a new token from your onboarding link.', {
|
|
75
|
+
code: ErrorCode.AUTH_INVALID,
|
|
76
|
+
category: 'auth',
|
|
77
|
+
guidance: `Tried gateway: ${siteUrl}\nVisit ${APP_URL} to get a new onboarding link, or contact support.\n\nIf your token came from a different Convex deployment, use:\n pb connect --gateway <your-deployment>.convex.site <token>\nor set CONVEX_SITE_URL in your environment.`,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (errorCode === 'workspace_not_found' || res.status === 404) {
|
|
81
|
+
throw new CLIError('Workspace not found. The token may be from a deleted workspace.', {
|
|
82
|
+
code: ErrorCode.AUTH_DENIED,
|
|
83
|
+
category: 'auth',
|
|
84
|
+
guidance: 'Contact support for help.',
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
throw new CLIError(`Token redemption failed: ${errorMessage}`, {
|
|
88
|
+
code: ErrorCode.AUTH_INVALID,
|
|
89
|
+
category: 'auth',
|
|
90
|
+
guidance: `Visit ${APP_URL} to get a new onboarding link.`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const json = (await res.json());
|
|
94
|
+
// Check for error response (has error field)
|
|
95
|
+
if ('error' in json && json.error) {
|
|
96
|
+
const errorCode = json.error.code || 'unknown_error';
|
|
97
|
+
const errorMessage = json.error.message || 'Token redemption failed';
|
|
98
|
+
throw new CLIError(errorCode === 'invalid_token' ? 'Token is invalid, expired, or already used.' : errorMessage, {
|
|
99
|
+
code: ErrorCode.AUTH_INVALID,
|
|
100
|
+
category: 'auth',
|
|
101
|
+
guidance: `Visit ${APP_URL} to get a new onboarding link.`,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return json;
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
clearTimeout(timer);
|
|
108
|
+
// Re-throw CLIErrors (validation failures)
|
|
109
|
+
if (err instanceof CLIError)
|
|
110
|
+
throw err;
|
|
111
|
+
// Network/timeout error
|
|
112
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
113
|
+
if (msg === 'fetch failed' || msg.includes('ECONNREFUSED') || msg.includes('ENOTFOUND')) {
|
|
114
|
+
throw new CLIError('Could not reach ProductBrain. Check your internet connection.', {
|
|
115
|
+
code: ErrorCode.NETWORK_UNREACHABLE,
|
|
116
|
+
category: 'network',
|
|
117
|
+
guidance: 'Check your connection, then try again: pb connect <token>',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
// Unknown error
|
|
121
|
+
throw new CLIError(`Network error: ${msg}`, {
|
|
122
|
+
code: ErrorCode.NETWORK_UNREACHABLE,
|
|
123
|
+
category: 'network',
|
|
124
|
+
guidance: 'Check your internet connection and try again.',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Slugify workspace name for profile naming.
|
|
131
|
+
* Lowercase, replace spaces/special chars with hyphens, max 32 chars.
|
|
132
|
+
*/
|
|
133
|
+
function slugify(name) {
|
|
134
|
+
return name
|
|
135
|
+
.toLowerCase()
|
|
136
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
137
|
+
.replace(/^-|-$/g, '')
|
|
138
|
+
.slice(0, 32) || 'default';
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Save API key as a named profile. Creates or updates the profile.
|
|
142
|
+
* Does NOT activate the profile globally — project config (.productbrain/config.json)
|
|
143
|
+
* handles per-project resolution. User can switch manually with `pb use <profile>`.
|
|
144
|
+
* Sets process.env for the current process only (so handshake works).
|
|
145
|
+
*/
|
|
146
|
+
function saveKeyAsProfile(apiKey, siteUrl, profileName) {
|
|
147
|
+
const existing = listProfiles();
|
|
148
|
+
if (existing.includes(profileName)) {
|
|
149
|
+
// Overwrite existing profile with fresh credentials (re-connect scenario)
|
|
150
|
+
const lines = [
|
|
151
|
+
`# Product Brain CLI profile: ${profileName}`,
|
|
152
|
+
`PRODUCTBRAIN_API_KEY=${apiKey}`,
|
|
153
|
+
...(siteUrl ? [`CONVEX_SITE_URL=${siteUrl}`] : []),
|
|
154
|
+
'',
|
|
155
|
+
];
|
|
156
|
+
mkdirSync(PROFILES_DIR, { recursive: true });
|
|
157
|
+
writeFileSync(resolve(PROFILES_DIR, `${profileName}.env`), lines.join('\n'), { mode: 0o600 });
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
createProfile(profileName, apiKey, siteUrl);
|
|
161
|
+
}
|
|
162
|
+
// Don't call useProfile() — that hijacks the global active profile.
|
|
163
|
+
// Project config pins the workspace per-project instead.
|
|
164
|
+
process.env.PRODUCTBRAIN_API_KEY = apiKey;
|
|
165
|
+
process.env.CONVEX_SITE_URL = siteUrl;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Write project config files to pin this project to the workspace.
|
|
169
|
+
* Returns the prior repo profile pin so the caller can detect a workspace redirect.
|
|
170
|
+
*
|
|
171
|
+
* Split design:
|
|
172
|
+
* - config.json (committed): siteUrl only — workspace gateway, safe to share with teammates.
|
|
173
|
+
* Strips any legacy `profile` field that may be present from earlier pb versions.
|
|
174
|
+
* - config.local.json (gitignored): profile pin — machine-local, never committed.
|
|
175
|
+
* Written via the shared setLocalProfilePin() writer (used by `pb profile use --local`
|
|
176
|
+
* and `pb connect`).
|
|
177
|
+
*
|
|
178
|
+
* Does NOT include the API key anywhere — that stays in profiles, never committed.
|
|
179
|
+
*/
|
|
180
|
+
export function saveProjectConfig(siteUrl, profileName) {
|
|
181
|
+
const configDir = resolve(process.cwd(), '.productbrain');
|
|
182
|
+
const configPath = resolve(configDir, 'config.json');
|
|
183
|
+
mkdirSync(configDir, { recursive: true });
|
|
184
|
+
// Capture the prior repo pin BEFORE we overwrite it (redirect detection).
|
|
185
|
+
const previous = readLocalProjectConfig()?.profile ?? null;
|
|
186
|
+
// --- config.json: siteUrl only (committed). Strip legacy `profile` field. ---
|
|
187
|
+
let existingCommitted = {};
|
|
188
|
+
if (existsSync(configPath)) {
|
|
189
|
+
try {
|
|
190
|
+
existingCommitted = JSON.parse(readFileSync(configPath, 'utf8'));
|
|
191
|
+
}
|
|
192
|
+
catch { /* ignore */ }
|
|
193
|
+
}
|
|
194
|
+
delete existingCommitted['profile'];
|
|
195
|
+
writeFileSync(configPath, JSON.stringify({ ...existingCommitted, siteUrl }, null, 2) + '\n');
|
|
196
|
+
// --- config.local.json: profile pin (gitignored) via the shared writer ---
|
|
197
|
+
setLocalProfilePin(process.cwd(), profileName);
|
|
198
|
+
return { previousProfile: previous && previous !== profileName ? previous : null };
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Refuse a connect that can never run the confirm gate — BEFORE the one-time token is
|
|
202
|
+
* redeemed (WP-2 / TEN-2561). A non-interactive shell (no TTY / --quiet / --json) without
|
|
203
|
+
* `--yes` can never see or confirm the workspace, so fail closed here rather than redeeming
|
|
204
|
+
* first and burning the token on a gate we were always going to fail. Because this runs
|
|
205
|
+
* pre-redeem, the token is untouched — the same token still works once the caller adds
|
|
206
|
+
* `--yes` (or moves to an interactive terminal). `assumeYes` (`--yes`) is the explicit
|
|
207
|
+
* headless opt-in for scripted/CI connects.
|
|
208
|
+
*/
|
|
209
|
+
function assertConnectableNonInteractively(assumeYes) {
|
|
210
|
+
if (isInteractive() || assumeYes)
|
|
211
|
+
return;
|
|
212
|
+
throw new CLIError('Refusing to connect without confirmation — this is not an interactive terminal.', {
|
|
213
|
+
code: ErrorCode.NON_INTERACTIVE,
|
|
214
|
+
category: 'config',
|
|
215
|
+
guidance: 'Run `pb connect <token>` in an interactive terminal to confirm the workspace, or pass ' +
|
|
216
|
+
'--yes to confirm non-interactively (e.g. in CI). Your token has not been used — the same ' +
|
|
217
|
+
'token still works.',
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Confirm-first gate (WP-2 / TEN-2561): bind this folder to the redeemed workspace
|
|
222
|
+
* only after the operator confirms WHICH workspace they're connecting to — before any
|
|
223
|
+
* local write (key-as-profile, project pin, context sync). A wrong-Chain bind must never
|
|
224
|
+
* happen silently; the user only used to learn the workspace *after* it was written.
|
|
225
|
+
*
|
|
226
|
+
* The gate sits *after* redeemToken: the workspace name comes from the redeem result, so
|
|
227
|
+
* the one-time token is already consumed by the time we ask. A decline therefore cannot be
|
|
228
|
+
* retried with the same token — guidance tells the user to request a fresh onboarding link.
|
|
229
|
+
*
|
|
230
|
+
* Non-interactive callers are refused earlier, before the token is redeemed
|
|
231
|
+
* (assertConnectableNonInteractively), so by here we are interactive — or `assumeYes`
|
|
232
|
+
* opted out of the prompt. confirm()'s own assertInteractive() remains the fail-closed
|
|
233
|
+
* backstop.
|
|
234
|
+
*
|
|
235
|
+
* @returns true to proceed with local writes, false if the operator declined interactively.
|
|
236
|
+
*/
|
|
237
|
+
async function confirmWorkspaceBinding(workspaceName, assumeYes) {
|
|
238
|
+
if (assumeYes)
|
|
239
|
+
return true;
|
|
240
|
+
return confirm({
|
|
241
|
+
message: `Connect this folder to "${workspaceName}"?`,
|
|
242
|
+
initialValue: true,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Optional label to send with redeem — omit when empty or default so server applies `Product Brain CLI`.
|
|
247
|
+
*/
|
|
248
|
+
async function resolveOptionalRedeemDisplayName(options) {
|
|
249
|
+
const fromFlag = options.name !== undefined ? trimClientKeyLabelInput(options.name) : '';
|
|
250
|
+
if (fromFlag.length > 0) {
|
|
251
|
+
return fromFlag;
|
|
252
|
+
}
|
|
253
|
+
// Honor the same interactivity gate as the confirm prompt (isInteractive: TTY + not
|
|
254
|
+
// --quiet/--json). Raw isatty() would prompt for a key label in a TTY even under
|
|
255
|
+
// --quiet/--json — blocking scripted use right before the gate fails (TEN-2561).
|
|
256
|
+
if (!isInteractive()) {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
const entered = await clack.text({
|
|
260
|
+
message: 'Name this key (optional — shown in workspace settings)',
|
|
261
|
+
placeholder: CONNECT_REDEEM_DEFAULT_API_KEY_NAME,
|
|
262
|
+
initialValue: CONNECT_REDEEM_DEFAULT_API_KEY_NAME,
|
|
263
|
+
});
|
|
264
|
+
if (clack.isCancel(entered)) {
|
|
265
|
+
process.exit(130);
|
|
266
|
+
}
|
|
267
|
+
const trimmed = typeof entered === 'string' ? trimClientKeyLabelInput(entered) : '';
|
|
268
|
+
if (trimmed.length === 0 || trimmed === CONNECT_REDEEM_DEFAULT_API_KEY_NAME) {
|
|
269
|
+
return undefined;
|
|
270
|
+
}
|
|
271
|
+
return trimmed;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Main entrypoint for `pb connect <token>`.
|
|
275
|
+
* Validates token format, redeems it via /auth/redeem-connect-token,
|
|
276
|
+
* saves the key, and runs the wizard (S3).
|
|
277
|
+
*/
|
|
278
|
+
export async function runConnect(token, options = {}) {
|
|
279
|
+
// 1. Validate token format
|
|
280
|
+
const formatError = validateTokenFormat(token);
|
|
281
|
+
if (formatError) {
|
|
282
|
+
throw new CLIError(formatError, {
|
|
283
|
+
code: ErrorCode.AUTH_INVALID,
|
|
284
|
+
category: 'auth',
|
|
285
|
+
guidance: `Usage: pb connect <token>\nToken must start with '${CONNECT_TOKEN_PREFIX}' and be at least 30 characters long.`,
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
// 2. Resolve cloud Convex gateway (--gateway → env → CONVEX_SITE_URL → production)
|
|
289
|
+
const siteUrl = resolveConnectRedeemUrl(options.gateway);
|
|
290
|
+
// 3. Confirm-first gate, part 1 (WP-2): refuse a non-interactive connect that can't run
|
|
291
|
+
// the workspace-confirm BEFORE redeeming, so the one-time token is never burned on a
|
|
292
|
+
// gate we were always going to fail. --yes is the explicit headless opt-in.
|
|
293
|
+
assertConnectableNonInteractively(options.assumeYes === true);
|
|
294
|
+
const redeemLabel = await resolveOptionalRedeemDisplayName(options);
|
|
295
|
+
const result = await redeemToken(token, siteUrl, redeemLabel);
|
|
296
|
+
// workspaceName is server-controlled — strip ANSI/control chars before it reaches any
|
|
297
|
+
// terminal output (prompt, errors, the wizard) to prevent terminal escape injection
|
|
298
|
+
// (BET-269 C3 baseline). slugify() below independently sanitizes the profile/file name.
|
|
299
|
+
const workspaceName = stripControlChars(result.workspaceName);
|
|
300
|
+
// 4. Confirm-first gate, part 2 (WP-2): name the workspace and bind only after the
|
|
301
|
+
// operator confirms — BEFORE any local write. Decline ⇒ nothing written; machine untouched.
|
|
302
|
+
const confirmed = await confirmWorkspaceBinding(workspaceName, options.assumeYes === true);
|
|
303
|
+
if (!confirmed) {
|
|
304
|
+
process.stderr.write(`Cancelled — nothing saved. This folder is not connected to "${workspaceName}".\n` +
|
|
305
|
+
`Note: the one-time token was already used; request a fresh onboarding link to connect.\n`);
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
// 5. Save API key as named profile + pin project config
|
|
309
|
+
const profileName = slugify(result.workspaceName);
|
|
310
|
+
saveKeyAsProfile(result.apiKey, siteUrl, profileName);
|
|
311
|
+
const { previousProfile } = saveProjectConfig(siteUrl, profileName);
|
|
312
|
+
if (previousProfile) {
|
|
313
|
+
process.stderr.write(`⚠ This repo was connected to "${previousProfile}"; now redirecting to "${profileName}" (${workspaceName}). Previous session was reset — run \`pb session start\` to begin a new one.\n`);
|
|
314
|
+
// The repo's effective workspace changed — drop ALL stale session markers (Codex review fix:
|
|
315
|
+
// not just the current conversation's) so the next `pb session start` on ANY conversation
|
|
316
|
+
// doesn't auto-resume against the old workspace.
|
|
317
|
+
discardAllSessions();
|
|
318
|
+
}
|
|
319
|
+
// 6. Post-connect context + summary. Interactive: the Ink wizard (ConnectedScreen +
|
|
320
|
+
// ProfileScreen) waits on keypresses via useInput, which needs raw-mode stdin. A
|
|
321
|
+
// headless `--yes` connect (no TTY, e.g. CI) can't provide that — rendering Ink there
|
|
322
|
+
// throws AFTER the key/config were written — so it gets a plain-text summary instead
|
|
323
|
+
// (TEN-2561 / WP-2). Both prepare the same workspace context first.
|
|
324
|
+
if (isInteractive()) {
|
|
325
|
+
await runConnectScreens(workspaceName, profileName);
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
await runConnectHeadless(workspaceName, profileName);
|
|
329
|
+
}
|
|
330
|
+
// 8. Tailored chat handoff — detect AI tool and print one-line instruction (FEAT-1291).
|
|
331
|
+
// Replaces the 4-option clack.select menu that exited on cancel (TEN-1992).
|
|
332
|
+
const cwd = process.cwd();
|
|
333
|
+
const markers = detectHandoffMarkers(cwd);
|
|
334
|
+
const handoff = resolveHandoff(markers);
|
|
335
|
+
process.stdout.write('\n');
|
|
336
|
+
printHandoff(process.stdout, handoff);
|
|
337
|
+
process.stdout.write('\n');
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACN,mCAAmC,EACnC,uBAAuB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAiBhC;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,gDAAgD,oBAAoB,IAAI,CAAC;IAClF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,2BAA2B,KAAK,CAAC,MAAM,uBAAuB,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,WAAW,CACxB,KAAa,EACb,OAAe,EACf,mBAA4B;IAE5B,OAAO,WAAW,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAqC,EAAE,KAAK,EAAE,CAAC;YACzD,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,4BAA4B,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,eAAe,CAAC;gBAChC,IAAI,YAAY,GAAG,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAAC;gBAEnD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0E,CAAC;oBAC9G,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;wBAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;wBACjC,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;gBACrD,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,SAAS,KAAK,eAAe,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxD,MAAM,IAAI,QAAQ,CAChB,wFAAwF,EACxF;wBACE,IAAI,EAAE,SAAS,CAAC,YAAY;wBAC5B,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,kBAAkB,OAAO,WAAW,OAAO,8NAA8N;qBACpR,CACF,CAAC;gBACJ,CAAC;gBAED,IAAI,SAAS,KAAK,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC9D,MAAM,IAAI,QAAQ,CAAC,iEAAiE,EAAE;wBACpF,IAAI,EAAE,SAAS,CAAC,WAAW;wBAC3B,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,2BAA2B;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,IAAI,QAAQ,CAAC,4BAA4B,YAAY,EAAE,EAAE;oBAC7D,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,SAAS,OAAO,gCAAgC;iBAC3D,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2F,CAAC;YAE1H,6CAA6C;YAC7C,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC;gBACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC;gBACrE,MAAM,IAAI,QAAQ,CAChB,SAAS,KAAK,eAAe,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,YAAY,EAC5F;oBACE,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,SAAS,OAAO,gCAAgC;iBAC3D,CACF,CAAC;YACJ,CAAC;YAED,OAAO,IAAsB,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,2CAA2C;YAC3C,IAAI,GAAG,YAAY,QAAQ;gBAAE,MAAM,GAAG,CAAC;YAEvC,wBAAwB;YACxB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,QAAQ,CAAC,+DAA+D,EAAE;oBAClF,IAAI,EAAE,SAAS,CAAC,mBAAmB;oBACnC,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,2DAA2D;iBACtE,CAAC,CAAC;YACL,CAAC;YAED,gBAAgB;YAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,GAAG,EAAE,EAAE;gBAC1C,IAAI,EAAE,SAAS,CAAC,mBAAmB;gBACnC,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,+CAA+C;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe,EAAE,WAAmB;IAC5E,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,0EAA0E;QAC1E,MAAM,KAAK,GAAG;YACZ,gCAAgC,WAAW,EAAE;YAC7C,wBAAwB,MAAM,EAAE;YAChC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,EAAE;SACH,CAAC;QACF,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,WAAW,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,oEAAoE;IACpE,yDAAyD;IACzD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,WAAmB;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,sBAAsB,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC;IAE3D,+EAA+E;IAC/E,IAAI,iBAAiB,GAA4B,EAAE,CAAC;IACpD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE7F,4EAA4E;IAC5E,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE/C,OAAO,EAAE,eAAe,EAAE,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAeD;;;;;;;;GAQG;AACH,SAAS,iCAAiC,CAAC,SAAkB;IAC3D,IAAI,aAAa,EAAE,IAAI,SAAS;QAAE,OAAO;IACzC,MAAM,IAAI,QAAQ,CAChB,iFAAiF,EACjF;QACE,IAAI,EAAE,SAAS,CAAC,eAAe;QAC/B,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EACN,wFAAwF;YACxF,2FAA2F;YAC3F,oBAAoB;KACvB,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,uBAAuB,CAAC,aAAqB,EAAE,SAAkB;IAC9E,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,OAAO,CAAC;QACb,OAAO,EAAE,2BAA2B,aAAa,IAAI;QACrD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gCAAgC,CAAC,OAAuB;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,oFAAoF;IACpF,iFAAiF;IACjF,iFAAiF;IACjF,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,wDAAwD;QACjE,WAAW,EAAE,mCAAmC;QAChD,YAAY,EAAE,mCAAmC;KAClD,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,mCAAmC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,UAA0B,EAAE;IAC1E,2BAA2B;IAC3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE,SAAS,CAAC,YAAY;YAC5B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,qDAAqD,oBAAoB,uCAAuC;SAC3H,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzD,wFAAwF;IACxF,wFAAwF;IACxF,+EAA+E;IAC/E,iCAAiC,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9D,sFAAsF;IACtF,oFAAoF;IACpF,wFAAwF;IACxF,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE9D,mFAAmF;IACnF,+FAA+F;IAC/F,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAC3F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D,aAAa,MAAM;YAChF,0FAA0F,CAC7F,CAAC;QACF,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iCAAiC,eAAe,0BAA0B,WAAW,MAAM,aAAa,gFAAgF,CACzL,CAAC;QACF,6FAA6F;QAC7F,0FAA0F;QAC1F,iDAAiD;QACjD,kBAAkB,EAAE,CAAC;IACvB,CAAC;IAED,oFAAoF;IACpF,oFAAoF;IACpF,yFAAyF;IACzF,wFAAwF;IACxF,uEAAuE;IACvE,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,MAAM,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.test.d.ts","sourceRoot":"","sources":["../../src/commands/connect.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|