@productbrain/cli 0.1.0-beta.104 → 0.1.0-beta.1049
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/dist/__tests__/audit.test.js +5 -0
- package/dist/__tests__/audit.test.js.map +1 -1
- 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__/config.test.js +272 -2
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/constants.test.js +6 -1
- package/dist/__tests__/constants.test.js.map +1 -1
- package/dist/__tests__/envelope-contract.test.js +29 -3
- package/dist/__tests__/envelope-contract.test.js.map +1 -1
- package/dist/__tests__/errors.test.js +1 -0
- package/dist/__tests__/errors.test.js.map +1 -1
- 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 +423 -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.js +566 -4
- package/dist/__tests__/handshake-preview.test.js.map +1 -1
- 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 +1252 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +255 -5
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/manifest.test.js +118 -1
- package/dist/__tests__/manifest.test.js.map +1 -1
- 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.js +4 -4
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
- package/dist/__tests__/orient.test.js +132 -8
- 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 +1 -2
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -1
- package/dist/__tests__/personal-layer.test.js +12 -48
- package/dist/__tests__/personal-layer.test.js.map +1 -1
- package/dist/__tests__/profiles.test.js +106 -2
- package/dist/__tests__/profiles.test.js.map +1 -1
- package/dist/__tests__/promote.test.js +2 -2
- package/dist/__tests__/promote.test.js.map +1 -1
- package/dist/__tests__/session-state-machine.test.js +45 -1
- package/dist/__tests__/session-state-machine.test.js.map +1 -1
- 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 +129 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/setup-ingest.test.js +16 -0
- package/dist/__tests__/setup-ingest.test.js.map +1 -1
- 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 +187 -0
- package/dist/__tests__/skill-vocabulary.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__/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__/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 +534 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.js +9 -9
- package/dist/__tests__/workspace.test.js.map +1 -1
- 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__/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/admin/seed.d.ts +32 -2
- package/dist/commands/admin/seed.d.ts.map +1 -1
- package/dist/commands/admin/seed.js +279 -33
- package/dist/commands/admin/seed.js.map +1 -1
- package/dist/commands/admin/seed.test.js +7 -0
- package/dist/commands/admin/seed.test.js.map +1 -1
- 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 +117 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +11 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +67 -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 +30 -3
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/authority-domains.d.ts +7 -1
- package/dist/commands/authority-domains.d.ts.map +1 -1
- package/dist/commands/authority-domains.js +19 -4
- package/dist/commands/authority-domains.js.map +1 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +5 -3
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +1 -0
- package/dist/commands/codex-prep.d.ts.map +1 -1
- package/dist/commands/codex-prep.js +10 -7
- package/dist/commands/codex-prep.js.map +1 -1
- 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 +64 -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 +110 -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.js +13 -12
- package/dist/commands/connect-integration.test.js.map +1 -1
- package/dist/commands/connect-screens.d.ts +7 -8
- package/dist/commands/connect-screens.d.ts.map +1 -1
- package/dist/commands/connect-screens.js +30 -37
- package/dist/commands/connect-screens.js.map +1 -1
- package/dist/commands/connect.d.ts +19 -6
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +31 -56
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +68 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +150 -0
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/handshake.d.ts +84 -4
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +1172 -100
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/method.d.ts.map +1 -1
- package/dist/commands/method.js +5 -1
- package/dist/commands/method.js.map +1 -1
- package/dist/commands/orient.d.ts +61 -2
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +41 -6
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +1 -14
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +89 -72
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/reject.d.ts.map +1 -1
- package/dist/commands/reject.js +2 -1
- package/dist/commands/reject.js.map +1 -1
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +4 -2
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +50 -13
- 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.map +1 -1
- package/dist/commands/setup-ingest.js +4 -2
- package/dist/commands/setup-ingest.js.map +1 -1
- 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 +17 -9
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +52 -131
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +2 -1
- 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/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +2 -1
- package/dist/commands/verify.js.map +1 -1
- 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 +2 -2
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +1 -1
- package/dist/commands/workspace.js.map +1 -1
- 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 +454 -0
- package/dist/formatters/__tests__/orient-provenance.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/entry.d.ts +21 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +46 -5
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/handshake.d.ts +19 -3
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +48 -13
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.d.ts +79 -4
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +119 -18
- package/dist/formatters/orient.js.map +1 -1
- package/dist/generators/context-md.js +6 -6
- package/dist/generators/context-md.js.map +1 -1
- package/dist/generators/manifest.d.ts +76 -0
- package/dist/generators/manifest.d.ts.map +1 -1
- package/dist/generators/manifest.js +125 -14
- package/dist/generators/manifest.js.map +1 -1
- package/dist/generators/portable-knowledge.d.ts +6 -12
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +2 -19
- package/dist/generators/portable-knowledge.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 +134 -26
- package/dist/index.js.map +1 -1
- package/dist/lib/activation.d.ts.map +1 -1
- package/dist/lib/activation.js +3 -3
- package/dist/lib/activation.js.map +1 -1
- package/dist/lib/activation.test.js +3 -3
- package/dist/lib/activation.test.js.map +1 -1
- package/dist/lib/canonicalRefs.d.ts +72 -0
- package/dist/lib/canonicalRefs.d.ts.map +1 -1
- package/dist/lib/canonicalRefs.js +67 -0
- package/dist/lib/canonicalRefs.js.map +1 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +13 -3
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/config.d.ts +70 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +151 -11
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +2 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +2 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/errors.d.ts +1 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +1 -0
- package/dist/lib/errors.js.map +1 -1
- 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.map +1 -1
- package/dist/lib/onboarding-path-b.js +0 -1
- package/dist/lib/onboarding-path-b.js.map +1 -1
- package/dist/lib/onboarding-shared.d.ts +0 -1
- package/dist/lib/onboarding-shared.d.ts.map +1 -1
- package/dist/lib/onboarding-shared.js +1 -17
- package/dist/lib/onboarding-shared.js.map +1 -1
- package/dist/lib/profiles.d.ts +3 -1
- package/dist/lib/profiles.d.ts.map +1 -1
- package/dist/lib/profiles.js +9 -6
- package/dist/lib/profiles.js.map +1 -1
- package/dist/lib/session.d.ts +10 -0
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +14 -0
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/update-check.d.ts +42 -7
- package/dist/lib/update-check.d.ts.map +1 -1
- package/dist/lib/update-check.js +213 -62
- package/dist/lib/update-check.js.map +1 -1
- 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/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/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 +58 -2
- package/dist/surfaces/registry.d.ts.map +1 -1
- package/dist/surfaces/registry.js +82 -7
- package/dist/surfaces/registry.js.map +1 -1
- 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 +3 -1
- package/dist/__tests__/setup.test.d.ts +0 -2
- package/dist/__tests__/setup.test.d.ts.map +0 -1
- package/dist/__tests__/setup.test.js +0 -141
- package/dist/__tests__/setup.test.js.map +0 -1
- 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/lib/onboarding-phases.d.ts +0 -9
- package/dist/lib/onboarding-phases.d.ts.map +0 -1
- package/dist/lib/onboarding-phases.js +0 -120
- package/dist/lib/onboarding-phases.js.map +0 -1
|
@@ -8,12 +8,14 @@ export interface OrientViewFromApi {
|
|
|
8
8
|
vision: string | null;
|
|
9
9
|
purpose: string | null;
|
|
10
10
|
activeBetCount: number;
|
|
11
|
-
|
|
11
|
+
/** WP-436 S4: canonical field — legacy currentBet dropped. */
|
|
12
|
+
currentWorkPackage: string | null;
|
|
12
13
|
activeTensionCount: number;
|
|
13
14
|
productAreas: string[];
|
|
14
15
|
productAreaCount: number;
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
+
/** WP-436 S4: canonical field — legacy activeBets dropped. */
|
|
18
|
+
activeWorkPackages: Array<{
|
|
17
19
|
entryId: string | null;
|
|
18
20
|
name: string;
|
|
19
21
|
collectionSlug: string | null;
|
|
@@ -34,6 +36,10 @@ export interface OrientViewFromApi {
|
|
|
34
36
|
preview?: string;
|
|
35
37
|
scoreFlags?: string[];
|
|
36
38
|
origin?: 'human' | 'agent' | 'external';
|
|
39
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
40
|
+
anchoredBy?: string;
|
|
41
|
+
why?: string;
|
|
42
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
37
43
|
}>;
|
|
38
44
|
standards: Array<{
|
|
39
45
|
entryId: string | null;
|
|
@@ -43,6 +49,10 @@ export interface OrientViewFromApi {
|
|
|
43
49
|
preview?: string;
|
|
44
50
|
scoreFlags?: string[];
|
|
45
51
|
origin?: 'human' | 'agent' | 'external';
|
|
52
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
53
|
+
anchoredBy?: string;
|
|
54
|
+
why?: string;
|
|
55
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
46
56
|
}>;
|
|
47
57
|
businessRules: Array<{
|
|
48
58
|
entryId: string | null;
|
|
@@ -52,6 +62,10 @@ export interface OrientViewFromApi {
|
|
|
52
62
|
preview?: string;
|
|
53
63
|
scoreFlags?: string[];
|
|
54
64
|
origin?: 'human' | 'agent' | 'external';
|
|
65
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
66
|
+
anchoredBy?: string;
|
|
67
|
+
why?: string;
|
|
68
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
55
69
|
}>;
|
|
56
70
|
};
|
|
57
71
|
tensions?: Array<{
|
|
@@ -62,6 +76,10 @@ export interface OrientViewFromApi {
|
|
|
62
76
|
entryId: string | null;
|
|
63
77
|
name: string;
|
|
64
78
|
preview?: string;
|
|
79
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
80
|
+
anchoredBy?: string;
|
|
81
|
+
why?: string;
|
|
82
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
65
83
|
}>;
|
|
66
84
|
proposals?: Array<{
|
|
67
85
|
targetEntryName: string;
|
|
@@ -82,6 +100,10 @@ export interface OrientViewFromApi {
|
|
|
82
100
|
entryId: string | null;
|
|
83
101
|
name: string;
|
|
84
102
|
collectionSlug: string | null;
|
|
103
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
104
|
+
anchoredBy?: string;
|
|
105
|
+
why?: string;
|
|
106
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
85
107
|
}>;
|
|
86
108
|
bindingGovernance: {
|
|
87
109
|
principles: Array<{
|
|
@@ -89,18 +111,30 @@ export interface OrientViewFromApi {
|
|
|
89
111
|
name: string;
|
|
90
112
|
collectionSlug: string | null;
|
|
91
113
|
preview?: string;
|
|
114
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
115
|
+
anchoredBy?: string;
|
|
116
|
+
why?: string;
|
|
117
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
92
118
|
}>;
|
|
93
119
|
standards: Array<{
|
|
94
120
|
entryId: string | null;
|
|
95
121
|
name: string;
|
|
96
122
|
collectionSlug: string | null;
|
|
97
123
|
preview?: string;
|
|
124
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
125
|
+
anchoredBy?: string;
|
|
126
|
+
why?: string;
|
|
127
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
98
128
|
}>;
|
|
99
129
|
businessRules: Array<{
|
|
100
130
|
entryId: string | null;
|
|
101
131
|
name: string;
|
|
102
132
|
collectionSlug: string | null;
|
|
103
133
|
preview?: string;
|
|
134
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
135
|
+
anchoredBy?: string;
|
|
136
|
+
why?: string;
|
|
137
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
104
138
|
}>;
|
|
105
139
|
};
|
|
106
140
|
steeringContext: Array<{
|
|
@@ -132,6 +166,10 @@ export interface OrientViewFromApi {
|
|
|
132
166
|
entryId: string | null;
|
|
133
167
|
name: string;
|
|
134
168
|
collectionSlug: string | null;
|
|
169
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
170
|
+
anchoredBy?: string;
|
|
171
|
+
why?: string;
|
|
172
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
135
173
|
}>;
|
|
136
174
|
context: Array<{
|
|
137
175
|
entryId: string | null;
|
|
@@ -140,14 +178,26 @@ export interface OrientViewFromApi {
|
|
|
140
178
|
score: number;
|
|
141
179
|
hop: number;
|
|
142
180
|
origin?: 'human' | 'agent' | 'external';
|
|
181
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
182
|
+
anchoredBy?: string;
|
|
183
|
+
why?: string;
|
|
184
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
143
185
|
}>;
|
|
144
186
|
totalFound: number;
|
|
145
187
|
confidence: string;
|
|
188
|
+
/** STD-219 §4 (DEC-1147): set when taskContext is a truncation stub, not full grounding. */
|
|
189
|
+
isGroundingStub?: true;
|
|
190
|
+
groundingNote?: string;
|
|
146
191
|
};
|
|
147
192
|
plannedWork?: {
|
|
148
193
|
uncommittedDrafts: Array<{
|
|
149
194
|
name: string;
|
|
150
195
|
collection: string;
|
|
196
|
+
why?: string;
|
|
197
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
198
|
+
visibility?: string;
|
|
199
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
200
|
+
anchoredBy?: string;
|
|
151
201
|
}>;
|
|
152
202
|
inProgressEntries: Array<{
|
|
153
203
|
name: string;
|
|
@@ -199,10 +249,19 @@ export interface OrientViewFromApi {
|
|
|
199
249
|
}>;
|
|
200
250
|
/** WP-376 α.0: orient view sets this when any input scan hit its limit. */
|
|
201
251
|
_truncated?: boolean;
|
|
252
|
+
_budget?: {
|
|
253
|
+
bytes: number;
|
|
254
|
+
truncated: boolean;
|
|
255
|
+
truncationReasons: string[];
|
|
256
|
+
overflowed: boolean;
|
|
257
|
+
};
|
|
258
|
+
/** WP-377: schema version for orient response. */
|
|
259
|
+
_schemaVersion?: 1;
|
|
202
260
|
}
|
|
203
261
|
export declare function runOrient(options?: {
|
|
204
262
|
brief?: boolean;
|
|
205
263
|
task?: string;
|
|
206
264
|
scope?: string;
|
|
265
|
+
full?: boolean;
|
|
207
266
|
}): Promise<void>;
|
|
208
267
|
//# sourceMappingURL=orient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/orient.js
CHANGED
|
@@ -7,6 +7,7 @@ import { kernelCall } from '../lib/client.js';
|
|
|
7
7
|
import { runCliCommand, isJsonMode } from '../lib/runner.js';
|
|
8
8
|
import { stripConvexInternals } from '../lib/strip.js';
|
|
9
9
|
import { formatOrient, formatOrientBrief } from '../formatters/orient.js';
|
|
10
|
+
import { getOrFetchVocabCtx } from '../lib/workspaceVocabCache.js';
|
|
10
11
|
/**
|
|
11
12
|
* WP-376 α.3: fire-and-forget orient byte report from the CLI surface.
|
|
12
13
|
*
|
|
@@ -24,7 +25,17 @@ import { formatOrient, formatOrientBrief } from '../formatters/orient.js';
|
|
|
24
25
|
* clerkUserId from the bearer token, so the surface only sends payload bytes
|
|
25
26
|
* + truncation flag. Auth and identity stay server-side.
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
+
// PREDICATE-MIRROR: convex/agentKnowledge/orientBudget.ts → NON_MEANINGFUL_TASK_RE +
|
|
29
|
+
// taskIsMeaningful. Mirrored here because packages/* has no documented import path
|
|
30
|
+
// into convex/. Keep in sync; drift risk captured as a residual TEN (DEC-NEW).
|
|
31
|
+
const NON_MEANINGFUL_TASK_RE = /^[\s]*$/u;
|
|
32
|
+
function taskIsMeaningful(task) {
|
|
33
|
+
if (typeof task !== 'string')
|
|
34
|
+
return false;
|
|
35
|
+
return !NON_MEANINGFUL_TASK_RE.test(task);
|
|
36
|
+
}
|
|
37
|
+
// DEC-NEW: reports the resolved tier + task-presence alongside bytes + truncated.
|
|
38
|
+
function reportOrientCliBytes(bytes, truncated, tier, taskProvided) {
|
|
28
39
|
let apiKey;
|
|
29
40
|
let siteUrl;
|
|
30
41
|
try {
|
|
@@ -42,7 +53,7 @@ function reportOrientCliBytes(bytes, truncated) {
|
|
|
42
53
|
},
|
|
43
54
|
body: JSON.stringify({
|
|
44
55
|
fn: 'agent.reportOrientMetric',
|
|
45
|
-
args: { bytes, truncated },
|
|
56
|
+
args: { bytes, truncated, tier, taskProvided },
|
|
46
57
|
}),
|
|
47
58
|
}).catch(() => {
|
|
48
59
|
// Best-effort — silently swallow.
|
|
@@ -79,6 +90,19 @@ export async function runOrient(options = {}) {
|
|
|
79
90
|
const config = await getConfigOrGuide(() => runOrient(options));
|
|
80
91
|
if (!config)
|
|
81
92
|
return;
|
|
93
|
+
// WP-436 S2: resolve workspace vocabulary context (Axis 2, PAT-230, DEC-1021).
|
|
94
|
+
// Uses the API key as the cache key (1:1 with workspace at CLI layer).
|
|
95
|
+
// Fail-open: if chain.getVocabulary is unreachable, resolver falls back to canonicalKey literal.
|
|
96
|
+
const vocabCtx = await getOrFetchVocabCtx(config.apiKey, async () => {
|
|
97
|
+
const vocab = await kernelCall('chain.getVocabulary', {});
|
|
98
|
+
if (vocab?.collectionLabels || vocab?.collectionDefaults) {
|
|
99
|
+
return {
|
|
100
|
+
...(vocab.collectionLabels ? { collectionLabels: vocab.collectionLabels } : {}),
|
|
101
|
+
...(vocab.collectionDefaults ? { collectionDefaults: vocab.collectionDefaults } : {}),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
});
|
|
82
106
|
// WP-376 α.3: capture the view + raw flag from the closure so we can
|
|
83
107
|
// measure client-side rendered bytes after runCliCommand finishes.
|
|
84
108
|
let capturedView = null;
|
|
@@ -90,16 +114,24 @@ export async function runOrient(options = {}) {
|
|
|
90
114
|
callArgs.task = options.task;
|
|
91
115
|
if (options.scope)
|
|
92
116
|
callArgs.scope = options.scope;
|
|
117
|
+
// STD-219 §5 chain-versioned by DEC-NEW: surface forwards tier by key omission;
|
|
118
|
+
// kernel applies the task-conditional default via resolveEffectiveTier when tier unset.
|
|
119
|
+
if (options.full)
|
|
120
|
+
callArgs.tier = 'full';
|
|
93
121
|
const raw = await kernelCall('chain.getOrientView', Object.keys(callArgs).length > 0 ? callArgs : {});
|
|
94
122
|
// Normalize before output in any mode — ensures JSON keys are stable
|
|
95
123
|
// for agent consumers (optional sections become empty arrays, not absent).
|
|
96
124
|
const view = normalizeView(raw);
|
|
97
125
|
capturedView = view;
|
|
98
|
-
|
|
126
|
+
// BET-β S3b parity with MCP: prefer the tier-budget signal (_budget.truncated),
|
|
127
|
+
// fall back to the legacy input-scan flag (_truncated). Summary-tier section
|
|
128
|
+
// dropping is reported via _budget.truncated only, so reading _truncated alone
|
|
129
|
+
// recorded lastOrientTruncated:false on the main path this change introduces.
|
|
130
|
+
capturedTruncated = raw._budget?.truncated ?? raw._truncated === true;
|
|
99
131
|
return view;
|
|
100
132
|
},
|
|
101
133
|
formatPretty: (view) => {
|
|
102
|
-
return options.brief ? formatOrientBrief(view) : formatOrient(view);
|
|
134
|
+
return options.brief ? formatOrientBrief(view, vocabCtx) : formatOrient(view, vocabCtx);
|
|
103
135
|
},
|
|
104
136
|
});
|
|
105
137
|
// WP-376 α.3: fire-and-forget byte report. Match what the user actually saw —
|
|
@@ -111,10 +143,13 @@ export async function runOrient(options = {}) {
|
|
|
111
143
|
rendered = JSON.stringify(stripConvexInternals(capturedView));
|
|
112
144
|
}
|
|
113
145
|
else {
|
|
114
|
-
rendered = options.brief ? formatOrientBrief(capturedView) : formatOrient(capturedView);
|
|
146
|
+
rendered = options.brief ? formatOrientBrief(capturedView, vocabCtx) : formatOrient(capturedView, vocabCtx);
|
|
115
147
|
}
|
|
116
148
|
const bytes = Buffer.byteLength(rendered, 'utf8');
|
|
117
|
-
|
|
149
|
+
// DEC-NEW: resolved tier mirrors the kernel rule (the response carries no
|
|
150
|
+
// tier field) — explicit --full, else task-conditional default.
|
|
151
|
+
const resolvedTier = options.full ? 'full' : taskIsMeaningful(options.task) ? 'summary' : 'standard';
|
|
152
|
+
reportOrientCliBytes(bytes, capturedTruncated, resolvedTier, taskIsMeaningful(options.task));
|
|
118
153
|
}
|
|
119
154
|
catch {
|
|
120
155
|
// Best-effort observability — never fail the command on measurement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,23 +21,10 @@ export declare function runProfileCreate(opts: {
|
|
|
21
21
|
apiKey: string;
|
|
22
22
|
url?: string;
|
|
23
23
|
}): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* pb profile use <name> [--local]
|
|
26
|
-
*
|
|
27
|
-
* Without --local (default): switch global active profile.
|
|
28
|
-
* - Closes any active session (TEN-1277: session orphaning)
|
|
29
|
-
* - Resets config cache so next getConfig() reads the new profile
|
|
30
|
-
* - Clears env vars so they get re-read from the new profile
|
|
31
|
-
*
|
|
32
|
-
* With --local: write profile pin to .productbrain/config.local.json
|
|
33
|
-
* in the walked-up project root.
|
|
34
|
-
* - Does NOT update global active-profile
|
|
35
|
-
* - Does NOT close session (local switch doesn't orphan server session)
|
|
36
|
-
* - Throws CLIError if no project root found
|
|
37
|
-
*/
|
|
38
24
|
export declare function runProfileUse(opts: {
|
|
39
25
|
name: string;
|
|
40
26
|
local?: boolean;
|
|
27
|
+
global?: boolean;
|
|
41
28
|
}): Promise<void>;
|
|
42
29
|
/** pb profile delete <name> */
|
|
43
30
|
export declare function runProfileDelete(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3C,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAQ3D;AAED,4DAA4D;AAC5D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBpD;AAED,6DAA6D;AAC7D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAaD,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8F5G;AAUD,+BAA+B;AAC/B,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
|
package/dist/commands/profile.js
CHANGED
|
@@ -5,12 +5,11 @@
|
|
|
5
5
|
* Uses runCliCommand pattern from runner.ts for JSON/pretty output.
|
|
6
6
|
* Uses CLIError from errors.ts for structured error reporting.
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
9
|
-
import { resolve } from 'path';
|
|
10
8
|
import { runCliCommand } from '../lib/runner.js';
|
|
11
9
|
import { listProfiles, getActiveProfile, createProfile, useProfile, deleteProfile, } from '../lib/profiles.js';
|
|
12
|
-
import { readSession,
|
|
13
|
-
import { resetConfigCache, findProjectRoot, readLocalProjectConfig } from '../lib/config.js';
|
|
10
|
+
import { readSession, discardSession, sessionFileExists } from '../lib/session.js';
|
|
11
|
+
import { resetConfigCache, findProjectRoot, readLocalProjectConfig, setLocalProfilePin } from '../lib/config.js';
|
|
12
|
+
import { probeWorkspace } from '../lib/workspace-probe.js';
|
|
14
13
|
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
15
14
|
export function resolveProfileListState() {
|
|
16
15
|
const profiles = listProfiles();
|
|
@@ -55,86 +54,104 @@ export async function runProfileCreate(opts) {
|
|
|
55
54
|
formatPretty: (data) => `Profile "${data.name}" created.`,
|
|
56
55
|
});
|
|
57
56
|
}
|
|
58
|
-
/**
|
|
59
|
-
* pb profile use <name> [--local]
|
|
60
|
-
*
|
|
61
|
-
* Without --local (default): switch global active profile.
|
|
62
|
-
* - Closes any active session (TEN-1277: session orphaning)
|
|
63
|
-
* - Resets config cache so next getConfig() reads the new profile
|
|
64
|
-
* - Clears env vars so they get re-read from the new profile
|
|
65
|
-
*
|
|
66
|
-
* With --local: write profile pin to .productbrain/config.local.json
|
|
67
|
-
* in the walked-up project root.
|
|
68
|
-
* - Does NOT update global active-profile
|
|
69
|
-
* - Does NOT close session (local switch doesn't orphan server session)
|
|
70
|
-
* - Throws CLIError if no project root found
|
|
71
|
-
*/
|
|
72
57
|
export async function runProfileUse(opts) {
|
|
73
|
-
if (opts.local) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
throw new CLIError('No .productbrain/ directory found in this directory tree. Run `pb connect` first or use `pb profile use <name>` (without --local) to switch globally.', {
|
|
79
|
-
code: ErrorCode.CONFIG_INVALID,
|
|
80
|
-
category: 'config',
|
|
81
|
-
guidance: 'Run `pb connect <token>` to set up a project workspace, or omit --local to switch globally.',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
const configDir = resolve(projectRoot, '.productbrain');
|
|
85
|
-
const localConfigPath = resolve(configDir, 'config.local.json');
|
|
86
|
-
// Read existing local config to preserve other fields
|
|
87
|
-
let existingLocal = {};
|
|
88
|
-
if (existsSync(localConfigPath)) {
|
|
89
|
-
try {
|
|
90
|
-
existingLocal = JSON.parse(readFileSync(localConfigPath, 'utf8'));
|
|
91
|
-
}
|
|
92
|
-
catch { /* ignore parse errors */ }
|
|
93
|
-
}
|
|
94
|
-
const localConfig = { ...existingLocal, profile: opts.name };
|
|
95
|
-
mkdirSync(configDir, { recursive: true });
|
|
96
|
-
writeFileSync(localConfigPath, JSON.stringify(localConfig, null, 2) + '\n');
|
|
97
|
-
return {
|
|
98
|
-
name: opts.name,
|
|
99
|
-
local: true,
|
|
100
|
-
projectRoot,
|
|
101
|
-
};
|
|
102
|
-
},
|
|
103
|
-
formatPretty: (data) => {
|
|
104
|
-
return `Local profile set to "${data.name}" in ${data.projectRoot}/.productbrain/config.local.json`;
|
|
105
|
-
},
|
|
58
|
+
if (opts.local && opts.global) {
|
|
59
|
+
throw new CLIError('Cannot use both --local and --global.', {
|
|
60
|
+
code: ErrorCode.VALIDATION_FAILED,
|
|
61
|
+
category: 'validation',
|
|
62
|
+
guidance: 'Pick one: --local (repo pin only), --global (global only), or neither (reconcile both).',
|
|
106
63
|
});
|
|
107
|
-
return;
|
|
108
64
|
}
|
|
109
|
-
// Default: global profile switch
|
|
110
65
|
await runCliCommand({
|
|
111
66
|
fn: async () => {
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
67
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
68
|
+
const localPin = readLocalProjectConfig()?.profile ?? null;
|
|
69
|
+
// PB_PROFILE always wins resolution (by design). If it's set, ANY profile write
|
|
70
|
+
// here is shadowed — surface that instead of failing silently (the TEN-2163 trap).
|
|
71
|
+
const PB_PROFILE = process.env.PB_PROFILE?.trim() || null;
|
|
72
|
+
const resetEnv = () => {
|
|
73
|
+
resetConfigCache();
|
|
74
|
+
delete process.env.PRODUCTBRAIN_API_KEY;
|
|
75
|
+
delete process.env.CONVEX_SITE_URL;
|
|
76
|
+
};
|
|
77
|
+
// Discard ANY session file (active OR stale closed marker) — a closed marker would
|
|
78
|
+
// let the 2h auto-resume re-pin the old workspace. Report only an ACTIVE session
|
|
79
|
+
// in the print line.
|
|
80
|
+
const discardSessionState = () => {
|
|
81
|
+
const hadActive = readSession() !== null;
|
|
82
|
+
if (sessionFileExists())
|
|
83
|
+
discardSession();
|
|
84
|
+
return hadActive;
|
|
85
|
+
};
|
|
86
|
+
// --- --local: repo pin only ---
|
|
87
|
+
if (opts.local) {
|
|
88
|
+
if (!projectRoot) {
|
|
89
|
+
throw new CLIError('No .productbrain/ directory found in this directory tree. Run `pb connect` first or use `pb use <name> --global` to switch globally.', { code: ErrorCode.CONFIG_INVALID, category: 'config',
|
|
90
|
+
guidance: 'Run `pb connect <token>` to set up a project workspace, or use --global.' });
|
|
91
|
+
}
|
|
92
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
93
|
+
const sessionCleared = discardSessionState();
|
|
94
|
+
resetEnv();
|
|
95
|
+
return { name: opts.name, scope: 'local', reconciledLocalPin: false,
|
|
96
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE };
|
|
116
97
|
}
|
|
98
|
+
// --- --global: global only (does not change a locally-pinned repo) ---
|
|
99
|
+
if (opts.global) {
|
|
100
|
+
useProfile(opts.name);
|
|
101
|
+
const pinnedElsewhere = localPin && localPin !== opts.name ? localPin : null;
|
|
102
|
+
// The repo's effective workspace only changes when it is NOT pinned elsewhere.
|
|
103
|
+
const sessionCleared = pinnedElsewhere ? false : discardSessionState();
|
|
104
|
+
resetEnv();
|
|
105
|
+
const workspace = pinnedElsewhere ? null : await safeProbe();
|
|
106
|
+
return { name: opts.name, scope: 'global', reconciledLocalPin: false,
|
|
107
|
+
sessionCleared, workspace, pinnedElsewhere, 'PB_PROFILE': PB_PROFILE };
|
|
108
|
+
}
|
|
109
|
+
// --- default: flip global AND reconcile the repo pin if one exists ---
|
|
117
110
|
useProfile(opts.name);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
111
|
+
let reconciledLocalPin = false;
|
|
112
|
+
if (projectRoot && localPin) {
|
|
113
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
114
|
+
reconciledLocalPin = true;
|
|
115
|
+
}
|
|
116
|
+
const sessionCleared = discardSessionState();
|
|
117
|
+
resetEnv();
|
|
118
|
+
return { name: opts.name, scope: 'reconcile', reconciledLocalPin,
|
|
119
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE };
|
|
128
120
|
},
|
|
129
|
-
formatPretty: (
|
|
130
|
-
|
|
131
|
-
if (
|
|
132
|
-
|
|
121
|
+
formatPretty: (d) => {
|
|
122
|
+
const lines = [];
|
|
123
|
+
if (d.scope === 'global') {
|
|
124
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
125
|
+
lines.push(`Switched global profile to "${d.name}"${arrow}.`);
|
|
126
|
+
if (d.pinnedElsewhere) {
|
|
127
|
+
lines.push(`Note: this repo is pinned to "${d.pinnedElsewhere}" via config.local.json — the global switch won't change it here.`);
|
|
128
|
+
lines.push(`Run \`pb use ${d.name}\` (no flag) to switch this repo too.`);
|
|
129
|
+
}
|
|
133
130
|
}
|
|
134
|
-
|
|
131
|
+
else {
|
|
132
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
133
|
+
const where = d.scope === 'local' ? ' (repo-local)' : '';
|
|
134
|
+
lines.push(`Now using "${d.name}"${where}${arrow}`);
|
|
135
|
+
if (d.reconciledLocalPin)
|
|
136
|
+
lines.push('(updated repo-local pin in .productbrain/config.local.json)');
|
|
137
|
+
}
|
|
138
|
+
if (d.sessionCleared)
|
|
139
|
+
lines.push('(previous session closed)');
|
|
140
|
+
if (d['PB_PROFILE']) {
|
|
141
|
+
lines.push(`⚠ PB_PROFILE is set to "${d['PB_PROFILE']}" in your environment and overrides profile resolution.`);
|
|
142
|
+
lines.push(` This switch won't take effect until you unset it: \`unset PB_PROFILE\`.`);
|
|
143
|
+
}
|
|
144
|
+
return lines.join('\n');
|
|
135
145
|
},
|
|
136
146
|
});
|
|
137
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Best-effort workspace name after a profile switch; null on any failure.
|
|
150
|
+
* probeWorkspace() already swallows network/auth errors and returns null, so this is offline-safe.
|
|
151
|
+
*/
|
|
152
|
+
async function safeProbe() {
|
|
153
|
+
return (await probeWorkspace())?.name ?? null;
|
|
154
|
+
}
|
|
138
155
|
/** pb profile delete <name> */
|
|
139
156
|
export async function runProfileDelete(opts) {
|
|
140
157
|
await runCliCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reject.d.ts","sourceRoot":"","sources":["../../src/commands/reject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"reject.d.ts","sourceRoot":"","sources":["../../src/commands/reject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrE"}
|
package/dist/commands/reject.js
CHANGED
|
@@ -26,7 +26,8 @@ export async function runReject(options) {
|
|
|
26
26
|
throw new CLIError('A reason is required when rejecting.', {
|
|
27
27
|
code: ErrorCode.VALIDATION_FAILED,
|
|
28
28
|
category: 'validation',
|
|
29
|
-
|
|
29
|
+
// BR-7
|
|
30
|
+
guidance: 'Governance requires that objections are explained. Usage: pb reject <id> --reason "..."',
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
await runCliCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reject.js","sourceRoot":"","sources":["../../src/commands/reject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAA0B,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE;YAC7C,IAAI,EAAE,SAAS,CAAC,iBAAiB;YACjC,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE;YACzD,IAAI,EAAE,SAAS,CAAC,iBAAiB;YACjC,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"reject.js","sourceRoot":"","sources":["../../src/commands/reject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAA0B,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE;YAC7C,IAAI,EAAE,SAAS,CAAC,iBAAiB;YACjC,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE;YACzD,IAAI,EAAE,SAAS,CAAC,iBAAiB;YACjC,QAAQ,EAAE,YAAY;YACtB,OAAO;YACP,QAAQ,EAAE,yFAAyF;SACpG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,CAAoB;QACrC,EAAE,EAAE,KAAK,IAAI,EAAE;YACb,OAAO,MAAM,UAAU,CAAoB,8BAA8B,EAAE;gBACzE,UAAU;gBACV,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;KAClD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relate.d.ts","sourceRoot":"","sources":["../../src/commands/relate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"relate.d.ts","sourceRoot":"","sources":["../../src/commands/relate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyErE;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCvE"}
|
package/dist/commands/relate.js
CHANGED
|
@@ -20,7 +20,8 @@ export async function runRelate(options) {
|
|
|
20
20
|
throw new CLIError('No active session.', {
|
|
21
21
|
code: ErrorCode.SESSION_REQUIRED,
|
|
22
22
|
category: 'session',
|
|
23
|
-
|
|
23
|
+
// DEC-9
|
|
24
|
+
guidance: 'Run `pb session start` first. Write access requires a tracked session.',
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
const fromId = options.fromId.trim();
|
|
@@ -83,7 +84,8 @@ export async function runUnrelate(options) {
|
|
|
83
84
|
throw new CLIError('No active session.', {
|
|
84
85
|
code: ErrorCode.SESSION_REQUIRED,
|
|
85
86
|
category: 'session',
|
|
86
|
-
|
|
87
|
+
// DEC-9
|
|
88
|
+
guidance: 'Run `pb session start` first. Write access requires a tracked session.',
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
const fromId = options.fromId.trim();
|