@productbrain/cli 0.1.0-beta.7 → 0.1.0-beta.70
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 +98 -30
- package/dist/__tests__/adapters.test.d.ts +2 -0
- package/dist/__tests__/adapters.test.d.ts.map +1 -0
- package/dist/__tests__/adapters.test.js +417 -0
- package/dist/__tests__/adapters.test.js.map +1 -0
- package/dist/__tests__/audit.test.d.ts +2 -0
- package/dist/__tests__/audit.test.d.ts.map +1 -0
- package/dist/__tests__/audit.test.js +394 -0
- package/dist/__tests__/audit.test.js.map +1 -0
- package/dist/__tests__/batch-transformations.test.d.ts +2 -0
- package/dist/__tests__/batch-transformations.test.d.ts.map +1 -0
- package/dist/__tests__/batch-transformations.test.js +263 -0
- package/dist/__tests__/batch-transformations.test.js.map +1 -0
- package/dist/__tests__/capture.test.d.ts +2 -0
- package/dist/__tests__/capture.test.d.ts.map +1 -0
- package/dist/__tests__/capture.test.js +377 -0
- package/dist/__tests__/capture.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 +166 -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 +141 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/constellation.test.d.ts +2 -0
- package/dist/__tests__/constellation.test.d.ts.map +1 -0
- package/dist/__tests__/constellation.test.js +254 -0
- package/dist/__tests__/constellation.test.js.map +1 -0
- package/dist/__tests__/context-strategy.test.d.ts +2 -0
- package/dist/__tests__/context-strategy.test.d.ts.map +1 -0
- package/dist/__tests__/context-strategy.test.js +79 -0
- package/dist/__tests__/context-strategy.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 +117 -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.d.ts +2 -0
- package/dist/__tests__/fields.test.d.ts.map +1 -0
- package/dist/__tests__/fields.test.js +238 -0
- package/dist/__tests__/fields.test.js.map +1 -0
- 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.test.d.ts +2 -0
- package/dist/__tests__/handshake.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.test.js +196 -0
- package/dist/__tests__/handshake.test.js.map +1 -0
- package/dist/__tests__/ingest.test.js +98 -0
- 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__/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.d.ts +2 -0
- package/dist/__tests__/orient.test.d.ts.map +1 -0
- package/dist/__tests__/orient.test.js +143 -0
- package/dist/__tests__/orient.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 +168 -0
- package/dist/__tests__/profiles.test.js.map +1 -0
- package/dist/__tests__/promote.test.d.ts +2 -0
- package/dist/__tests__/promote.test.d.ts.map +1 -0
- package/dist/__tests__/promote.test.js +161 -0
- package/dist/__tests__/promote.test.js.map +1 -0
- 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__/proposals.test.d.ts +2 -0
- package/dist/__tests__/proposals.test.d.ts.map +1 -0
- package/dist/__tests__/proposals.test.js +167 -0
- package/dist/__tests__/proposals.test.js.map +1 -0
- package/dist/__tests__/relate.test.d.ts +2 -0
- package/dist/__tests__/relate.test.d.ts.map +1 -0
- package/dist/__tests__/relate.test.js +103 -0
- package/dist/__tests__/relate.test.js.map +1 -0
- package/dist/__tests__/repo-detect.test.d.ts +2 -0
- package/dist/__tests__/repo-detect.test.d.ts.map +1 -0
- package/dist/__tests__/repo-detect.test.js +215 -0
- package/dist/__tests__/repo-detect.test.js.map +1 -0
- package/dist/__tests__/runner.test.d.ts +2 -0
- package/dist/__tests__/runner.test.d.ts.map +1 -0
- package/dist/__tests__/runner.test.js +219 -0
- package/dist/__tests__/runner.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.d.ts +2 -0
- package/dist/__tests__/session-touch.test.d.ts.map +1 -0
- package/dist/__tests__/session-touch.test.js +134 -0
- package/dist/__tests__/session-touch.test.js.map +1 -0
- package/dist/__tests__/session.test.d.ts +2 -0
- package/dist/__tests__/session.test.d.ts.map +1 -0
- package/dist/__tests__/session.test.js +46 -0
- package/dist/__tests__/session.test.js.map +1 -0
- package/dist/__tests__/setup.test.d.ts +2 -0
- package/dist/__tests__/setup.test.d.ts.map +1 -0
- package/dist/__tests__/setup.test.js +141 -0
- package/dist/__tests__/setup.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__/strip.test.d.ts +2 -0
- package/dist/__tests__/strip.test.d.ts.map +1 -0
- package/dist/__tests__/strip.test.js +136 -0
- package/dist/__tests__/strip.test.js.map +1 -0
- package/dist/__tests__/surface-profiles.test.d.ts +2 -0
- package/dist/__tests__/surface-profiles.test.d.ts.map +1 -0
- package/dist/__tests__/surface-profiles.test.js +233 -0
- package/dist/__tests__/surface-profiles.test.js.map +1 -0
- package/dist/__tests__/update.test.d.ts +2 -0
- package/dist/__tests__/update.test.d.ts.map +1 -0
- package/dist/__tests__/update.test.js +228 -0
- package/dist/__tests__/update.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 +308 -0
- package/dist/__tests__/workspace.test.js.map +1 -0
- package/dist/commands/accept.d.ts +18 -0
- package/dist/commands/accept.d.ts.map +1 -0
- package/dist/commands/accept.js +76 -0
- package/dist/commands/accept.js.map +1 -0
- package/dist/commands/admin/cockpit.d.ts +88 -0
- package/dist/commands/admin/cockpit.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.js +409 -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 +254 -0
- package/dist/commands/admin/index.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +21 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -0
- package/dist/commands/admin/inspect.js +536 -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 +71 -0
- package/dist/commands/admin/inspect.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +32 -0
- package/dist/commands/admin/seed.d.ts.map +1 -0
- package/dist/commands/admin/seed.js +527 -0
- package/dist/commands/admin/seed.js.map +1 -0
- package/dist/commands/admin/seed.test.d.ts +6 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -0
- package/dist/commands/admin/seed.test.js +65 -0
- package/dist/commands/admin/seed.test.js.map +1 -0
- package/dist/commands/audit.d.ts +25 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +188 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/brand-pack.d.ts +2 -0
- package/dist/commands/brand-pack.d.ts.map +1 -0
- package/dist/commands/brand-pack.js +25 -0
- package/dist/commands/brand-pack.js.map +1 -0
- package/dist/commands/brief.d.ts +28 -0
- package/dist/commands/brief.d.ts.map +1 -0
- package/dist/commands/brief.js +75 -0
- package/dist/commands/brief.js.map +1 -0
- package/dist/commands/capture.d.ts +30 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +385 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/chain-walk.d.ts +14 -0
- package/dist/commands/chain-walk.d.ts.map +1 -0
- package/dist/commands/chain-walk.js +38 -0
- package/dist/commands/chain-walk.js.map +1 -0
- package/dist/commands/changes.d.ts +11 -0
- package/dist/commands/changes.d.ts.map +1 -0
- package/dist/commands/changes.js +46 -0
- package/dist/commands/changes.js.map +1 -0
- package/dist/commands/codex-prep.d.ts +12 -0
- package/dist/commands/codex-prep.d.ts.map +1 -0
- package/dist/commands/codex-prep.js +122 -0
- package/dist/commands/codex-prep.js.map +1 -0
- package/dist/commands/collections.d.ts +22 -0
- package/dist/commands/collections.d.ts.map +1 -0
- package/dist/commands/collections.js +77 -0
- package/dist/commands/collections.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 +200 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- package/dist/commands/connect.d.ts +21 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +279 -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 +230 -0
- package/dist/commands/connect.test.js.map +1 -0
- package/dist/commands/constellation.d.ts +11 -0
- package/dist/commands/constellation.d.ts.map +1 -0
- package/dist/commands/constellation.js +33 -0
- package/dist/commands/constellation.js.map +1 -0
- package/dist/commands/context.d.ts +2 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +20 -9
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts +11 -0
- package/dist/commands/cross-cut.d.ts.map +1 -0
- package/dist/commands/cross-cut.js +23 -0
- package/dist/commands/cross-cut.js.map +1 -0
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +232 -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 +311 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/fields.d.ts +9 -0
- package/dist/commands/fields.d.ts.map +1 -0
- package/dist/commands/fields.js +30 -0
- package/dist/commands/fields.js.map +1 -0
- package/dist/commands/get.d.ts +8 -1
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +60 -7
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/handshake.d.ts +28 -0
- package/dist/commands/handshake.d.ts.map +1 -0
- package/dist/commands/handshake.js +617 -0
- package/dist/commands/handshake.js.map +1 -0
- package/dist/commands/ingest.d.ts +8 -2
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +148 -25
- 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 +117 -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/orient.d.ts +107 -1
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +24 -8
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +24 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +82 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/promote.d.ts +12 -0
- package/dist/commands/promote.d.ts.map +1 -0
- package/dist/commands/promote.js +90 -0
- package/dist/commands/promote.js.map +1 -0
- package/dist/commands/proposals.d.ts +9 -0
- package/dist/commands/proposals.d.ts.map +1 -0
- package/dist/commands/proposals.js +24 -0
- package/dist/commands/proposals.js.map +1 -0
- package/dist/commands/reject.d.ts +14 -0
- package/dist/commands/reject.d.ts.map +1 -0
- package/dist/commands/reject.js +43 -0
- package/dist/commands/reject.js.map +1 -0
- package/dist/commands/relate.d.ts +16 -0
- package/dist/commands/relate.d.ts.map +1 -0
- package/dist/commands/relate.js +98 -0
- package/dist/commands/relate.js.map +1 -0
- package/dist/commands/search.d.ts +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +5 -3
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +20 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +148 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +15 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +168 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts +17 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +178 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/verify.d.ts +13 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +49 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/workspace.d.ts +41 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +239 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/formatters/audit.d.ts +46 -0
- package/dist/formatters/audit.d.ts.map +1 -0
- package/dist/formatters/audit.js +81 -0
- package/dist/formatters/audit.js.map +1 -0
- package/dist/formatters/brief.d.ts +112 -0
- package/dist/formatters/brief.d.ts.map +1 -0
- package/dist/formatters/brief.js +179 -0
- package/dist/formatters/brief.js.map +1 -0
- package/dist/formatters/capture.d.ts +48 -0
- package/dist/formatters/capture.d.ts.map +1 -0
- package/dist/formatters/capture.js +77 -0
- package/dist/formatters/capture.js.map +1 -0
- package/dist/formatters/chain-walk.d.ts +33 -0
- package/dist/formatters/chain-walk.d.ts.map +1 -0
- package/dist/formatters/chain-walk.js +54 -0
- package/dist/formatters/chain-walk.js.map +1 -0
- package/dist/formatters/changes.d.ts +25 -0
- package/dist/formatters/changes.d.ts.map +1 -0
- package/dist/formatters/changes.js +60 -0
- package/dist/formatters/changes.js.map +1 -0
- package/dist/formatters/collections.d.ts +40 -0
- package/dist/formatters/collections.d.ts.map +1 -0
- package/dist/formatters/collections.js +93 -0
- package/dist/formatters/collections.js.map +1 -0
- package/dist/formatters/constellation.d.ts +34 -0
- package/dist/formatters/constellation.d.ts.map +1 -0
- package/dist/formatters/constellation.js +38 -0
- package/dist/formatters/constellation.js.map +1 -0
- package/dist/formatters/cross-cut.d.ts +21 -0
- package/dist/formatters/cross-cut.d.ts.map +1 -0
- package/dist/formatters/cross-cut.js +32 -0
- package/dist/formatters/cross-cut.js.map +1 -0
- package/dist/formatters/entry.d.ts +11 -4
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +24 -8
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/fields.d.ts +32 -0
- package/dist/formatters/fields.d.ts.map +1 -0
- package/dist/formatters/fields.js +49 -0
- package/dist/formatters/fields.js.map +1 -0
- package/dist/formatters/handshake.d.ts +24 -0
- package/dist/formatters/handshake.d.ts.map +1 -0
- package/dist/formatters/handshake.js +69 -0
- package/dist/formatters/handshake.js.map +1 -0
- package/dist/formatters/orient.d.ts +104 -1
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +140 -17
- package/dist/formatters/orient.js.map +1 -1
- package/dist/formatters/promote.d.ts +30 -0
- package/dist/formatters/promote.d.ts.map +1 -0
- package/dist/formatters/promote.js +39 -0
- package/dist/formatters/promote.js.map +1 -0
- package/dist/formatters/proposals.d.ts +45 -0
- package/dist/formatters/proposals.d.ts.map +1 -0
- package/dist/formatters/proposals.js +62 -0
- package/dist/formatters/proposals.js.map +1 -0
- package/dist/formatters/relate.d.ts +14 -0
- package/dist/formatters/relate.d.ts.map +1 -0
- package/dist/formatters/relate.js +16 -0
- package/dist/formatters/relate.js.map +1 -0
- package/dist/formatters/search.d.ts +0 -4
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +4 -1
- package/dist/formatters/search.js.map +1 -1
- package/dist/formatters/session.d.ts +11 -0
- package/dist/formatters/session.d.ts.map +1 -0
- package/dist/formatters/session.js +53 -0
- package/dist/formatters/session.js.map +1 -0
- package/dist/formatters/update.d.ts +17 -0
- package/dist/formatters/update.d.ts.map +1 -0
- package/dist/formatters/update.js +45 -0
- package/dist/formatters/update.js.map +1 -0
- package/dist/formatters/verify.d.ts +11 -0
- package/dist/formatters/verify.d.ts.map +1 -0
- package/dist/formatters/verify.js +11 -0
- package/dist/formatters/verify.js.map +1 -0
- package/dist/generators/__tests__/surface-profiles.test.d.ts +2 -0
- package/dist/generators/__tests__/surface-profiles.test.d.ts.map +1 -0
- package/dist/generators/__tests__/surface-profiles.test.js +89 -0
- package/dist/generators/__tests__/surface-profiles.test.js.map +1 -0
- package/dist/generators/adapters.d.ts +44 -0
- package/dist/generators/adapters.d.ts.map +1 -0
- package/dist/generators/adapters.js +290 -0
- package/dist/generators/adapters.js.map +1 -0
- package/dist/generators/adapters.test.d.ts +2 -0
- package/dist/generators/adapters.test.d.ts.map +1 -0
- package/dist/generators/adapters.test.js +27 -0
- package/dist/generators/adapters.test.js.map +1 -0
- package/dist/generators/archetypes.d.ts +52 -0
- package/dist/generators/archetypes.d.ts.map +1 -0
- package/dist/generators/archetypes.js +153 -0
- package/dist/generators/archetypes.js.map +1 -0
- package/dist/generators/archetypes.test.d.ts +2 -0
- package/dist/generators/archetypes.test.d.ts.map +1 -0
- package/dist/generators/archetypes.test.js +237 -0
- package/dist/generators/archetypes.test.js.map +1 -0
- package/dist/generators/briefing-md.d.ts +8 -0
- package/dist/generators/briefing-md.d.ts.map +1 -0
- package/dist/generators/briefing-md.js +51 -0
- package/dist/generators/briefing-md.js.map +1 -0
- package/dist/generators/chain-classifier.d.ts +49 -0
- package/dist/generators/chain-classifier.d.ts.map +1 -0
- package/dist/generators/chain-classifier.js +180 -0
- package/dist/generators/chain-classifier.js.map +1 -0
- package/dist/generators/chain-classifier.test.d.ts +2 -0
- package/dist/generators/chain-classifier.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier.test.js +257 -0
- package/dist/generators/chain-classifier.test.js.map +1 -0
- package/dist/generators/chain-rules.d.ts +42 -0
- package/dist/generators/chain-rules.d.ts.map +1 -0
- package/dist/generators/chain-rules.js +144 -0
- package/dist/generators/chain-rules.js.map +1 -0
- package/dist/generators/chain-rules.test.d.ts +2 -0
- package/dist/generators/chain-rules.test.d.ts.map +1 -0
- package/dist/generators/chain-rules.test.js +179 -0
- package/dist/generators/chain-rules.test.js.map +1 -0
- package/dist/generators/context-md.d.ts +8 -0
- package/dist/generators/context-md.d.ts.map +1 -0
- package/dist/generators/context-md.js +134 -0
- package/dist/generators/context-md.js.map +1 -0
- package/dist/generators/handshake-diff.d.ts +67 -0
- package/dist/generators/handshake-diff.d.ts.map +1 -0
- package/dist/generators/handshake-diff.js +183 -0
- package/dist/generators/handshake-diff.js.map +1 -0
- package/dist/generators/handshake-diff.test.d.ts +2 -0
- package/dist/generators/handshake-diff.test.d.ts.map +1 -0
- package/dist/generators/handshake-diff.test.js +264 -0
- package/dist/generators/handshake-diff.test.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +143 -0
- package/dist/generators/portable-knowledge.d.ts.map +1 -0
- package/dist/generators/portable-knowledge.js +504 -0
- package/dist/generators/portable-knowledge.js.map +1 -0
- package/dist/generators/portable-knowledge.test.d.ts +2 -0
- package/dist/generators/portable-knowledge.test.d.ts.map +1 -0
- package/dist/generators/portable-knowledge.test.js +927 -0
- package/dist/generators/portable-knowledge.test.js.map +1 -0
- package/dist/generators/surface-profiles.d.ts +49 -0
- package/dist/generators/surface-profiles.d.ts.map +1 -0
- package/dist/generators/surface-profiles.js +98 -0
- package/dist/generators/surface-profiles.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +642 -37
- package/dist/index.js.map +1 -1
- package/dist/lib/activation.d.ts +28 -0
- package/dist/lib/activation.d.ts.map +1 -0
- package/dist/lib/activation.js +57 -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/client.d.ts +61 -0
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +258 -12
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/config.d.ts +84 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +322 -42
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +42 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +76 -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/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 +58 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +67 -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/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/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 +214 -0
- package/dist/lib/onboarding-path-b.js.map +1 -0
- package/dist/lib/onboarding-phases.d.ts +9 -0
- package/dist/lib/onboarding-phases.d.ts.map +1 -0
- package/dist/lib/onboarding-phases.js +120 -0
- package/dist/lib/onboarding-phases.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 +190 -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/profiles.d.ts +39 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +185 -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/repo-detect.d.ts +33 -0
- package/dist/lib/repo-detect.d.ts.map +1 -0
- package/dist/lib/repo-detect.js +83 -0
- package/dist/lib/repo-detect.js.map +1 -0
- package/dist/lib/runner.d.ts +33 -0
- package/dist/lib/runner.d.ts.map +1 -0
- package/dist/lib/runner.js +79 -0
- package/dist/lib/runner.js.map +1 -0
- package/dist/lib/session.d.ts +17 -0
- package/dist/lib/session.d.ts.map +1 -0
- package/dist/lib/session.js +43 -0
- package/dist/lib/session.js.map +1 -0
- 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/strip.d.ts +12 -0
- package/dist/lib/strip.d.ts.map +1 -0
- package/dist/lib/strip.js +41 -0
- package/dist/lib/strip.js.map +1 -0
- package/dist/lib/style.d.ts +94 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +167 -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 +17 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +17 -0
- package/dist/lib/tokenConstants.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 +16 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -0
- package/dist/lib/workspace-probe.js +33 -0
- package/dist/lib/workspace-probe.js.map +1 -0
- package/package.json +13 -4
- package/templates/archetypes/boundary.md +23 -0
- package/templates/archetypes/constraint.md +23 -0
- package/templates/archetypes/convention.md +23 -0
- package/templates/archetypes/policy.md +23 -0
- package/templates/archetypes/quality-gate.md +23 -0
- package/templates/archetypes/workflow.md +23 -0
- package/templates/general/code-integrity.md +11 -0
- package/templates/general/getting-started.md +12 -0
- package/templates/node-ts/code-integrity.md +13 -0
- package/templates/node-ts/testing.md +12 -0
- package/templates/python/code-integrity.md +13 -0
- package/templates/python/testing.md +12 -0
package/dist/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,13 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI config — reads PRODUCTBRAIN_API_KEY + CONVEX_SITE_URL from:
|
|
3
|
-
* 1. Environment variables
|
|
4
|
-
* 2.
|
|
5
|
-
* 3.
|
|
3
|
+
* 1. Environment variables (always highest priority)
|
|
4
|
+
* 2. Project config: .productbrain/config.json in CWD (WP-303 S0)
|
|
5
|
+
* 3. Profile system (~/.config/productbrain/profiles/{name}.env)
|
|
6
|
+
* 4. Legacy ~/.config/productbrain/.env (auto-migrated to profiles on first use)
|
|
7
|
+
* 5. CWD .env.mcp / packages/mcp-server/.env.mcp / .env
|
|
8
|
+
*
|
|
9
|
+
* Config loading is lazy — loadEnv() runs on first getConfig()/getConfigOrGuide() call.
|
|
10
|
+
* This enables profile switching without import-time side effects (TEN-1276).
|
|
6
11
|
*
|
|
7
12
|
* When key is missing and retry is provided (TTY), runs guided flow per docs/cli-unauthenticated-user-journey.md.
|
|
8
13
|
*/
|
|
9
14
|
declare const HOME_CONFIG_DIR: string;
|
|
10
15
|
declare const HOME_ENV_PATH: string;
|
|
16
|
+
/** Project config shape — .productbrain/config.json */
|
|
17
|
+
interface ProjectConfig {
|
|
18
|
+
apiKey?: string;
|
|
19
|
+
siteUrl?: string;
|
|
20
|
+
profile?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read .productbrain/config.json from CWD.
|
|
24
|
+
* Returns null if file missing. Warns to stderr on invalid JSON but does not throw.
|
|
25
|
+
*/
|
|
26
|
+
declare function readProjectConfig(): ProjectConfig | null;
|
|
27
|
+
/** Config source in resolution priority order. */
|
|
28
|
+
export type ConfigSource = 'env' | 'project' | 'profile' | 'cwd' | 'default';
|
|
29
|
+
/** Result of the full config resolution cascade. */
|
|
30
|
+
export interface ResolvedConfig {
|
|
31
|
+
apiKey?: string;
|
|
32
|
+
siteUrl: string;
|
|
33
|
+
source: ConfigSource;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Run the full config resolution cascade and return a typed result.
|
|
37
|
+
* Resolution order:
|
|
38
|
+
* 1. Environment variables (highest priority)
|
|
39
|
+
* 2. Project config (.productbrain/config.json in CWD)
|
|
40
|
+
* 3. Profile system (~/.config/productbrain/profiles/{name}.env)
|
|
41
|
+
* 4. Legacy home config (~/.config/productbrain/.env)
|
|
42
|
+
* 5. CWD .env files (.env.mcp, packages/mcp-server/.env.mcp, .env)
|
|
43
|
+
*
|
|
44
|
+
* siteUrl always has a value (falls back to DEFAULT_SITE_URL).
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveConfig(): ResolvedConfig;
|
|
47
|
+
/** Reset env loaded state — used for profile switching. */
|
|
48
|
+
export declare function resetConfigCache(): void;
|
|
11
49
|
export declare function getConfig(): {
|
|
12
50
|
apiKey: string;
|
|
13
51
|
siteUrl: string;
|
|
@@ -16,11 +54,53 @@ export type Config = {
|
|
|
16
54
|
apiKey: string;
|
|
17
55
|
siteUrl: string;
|
|
18
56
|
};
|
|
57
|
+
/** Discriminated union result for non-throwing config access. */
|
|
58
|
+
export type ConfigResult = {
|
|
59
|
+
ok: true;
|
|
60
|
+
apiKey: string;
|
|
61
|
+
siteUrl: string;
|
|
62
|
+
source: ConfigSource;
|
|
63
|
+
} | {
|
|
64
|
+
ok: false;
|
|
65
|
+
reason: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Non-throwing alternative to getConfig().
|
|
69
|
+
*
|
|
70
|
+
* Architecture: getConfig() is the primary path for commands that require auth — it
|
|
71
|
+
* throws CLIError when the key is missing, which is correct for API call paths.
|
|
72
|
+
* getConfigSafe() is for status/probe surfaces (no-args dashboard, init) that need
|
|
73
|
+
* to check config availability without crashing. Both paths are intentional and
|
|
74
|
+
* coexist by design — see WP-303 review (DW#5).
|
|
75
|
+
*
|
|
76
|
+
* Uses resolveConfig() directly (no loadEnv) to avoid env var pollution affecting source attribution.
|
|
77
|
+
*/
|
|
78
|
+
export declare function getConfigSafe(): ConfigResult;
|
|
19
79
|
/**
|
|
20
80
|
* Get config; if key is missing and stdin is a TTY, run guided flow (y/n → paste key → save → retry).
|
|
21
81
|
* @param retry Called after saving key so the original command runs in-process.
|
|
22
82
|
* @returns Config, or null if we ran retry (caller should return without running again).
|
|
23
83
|
*/
|
|
24
84
|
export declare function getConfigOrGuide(retry: () => Promise<void>): Promise<Config | null>;
|
|
25
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Resolve config for admin operations — profile-only resolution.
|
|
87
|
+
*
|
|
88
|
+
* Admin commands (pb admin ...) must NOT read .productbrain/config.json or CWD env files.
|
|
89
|
+
* The project config intentionally pins the repo to a dev Convex site; admin operations
|
|
90
|
+
* target PROD workspaces via the operator's active profile. Reading project config here
|
|
91
|
+
* would silently route admin calls to the wrong gateway (TEN-1334).
|
|
92
|
+
*
|
|
93
|
+
* Resolution order:
|
|
94
|
+
* 1. Shell env vars (PRODUCTBRAIN_API_KEY / CONVEX_SITE_URL) — always win
|
|
95
|
+
* 2. Active named profile (~/.config/productbrain/profiles/{name}.env)
|
|
96
|
+
* 3. Legacy home config (~/.config/productbrain/.env)
|
|
97
|
+
* 4. DEFAULT_SITE_URL as fallback for siteUrl
|
|
98
|
+
*
|
|
99
|
+
* Throws CLIError with AUTH_MISSING if no API key is found.
|
|
100
|
+
*/
|
|
101
|
+
export declare function resolveAdminConfig(): {
|
|
102
|
+
apiKey: string;
|
|
103
|
+
siteUrl: string;
|
|
104
|
+
};
|
|
105
|
+
export { HOME_CONFIG_DIR, HOME_ENV_PATH, readProjectConfig };
|
|
26
106
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,QAAA,MAAM,eAAe,QAAgD,CAAC;AACtE,QAAA,MAAM,aAAa,QAAmC,CAAC;AAUvD,uDAAuD;AACvD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,iBAAS,iBAAiB,IAAI,aAAa,GAAG,IAAI,CA0BjD;AAED,kDAAkD;AAClD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAE7E,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,cAAc,CA8E9C;AA2ED,2DAA2D;AAC3D,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AA6DD,wBAAgB,SAAS,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA0B/D;AAED,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,iEAAiE;AACjE,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACnE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,YAAY,CAiB5C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAmDxE;AAED,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/lib/config.js
CHANGED
|
@@ -1,21 +1,158 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI config — reads PRODUCTBRAIN_API_KEY + CONVEX_SITE_URL from:
|
|
3
|
-
* 1. Environment variables
|
|
4
|
-
* 2.
|
|
5
|
-
* 3.
|
|
3
|
+
* 1. Environment variables (always highest priority)
|
|
4
|
+
* 2. Project config: .productbrain/config.json in CWD (WP-303 S0)
|
|
5
|
+
* 3. Profile system (~/.config/productbrain/profiles/{name}.env)
|
|
6
|
+
* 4. Legacy ~/.config/productbrain/.env (auto-migrated to profiles on first use)
|
|
7
|
+
* 5. CWD .env.mcp / packages/mcp-server/.env.mcp / .env
|
|
8
|
+
*
|
|
9
|
+
* Config loading is lazy — loadEnv() runs on first getConfig()/getConfigOrGuide() call.
|
|
10
|
+
* This enables profile switching without import-time side effects (TEN-1276).
|
|
6
11
|
*
|
|
7
12
|
* When key is missing and retry is provided (TTY), runs guided flow per docs/cli-unauthenticated-user-journey.md.
|
|
8
13
|
*/
|
|
9
14
|
import { readFileSync, existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
10
15
|
import { resolve } from 'path';
|
|
11
16
|
import { homedir } from 'os';
|
|
12
|
-
import {
|
|
13
|
-
|
|
17
|
+
import { DEFAULT_SITE_URL, isDevMode } from './constants.js';
|
|
18
|
+
import { API_KEY_PREFIX } from './tokenConstants.js';
|
|
19
|
+
import { resolveProfileConfig, resolveNamedProfileConfig } from './profiles.js';
|
|
20
|
+
import { CLIError, ErrorCode } from './errors.js';
|
|
21
|
+
import { confirm as promptConfirm, password as promptPassword } from './prompts.js';
|
|
14
22
|
const HOME_CONFIG_DIR = resolve(homedir(), '.config', 'productbrain');
|
|
15
23
|
const HOME_ENV_PATH = resolve(HOME_CONFIG_DIR, '.env');
|
|
16
24
|
const CWD_ENV_PATHS = ['.env.mcp', 'packages/mcp-server/.env.mcp', '.env'];
|
|
17
25
|
// Short error when not TTY (scripts/pipes must not hang)
|
|
18
26
|
const NON_TTY_MESSAGE = 'No API key. Set PRODUCTBRAIN_API_KEY or run pb login.';
|
|
27
|
+
/** Track whether env has been loaded to avoid redundant file reads. */
|
|
28
|
+
let envLoaded = false;
|
|
29
|
+
/**
|
|
30
|
+
* Read .productbrain/config.json from CWD.
|
|
31
|
+
* Returns null if file missing. Warns to stderr on invalid JSON but does not throw.
|
|
32
|
+
*/
|
|
33
|
+
function readProjectConfig() {
|
|
34
|
+
const configPath = resolve(process.cwd(), '.productbrain', 'config.json');
|
|
35
|
+
if (!existsSync(configPath))
|
|
36
|
+
return null;
|
|
37
|
+
try {
|
|
38
|
+
const raw = readFileSync(configPath, 'utf8');
|
|
39
|
+
const parsed = JSON.parse(raw);
|
|
40
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
41
|
+
process.stderr.write('Warning: .productbrain/config.json is not a JSON object, skipping.\n');
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const result = {};
|
|
45
|
+
if (typeof parsed.apiKey === 'string' && parsed.apiKey) {
|
|
46
|
+
result.apiKey = parsed.apiKey;
|
|
47
|
+
}
|
|
48
|
+
if (typeof parsed.siteUrl === 'string' && parsed.siteUrl) {
|
|
49
|
+
result.siteUrl = parsed.siteUrl;
|
|
50
|
+
}
|
|
51
|
+
if (typeof parsed.profile === 'string' && parsed.profile) {
|
|
52
|
+
result.profile = parsed.profile;
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
process.stderr.write('Warning: .productbrain/config.json contains invalid JSON, skipping.\n');
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Run the full config resolution cascade and return a typed result.
|
|
63
|
+
* Resolution order:
|
|
64
|
+
* 1. Environment variables (highest priority)
|
|
65
|
+
* 2. Project config (.productbrain/config.json in CWD)
|
|
66
|
+
* 3. Profile system (~/.config/productbrain/profiles/{name}.env)
|
|
67
|
+
* 4. Legacy home config (~/.config/productbrain/.env)
|
|
68
|
+
* 5. CWD .env files (.env.mcp, packages/mcp-server/.env.mcp, .env)
|
|
69
|
+
*
|
|
70
|
+
* siteUrl always has a value (falls back to DEFAULT_SITE_URL).
|
|
71
|
+
*/
|
|
72
|
+
export function resolveConfig() {
|
|
73
|
+
// 1. Env vars — check directly, don't mutate process.env
|
|
74
|
+
const envKey = process.env.PRODUCTBRAIN_API_KEY;
|
|
75
|
+
const envSite = process.env.CONVEX_SITE_URL;
|
|
76
|
+
if (envKey) {
|
|
77
|
+
return {
|
|
78
|
+
apiKey: envKey,
|
|
79
|
+
siteUrl: (envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
80
|
+
source: 'env',
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// 2. Project config
|
|
84
|
+
const projectConfig = readProjectConfig();
|
|
85
|
+
if (projectConfig?.apiKey) {
|
|
86
|
+
return {
|
|
87
|
+
apiKey: projectConfig.apiKey,
|
|
88
|
+
siteUrl: (projectConfig.siteUrl || envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
89
|
+
source: 'project',
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// 2b. Project config with profile reference (pb connect writes profile name, not key)
|
|
93
|
+
if (projectConfig?.profile) {
|
|
94
|
+
const namedConfig = resolveNamedProfileConfig(projectConfig.profile);
|
|
95
|
+
if (namedConfig?.apiKey) {
|
|
96
|
+
return {
|
|
97
|
+
apiKey: namedConfig.apiKey,
|
|
98
|
+
siteUrl: (projectConfig.siteUrl || namedConfig.siteUrl || envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
99
|
+
source: 'project',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// 3. Profile system
|
|
104
|
+
const profileConfig = resolveProfileConfig();
|
|
105
|
+
if (profileConfig?.apiKey) {
|
|
106
|
+
return {
|
|
107
|
+
apiKey: profileConfig.apiKey,
|
|
108
|
+
siteUrl: (profileConfig.siteUrl || envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
109
|
+
source: 'profile',
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// 4. Legacy home config
|
|
113
|
+
if (existsSync(HOME_ENV_PATH)) {
|
|
114
|
+
const vars = parseEnvVars(readFileSync(HOME_ENV_PATH, 'utf8'));
|
|
115
|
+
if (vars['PRODUCTBRAIN_API_KEY']) {
|
|
116
|
+
return {
|
|
117
|
+
apiKey: vars['PRODUCTBRAIN_API_KEY'],
|
|
118
|
+
siteUrl: (vars['CONVEX_SITE_URL'] || envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
119
|
+
source: 'profile',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// 5. CWD .env files
|
|
124
|
+
for (const p of CWD_ENV_PATHS) {
|
|
125
|
+
const full = resolve(process.cwd(), p);
|
|
126
|
+
if (existsSync(full)) {
|
|
127
|
+
const vars = parseEnvVars(readFileSync(full, 'utf8'));
|
|
128
|
+
if (vars['PRODUCTBRAIN_API_KEY']) {
|
|
129
|
+
return {
|
|
130
|
+
apiKey: vars['PRODUCTBRAIN_API_KEY'],
|
|
131
|
+
siteUrl: (vars['CONVEX_SITE_URL'] || envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
132
|
+
source: 'cwd',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// 6. No API key found anywhere — return with siteUrl default
|
|
139
|
+
return {
|
|
140
|
+
apiKey: undefined,
|
|
141
|
+
siteUrl: (envSite || DEFAULT_SITE_URL).replace(/\/$/, ''),
|
|
142
|
+
source: 'default',
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** Parse env file content and return key-value pairs (without mutating process.env). */
|
|
146
|
+
function parseEnvVars(content) {
|
|
147
|
+
const vars = {};
|
|
148
|
+
for (const line of content.split('\n')) {
|
|
149
|
+
const m = line.match(/^([^#=]+)=(.*)$/);
|
|
150
|
+
if (m) {
|
|
151
|
+
vars[m[1].trim()] = m[2].trim().replace(/^["']|["']$/g, '');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return vars;
|
|
155
|
+
}
|
|
19
156
|
function parseEnvContent(content) {
|
|
20
157
|
for (const line of content.split('\n')) {
|
|
21
158
|
const m = line.match(/^([^#=]+)=(.*)$/);
|
|
@@ -25,9 +162,45 @@ function parseEnvContent(content) {
|
|
|
25
162
|
}
|
|
26
163
|
}
|
|
27
164
|
function loadEnv() {
|
|
165
|
+
if (envLoaded)
|
|
166
|
+
return;
|
|
167
|
+
envLoaded = true;
|
|
168
|
+
// 1. Try project config first (WP-303 S0)
|
|
169
|
+
const projectConfig = readProjectConfig();
|
|
170
|
+
if (projectConfig) {
|
|
171
|
+
if (!process.env.PRODUCTBRAIN_API_KEY && projectConfig.apiKey) {
|
|
172
|
+
process.env.PRODUCTBRAIN_API_KEY = projectConfig.apiKey;
|
|
173
|
+
}
|
|
174
|
+
// Project config can reference a named profile (written by pb connect)
|
|
175
|
+
if (!process.env.PRODUCTBRAIN_API_KEY && projectConfig.profile) {
|
|
176
|
+
const namedConfig = resolveNamedProfileConfig(projectConfig.profile);
|
|
177
|
+
if (namedConfig?.apiKey) {
|
|
178
|
+
process.env.PRODUCTBRAIN_API_KEY = namedConfig.apiKey;
|
|
179
|
+
if (!process.env.CONVEX_SITE_URL && namedConfig.siteUrl) {
|
|
180
|
+
process.env.CONVEX_SITE_URL = namedConfig.siteUrl;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (!process.env.CONVEX_SITE_URL && projectConfig.siteUrl) {
|
|
185
|
+
process.env.CONVEX_SITE_URL = projectConfig.siteUrl;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// 2. Try profile system (handles auto-migration from legacy .env)
|
|
189
|
+
const profileConfig = resolveProfileConfig();
|
|
190
|
+
if (profileConfig) {
|
|
191
|
+
// Only set if not already set by env vars or project config
|
|
192
|
+
if (!process.env.PRODUCTBRAIN_API_KEY) {
|
|
193
|
+
process.env.PRODUCTBRAIN_API_KEY = profileConfig.apiKey;
|
|
194
|
+
}
|
|
195
|
+
if (!process.env.CONVEX_SITE_URL && profileConfig.siteUrl) {
|
|
196
|
+
process.env.CONVEX_SITE_URL = profileConfig.siteUrl;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// 3. Legacy home config (in case profiles didn't find it)
|
|
28
200
|
if (existsSync(HOME_ENV_PATH)) {
|
|
29
201
|
parseEnvContent(readFileSync(HOME_ENV_PATH, 'utf8'));
|
|
30
202
|
}
|
|
203
|
+
// 4. CWD env files
|
|
31
204
|
for (const p of CWD_ENV_PATHS) {
|
|
32
205
|
const full = resolve(process.cwd(), p);
|
|
33
206
|
if (existsSync(full)) {
|
|
@@ -36,49 +209,55 @@ function loadEnv() {
|
|
|
36
209
|
}
|
|
37
210
|
}
|
|
38
211
|
}
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
rl.question(prompt, (answer) => resolve((answer ?? '').trim().toLowerCase()));
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
function questionRaw(rl, prompt) {
|
|
46
|
-
return new Promise((resolve) => {
|
|
47
|
-
rl.question(prompt, (answer) => resolve((answer ?? '').trim()));
|
|
48
|
-
});
|
|
212
|
+
/** Reset env loaded state — used for profile switching. */
|
|
213
|
+
export function resetConfigCache() {
|
|
214
|
+
envLoaded = false;
|
|
49
215
|
}
|
|
50
216
|
/**
|
|
51
217
|
* Guided flow when key is missing (TTY only). Per docs/cli-unauthenticated-user-journey.md.
|
|
52
218
|
* Returns true if we saved and ran retry; false if user said No (caller should exit).
|
|
53
219
|
*/
|
|
54
220
|
async function runGuidedFlow(retry) {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (hasKey
|
|
221
|
+
const hasKey = await promptConfirm({
|
|
222
|
+
message: 'Do you have an API key from Product Brain?',
|
|
223
|
+
initialValue: false,
|
|
224
|
+
});
|
|
225
|
+
if (!hasKey) {
|
|
60
226
|
console.log('Get your key: Product Brain app → Settings → API Keys. Then run: pb login');
|
|
61
|
-
rl.close();
|
|
62
227
|
process.exit(0);
|
|
63
228
|
}
|
|
64
|
-
let apiKey = await
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
229
|
+
let apiKey = await promptPassword({
|
|
230
|
+
message: `Paste your API key (${API_KEY_PREFIX}...)`,
|
|
231
|
+
validate: (v) => (!v ? 'Key is required' : undefined),
|
|
232
|
+
});
|
|
233
|
+
if (!apiKey.startsWith(API_KEY_PREFIX)) {
|
|
234
|
+
console.log(`Key must start with ${API_KEY_PREFIX}. Try again or run pb login.`);
|
|
235
|
+
apiKey = await promptPassword({
|
|
236
|
+
message: `Paste your API key (${API_KEY_PREFIX}...)`,
|
|
237
|
+
validate: (v) => (!v || !v.startsWith(API_KEY_PREFIX) ? `Key must start with ${API_KEY_PREFIX}` : undefined),
|
|
238
|
+
});
|
|
68
239
|
}
|
|
69
|
-
|
|
70
|
-
if (!apiKey || !apiKey.startsWith('pb_sk_')) {
|
|
240
|
+
if (!apiKey || !apiKey.startsWith(API_KEY_PREFIX)) {
|
|
71
241
|
console.log('Get your key: Product Brain app → Settings → API Keys. Then run: pb login');
|
|
72
242
|
process.exit(0);
|
|
73
243
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
''
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
244
|
+
// Save as a named profile via the profile system
|
|
245
|
+
const { createProfile, getActiveProfile } = await import('./profiles.js');
|
|
246
|
+
const profileName = getActiveProfile() || 'default';
|
|
247
|
+
try {
|
|
248
|
+
createProfile(profileName, apiKey, DEFAULT_SITE_URL.replace(/\/$/, ''));
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
// Profile already exists — fall back to legacy path
|
|
252
|
+
const content = [
|
|
253
|
+
`# Product Brain CLI — saved by guided setup`,
|
|
254
|
+
`PRODUCTBRAIN_API_KEY=${apiKey}`,
|
|
255
|
+
`CONVEX_SITE_URL=${DEFAULT_SITE_URL.replace(/\/$/, '')}`,
|
|
256
|
+
'',
|
|
257
|
+
].join('\n');
|
|
258
|
+
mkdirSync(HOME_CONFIG_DIR, { recursive: true });
|
|
259
|
+
writeFileSync(HOME_ENV_PATH, content, { mode: 0o600 });
|
|
260
|
+
}
|
|
82
261
|
process.env.PRODUCTBRAIN_API_KEY = apiKey;
|
|
83
262
|
process.env.CONVEX_SITE_URL = DEFAULT_SITE_URL.replace(/\/$/, '');
|
|
84
263
|
console.log('Saved your key. Running your command…\n');
|
|
@@ -86,32 +265,133 @@ async function runGuidedFlow(retry) {
|
|
|
86
265
|
return true;
|
|
87
266
|
}
|
|
88
267
|
export function getConfig() {
|
|
268
|
+
loadEnv();
|
|
89
269
|
const apiKey = process.env.PRODUCTBRAIN_API_KEY ?? '';
|
|
90
270
|
const siteUrl = (process.env.CONVEX_SITE_URL ?? DEFAULT_SITE_URL).replace(/\/$/, '');
|
|
91
|
-
if (!apiKey || !apiKey.startsWith(
|
|
92
|
-
throw new
|
|
271
|
+
if (!apiKey || !apiKey.startsWith(API_KEY_PREFIX)) {
|
|
272
|
+
throw new CLIError(NON_TTY_MESSAGE, {
|
|
273
|
+
code: ErrorCode.AUTH_MISSING,
|
|
274
|
+
category: 'auth',
|
|
275
|
+
guidance: 'Set PRODUCTBRAIN_API_KEY or run `pb login`.',
|
|
276
|
+
});
|
|
93
277
|
}
|
|
94
|
-
|
|
95
|
-
|
|
278
|
+
const allowHttp = isDevMode() && siteUrl.startsWith('http://localhost');
|
|
279
|
+
if (!siteUrl.startsWith('https://') && !allowHttp) {
|
|
280
|
+
throw new CLIError(`CONVEX_SITE_URL must use HTTPS (got "${siteUrl.slice(0, 30)}…"). API keys must not be sent over unencrypted connections.`, {
|
|
281
|
+
code: ErrorCode.CONFIG_INVALID,
|
|
282
|
+
category: 'config',
|
|
283
|
+
guidance: 'Set CONVEX_SITE_URL to an https:// URL.',
|
|
284
|
+
});
|
|
96
285
|
}
|
|
97
286
|
return { apiKey, siteUrl };
|
|
98
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Non-throwing alternative to getConfig().
|
|
290
|
+
*
|
|
291
|
+
* Architecture: getConfig() is the primary path for commands that require auth — it
|
|
292
|
+
* throws CLIError when the key is missing, which is correct for API call paths.
|
|
293
|
+
* getConfigSafe() is for status/probe surfaces (no-args dashboard, init) that need
|
|
294
|
+
* to check config availability without crashing. Both paths are intentional and
|
|
295
|
+
* coexist by design — see WP-303 review (DW#5).
|
|
296
|
+
*
|
|
297
|
+
* Uses resolveConfig() directly (no loadEnv) to avoid env var pollution affecting source attribution.
|
|
298
|
+
*/
|
|
299
|
+
export function getConfigSafe() {
|
|
300
|
+
const resolved = resolveConfig();
|
|
301
|
+
if (!resolved.apiKey || !resolved.apiKey.startsWith(API_KEY_PREFIX)) {
|
|
302
|
+
return { ok: false, reason: 'No API key. Run pb login or set PRODUCTBRAIN_API_KEY.' };
|
|
303
|
+
}
|
|
304
|
+
const siteUrl = resolved.siteUrl;
|
|
305
|
+
const allowHttp = isDevMode() && siteUrl.startsWith('http://localhost');
|
|
306
|
+
if (!siteUrl.startsWith('https://') && !allowHttp) {
|
|
307
|
+
return {
|
|
308
|
+
ok: false,
|
|
309
|
+
reason: `CONVEX_SITE_URL must use HTTPS (got "${siteUrl.slice(0, 30)}…"). API keys must not be sent over unencrypted connections.`,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
return { ok: true, apiKey: resolved.apiKey, siteUrl, source: resolved.source };
|
|
313
|
+
}
|
|
99
314
|
/**
|
|
100
315
|
* Get config; if key is missing and stdin is a TTY, run guided flow (y/n → paste key → save → retry).
|
|
101
316
|
* @param retry Called after saving key so the original command runs in-process.
|
|
102
317
|
* @returns Config, or null if we ran retry (caller should return without running again).
|
|
103
318
|
*/
|
|
104
319
|
export async function getConfigOrGuide(retry) {
|
|
320
|
+
loadEnv();
|
|
105
321
|
const apiKey = process.env.PRODUCTBRAIN_API_KEY ?? '';
|
|
106
322
|
const siteUrl = (process.env.CONVEX_SITE_URL ?? DEFAULT_SITE_URL).replace(/\/$/, '');
|
|
107
|
-
|
|
323
|
+
const allowHttp = isDevMode() && siteUrl.startsWith('http://localhost');
|
|
324
|
+
if (apiKey.startsWith(API_KEY_PREFIX) && (siteUrl.startsWith('https://') || allowHttp)) {
|
|
108
325
|
return { apiKey, siteUrl };
|
|
109
326
|
}
|
|
110
327
|
if (!process.stdin.isTTY) {
|
|
111
|
-
throw new
|
|
328
|
+
throw new CLIError(NON_TTY_MESSAGE, {
|
|
329
|
+
code: ErrorCode.AUTH_MISSING,
|
|
330
|
+
category: 'auth',
|
|
331
|
+
guidance: 'Set PRODUCTBRAIN_API_KEY or run `pb login`.',
|
|
332
|
+
});
|
|
112
333
|
}
|
|
113
334
|
const didRetry = await runGuidedFlow(retry);
|
|
114
335
|
return didRetry ? null : null;
|
|
115
336
|
}
|
|
116
|
-
|
|
337
|
+
/**
|
|
338
|
+
* Resolve config for admin operations — profile-only resolution.
|
|
339
|
+
*
|
|
340
|
+
* Admin commands (pb admin ...) must NOT read .productbrain/config.json or CWD env files.
|
|
341
|
+
* The project config intentionally pins the repo to a dev Convex site; admin operations
|
|
342
|
+
* target PROD workspaces via the operator's active profile. Reading project config here
|
|
343
|
+
* would silently route admin calls to the wrong gateway (TEN-1334).
|
|
344
|
+
*
|
|
345
|
+
* Resolution order:
|
|
346
|
+
* 1. Shell env vars (PRODUCTBRAIN_API_KEY / CONVEX_SITE_URL) — always win
|
|
347
|
+
* 2. Active named profile (~/.config/productbrain/profiles/{name}.env)
|
|
348
|
+
* 3. Legacy home config (~/.config/productbrain/.env)
|
|
349
|
+
* 4. DEFAULT_SITE_URL as fallback for siteUrl
|
|
350
|
+
*
|
|
351
|
+
* Throws CLIError with AUTH_MISSING if no API key is found.
|
|
352
|
+
*/
|
|
353
|
+
export function resolveAdminConfig() {
|
|
354
|
+
let apiKey;
|
|
355
|
+
let rawSiteUrl;
|
|
356
|
+
// 1. Shell env vars — always highest priority
|
|
357
|
+
const envKey = process.env.PRODUCTBRAIN_API_KEY;
|
|
358
|
+
if (envKey?.startsWith(API_KEY_PREFIX)) {
|
|
359
|
+
apiKey = envKey;
|
|
360
|
+
rawSiteUrl = process.env.CONVEX_SITE_URL;
|
|
361
|
+
}
|
|
362
|
+
// 2. Active profile (no project config, no CWD files)
|
|
363
|
+
if (!apiKey) {
|
|
364
|
+
const profileConfig = resolveProfileConfig();
|
|
365
|
+
if (profileConfig?.apiKey?.startsWith(API_KEY_PREFIX)) {
|
|
366
|
+
apiKey = profileConfig.apiKey;
|
|
367
|
+
rawSiteUrl = profileConfig.siteUrl;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// 3. Legacy ~/.config/productbrain/.env
|
|
371
|
+
if (!apiKey && existsSync(HOME_ENV_PATH)) {
|
|
372
|
+
const vars = parseEnvVars(readFileSync(HOME_ENV_PATH, 'utf8'));
|
|
373
|
+
if (vars['PRODUCTBRAIN_API_KEY']?.startsWith(API_KEY_PREFIX)) {
|
|
374
|
+
apiKey = vars['PRODUCTBRAIN_API_KEY'];
|
|
375
|
+
rawSiteUrl = vars['CONVEX_SITE_URL'];
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
if (!apiKey) {
|
|
379
|
+
throw new CLIError('No API key found. Run pb login or set PRODUCTBRAIN_API_KEY.', {
|
|
380
|
+
code: ErrorCode.AUTH_MISSING,
|
|
381
|
+
category: 'auth',
|
|
382
|
+
guidance: 'Run `pb login` to set your API key.',
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
const siteUrl = (rawSiteUrl || DEFAULT_SITE_URL).replace(/\/$/, '');
|
|
386
|
+
const allowHttp = isDevMode() && siteUrl.startsWith('http://localhost');
|
|
387
|
+
if (!siteUrl.startsWith('https://') && !allowHttp) {
|
|
388
|
+
throw new CLIError(`CONVEX_SITE_URL must use HTTPS for admin operations (got "${siteUrl.slice(0, 30)}…").`, {
|
|
389
|
+
code: ErrorCode.CONFIG_INVALID,
|
|
390
|
+
category: 'config',
|
|
391
|
+
guidance: 'Set CONVEX_SITE_URL to an https:// URL.',
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
return { apiKey, siteUrl };
|
|
395
|
+
}
|
|
396
|
+
export { HOME_CONFIG_DIR, HOME_ENV_PATH, readProjectConfig };
|
|
117
397
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI constants — single source of truth for URLs and environment switching.
|
|
3
|
+
* WP-301 Slice 0: Extract hardcoded URLs, add PB_ENV awareness.
|
|
4
|
+
*/
|
|
5
|
+
/** Production Convex HTTP Actions endpoint. */
|
|
6
|
+
export declare const DEFAULT_SITE_URL = "https://gateway.productbrain.io";
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the Convex site URL based on PB_ENV.
|
|
9
|
+
* - PB_ENV=dev → DEV_SITE_URL (localhost — see caveat on DEV_SITE_URL)
|
|
10
|
+
* - PB_ENV=production or unset → production URL
|
|
11
|
+
*
|
|
12
|
+
* NOTE: No production CLI command currently imports this function.
|
|
13
|
+
* For HTTP Actions (connect, etc.), use CONVEX_SITE_URL or DEFAULT_SITE_URL.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveSiteUrl(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Gateway URL for `pb connect` token redemption (`POST …/auth/redeem-connect-token`).
|
|
18
|
+
*
|
|
19
|
+
* Resolution order:
|
|
20
|
+
* 1. `cliGateway` argument (from `pb connect --gateway <url>`)
|
|
21
|
+
* 2. `PB_CONNECT_GATEWAY_URL` env var
|
|
22
|
+
* 3. `CONVEX_SITE_URL` env var — the actual Convex HTTP Actions deployment
|
|
23
|
+
* 4. `DEFAULT_SITE_URL` (production gateway)
|
|
24
|
+
*
|
|
25
|
+
* Convex HTTP Actions are cloud-hosted even during local development
|
|
26
|
+
* (`npx convex dev` syncs to cloud, not localhost). Tokens minted by
|
|
27
|
+
* any web app (production or localhost) live in the cloud Convex DB,
|
|
28
|
+
* so redeem must target the cloud deployment — never localhost.
|
|
29
|
+
*
|
|
30
|
+
* For dev deployments: set CONVEX_SITE_URL to your *.convex.site URL
|
|
31
|
+
* or use --gateway.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveConnectRedeemUrl(cliGateway?: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the web app URL based on PB_ENV.
|
|
36
|
+
* - PB_ENV=dev → localhost:5173
|
|
37
|
+
* - PB_ENV=production or unset → work.productbrain.io
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveAppUrl(): string;
|
|
40
|
+
/** Whether the CLI is running in dev mode. */
|
|
41
|
+
export declare function isDevMode(): boolean;
|
|
42
|
+
//# sourceMappingURL=constants.d.ts.map
|