@productbrain/cli 0.1.0-beta.59 → 0.1.0-beta.5912
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 +3 -1
- package/dist/__tests__/adapters.test.js +54 -1
- package/dist/__tests__/adapters.test.js.map +1 -1
- package/dist/__tests__/adminConfig.test.d.ts +18 -0
- package/dist/__tests__/adminConfig.test.d.ts.map +1 -0
- package/dist/__tests__/adminConfig.test.js +221 -0
- package/dist/__tests__/adminConfig.test.js.map +1 -0
- package/dist/__tests__/audit.test.js +65 -44
- package/dist/__tests__/audit.test.js.map +1 -1
- package/dist/__tests__/authority-domains-queue.test.d.ts +2 -0
- package/dist/__tests__/authority-domains-queue.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains-queue.test.js +169 -0
- package/dist/__tests__/authority-domains-queue.test.js.map +1 -0
- package/dist/__tests__/authority-domains.test.d.ts +2 -0
- package/dist/__tests__/authority-domains.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains.test.js +48 -0
- package/dist/__tests__/authority-domains.test.js.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.js +89 -0
- package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.js +29 -0
- package/dist/__tests__/capture-receipt-domain.test.js.map +1 -0
- package/dist/__tests__/capture.test.js +1272 -54
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
- package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
- package/dist/__tests__/client-binding-guard.test.js +84 -0
- package/dist/__tests__/client-binding-guard.test.js.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.js +47 -0
- package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.js +107 -0
- package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts +2 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js +81 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
- package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +1 -1
- package/dist/__tests__/config.test.js +845 -18
- 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__/constellation.test.js +14 -14
- package/dist/__tests__/constellation.test.js.map +1 -1
- package/dist/__tests__/context-strategy.test.js +8 -8
- package/dist/__tests__/context-strategy.test.js.map +1 -1
- package/dist/__tests__/conversation.test.d.ts +2 -0
- package/dist/__tests__/conversation.test.d.ts.map +1 -0
- package/dist/__tests__/conversation.test.js +113 -0
- package/dist/__tests__/conversation.test.js.map +1 -0
- package/dist/__tests__/entry-formatter.test.d.ts +2 -0
- package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/entry-formatter.test.js +82 -0
- package/dist/__tests__/entry-formatter.test.js.map +1 -0
- package/dist/__tests__/entry-preflight.test.d.ts +2 -0
- package/dist/__tests__/entry-preflight.test.d.ts.map +1 -0
- package/dist/__tests__/entry-preflight.test.js +58 -0
- package/dist/__tests__/entry-preflight.test.js.map +1 -0
- package/dist/__tests__/entryArchive.test.d.ts +2 -0
- package/dist/__tests__/entryArchive.test.d.ts.map +1 -0
- package/dist/__tests__/entryArchive.test.js +35 -0
- package/dist/__tests__/entryArchive.test.js.map +1 -0
- package/dist/__tests__/envelope-contract.test.d.ts +15 -0
- package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
- package/dist/__tests__/envelope-contract.test.js +154 -0
- package/dist/__tests__/envelope-contract.test.js.map +1 -0
- package/dist/__tests__/errors.test.js +30 -0
- package/dist/__tests__/errors.test.js.map +1 -1
- package/dist/__tests__/fields.test.js +20 -20
- package/dist/__tests__/fields.test.js.map +1 -1
- package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.js +121 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +424 -0
- package/dist/__tests__/handshake-augment.test.js.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.js +207 -0
- package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
- package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
- package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-formatter.test.js +67 -0
- package/dist/__tests__/handshake-formatter.test.js.map +1 -0
- package/dist/__tests__/handshake-preview.test.d.ts +2 -0
- package/dist/__tests__/handshake-preview.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-preview.test.js +950 -0
- package/dist/__tests__/handshake-preview.test.js.map +1 -0
- package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
- package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.e2e.test.js +1255 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +787 -2
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js +41 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
- package/dist/__tests__/hook-intents.test.d.ts +2 -0
- package/dist/__tests__/hook-intents.test.d.ts.map +1 -0
- package/dist/__tests__/hook-intents.test.js +184 -0
- package/dist/__tests__/hook-intents.test.js.map +1 -0
- package/dist/__tests__/ingest.test.js +37 -28
- package/dist/__tests__/ingest.test.js.map +1 -1
- package/dist/__tests__/init.test.js +51 -14
- package/dist/__tests__/init.test.js.map +1 -1
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
- package/dist/__tests__/manifest.test.d.ts +6 -0
- package/dist/__tests__/manifest.test.d.ts.map +1 -0
- package/dist/__tests__/manifest.test.js +255 -0
- package/dist/__tests__/manifest.test.js.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.js +71 -0
- package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
- package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
- package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.integration.test.js +17 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +12 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +86 -0
- package/dist/__tests__/method-registry.test.js.map +1 -0
- package/dist/__tests__/migrate-setup-session-refusal.test.d.ts +2 -0
- package/dist/__tests__/migrate-setup-session-refusal.test.d.ts.map +1 -0
- package/dist/__tests__/migrate-setup-session-refusal.test.js +65 -0
- package/dist/__tests__/migrate-setup-session-refusal.test.js.map +1 -0
- package/dist/__tests__/missingPin.test.d.ts +11 -0
- package/dist/__tests__/missingPin.test.d.ts.map +1 -0
- package/dist/__tests__/missingPin.test.js +233 -0
- package/dist/__tests__/missingPin.test.js.map +1 -0
- package/dist/__tests__/notice-marker.test.d.ts +2 -0
- package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
- package/dist/__tests__/notice-marker.test.js +176 -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 +503 -13
- package/dist/__tests__/orient.test.js.map +1 -1
- package/dist/__tests__/perimeter.test.d.ts +2 -0
- package/dist/__tests__/perimeter.test.d.ts.map +1 -0
- package/dist/__tests__/perimeter.test.js +165 -0
- package/dist/__tests__/perimeter.test.js.map +1 -0
- package/dist/__tests__/personal-layer.test.d.ts +11 -0
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
- package/dist/__tests__/personal-layer.test.js +268 -0
- package/dist/__tests__/personal-layer.test.js.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.js +380 -5
- package/dist/__tests__/profiles.test.js.map +1 -1
- package/dist/__tests__/promote-batch.test.d.ts +2 -0
- package/dist/__tests__/promote-batch.test.d.ts.map +1 -0
- package/dist/__tests__/promote-batch.test.js +185 -0
- package/dist/__tests__/promote-batch.test.js.map +1 -0
- package/dist/__tests__/promote.test.js +292 -23
- package/dist/__tests__/promote.test.js.map +1 -1
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/proposals.test.js +19 -19
- package/dist/__tests__/proposals.test.js.map +1 -1
- package/dist/__tests__/rate-limit-resilience.test.d.ts +7 -0
- package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
- package/dist/__tests__/rate-limit-resilience.test.js +209 -0
- package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
- package/dist/__tests__/read-target-notice.test.d.ts +2 -0
- package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
- package/dist/__tests__/read-target-notice.test.js +129 -0
- package/dist/__tests__/read-target-notice.test.js.map +1 -0
- package/dist/__tests__/relate.test.js +220 -14
- package/dist/__tests__/relate.test.js.map +1 -1
- package/dist/__tests__/reportedProfile.test.d.ts +2 -0
- package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
- package/dist/__tests__/reportedProfile.test.js +328 -0
- package/dist/__tests__/reportedProfile.test.js.map +1 -0
- package/dist/__tests__/restore.test.d.ts +2 -0
- package/dist/__tests__/restore.test.d.ts.map +1 -0
- package/dist/__tests__/restore.test.js +85 -0
- package/dist/__tests__/restore.test.js.map +1 -0
- package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
- package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
- package/dist/__tests__/route-latency-budget.test.js +103 -0
- package/dist/__tests__/route-latency-budget.test.js.map +1 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
- package/dist/__tests__/session-close-loop.test.d.ts +2 -0
- package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-loop.test.js +231 -0
- package/dist/__tests__/session-close-loop.test.js.map +1 -0
- package/dist/__tests__/session-label.test.d.ts +2 -0
- package/dist/__tests__/session-label.test.d.ts.map +1 -0
- package/dist/__tests__/session-label.test.js +46 -0
- package/dist/__tests__/session-label.test.js.map +1 -0
- package/dist/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/__tests__/session-list-show.test.js +174 -0
- package/dist/__tests__/session-list-show.test.js.map +1 -0
- package/dist/__tests__/session-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +138 -0
- package/dist/__tests__/session-reset.test.js.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.js +107 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.js +212 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.d.ts +2 -0
- package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +379 -0
- package/dist/__tests__/session-state-machine.test.js.map +1 -0
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +267 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.js +16 -11
- package/dist/__tests__/session-touch.test.js.map +1 -1
- package/dist/__tests__/session.test.js +2 -2
- package/dist/__tests__/session.test.js.map +1 -1
- package/dist/__tests__/sessionBinding.test.d.ts +2 -0
- package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
- package/dist/__tests__/sessionBinding.test.js +118 -0
- package/dist/__tests__/sessionBinding.test.js.map +1 -0
- package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
- package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
- package/dist/__tests__/sessionByIdLookup.test.js +63 -0
- package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
- package/dist/__tests__/setup-ingest.test.d.ts +2 -0
- package/dist/__tests__/setup-ingest.test.d.ts.map +1 -0
- package/dist/__tests__/setup-ingest.test.js +71 -0
- package/dist/__tests__/setup-ingest.test.js.map +1 -0
- package/dist/__tests__/setup-resolver.test.d.ts +14 -0
- package/dist/__tests__/setup-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/setup-resolver.test.js +228 -0
- package/dist/__tests__/setup-resolver.test.js.map +1 -0
- package/dist/__tests__/setupShFallbackWarning.test.d.ts +2 -0
- package/dist/__tests__/setupShFallbackWarning.test.d.ts.map +1 -0
- package/dist/__tests__/setupShFallbackWarning.test.js +15 -0
- package/dist/__tests__/setupShFallbackWarning.test.js.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.js +192 -0
- package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +6 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +117 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/strip.test.js +31 -3
- package/dist/__tests__/strip.test.js.map +1 -1
- package/dist/__tests__/surfaces.test.d.ts +2 -0
- package/dist/__tests__/surfaces.test.d.ts.map +1 -0
- package/dist/__tests__/surfaces.test.js +46 -0
- package/dist/__tests__/surfaces.test.js.map +1 -0
- package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
- package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
- package/dist/__tests__/tenant-notice-write-path.test.js +169 -0
- package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
- package/dist/__tests__/update-check.test.d.ts +2 -0
- package/dist/__tests__/update-check.test.d.ts.map +1 -0
- package/dist/__tests__/update-check.test.js +215 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.js +263 -22
- package/dist/__tests__/update.test.js.map +1 -1
- package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
- package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade-runner.test.js +54 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -0
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/verify-formatter.test.d.ts +2 -0
- package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/verify-formatter.test.js +85 -0
- package/dist/__tests__/verify-formatter.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +539 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.js +52 -32
- package/dist/__tests__/workspace.test.js.map +1 -1
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +567 -0
- package/dist/__tests__/workspaceNotice.test.js.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.js +111 -0
- package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
- package/dist/commands/__tests__/quality.test.d.ts +2 -0
- package/dist/commands/__tests__/quality.test.d.ts.map +1 -0
- package/dist/commands/__tests__/quality.test.js +156 -0
- package/dist/commands/__tests__/quality.test.js.map +1 -0
- package/dist/commands/__tests__/rework.test.d.ts +2 -0
- package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
- package/dist/commands/__tests__/rework.test.js +149 -0
- package/dist/commands/__tests__/rework.test.js.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
- package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
- package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-state.test.js +194 -0
- package/dist/commands/__tests__/setup-state.test.js.map +1 -0
- package/dist/commands/accept-policy.d.ts +10 -0
- package/dist/commands/accept-policy.d.ts.map +1 -0
- package/dist/commands/accept-policy.js +107 -0
- package/dist/commands/accept-policy.js.map +1 -0
- package/dist/commands/accept.d.ts.map +1 -1
- package/dist/commands/accept.js +5 -5
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/admin/cockpit.d.ts +31 -10
- package/dist/commands/admin/cockpit.d.ts.map +1 -1
- package/dist/commands/admin/cockpit.js +415 -26
- package/dist/commands/admin/cockpit.js.map +1 -1
- package/dist/commands/admin/index.d.ts +49 -0
- package/dist/commands/admin/index.d.ts.map +1 -1
- package/dist/commands/admin/index.js +172 -1
- package/dist/commands/admin/index.js.map +1 -1
- package/dist/commands/admin/index.test.d.ts +2 -0
- package/dist/commands/admin/index.test.d.ts.map +1 -0
- package/dist/commands/admin/index.test.js +84 -0
- package/dist/commands/admin/index.test.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +9 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -1
- package/dist/commands/admin/inspect.js +20 -1
- package/dist/commands/admin/inspect.js.map +1 -1
- package/dist/commands/admin/inspect.test.js +20 -1
- package/dist/commands/admin/inspect.test.js.map +1 -1
- package/dist/commands/admin/manage.d.ts +8 -0
- package/dist/commands/admin/manage.d.ts.map +1 -0
- package/dist/commands/admin/manage.js +260 -0
- package/dist/commands/admin/manage.js.map +1 -0
- package/dist/commands/admin/manage.test.d.ts +16 -0
- package/dist/commands/admin/manage.test.d.ts.map +1 -0
- package/dist/commands/admin/manage.test.js +159 -0
- package/dist/commands/admin/manage.test.js.map +1 -0
- package/dist/commands/admin/probe.d.ts +75 -0
- package/dist/commands/admin/probe.d.ts.map +1 -0
- package/dist/commands/admin/probe.js +224 -0
- package/dist/commands/admin/probe.js.map +1 -0
- package/dist/commands/admin/probe.test.d.ts +2 -0
- package/dist/commands/admin/probe.test.d.ts.map +1 -0
- package/dist/commands/admin/probe.test.js +193 -0
- package/dist/commands/admin/probe.test.js.map +1 -0
- package/dist/commands/admin/run.d.ts +43 -0
- package/dist/commands/admin/run.d.ts.map +1 -0
- package/dist/commands/admin/run.js +78 -0
- package/dist/commands/admin/run.js.map +1 -0
- package/dist/commands/admin/run.test.d.ts +18 -0
- package/dist/commands/admin/run.test.d.ts.map +1 -0
- package/dist/commands/admin/run.test.js +168 -0
- package/dist/commands/admin/run.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +46 -3
- package/dist/commands/admin/seed.d.ts.map +1 -1
- package/dist/commands/admin/seed.js +497 -77
- package/dist/commands/admin/seed.js.map +1 -1
- package/dist/commands/admin/seed.test.d.ts +5 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -1
- package/dist/commands/admin/seed.test.js +90 -8
- 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 +153 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +91 -0
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
- package/dist/commands/admin/seedRowType.d.ts +22 -0
- package/dist/commands/admin/seedRowType.d.ts.map +1 -0
- package/dist/commands/admin/seedRowType.js +2 -0
- package/dist/commands/admin/seedRowType.js.map +1 -0
- package/dist/commands/admin/seedStatusColor.d.ts +9 -0
- package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
- package/dist/commands/admin/seedStatusColor.js +18 -0
- package/dist/commands/admin/seedStatusColor.js.map +1 -0
- package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
- package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
- package/dist/commands/admin/seedStatusColor.test.js +25 -0
- package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +42 -7
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/authority-domains.d.ts +157 -0
- package/dist/commands/authority-domains.d.ts.map +1 -0
- package/dist/commands/authority-domains.js +387 -0
- package/dist/commands/authority-domains.js.map +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +9 -5
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +16 -3
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +267 -98
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/chain-walk.d.ts.map +1 -1
- package/dist/commands/chain-walk.js +2 -2
- package/dist/commands/chain-walk.js.map +1 -1
- package/dist/commands/changes.d.ts.map +1 -1
- package/dist/commands/changes.js +2 -2
- package/dist/commands/changes.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +12 -1
- package/dist/commands/codex-prep.d.ts.map +1 -1
- package/dist/commands/codex-prep.js +19 -85
- package/dist/commands/codex-prep.js.map +1 -1
- package/dist/commands/collections.d.ts.map +1 -1
- package/dist/commands/collections.js +5 -5
- package/dist/commands/collections.js.map +1 -1
- package/dist/commands/conflicts.d.ts +40 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +267 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/conflicts.test.d.ts +2 -0
- package/dist/commands/conflicts.test.d.ts.map +1 -0
- package/dist/commands/conflicts.test.js +219 -0
- package/dist/commands/conflicts.test.js.map +1 -0
- package/dist/commands/connect-config.test.d.ts +2 -0
- package/dist/commands/connect-config.test.d.ts.map +1 -0
- package/dist/commands/connect-config.test.js +44 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-context.d.ts +45 -0
- package/dist/commands/connect-context.d.ts.map +1 -0
- package/dist/commands/connect-context.js +83 -0
- package/dist/commands/connect-context.js.map +1 -0
- package/dist/commands/connect-context.test.d.ts +2 -0
- package/dist/commands/connect-context.test.d.ts.map +1 -0
- package/dist/commands/connect-context.test.js +158 -0
- package/dist/commands/connect-context.test.js.map +1 -0
- package/dist/commands/connect-handoff.d.ts +51 -0
- package/dist/commands/connect-handoff.d.ts.map +1 -0
- package/dist/commands/connect-handoff.js +70 -0
- package/dist/commands/connect-handoff.js.map +1 -0
- package/dist/commands/connect-integration.test.js +58 -35
- package/dist/commands/connect-integration.test.js.map +1 -1
- package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
- package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
- package/dist/commands/connect-legacy-migration.test.js +109 -0
- package/dist/commands/connect-legacy-migration.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +33 -0
- package/dist/commands/connect-screens.d.ts.map +1 -0
- package/dist/commands/connect-screens.js +124 -0
- package/dist/commands/connect-screens.js.map +1 -0
- package/dist/commands/connect.d.ts +27 -6
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +256 -119
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connect.test.js +348 -7
- package/dist/commands/connect.test.js.map +1 -1
- package/dist/commands/constellation.d.ts.map +1 -1
- package/dist/commands/constellation.js +2 -2
- package/dist/commands/constellation.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +2 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts.map +1 -1
- package/dist/commands/cross-cut.js +2 -2
- package/dist/commands/cross-cut.js.map +1 -1
- package/dist/commands/direction.d.ts +10 -0
- package/dist/commands/direction.d.ts.map +1 -0
- package/dist/commands/direction.js +79 -0
- package/dist/commands/direction.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +175 -39
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +353 -7
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/entryArchive.d.ts +8 -0
- package/dist/commands/entryArchive.d.ts.map +1 -0
- package/dist/commands/entryArchive.js +37 -0
- package/dist/commands/entryArchive.js.map +1 -0
- package/dist/commands/entryPreflight.d.ts +8 -0
- package/dist/commands/entryPreflight.d.ts.map +1 -0
- package/dist/commands/entryPreflight.js +48 -0
- package/dist/commands/entryPreflight.js.map +1 -0
- package/dist/commands/feedback.d.ts +36 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +193 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/feedback.test.d.ts +2 -0
- package/dist/commands/feedback.test.d.ts.map +1 -0
- package/dist/commands/feedback.test.js +125 -0
- package/dist/commands/feedback.test.js.map +1 -0
- package/dist/commands/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +3 -3
- package/dist/commands/fields.js.map +1 -1
- package/dist/commands/files.d.ts +26 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +160 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/files.test.d.ts +2 -0
- package/dist/commands/files.test.d.ts.map +1 -0
- package/dist/commands/files.test.js +278 -0
- package/dist/commands/files.test.js.map +1 -0
- package/dist/commands/get.js +3 -3
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/handshake.d.ts +223 -2
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +2106 -62
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +15 -6
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +20 -17
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +6 -5
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/method.d.ts +99 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +804 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/migrate-setup.d.ts +18 -0
- package/dist/commands/migrate-setup.d.ts.map +1 -0
- package/dist/commands/migrate-setup.js +162 -0
- package/dist/commands/migrate-setup.js.map +1 -0
- package/dist/commands/organisation.d.ts +41 -0
- package/dist/commands/organisation.d.ts.map +1 -0
- package/dist/commands/organisation.js +353 -0
- package/dist/commands/organisation.js.map +1 -0
- package/dist/commands/organisation.test.d.ts +2 -0
- package/dist/commands/organisation.test.d.ts.map +1 -0
- package/dist/commands/organisation.test.js +233 -0
- package/dist/commands/organisation.test.js.map +1 -0
- package/dist/commands/organisationHierarchy.d.ts +8 -0
- package/dist/commands/organisationHierarchy.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.js +73 -0
- package/dist/commands/organisationHierarchy.js.map +1 -0
- package/dist/commands/organisationHierarchy.test.d.ts +2 -0
- package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.test.js +72 -0
- package/dist/commands/organisationHierarchy.test.js.map +1 -0
- package/dist/commands/organisationWrite.d.ts +18 -0
- package/dist/commands/organisationWrite.d.ts.map +1 -0
- package/dist/commands/organisationWrite.js +50 -0
- package/dist/commands/organisationWrite.js.map +1 -0
- package/dist/commands/orient.d.ts +128 -2
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +223 -7
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/outcome.d.ts +92 -0
- package/dist/commands/outcome.d.ts.map +1 -0
- package/dist/commands/outcome.js +203 -0
- package/dist/commands/outcome.js.map +1 -0
- package/dist/commands/outcome.test.d.ts +2 -0
- package/dist/commands/outcome.test.d.ts.map +1 -0
- package/dist/commands/outcome.test.js +308 -0
- package/dist/commands/outcome.test.js.map +1 -0
- package/dist/commands/profile.d.ts +16 -1
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +173 -37
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/promote.d.ts +12 -1
- package/dist/commands/promote.d.ts.map +1 -1
- package/dist/commands/promote.js +243 -57
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/proposals.d.ts.map +1 -1
- package/dist/commands/proposals.js +2 -2
- package/dist/commands/proposals.js.map +1 -1
- package/dist/commands/quality.d.ts +16 -0
- package/dist/commands/quality.d.ts.map +1 -0
- package/dist/commands/quality.js +29 -0
- package/dist/commands/quality.js.map +1 -0
- package/dist/commands/questions.d.ts +33 -0
- package/dist/commands/questions.d.ts.map +1 -0
- package/dist/commands/questions.js +300 -0
- package/dist/commands/questions.js.map +1 -0
- package/dist/commands/questions.test.d.ts +2 -0
- package/dist/commands/questions.test.d.ts.map +1 -0
- package/dist/commands/questions.test.js +175 -0
- package/dist/commands/questions.test.js.map +1 -0
- package/dist/commands/reject.d.ts.map +1 -1
- package/dist/commands/reject.js +5 -4
- package/dist/commands/reject.js.map +1 -1
- package/dist/commands/relate.d.ts +1 -0
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +89 -5
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/restore.d.ts +2 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +83 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/rework.d.ts +24 -0
- package/dist/commands/rework.d.ts.map +1 -0
- package/dist/commands/rework.js +97 -0
- package/dist/commands/rework.js.map +1 -0
- package/dist/commands/role.d.ts +48 -0
- package/dist/commands/role.d.ts.map +1 -0
- package/dist/commands/role.js +122 -0
- package/dist/commands/role.js.map +1 -0
- package/dist/commands/role.test.d.ts +2 -0
- package/dist/commands/role.test.d.ts.map +1 -0
- package/dist/commands/role.test.js +173 -0
- package/dist/commands/role.test.js.map +1 -0
- package/dist/commands/scoreboard.d.ts +28 -0
- package/dist/commands/scoreboard.d.ts.map +1 -0
- package/dist/commands/scoreboard.js +40 -0
- package/dist/commands/scoreboard.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +59 -7
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +495 -50
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup-audit.d.ts +59 -0
- package/dist/commands/setup-audit.d.ts.map +1 -0
- package/dist/commands/setup-audit.js +250 -0
- package/dist/commands/setup-audit.js.map +1 -0
- package/dist/commands/setup-detect-surfaces.d.ts +38 -0
- package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
- package/dist/commands/setup-detect-surfaces.js +76 -0
- package/dist/commands/setup-detect-surfaces.js.map +1 -0
- package/dist/commands/setup-ingest.d.ts +17 -0
- package/dist/commands/setup-ingest.d.ts.map +1 -0
- package/dist/commands/setup-ingest.js +179 -0
- package/dist/commands/setup-ingest.js.map +1 -0
- package/dist/commands/setup-resolver.d.ts +58 -0
- package/dist/commands/setup-resolver.d.ts.map +1 -0
- package/dist/commands/setup-resolver.js +150 -0
- package/dist/commands/setup-resolver.js.map +1 -0
- package/dist/commands/setup-state.d.ts +42 -0
- package/dist/commands/setup-state.d.ts.map +1 -0
- package/dist/commands/setup-state.js +93 -0
- package/dist/commands/setup-state.js.map +1 -0
- package/dist/commands/setup.d.ts +17 -9
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +53 -152
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shape.d.ts +16 -0
- package/dist/commands/shape.d.ts.map +1 -0
- package/dist/commands/shape.js +149 -0
- package/dist/commands/shape.js.map +1 -0
- package/dist/commands/shape.test.d.ts +2 -0
- package/dist/commands/shape.test.d.ts.map +1 -0
- package/dist/commands/shape.test.js +148 -0
- package/dist/commands/shape.test.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +102 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/status.test.d.ts +2 -0
- package/dist/commands/status.test.d.ts.map +1 -0
- package/dist/commands/status.test.js +75 -0
- package/dist/commands/status.test.js.map +1 -0
- package/dist/commands/update.d.ts +20 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +92 -35
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +5 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +110 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/usage.d.ts +40 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +214 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +9 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts +21 -0
- package/dist/commands/welcome.d.ts.map +1 -0
- package/dist/commands/welcome.js +53 -0
- package/dist/commands/welcome.js.map +1 -0
- package/dist/commands/whoami.d.ts +20 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +126 -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 +130 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +76 -2
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +30 -6
- package/dist/commands/workspace.js.map +1 -1
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +548 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.js +159 -0
- package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
- package/dist/formatters/__tests__/session.test.d.ts +2 -0
- package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session.test.js +206 -0
- package/dist/formatters/__tests__/session.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +6 -0
- package/dist/formatters/audit.d.ts.map +1 -1
- package/dist/formatters/audit.js +1 -1
- package/dist/formatters/audit.js.map +1 -1
- package/dist/formatters/brief.d.ts +1 -0
- package/dist/formatters/brief.d.ts.map +1 -1
- package/dist/formatters/brief.js +1 -1
- package/dist/formatters/brief.js.map +1 -1
- package/dist/formatters/capture.d.ts +8 -0
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +12 -1
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/coaching.d.ts +55 -0
- package/dist/formatters/coaching.d.ts.map +1 -0
- package/dist/formatters/coaching.js +46 -0
- package/dist/formatters/coaching.js.map +1 -0
- package/dist/formatters/conflicts.d.ts +69 -0
- package/dist/formatters/conflicts.d.ts.map +1 -0
- package/dist/formatters/conflicts.js +87 -0
- package/dist/formatters/conflicts.js.map +1 -0
- package/dist/formatters/conflicts.test.d.ts +2 -0
- package/dist/formatters/conflicts.test.d.ts.map +1 -0
- package/dist/formatters/conflicts.test.js +136 -0
- package/dist/formatters/conflicts.test.js.map +1 -0
- package/dist/formatters/context.d.ts +1 -1
- package/dist/formatters/context.d.ts.map +1 -1
- package/dist/formatters/context.js.map +1 -1
- package/dist/formatters/direction.d.ts +48 -0
- package/dist/formatters/direction.d.ts.map +1 -0
- package/dist/formatters/direction.js +75 -0
- package/dist/formatters/direction.js.map +1 -0
- package/dist/formatters/direction.test.d.ts +2 -0
- package/dist/formatters/direction.test.d.ts.map +1 -0
- package/dist/formatters/direction.test.js +70 -0
- package/dist/formatters/direction.test.js.map +1 -0
- package/dist/formatters/entry.d.ts +45 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +71 -8
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/feedback.d.ts +56 -0
- package/dist/formatters/feedback.d.ts.map +1 -0
- package/dist/formatters/feedback.js +89 -0
- package/dist/formatters/feedback.js.map +1 -0
- package/dist/formatters/feedback.test.d.ts +2 -0
- package/dist/formatters/feedback.test.d.ts.map +1 -0
- package/dist/formatters/feedback.test.js +112 -0
- package/dist/formatters/feedback.test.js.map +1 -0
- package/dist/formatters/handshake.d.ts +39 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +133 -3
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
- package/dist/formatters/orient.d.ts +245 -8
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +270 -35
- package/dist/formatters/orient.js.map +1 -1
- package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
- package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
- package/dist/formatters/orient.rcrtMiss.test.js +146 -0
- package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
- package/dist/formatters/orient.rituals.test.d.ts +2 -0
- package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
- package/dist/formatters/orient.rituals.test.js +70 -0
- package/dist/formatters/orient.rituals.test.js.map +1 -0
- package/dist/formatters/orient.shapeAdvisorySummary.test.d.ts +2 -0
- package/dist/formatters/orient.shapeAdvisorySummary.test.d.ts.map +1 -0
- package/dist/formatters/orient.shapeAdvisorySummary.test.js +62 -0
- package/dist/formatters/orient.shapeAdvisorySummary.test.js.map +1 -0
- package/dist/formatters/orientDegradation.d.ts +21 -0
- package/dist/formatters/orientDegradation.d.ts.map +1 -0
- package/dist/formatters/orientDegradation.js +33 -0
- package/dist/formatters/orientDegradation.js.map +1 -0
- package/dist/formatters/orientDirection.d.ts +67 -0
- package/dist/formatters/orientDirection.d.ts.map +1 -0
- package/dist/formatters/orientDirection.js +82 -0
- package/dist/formatters/orientDirection.js.map +1 -0
- package/dist/formatters/orientDirection.test.d.ts +2 -0
- package/dist/formatters/orientDirection.test.d.ts.map +1 -0
- package/dist/formatters/orientDirection.test.js +171 -0
- package/dist/formatters/orientDirection.test.js.map +1 -0
- package/dist/formatters/orientRetrievalMiss.d.ts +30 -0
- package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
- package/dist/formatters/orientRetrievalMiss.js +24 -0
- package/dist/formatters/orientRetrievalMiss.js.map +1 -0
- package/dist/formatters/promote.d.ts +49 -0
- package/dist/formatters/promote.d.ts.map +1 -1
- package/dist/formatters/promote.js +40 -0
- package/dist/formatters/promote.js.map +1 -1
- package/dist/formatters/proposals.js +2 -2
- package/dist/formatters/proposals.js.map +1 -1
- package/dist/formatters/questions.d.ts +100 -0
- package/dist/formatters/questions.d.ts.map +1 -0
- package/dist/formatters/questions.js +163 -0
- package/dist/formatters/questions.js.map +1 -0
- package/dist/formatters/questions.test.d.ts +2 -0
- package/dist/formatters/questions.test.d.ts.map +1 -0
- package/dist/formatters/questions.test.js +211 -0
- package/dist/formatters/questions.test.js.map +1 -0
- package/dist/formatters/relate.d.ts +14 -1
- package/dist/formatters/relate.d.ts.map +1 -1
- package/dist/formatters/relate.js +12 -3
- package/dist/formatters/relate.js.map +1 -1
- package/dist/formatters/relate.test.d.ts +2 -0
- package/dist/formatters/relate.test.d.ts.map +1 -0
- package/dist/formatters/relate.test.js +81 -0
- package/dist/formatters/relate.test.js.map +1 -0
- package/dist/formatters/scoreboard.d.ts +11 -0
- package/dist/formatters/scoreboard.d.ts.map +1 -0
- package/dist/formatters/scoreboard.js +164 -0
- package/dist/formatters/scoreboard.js.map +1 -0
- package/dist/formatters/scoreboard.test.d.ts +2 -0
- package/dist/formatters/scoreboard.test.d.ts.map +1 -0
- package/dist/formatters/scoreboard.test.js +303 -0
- package/dist/formatters/scoreboard.test.js.map +1 -0
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +17 -1
- package/dist/formatters/search.js.map +1 -1
- package/dist/formatters/search.test.d.ts +2 -0
- package/dist/formatters/search.test.d.ts.map +1 -0
- package/dist/formatters/search.test.js +46 -0
- package/dist/formatters/search.test.js.map +1 -0
- package/dist/formatters/session-feedback.test.d.ts +2 -0
- package/dist/formatters/session-feedback.test.d.ts.map +1 -0
- package/dist/formatters/session-feedback.test.js +61 -0
- package/dist/formatters/session-feedback.test.js.map +1 -0
- package/dist/formatters/session.d.ts +123 -5
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +315 -12
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/shape.d.ts +54 -0
- package/dist/formatters/shape.d.ts.map +1 -0
- package/dist/formatters/shape.js +97 -0
- package/dist/formatters/shape.js.map +1 -0
- package/dist/formatters/shape.test.d.ts +2 -0
- package/dist/formatters/shape.test.d.ts.map +1 -0
- package/dist/formatters/shape.test.js +80 -0
- package/dist/formatters/shape.test.js.map +1 -0
- package/dist/formatters/spineCheck.d.ts +76 -0
- package/dist/formatters/spineCheck.d.ts.map +1 -0
- package/dist/formatters/spineCheck.js +111 -0
- package/dist/formatters/spineCheck.js.map +1 -0
- package/dist/formatters/update.d.ts +3 -0
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +4 -0
- package/dist/formatters/update.js.map +1 -1
- package/dist/formatters/verify.d.ts +12 -4
- package/dist/formatters/verify.d.ts.map +1 -1
- package/dist/formatters/verify.js +20 -2
- package/dist/formatters/verify.js.map +1 -1
- package/dist/generated/healthGapKinds.generated.d.ts +12 -0
- package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
- package/dist/generated/healthGapKinds.generated.js +24 -0
- package/dist/generated/healthGapKinds.generated.js.map +1 -0
- package/dist/generated/relationTypes.generated.d.ts +12 -0
- package/dist/generated/relationTypes.generated.d.ts.map +1 -0
- package/dist/generated/relationTypes.generated.js +11 -0
- package/dist/generated/relationTypes.generated.js.map +1 -0
- package/dist/generated/routeLatencyBudget.generated.d.ts +55 -0
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
- package/dist/generated/routeLatencyBudget.generated.js +353 -0
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
- package/dist/generated/sourceSurfaces.generated.d.ts +12 -0
- package/dist/generated/sourceSurfaces.generated.d.ts.map +1 -0
- package/dist/generated/sourceSurfaces.generated.js +11 -0
- package/dist/generated/sourceSurfaces.generated.js.map +1 -0
- package/dist/generators/adapters.d.ts +33 -0
- package/dist/generators/adapters.d.ts.map +1 -1
- package/dist/generators/adapters.js +68 -8
- package/dist/generators/adapters.js.map +1 -1
- package/dist/generators/archetypes.d.ts.map +1 -1
- package/dist/generators/archetypes.js +46 -9
- package/dist/generators/archetypes.js.map +1 -1
- package/dist/generators/archetypes.test.js +35 -0
- package/dist/generators/archetypes.test.js.map +1 -1
- package/dist/generators/boundary-manifest.d.ts +29 -0
- package/dist/generators/boundary-manifest.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.js +183 -0
- package/dist/generators/boundary-manifest.js.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.js +70 -0
- package/dist/generators/boundary-manifest.real-file.test.js.map +1 -0
- package/dist/generators/boundary-manifest.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.test.js +91 -0
- package/dist/generators/boundary-manifest.test.js.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts +2 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js +41 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js.map +1 -0
- package/dist/generators/chain-classifier.d.ts +67 -14
- package/dist/generators/chain-classifier.d.ts.map +1 -1
- package/dist/generators/chain-classifier.js +46 -174
- package/dist/generators/chain-classifier.js.map +1 -1
- package/dist/generators/chain-rules.d.ts +3 -3
- package/dist/generators/chain-rules.d.ts.map +1 -1
- package/dist/generators/chain-rules.js +118 -6
- package/dist/generators/chain-rules.js.map +1 -1
- package/dist/generators/chain-rules.test.js +273 -4
- package/dist/generators/chain-rules.test.js.map +1 -1
- package/dist/generators/context-md.js +7 -7
- package/dist/generators/context-md.js.map +1 -1
- package/dist/generators/manifest.d.ts +115 -0
- package/dist/generators/manifest.d.ts.map +1 -0
- package/dist/generators/manifest.js +277 -0
- package/dist/generators/manifest.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +24 -2
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +97 -2
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +43 -0
- package/dist/generators/portable-knowledge.test.js.map +1 -1
- package/dist/generators/region-projections.d.ts +18 -0
- package/dist/generators/region-projections.d.ts.map +1 -0
- package/dist/generators/region-projections.js +49 -0
- package/dist/generators/region-projections.js.map +1 -0
- package/dist/generators/region-projections.test.d.ts +2 -0
- package/dist/generators/region-projections.test.d.ts.map +1 -0
- package/dist/generators/region-projections.test.js +63 -0
- package/dist/generators/region-projections.test.js.map +1 -0
- package/dist/generators/region.d.ts +24 -0
- package/dist/generators/region.d.ts.map +1 -0
- package/dist/generators/region.js +87 -0
- package/dist/generators/region.js.map +1 -0
- package/dist/generators/region.test.d.ts +2 -0
- package/dist/generators/region.test.d.ts.map +1 -0
- package/dist/generators/region.test.js +126 -0
- package/dist/generators/region.test.js.map +1 -0
- package/dist/generators/surface-profiles.d.ts +1 -2
- package/dist/generators/surface-profiles.d.ts.map +1 -1
- package/dist/generators/surface-profiles.js.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +424 -186
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/legalRelationTypes.test.d.ts +2 -0
- package/dist/lib/__tests__/legalRelationTypes.test.d.ts.map +1 -0
- package/dist/lib/__tests__/legalRelationTypes.test.js +98 -0
- package/dist/lib/__tests__/legalRelationTypes.test.js.map +1 -0
- package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
- package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
- package/dist/lib/__tests__/parseFields.test.js +40 -0
- package/dist/lib/__tests__/parseFields.test.js.map +1 -0
- package/dist/lib/activation.d.ts.map +1 -1
- package/dist/lib/activation.js +8 -4
- package/dist/lib/activation.js.map +1 -1
- package/dist/lib/activation.test.js +6 -6
- package/dist/lib/activation.test.js.map +1 -1
- package/dist/lib/adminConfig.d.ts +48 -0
- package/dist/lib/adminConfig.d.ts.map +1 -0
- package/dist/lib/adminConfig.js +130 -0
- package/dist/lib/adminConfig.js.map +1 -0
- package/dist/lib/canonicalRefs.d.ts +160 -0
- package/dist/lib/canonicalRefs.d.ts.map +1 -0
- package/dist/lib/canonicalRefs.js +169 -0
- package/dist/lib/canonicalRefs.js.map +1 -0
- package/dist/lib/captureGrounding.d.ts +53 -0
- package/dist/lib/captureGrounding.d.ts.map +1 -0
- package/dist/lib/captureGrounding.js +108 -0
- package/dist/lib/captureGrounding.js.map +1 -0
- package/dist/lib/client.d.ts +42 -15
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +222 -66
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +80 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +170 -0
- package/dist/lib/collectionRegistry.js.map +1 -0
- package/dist/lib/commanderOptions.d.ts +8 -0
- package/dist/lib/commanderOptions.d.ts.map +1 -0
- package/dist/lib/commanderOptions.js +10 -0
- package/dist/lib/commanderOptions.js.map +1 -0
- package/dist/lib/compose-wrapup-view.d.ts +48 -0
- package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
- package/dist/lib/compose-wrapup-view.js +37 -0
- package/dist/lib/compose-wrapup-view.js.map +1 -0
- package/dist/lib/config.d.ts +102 -54
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +260 -163
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/configResult.d.ts +103 -0
- package/dist/lib/configResult.d.ts.map +1 -0
- package/dist/lib/configResult.js +180 -0
- package/dist/lib/configResult.js.map +1 -0
- package/dist/lib/connectKeyLabel.d.ts +9 -0
- package/dist/lib/connectKeyLabel.d.ts.map +1 -0
- package/dist/lib/connectKeyLabel.js +12 -0
- package/dist/lib/connectKeyLabel.js.map +1 -0
- package/dist/lib/constants.d.ts +5 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +8 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/conversation.d.ts +36 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +66 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/createEntryResult.d.ts +34 -0
- package/dist/lib/createEntryResult.d.ts.map +1 -0
- package/dist/lib/createEntryResult.js +12 -0
- package/dist/lib/createEntryResult.js.map +1 -0
- package/dist/lib/envKeySnapshot.d.ts +10 -0
- package/dist/lib/envKeySnapshot.d.ts.map +1 -0
- package/dist/lib/envKeySnapshot.js +30 -0
- package/dist/lib/envKeySnapshot.js.map +1 -0
- package/dist/lib/errors.d.ts +68 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +68 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/frontmatter.d.ts +55 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +92 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +15 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +98 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/gatewayTimeout.d.ts +88 -0
- package/dist/lib/gatewayTimeout.d.ts.map +1 -0
- package/dist/lib/gatewayTimeout.js +118 -0
- package/dist/lib/gatewayTimeout.js.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
- package/dist/lib/glossary.js +1 -1
- package/dist/lib/glossary.js.map +1 -1
- package/dist/lib/hook-intents.d.ts +51 -0
- package/dist/lib/hook-intents.d.ts.map +1 -0
- package/dist/lib/hook-intents.js +85 -0
- package/dist/lib/hook-intents.js.map +1 -0
- package/dist/lib/inferSourceDate.d.ts +12 -0
- package/dist/lib/inferSourceDate.d.ts.map +1 -0
- package/dist/lib/inferSourceDate.js +44 -0
- package/dist/lib/inferSourceDate.js.map +1 -0
- package/dist/lib/kernelEnvelope.d.ts +31 -0
- package/dist/lib/kernelEnvelope.d.ts.map +1 -0
- package/dist/lib/kernelEnvelope.js +52 -0
- package/dist/lib/kernelEnvelope.js.map +1 -0
- package/dist/lib/legalRelationTypes.d.ts +25 -0
- package/dist/lib/legalRelationTypes.d.ts.map +1 -0
- package/dist/lib/legalRelationTypes.js +94 -0
- package/dist/lib/legalRelationTypes.js.map +1 -0
- package/dist/lib/localBinding.d.ts +86 -0
- package/dist/lib/localBinding.d.ts.map +1 -0
- package/dist/lib/localBinding.js +173 -0
- package/dist/lib/localBinding.js.map +1 -0
- package/dist/lib/method-registry.d.ts +37 -0
- package/dist/lib/method-registry.d.ts.map +1 -0
- package/dist/lib/method-registry.js +41 -0
- package/dist/lib/method-registry.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.js +56 -0
- package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
- package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
- package/dist/lib/notice-marker.d.ts +3 -0
- package/dist/lib/notice-marker.d.ts.map +1 -0
- package/dist/lib/notice-marker.js +223 -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 +42 -13
- package/dist/lib/onboarding-path-b.js.map +1 -1
- package/dist/lib/onboarding-shared.d.ts +4 -4
- package/dist/lib/onboarding-shared.d.ts.map +1 -1
- package/dist/lib/onboarding-shared.js +7 -22
- package/dist/lib/onboarding-shared.js.map +1 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +12 -4
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/parseFields.d.ts +19 -0
- package/dist/lib/parseFields.d.ts.map +1 -0
- package/dist/lib/parseFields.js +49 -0
- package/dist/lib/parseFields.js.map +1 -0
- package/dist/lib/previewBanner.d.ts +9 -0
- package/dist/lib/previewBanner.d.ts.map +1 -0
- package/dist/lib/previewBanner.js +37 -0
- package/dist/lib/previewBanner.js.map +1 -0
- package/dist/lib/productbrain-files.d.ts +94 -0
- package/dist/lib/productbrain-files.d.ts.map +1 -0
- package/dist/lib/productbrain-files.js +214 -0
- package/dist/lib/productbrain-files.js.map +1 -0
- package/dist/lib/productbrain-files.test.d.ts +2 -0
- package/dist/lib/productbrain-files.test.d.ts.map +1 -0
- package/dist/lib/productbrain-files.test.js +293 -0
- package/dist/lib/productbrain-files.test.js.map +1 -0
- package/dist/lib/profiles.d.ts +53 -5
- package/dist/lib/profiles.d.ts.map +1 -1
- package/dist/lib/profiles.js +77 -23
- package/dist/lib/profiles.js.map +1 -1
- package/dist/lib/projectConfig.d.ts +81 -0
- package/dist/lib/projectConfig.d.ts.map +1 -0
- package/dist/lib/projectConfig.js +157 -0
- package/dist/lib/projectConfig.js.map +1 -0
- package/dist/lib/rate-limit.d.ts +38 -0
- package/dist/lib/rate-limit.d.ts.map +1 -0
- package/dist/lib/rate-limit.js +83 -0
- package/dist/lib/rate-limit.js.map +1 -0
- package/dist/lib/reportedProfile.d.ts +18 -0
- package/dist/lib/reportedProfile.d.ts.map +1 -0
- package/dist/lib/reportedProfile.js +144 -0
- package/dist/lib/reportedProfile.js.map +1 -0
- package/dist/lib/runner.d.ts +8 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +23 -0
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/session.d.ts +113 -4
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +323 -13
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/sessionBinding.d.ts +61 -0
- package/dist/lib/sessionBinding.d.ts.map +1 -0
- package/dist/lib/sessionBinding.js +125 -0
- package/dist/lib/sessionBinding.js.map +1 -0
- package/dist/lib/sessionNotices.d.ts +57 -0
- package/dist/lib/sessionNotices.d.ts.map +1 -0
- package/dist/lib/sessionNotices.js +128 -0
- package/dist/lib/sessionNotices.js.map +1 -0
- package/dist/lib/sessionNotices.test.d.ts +2 -0
- package/dist/lib/sessionNotices.test.d.ts.map +1 -0
- package/dist/lib/sessionNotices.test.js +48 -0
- package/dist/lib/sessionNotices.test.js.map +1 -0
- package/dist/lib/spinner.js +2 -2
- package/dist/lib/spinner.js.map +1 -1
- package/dist/lib/startup-resolution-signals.d.ts +34 -0
- package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.js +116 -0
- package/dist/lib/startup-resolution-signals.js.map +1 -0
- package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
- package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.test.js +113 -0
- package/dist/lib/startup-resolution-signals.test.js.map +1 -0
- package/dist/lib/startup-signals.d.ts +12 -0
- package/dist/lib/startup-signals.d.ts.map +1 -0
- package/dist/lib/startup-signals.js +172 -0
- package/dist/lib/startup-signals.js.map +1 -0
- package/dist/lib/startup-signals.test.d.ts +2 -0
- package/dist/lib/startup-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-signals.test.js +165 -0
- package/dist/lib/startup-signals.test.js.map +1 -0
- package/dist/lib/state.d.ts +58 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +95 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/strip.d.ts +8 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +23 -1
- package/dist/lib/strip.js.map +1 -1
- package/dist/lib/style.d.ts +3 -1
- package/dist/lib/style.d.ts.map +1 -1
- package/dist/lib/style.js +9 -2
- package/dist/lib/style.js.map +1 -1
- package/dist/lib/tokenConstants.d.ts +19 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +19 -0
- package/dist/lib/tokenConstants.js.map +1 -0
- package/dist/lib/update-check.d.ts +56 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +296 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-runner.d.ts +22 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +110 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/workspace-probe.d.ts +3 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -1
- package/dist/lib/workspace-probe.js +8 -14
- package/dist/lib/workspace-probe.js.map +1 -1
- package/dist/lib/workspaceNotice.d.ts +202 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +345 -0
- package/dist/lib/workspaceNotice.js.map +1 -0
- package/dist/lib/workspaceVocabCache.d.ts +60 -0
- package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
- package/dist/lib/workspaceVocabCache.js +98 -0
- package/dist/lib/workspaceVocabCache.js.map +1 -0
- package/dist/registerEntryCommands.d.ts +17 -0
- package/dist/registerEntryCommands.d.ts.map +1 -0
- package/dist/registerEntryCommands.js +92 -0
- package/dist/registerEntryCommands.js.map +1 -0
- package/dist/registerOutcomeCommands.d.ts +24 -0
- package/dist/registerOutcomeCommands.d.ts.map +1 -0
- package/dist/registerOutcomeCommands.js +27 -0
- package/dist/registerOutcomeCommands.js.map +1 -0
- package/dist/registerProposalCommands.d.ts +13 -0
- package/dist/registerProposalCommands.d.ts.map +1 -0
- package/dist/registerProposalCommands.js +76 -0
- package/dist/registerProposalCommands.js.map +1 -0
- package/dist/registerRoleCommands.d.ts +10 -0
- package/dist/registerRoleCommands.d.ts.map +1 -0
- package/dist/registerRoleCommands.js +14 -0
- package/dist/registerRoleCommands.js.map +1 -0
- package/dist/scoreboard/diagnose.d.ts +226 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +344 -0
- package/dist/scoreboard/diagnose.js.map +1 -0
- package/dist/scoreboard/diagnose.test.d.ts +15 -0
- package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.test.js +355 -0
- package/dist/scoreboard/diagnose.test.js.map +1 -0
- package/dist/scoreboard/floors.d.ts +47 -0
- package/dist/scoreboard/floors.d.ts.map +1 -0
- package/dist/scoreboard/floors.js +33 -0
- package/dist/scoreboard/floors.js.map +1 -0
- package/dist/scoreboard/localDrift.d.ts +23 -0
- package/dist/scoreboard/localDrift.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.js +111 -0
- package/dist/scoreboard/localDrift.js.map +1 -0
- package/dist/scoreboard/localDrift.test.d.ts +9 -0
- package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.test.js +82 -0
- package/dist/scoreboard/localDrift.test.js.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.js +189 -0
- package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.js +177 -0
- package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
- package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
- package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
- package/dist/setup/__tests__/state-machine.test.js +341 -0
- package/dist/setup/__tests__/state-machine.test.js.map +1 -0
- package/dist/setup/detect-surfaces.d.ts +21 -0
- package/dist/setup/detect-surfaces.d.ts.map +1 -0
- package/dist/setup/detect-surfaces.js +39 -0
- package/dist/setup/detect-surfaces.js.map +1 -0
- package/dist/setup/manifest-writer.d.ts +17 -0
- package/dist/setup/manifest-writer.d.ts.map +1 -0
- package/dist/setup/manifest-writer.js +153 -0
- package/dist/setup/manifest-writer.js.map +1 -0
- package/dist/setup/perimeter.d.ts +72 -0
- package/dist/setup/perimeter.d.ts.map +1 -0
- package/dist/setup/perimeter.js +128 -0
- package/dist/setup/perimeter.js.map +1 -0
- package/dist/setup/state-machine.d.ts +67 -0
- package/dist/setup/state-machine.d.ts.map +1 -0
- package/dist/setup/state-machine.js +124 -0
- package/dist/setup/state-machine.js.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.js +90 -0
- package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.js +55 -0
- package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
- package/dist/surfaces/adapter.d.ts +70 -0
- package/dist/surfaces/adapter.d.ts.map +1 -0
- package/dist/surfaces/adapter.js +2 -0
- package/dist/surfaces/adapter.js.map +1 -0
- package/dist/surfaces/adapters/claude.d.ts +3 -0
- package/dist/surfaces/adapters/claude.d.ts.map +1 -0
- package/dist/surfaces/adapters/claude.js +67 -0
- package/dist/surfaces/adapters/claude.js.map +1 -0
- package/dist/surfaces/adapters/codex.d.ts +3 -0
- package/dist/surfaces/adapters/codex.d.ts.map +1 -0
- package/dist/surfaces/adapters/codex.js +61 -0
- package/dist/surfaces/adapters/codex.js.map +1 -0
- package/dist/surfaces/adapters/copilot.d.ts +3 -0
- package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
- package/dist/surfaces/adapters/copilot.js +59 -0
- package/dist/surfaces/adapters/copilot.js.map +1 -0
- package/dist/surfaces/adapters/cursor.d.ts +3 -0
- package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
- package/dist/surfaces/adapters/cursor.js +78 -0
- package/dist/surfaces/adapters/cursor.js.map +1 -0
- package/dist/surfaces/registry.d.ts +76 -0
- package/dist/surfaces/registry.d.ts.map +1 -0
- package/dist/surfaces/registry.js +117 -0
- package/dist/surfaces/registry.js.map +1 -0
- package/dist/surfaces/telemetry.d.ts +17 -0
- package/dist/surfaces/telemetry.d.ts.map +1 -0
- package/dist/surfaces/telemetry.js +31 -0
- package/dist/surfaces/telemetry.js.map +1 -0
- package/package.json +9 -5
- package/templates/method-registry.json +16 -0
- 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/generators/chain-classifier.test.d.ts +0 -2
- package/dist/generators/chain-classifier.test.d.ts.map +0 -1
- package/dist/generators/chain-classifier.test.js +0 -257
- package/dist/generators/chain-classifier.test.js.map +0 -1
- 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
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-722 S2 — `pb outcome record | list`.
|
|
3
|
+
*
|
|
4
|
+
* The surface is thin on purpose: every rule that matters (credential-derived tier, session
|
|
5
|
+
* ownership, role validation) lives behind the gateway and was proven in S1. What THIS slice can
|
|
6
|
+
* get wrong is the surface — sending a string where the door wants a number, silently dropping a
|
|
7
|
+
* flag, or inventing a client-side default that contradicts the server's. So these tests assert
|
|
8
|
+
* the exact args crossing the wire, and the refusals that never reach it.
|
|
9
|
+
*/
|
|
10
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
11
|
+
const { getConfigOrGuide, kernelCall, kernelCallWithSession, readSession, runCliCommand } = vi.hoisted(() => ({
|
|
12
|
+
getConfigOrGuide: vi.fn(),
|
|
13
|
+
kernelCall: vi.fn(),
|
|
14
|
+
kernelCallWithSession: vi.fn(),
|
|
15
|
+
readSession: vi.fn(),
|
|
16
|
+
runCliCommand: vi.fn(async ({ fn }) => fn()),
|
|
17
|
+
}));
|
|
18
|
+
vi.mock('../lib/config.js', () => ({ getConfigOrGuide }));
|
|
19
|
+
vi.mock('../lib/client.js', () => ({ kernelCall, kernelCallWithSession }));
|
|
20
|
+
vi.mock('../lib/runner.js', () => ({ runCliCommand }));
|
|
21
|
+
vi.mock('../lib/session.js', () => ({ readSession }));
|
|
22
|
+
import { runOutcomeRecord, runOutcomeList, formatReadingsList, formatOutcomeShow } from './outcome.js';
|
|
23
|
+
describe('pb outcome record', () => {
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
vi.clearAllMocks();
|
|
26
|
+
getConfigOrGuide.mockResolvedValue({ apiKey: 'pb_sk_test', siteUrl: 'https://example.test' });
|
|
27
|
+
kernelCallWithSession.mockResolvedValue({ readingId: 'r1', independenceTier: 'provenance_unknown', actorKind: 'agent', recordedAt: 1, asOf: 1 });
|
|
28
|
+
readSession.mockReturnValue({ sessionId: 's1' });
|
|
29
|
+
});
|
|
30
|
+
it('sends value as a NUMBER, not the raw argv string', async () => {
|
|
31
|
+
// The door declares `value: v.number()`. Forwarding argv verbatim would be refused by the
|
|
32
|
+
// validator at runtime, which is a wire-shape bug no server-side test can catch.
|
|
33
|
+
await runOutcomeRecord('KR-1', '62', {});
|
|
34
|
+
const [route, args] = kernelCallWithSession.mock.calls[0];
|
|
35
|
+
expect(route).toBe('outcomes.recordReading');
|
|
36
|
+
expect(args.value).toBe(62);
|
|
37
|
+
expect(args.value).not.toBe('62');
|
|
38
|
+
expect(args.entryId).toBe('KR-1');
|
|
39
|
+
});
|
|
40
|
+
it('refuses a non-numeric value BEFORE any network call', async () => {
|
|
41
|
+
await expect(runOutcomeRecord('KR-1', 'sixty-two', {})).rejects.toThrow(/number/i);
|
|
42
|
+
expect(kernelCallWithSession).not.toHaveBeenCalled();
|
|
43
|
+
});
|
|
44
|
+
it('accepts a negative and a decimal value (a reading is not always a positive integer)', async () => {
|
|
45
|
+
await runOutcomeRecord('KR-1', '-3.5', {});
|
|
46
|
+
expect(kernelCallWithSession.mock.calls[0][1].value).toBe(-3.5);
|
|
47
|
+
});
|
|
48
|
+
it('sends --as-of as an epoch-ms NUMBER, and refuses an unparseable date', async () => {
|
|
49
|
+
await runOutcomeRecord('KR-1', '1', { asOf: '2026-03-01' });
|
|
50
|
+
const args = kernelCallWithSession.mock.calls[0][1];
|
|
51
|
+
expect(typeof args.asOf).toBe('number');
|
|
52
|
+
expect(args.asOf).toBe(Date.parse('2026-03-01'));
|
|
53
|
+
vi.clearAllMocks();
|
|
54
|
+
getConfigOrGuide.mockResolvedValue({ apiKey: 'k', siteUrl: 's' });
|
|
55
|
+
await expect(runOutcomeRecord('KR-1', '1', { asOf: 'not-a-date' })).rejects.toThrow(/as-of/i);
|
|
56
|
+
expect(kernelCallWithSession).not.toHaveBeenCalled();
|
|
57
|
+
});
|
|
58
|
+
it('omits every optional it was not given — never sends undefined keys', async () => {
|
|
59
|
+
// A key present-but-undefined is not the same as absent to a Convex validator, and the
|
|
60
|
+
// door's own defaults (kind, asOf, recordedByRoleId) must win when the caller is silent.
|
|
61
|
+
await runOutcomeRecord('KR-1', '5', {});
|
|
62
|
+
const args = kernelCallWithSession.mock.calls[0][1];
|
|
63
|
+
expect(Object.keys(args).sort()).toEqual(['entryId', 'value']);
|
|
64
|
+
});
|
|
65
|
+
it('forwards note, source, value-text and by-role verbatim', async () => {
|
|
66
|
+
await runOutcomeRecord('KR-1', '5', { note: 'n', source: 'dashboard', valueText: '~5', byRole: 'ROL-2' });
|
|
67
|
+
expect(kernelCallWithSession.mock.calls[0][1]).toMatchObject({
|
|
68
|
+
note: 'n', source: 'dashboard', valueText: '~5', recordedByRoleId: 'ROL-2',
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
it('refuses --corrects without --kind correction, and --kind correction without --corrects', async () => {
|
|
72
|
+
// Both directions, because the door refuses both and a CLI that only guards one sends a
|
|
73
|
+
// request it already knows will fail.
|
|
74
|
+
await expect(runOutcomeRecord('KR-1', '5', { corrects: 'x' })).rejects.toThrow(/correction/i);
|
|
75
|
+
await expect(runOutcomeRecord('KR-1', '5', { kind: 'correction' })).rejects.toThrow(/corrects/i);
|
|
76
|
+
expect(kernelCallWithSession).not.toHaveBeenCalled();
|
|
77
|
+
});
|
|
78
|
+
it('sends a well-formed correction', async () => {
|
|
79
|
+
await runOutcomeRecord('KR-1', '5', { kind: 'correction', corrects: 'abc123' });
|
|
80
|
+
expect(kernelCallWithSession.mock.calls[0][1]).toMatchObject({ kind: 'correction', correctsReadingId: 'abc123' });
|
|
81
|
+
});
|
|
82
|
+
it('refuses an unknown --kind, naming the legal set', async () => {
|
|
83
|
+
await expect(runOutcomeRecord('KR-1', '5', { kind: 'guess' })).rejects.toThrow(/measurement/);
|
|
84
|
+
expect(kernelCallWithSession).not.toHaveBeenCalled();
|
|
85
|
+
});
|
|
86
|
+
it('records through the SESSION-attributed caller, not the plain one', async () => {
|
|
87
|
+
// A reading is a workspace write whose provenance is the whole point; `kernelCall` would
|
|
88
|
+
// drop the session the tier derivation compares against.
|
|
89
|
+
await runOutcomeRecord('KR-1', '5', {});
|
|
90
|
+
expect(kernelCallWithSession).toHaveBeenCalledTimes(1);
|
|
91
|
+
expect(kernelCall).not.toHaveBeenCalled();
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
describe('pb outcome list', () => {
|
|
95
|
+
beforeEach(() => {
|
|
96
|
+
vi.clearAllMocks();
|
|
97
|
+
getConfigOrGuide.mockResolvedValue({ apiKey: 'pb_sk_test', siteUrl: 'https://example.test' });
|
|
98
|
+
kernelCall.mockResolvedValue({ entryDocId: 'e1', pageExhausted: true, readings: [] });
|
|
99
|
+
readSession.mockReturnValue(null);
|
|
100
|
+
});
|
|
101
|
+
it('reads through the plain caller and sends the entry id', async () => {
|
|
102
|
+
await runOutcomeList('KR-1', {});
|
|
103
|
+
const [route, args] = kernelCall.mock.calls[0];
|
|
104
|
+
expect(route).toBe('outcomes.listReadings');
|
|
105
|
+
expect(args.entryId).toBe('KR-1');
|
|
106
|
+
// A read needs no session — requiring one would make `pb outcome list` fail for a caller
|
|
107
|
+
// who has a key but has not started a session.
|
|
108
|
+
expect(kernelCallWithSession).not.toHaveBeenCalled();
|
|
109
|
+
});
|
|
110
|
+
it('sends --limit as a NUMBER and refuses a non-numeric one', async () => {
|
|
111
|
+
await runOutcomeList('KR-1', { limit: '25' });
|
|
112
|
+
expect(kernelCall.mock.calls[0][1].limit).toBe(25);
|
|
113
|
+
vi.clearAllMocks();
|
|
114
|
+
getConfigOrGuide.mockResolvedValue({ apiKey: 'k', siteUrl: 's' });
|
|
115
|
+
await expect(runOutcomeList('KR-1', { limit: 'many' })).rejects.toThrow(/limit/i);
|
|
116
|
+
expect(kernelCall).not.toHaveBeenCalled();
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe('formatReadingsList — the rendering §8.2 specifies', () => {
|
|
120
|
+
const row = (over = {}) => ({
|
|
121
|
+
readingId: 'rd_1', value: 62, asOf: Date.parse('2026-03-01'), recordedAt: Date.parse('2026-03-01'),
|
|
122
|
+
kind: 'measurement', independenceTier: 'role_click', actorKind: 'person', ...over,
|
|
123
|
+
});
|
|
124
|
+
it('shows a superseded row AND names what replaced it', () => {
|
|
125
|
+
// The ledger is append-only and the correction chain IS the audit trail, so a superseded
|
|
126
|
+
// row is never hidden — it is marked, so a reader does not mistake it for the current value.
|
|
127
|
+
const out = formatReadingsList('KR-S1', {
|
|
128
|
+
entryDocId: 'e', pageExhausted: true,
|
|
129
|
+
readings: [row({ readingId: 'rd_2', value: 70 }), row({ supersededByReadingId: 'rd_2' })],
|
|
130
|
+
});
|
|
131
|
+
expect(out).toContain('superseded by rd_2');
|
|
132
|
+
expect(out).toContain('rd_1');
|
|
133
|
+
expect(out).toContain('2 reading(s)');
|
|
134
|
+
});
|
|
135
|
+
it('prints the readingId on every row — the id --corrects needs must be reachable from list', () => {
|
|
136
|
+
// This is the defect the S2 live walk found: without a printed id there is no way to name
|
|
137
|
+
// the reading a correction replaces, and --corrects is unusable.
|
|
138
|
+
const out = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row()] });
|
|
139
|
+
expect(out).toContain('rd_1');
|
|
140
|
+
});
|
|
141
|
+
it('says so when the page is NOT exhausted, rather than reading as the whole history', () => {
|
|
142
|
+
const bounded = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: false, readings: [row()] });
|
|
143
|
+
expect(bounded).toContain('older readings not loaded');
|
|
144
|
+
const whole = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row()] });
|
|
145
|
+
expect(whole).not.toContain('older readings not loaded');
|
|
146
|
+
});
|
|
147
|
+
it('renders the honest empty case, not an error', () => {
|
|
148
|
+
expect(formatReadingsList('KR-S2', { entryDocId: 'e', pageExhausted: true, readings: [] }))
|
|
149
|
+
.toBe('No readings recorded on KR-S2 yet.');
|
|
150
|
+
});
|
|
151
|
+
// PR #872 review round 3 (Codex P2): a legacy row written through the existing API route
|
|
152
|
+
// (validated only with v.number()) can carry a finite-but-Date-invalid asOf (e.g. 1e100).
|
|
153
|
+
// `new Date(x).toISOString()` throws RangeError for it — pre-fix, that propagated out of the
|
|
154
|
+
// `.map()` and killed `pb outcome list` entirely over one malformed row. Mirrors the MCP
|
|
155
|
+
// tool's own safeDateSlice fix (same PR).
|
|
156
|
+
it('renders a malformed out-of-range asOf as a fallback instead of throwing', () => {
|
|
157
|
+
const out = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row({ asOf: 1e100 })] });
|
|
158
|
+
expect(out).toContain('invalid-date');
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
describe('formatReadingsList sanitises stored, agent-written content (PR #840 security review)', () => {
|
|
162
|
+
// The threat model is specific: an AGENT writes `note`/`valueText` through
|
|
163
|
+
// `outcomes.recordReading`, a HUMAN reads them in a terminal, and this rendering IS the audit
|
|
164
|
+
// view. Injected newlines do not just look untidy — they forge extra rows in the one surface
|
|
165
|
+
// someone would use to check the rows.
|
|
166
|
+
const row = (over = {}) => ({
|
|
167
|
+
readingId: 'rd_1', value: 62, asOf: Date.parse('2026-03-01'), recordedAt: Date.parse('2026-03-01'),
|
|
168
|
+
kind: 'measurement', independenceTier: 'role_click', actorKind: 'person', ...over,
|
|
169
|
+
});
|
|
170
|
+
const render = (over) => formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row(over)] });
|
|
171
|
+
it('a note with embedded newlines cannot forge extra reading lines', () => {
|
|
172
|
+
const out = render({ note: 'ok\n 2026-03-02 999 [measurement·role_click] rd_FORGED' });
|
|
173
|
+
// One reading in, one rendered line out (plus the header) — the forged row is folded in.
|
|
174
|
+
expect(out.split('\n')).toHaveLength(2);
|
|
175
|
+
expect(out).not.toMatch(/\n\s+2026-03-02/);
|
|
176
|
+
expect(out).toContain('rd_FORGED'); // the TEXT survives; only its line-breaking power is removed
|
|
177
|
+
});
|
|
178
|
+
it('a carriage return cannot overwrite the rendered line', () => {
|
|
179
|
+
// \r alone redraws over what was printed — a note ending in \r plus spaces can blank the
|
|
180
|
+
// real value on a real terminal without adding a line at all.
|
|
181
|
+
const out = render({ note: 'benign\rSAFE — nothing to see' });
|
|
182
|
+
expect(out).not.toContain('\r');
|
|
183
|
+
});
|
|
184
|
+
it('CSI/OSC escape sequences are stripped, not passed to the terminal', () => {
|
|
185
|
+
const esc = String.fromCharCode(27);
|
|
186
|
+
const out = render({ note: `${esc}[31m${esc}[2Jred${esc}[0m`, valueText: `${esc}]0;pwned${esc}\\` });
|
|
187
|
+
expect(out).not.toContain(esc);
|
|
188
|
+
});
|
|
189
|
+
it('valueText is sanitised too — it is stored and agent-written, exactly like note', () => {
|
|
190
|
+
const out = render({ valueText: 'a\nb' });
|
|
191
|
+
expect(out.split('\n')).toHaveLength(2);
|
|
192
|
+
});
|
|
193
|
+
it('ordinary content still renders unchanged', () => {
|
|
194
|
+
// The sanitiser must not damage the normal case, or it will be removed by someone later.
|
|
195
|
+
expect(render({ note: 'from the weekly dashboard', valueText: '~62%' }))
|
|
196
|
+
.toContain('("~62%")');
|
|
197
|
+
expect(render({ note: 'from the weekly dashboard' })).toContain('from the weekly dashboard');
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
describe('formatOutcomeShow — the two honesty rules', () => {
|
|
201
|
+
const base = {
|
|
202
|
+
entryId: 'KR-S1', name: 'Weekly signups', readyToCloseInstruction: null,
|
|
203
|
+
outcome: {
|
|
204
|
+
currentResolution: 'no-rows', hasNoReadings: true, direction: 'up-is-good',
|
|
205
|
+
state: 'overdue', completion: 'open', completionProvenance: 'none',
|
|
206
|
+
readyToClose: null, weakestTierInCycle: null, ownerRole: null, reporterRole: null,
|
|
207
|
+
readingCount: 0, unit: null, metric: null,
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
const show = (over = {}) => formatOutcomeShow({ ...base, outcome: { ...base.outcome, ...over } });
|
|
211
|
+
it('a never-measured key result shows a BLANK, never 0%', () => {
|
|
212
|
+
// `0%` reads as a measurement. The blank is the honest answer and the distinction is the
|
|
213
|
+
// whole reason progressPct is undefined rather than zero.
|
|
214
|
+
const out = show();
|
|
215
|
+
expect(out).toContain('no readings yet');
|
|
216
|
+
expect(out).not.toContain('0%');
|
|
217
|
+
expect(out).toContain('never read');
|
|
218
|
+
});
|
|
219
|
+
it('a genuine zero reading DOES render as 0% — the other half of that distinction', () => {
|
|
220
|
+
expect(show({ current: { value: 0, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false, progressPct: 0, readingCount: 1 }))
|
|
221
|
+
.toContain('0%');
|
|
222
|
+
});
|
|
223
|
+
// PR #872 review round 3 (Codex P2): mirrors formatReadingsList's own safeDateSlice fix — a
|
|
224
|
+
// malformed stored nextDueAt must render a fallback, never throw RangeError.
|
|
225
|
+
it('renders a malformed out-of-range nextDueAt as a fallback instead of throwing', () => {
|
|
226
|
+
expect(show({ nextDueAt: 1e100 })).toContain('invalid-date');
|
|
227
|
+
});
|
|
228
|
+
it('the recorded completion is never called confirmed or verified', () => {
|
|
229
|
+
// Nothing in this run verifies a close. A surface implying otherwise is the failure the
|
|
230
|
+
// provenance field exists to prevent.
|
|
231
|
+
const out = show({ completion: 'achieved', completionProvenance: 'legacy-data-status' });
|
|
232
|
+
expect(out).toContain('recorded as achieved');
|
|
233
|
+
expect(out).toContain('legacy-data-status');
|
|
234
|
+
expect(out.toLowerCase()).not.toContain('confirmed');
|
|
235
|
+
expect(out.toLowerCase()).not.toContain('verified');
|
|
236
|
+
});
|
|
237
|
+
it('the attestation line reports without claiming to enforce', () => {
|
|
238
|
+
const out = show({ weakestTierInCycle: 'agent_same_session' });
|
|
239
|
+
expect(out).toContain('reported, not enforced');
|
|
240
|
+
for (const word of ['blocked', 'refused', 'cannot'])
|
|
241
|
+
expect(out.toLowerCase()).not.toContain(word);
|
|
242
|
+
});
|
|
243
|
+
it('a deleted role renders as gone, not as a blank and not as an id', () => {
|
|
244
|
+
const out = show({ ownerRole: { id: 'q97abc', name: null }, reporterRole: { id: 'q97def', name: 'Data Steward' } });
|
|
245
|
+
expect(out).toContain('a role that no longer exists');
|
|
246
|
+
expect(out).toContain('Data Steward');
|
|
247
|
+
});
|
|
248
|
+
it('carries the close instruction verbatim when there is a proposal', () => {
|
|
249
|
+
const out = formatOutcomeShow({
|
|
250
|
+
...base, readyToCloseInstruction: 'The readings say this is achieved. Surface this to the founder; do not write the status yourself.',
|
|
251
|
+
outcome: { ...base.outcome, readyToClose: 'achieved' },
|
|
252
|
+
});
|
|
253
|
+
expect(out).toContain('do not write the status yourself');
|
|
254
|
+
});
|
|
255
|
+
it('page-exhausted is called out rather than passing as never-read', () => {
|
|
256
|
+
expect(show({ currentResolution: 'page-exhausted', hasNoReadings: false }))
|
|
257
|
+
.toContain('this is not "never read"');
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
describe('formatOutcomeShow sanitises EVERY stored string sink (PR #840 review round 2)', () => {
|
|
261
|
+
// Round 1 I sanitised the fields I interpolated directly and missed `role.name`, which sits
|
|
262
|
+
// behind a helper. So this guard is STRUCTURAL rather than per-field: it drives control
|
|
263
|
+
// characters through every string-typed input at once and asserts on the SHAPE of the output,
|
|
264
|
+
// which means the next stored field someone adds is covered without anyone remembering to
|
|
265
|
+
// extend this test.
|
|
266
|
+
const ESC = String.fromCharCode(27);
|
|
267
|
+
const NASTY = `x${ESC}[31m\n FORGED LINE\rover`;
|
|
268
|
+
it('no control characters and no injected lines, whatever the stored content says', () => {
|
|
269
|
+
const out = formatOutcomeShow({
|
|
270
|
+
entryId: NASTY, name: NASTY,
|
|
271
|
+
readyToCloseInstruction: null,
|
|
272
|
+
outcome: {
|
|
273
|
+
current: { value: 1, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false,
|
|
274
|
+
direction: 'up-is-good', progressPct: 10, state: 'on-time',
|
|
275
|
+
completion: 'open', completionProvenance: 'none', readyToClose: null,
|
|
276
|
+
weakestTierInCycle: 'role_click',
|
|
277
|
+
ownerRole: { id: 'q1', name: NASTY },
|
|
278
|
+
reporterRole: { id: 'q2', name: NASTY },
|
|
279
|
+
readingCount: 1, unit: NASTY, metric: NASTY,
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
expect(out).not.toContain(ESC);
|
|
283
|
+
expect(out).not.toContain('\r');
|
|
284
|
+
// The renderer emits a fixed number of lines; injected newlines would add more.
|
|
285
|
+
const lineCount = out.split('\n').length;
|
|
286
|
+
expect(lineCount).toBe(11);
|
|
287
|
+
// And no line may begin with the injected text — that is what "looks like another field" means.
|
|
288
|
+
expect(out.split('\n').every((l) => !l.startsWith('FORGED'))).toBe(true);
|
|
289
|
+
});
|
|
290
|
+
it('a role name specifically cannot inject a line — the round-2 miss', () => {
|
|
291
|
+
const out = formatOutcomeShow({
|
|
292
|
+
entryId: 'KR-S1', name: 'ok', readyToCloseInstruction: null,
|
|
293
|
+
outcome: {
|
|
294
|
+
currentResolution: 'no-rows', hasNoReadings: true, direction: 'undetermined',
|
|
295
|
+
state: 'overdue', completion: 'open', completionProvenance: 'none', readyToClose: null,
|
|
296
|
+
weakestTierInCycle: null,
|
|
297
|
+
ownerRole: { id: 'q1', name: 'Data Steward\n reporter Someone Else' },
|
|
298
|
+
reporterRole: null, readingCount: 0, unit: null, metric: null,
|
|
299
|
+
},
|
|
300
|
+
});
|
|
301
|
+
// Exactly one line that IS the reporter field, not two. The forged text survives as text on
|
|
302
|
+
// the owner line (which is correct — nothing is censored) but has lost its line-breaking
|
|
303
|
+
// power, so it can no longer masquerade as a field of its own.
|
|
304
|
+
expect(out.split('\n').filter((l) => l.trim().startsWith('reporter')).length).toBe(1);
|
|
305
|
+
expect(out).toContain('Someone Else'); // the content is preserved, only its framing is removed
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
//# sourceMappingURL=outcome.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome.test.js","sourceRoot":"","sources":["../../src/commands/outcome.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,19 @@
|
|
|
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
|
+
type ProfileListResult = {
|
|
9
|
+
profiles: string[];
|
|
10
|
+
active: string | null;
|
|
11
|
+
globalActive: string | null;
|
|
12
|
+
localActive: string | null;
|
|
13
|
+
activeSource: 'local' | 'global' | 'none' | 'missing-pin' | 'env-key' | 'preview' | 'cwd-key' | 'local-key';
|
|
14
|
+
};
|
|
15
|
+
export declare function resolveProfileListState(): ProfileListResult;
|
|
16
|
+
/**
|
|
17
|
+
* Pure pretty-printer for `pb profile list`. Exported (like formatWhoami) so the copy can be
|
|
18
|
+
* asserted directly — an inline lambda left the env-key case untestable and therefore wrong.
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatProfileList(data: ProfileListResult): string;
|
|
8
21
|
/** pb profile list — show all profiles, mark active one. */
|
|
9
22
|
export declare function runProfileList(): Promise<void>;
|
|
10
23
|
/** pb profile create <name> --api-key <key> [--url <url>] */
|
|
@@ -13,12 +26,14 @@ export declare function runProfileCreate(opts: {
|
|
|
13
26
|
apiKey: string;
|
|
14
27
|
url?: string;
|
|
15
28
|
}): Promise<void>;
|
|
16
|
-
/** pb profile use <name> — switch active profile, close any active session. */
|
|
17
29
|
export declare function runProfileUse(opts: {
|
|
18
30
|
name: string;
|
|
31
|
+
local?: boolean;
|
|
32
|
+
global?: boolean;
|
|
19
33
|
}): Promise<void>;
|
|
20
34
|
/** pb profile delete <name> */
|
|
21
35
|
export declare function runProfileDelete(opts: {
|
|
22
36
|
name: string;
|
|
23
37
|
}): Promise<void>;
|
|
38
|
+
export {};
|
|
24
39
|
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -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;AAgBH,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,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;CAC7G,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAkB3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CA8BjE;AAED,4DAA4D;AAC5D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD;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;AAeD,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,CAyH5G;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
|
@@ -7,26 +7,69 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { runCliCommand } from '../lib/runner.js';
|
|
9
9
|
import { listProfiles, getActiveProfile, createProfile, useProfile, deleteProfile, } from '../lib/profiles.js';
|
|
10
|
-
import { readSession,
|
|
11
|
-
import { resetConfigCache } from '../lib/config.js';
|
|
10
|
+
import { readSession, discardAllSessions, hasAnyActiveSession } from '../lib/session.js';
|
|
11
|
+
import { resetConfigCache, findProjectRoot, readLocalProjectConfig, setLocalProfilePin } from '../lib/config.js';
|
|
12
|
+
import { resolveReportedProfile, isEnvKeyBinding } from '../lib/reportedProfile.js';
|
|
13
|
+
import { probeWorkspace } from '../lib/workspace-probe.js';
|
|
14
|
+
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
15
|
+
export function resolveProfileListState() {
|
|
16
|
+
const profiles = listProfiles();
|
|
17
|
+
const globalActive = getActiveProfile();
|
|
18
|
+
const localActive = readLocalProjectConfig()?.profile ?? null;
|
|
19
|
+
const reported = resolveReportedProfile();
|
|
20
|
+
// Four sources all mean NO profile is the active one: the CLI refuses (`missing-pin`), or an
|
|
21
|
+
// exported key / a dotenv file here / a preview binding outranks every profile file. In each
|
|
22
|
+
// case `globalActive` is still listed below, just never marked `(active)`.
|
|
23
|
+
const shadowed = ['missing-pin', 'env-key', 'preview', 'cwd-key', 'local-key'];
|
|
24
|
+
const noActiveProfile = shadowed.includes(reported.source);
|
|
25
|
+
const active = noActiveProfile ? null : reported.profile;
|
|
26
|
+
const activeSource = noActiveProfile ? reported.source
|
|
27
|
+
: reported.source === 'local' ? 'local'
|
|
28
|
+
: reported.profile ? 'global'
|
|
29
|
+
: 'none';
|
|
30
|
+
return { profiles, active, globalActive, localActive, activeSource };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Pure pretty-printer for `pb profile list`. Exported (like formatWhoami) so the copy can be
|
|
34
|
+
* asserted directly — an inline lambda left the env-key case untestable and therefore wrong.
|
|
35
|
+
*/
|
|
36
|
+
export function formatProfileList(data) {
|
|
37
|
+
// TEN-3240 (Codex P2): an exported key SHADOWS every profile here. Without this note the list
|
|
38
|
+
// prints with no active marker and no reason why — and the empty-list branch would recommend
|
|
39
|
+
// creating a profile the export would immediately shadow too.
|
|
40
|
+
// "…for these profiles to take effect" would be a promise this function cannot keep: in a
|
|
41
|
+
// preview-bound worktree the direct apiKey/siteUrl binding wins ahead of every profile
|
|
42
|
+
// (resolveConfig step 2a), so unsetting the key still leaves them unused (Codex P2 round 2).
|
|
43
|
+
const envKeyNote = data.activeSource === 'env-key'
|
|
44
|
+
? 'An exported PRODUCTBRAIN_API_KEY is the active binding — no profile below is in use.\nUnset it (`unset PRODUCTBRAIN_API_KEY`) and re-run to see which binding takes over.'
|
|
45
|
+
: data.activeSource === 'preview'
|
|
46
|
+
? 'This worktree is bound to a throwaway preview — no profile below is in use.\nRun `npm run pb:real` to go back to the real Chain.'
|
|
47
|
+
: data.activeSource === 'cwd-key'
|
|
48
|
+
? 'A dotenv file in this directory is the active binding — no profile below is in use.\nRemove it, or run pb from your project directory, to use one.'
|
|
49
|
+
: data.activeSource === 'local-key'
|
|
50
|
+
? '.productbrain/config.local.json binds a credential directly — no profile below is in use.\nRun `npm run pb:real` to strip it — re-pinning alone leaves that binding winning.'
|
|
51
|
+
: null;
|
|
52
|
+
if (data.profiles.length === 0) {
|
|
53
|
+
return envKeyNote ?? 'No profiles configured. Run: pb profile create <name> --api-key <key>';
|
|
54
|
+
}
|
|
55
|
+
const lines = data.profiles.map((name) => {
|
|
56
|
+
const marker = name === data.active
|
|
57
|
+
? data.activeSource === 'local' ? ' (active, local)' : ' (active)'
|
|
58
|
+
: '';
|
|
59
|
+
return ` ${name}${marker}`;
|
|
60
|
+
});
|
|
61
|
+
if (envKeyNote)
|
|
62
|
+
lines.push('', envKeyNote);
|
|
63
|
+
if (data.localActive && data.globalActive && data.localActive !== data.globalActive) {
|
|
64
|
+
lines.push('', `Repo local profile: ${data.localActive}`, `Global profile: ${data.globalActive}`);
|
|
65
|
+
}
|
|
66
|
+
return `Profiles:\n${lines.join('\n')}`;
|
|
67
|
+
}
|
|
12
68
|
/** pb profile list — show all profiles, mark active one. */
|
|
13
69
|
export async function runProfileList() {
|
|
14
70
|
await runCliCommand({
|
|
15
|
-
fn: async () =>
|
|
16
|
-
|
|
17
|
-
const active = getActiveProfile();
|
|
18
|
-
return { profiles, active };
|
|
19
|
-
},
|
|
20
|
-
formatPretty: (data) => {
|
|
21
|
-
if (data.profiles.length === 0) {
|
|
22
|
-
return 'No profiles configured. Run: pb profile create <name> --api-key <key>';
|
|
23
|
-
}
|
|
24
|
-
const lines = data.profiles.map((name) => {
|
|
25
|
-
const marker = name === data.active ? ' (active)' : '';
|
|
26
|
-
return ` ${name}${marker}`;
|
|
27
|
-
});
|
|
28
|
-
return `Profiles:\n${lines.join('\n')}`;
|
|
29
|
-
},
|
|
71
|
+
fn: async () => resolveProfileListState(),
|
|
72
|
+
formatPretty: formatProfileList,
|
|
30
73
|
});
|
|
31
74
|
}
|
|
32
75
|
/** pb profile create <name> --api-key <key> [--url <url>] */
|
|
@@ -39,36 +82,129 @@ export async function runProfileCreate(opts) {
|
|
|
39
82
|
formatPretty: (data) => `Profile "${data.name}" created.`,
|
|
40
83
|
});
|
|
41
84
|
}
|
|
42
|
-
/** pb profile use <name> — switch active profile, close any active session. */
|
|
43
85
|
export async function runProfileUse(opts) {
|
|
86
|
+
if (opts.local && opts.global) {
|
|
87
|
+
throw new CLIError('Cannot use both --local and --global.', {
|
|
88
|
+
code: ErrorCode.VALIDATION_FAILED,
|
|
89
|
+
category: 'validation',
|
|
90
|
+
guidance: 'Pick one: --local (repo pin only), --global (global only), or neither (reconcile both).',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
44
93
|
await runCliCommand({
|
|
45
94
|
fn: async () => {
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
95
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
96
|
+
const localPin = readLocalProjectConfig()?.profile ?? null;
|
|
97
|
+
// PB_PROFILE always wins resolution (by design). If it's set, ANY profile write
|
|
98
|
+
// here is shadowed — surface that instead of failing silently (the TEN-2163 trap).
|
|
99
|
+
const PB_PROFILE = process.env.PB_PROFILE?.trim() || null;
|
|
100
|
+
// An exported key outranks every profile file, so a switch made under one is SHADOWED in
|
|
101
|
+
// the parent shell exactly like PB_PROFILE above — report it rather than printing a
|
|
102
|
+
// "Now using …" the operator will never observe (Codex P2 r7).
|
|
103
|
+
const shadowingKey = isEnvKeyBinding();
|
|
104
|
+
const resetEnv = () => {
|
|
105
|
+
resetConfigCache();
|
|
106
|
+
delete process.env.PRODUCTBRAIN_API_KEY;
|
|
107
|
+
delete process.env.CONVEX_SITE_URL;
|
|
108
|
+
// NOTE: deliberately NOT re-snapshotting the reported source here. The delete above only
|
|
109
|
+
// affects THIS child process; the parent shell still exports the key, so re-snapshotting
|
|
110
|
+
// would record an absence that is true for nobody and label the next command's binding
|
|
111
|
+
// wrong. `shadowingKey` above keeps the startup truth.
|
|
112
|
+
};
|
|
113
|
+
// Discard ANY session file (active OR stale closed marker) — a closed marker would
|
|
114
|
+
// let the 2h auto-resume re-pin the old workspace. Report only an ACTIVE session
|
|
115
|
+
// in the print line. Review fix (Codex): a profile switch changes the effective workspace,
|
|
116
|
+
// so clear ALL conversation markers, not just the current conversation's — otherwise a
|
|
117
|
+
// sibling conversation's active marker survives and could be reused against the new workspace.
|
|
118
|
+
const discardSessionState = () => {
|
|
119
|
+
// Report accurately whether an active session was cleared — including a SIBLING conversation's
|
|
120
|
+
// (Codex re-review): a profile switch from a shell whose current conversation has no marker
|
|
121
|
+
// still discards all markers, so `readSession()` (current only) would under-report and
|
|
122
|
+
// silently strand a sibling active session on the old workspace.
|
|
123
|
+
const hadActive = readSession() !== null || hasAnyActiveSession();
|
|
124
|
+
discardAllSessions();
|
|
125
|
+
return hadActive;
|
|
126
|
+
};
|
|
127
|
+
// --- --local: repo pin only ---
|
|
128
|
+
if (opts.local) {
|
|
129
|
+
if (!projectRoot) {
|
|
130
|
+
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',
|
|
131
|
+
guidance: 'Run `pb connect <token>` to set up a project workspace, or use --global.' });
|
|
132
|
+
}
|
|
133
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
134
|
+
const sessionCleared = discardSessionState();
|
|
135
|
+
resetEnv();
|
|
136
|
+
return { name: opts.name, scope: 'local', reconciledLocalPin: false,
|
|
137
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
|
|
138
|
+
}
|
|
139
|
+
// --- --global: global only (does not change a locally-pinned repo) ---
|
|
140
|
+
if (opts.global) {
|
|
141
|
+
useProfile(opts.name);
|
|
142
|
+
const pinnedElsewhere = localPin && localPin !== opts.name ? localPin : null;
|
|
143
|
+
// The repo's effective workspace only changes when it is NOT pinned elsewhere.
|
|
144
|
+
const sessionCleared = pinnedElsewhere ? false : discardSessionState();
|
|
145
|
+
resetEnv();
|
|
146
|
+
const workspace = pinnedElsewhere ? null : await safeProbe();
|
|
147
|
+
return { name: opts.name, scope: 'global', reconciledLocalPin: false,
|
|
148
|
+
sessionCleared, workspace, pinnedElsewhere, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
|
|
50
149
|
}
|
|
150
|
+
// --- default: flip global AND reconcile the repo pin if one exists ---
|
|
51
151
|
useProfile(opts.name);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
};
|
|
152
|
+
let reconciledLocalPin = false;
|
|
153
|
+
if (projectRoot && localPin) {
|
|
154
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
155
|
+
reconciledLocalPin = true;
|
|
156
|
+
}
|
|
157
|
+
const sessionCleared = discardSessionState();
|
|
158
|
+
resetEnv();
|
|
159
|
+
return { name: opts.name, scope: 'reconcile', reconciledLocalPin,
|
|
160
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
|
|
62
161
|
},
|
|
63
|
-
formatPretty: (
|
|
64
|
-
|
|
65
|
-
if (
|
|
66
|
-
|
|
162
|
+
formatPretty: (d) => {
|
|
163
|
+
const lines = [];
|
|
164
|
+
if (d.scope === 'global') {
|
|
165
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
166
|
+
lines.push(`Switched global profile to "${d.name}"${arrow}.`);
|
|
167
|
+
if (d.pinnedElsewhere) {
|
|
168
|
+
lines.push(`Note: this repo is pinned to "${d.pinnedElsewhere}" via config.local.json — the global switch won't change it here.`);
|
|
169
|
+
lines.push(`Run \`pb use ${d.name}\` (no flag) to switch this repo too.`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
174
|
+
const where = d.scope === 'local' ? ' (repo-local)' : '';
|
|
175
|
+
lines.push(`Now using "${d.name}"${where}${arrow}`);
|
|
176
|
+
if (d.reconciledLocalPin)
|
|
177
|
+
lines.push('(updated repo-local pin in .productbrain/config.local.json)');
|
|
67
178
|
}
|
|
68
|
-
|
|
179
|
+
if (d.sessionCleared)
|
|
180
|
+
lines.push('(previous session closed)');
|
|
181
|
+
if (d['PB_PROFILE']) {
|
|
182
|
+
lines.push(`⚠ PB_PROFILE is set to "${d['PB_PROFILE']}" in your environment and overrides profile resolution.`);
|
|
183
|
+
// Only promise that unsetting PB_PROFILE is sufficient when it actually IS (Codex P2 r14):
|
|
184
|
+
// an exported API key outranks it too, so with both set, unsetting this one alone changes
|
|
185
|
+
// nothing — and the key's own warning below already names the step that does.
|
|
186
|
+
if (!d.shadowedByApiKey)
|
|
187
|
+
lines.push(` This switch won't take effect until you unset it: \`unset PB_PROFILE\`.`);
|
|
188
|
+
}
|
|
189
|
+
// Same trap one rung higher: an exported key outranks every profile file, so without this
|
|
190
|
+
// the command reports a switch the operator's shell will keep shadowing (Codex P2 r7).
|
|
191
|
+
if (d.shadowedByApiKey) {
|
|
192
|
+
lines.push('⚠ PRODUCTBRAIN_API_KEY is exported in your environment and outranks every profile.');
|
|
193
|
+
lines.push(d['PB_PROFILE']
|
|
194
|
+
? " This switch won't take effect until you unset both: `unset PRODUCTBRAIN_API_KEY PB_PROFILE`."
|
|
195
|
+
: " This switch won't take effect until you unset it: `unset PRODUCTBRAIN_API_KEY`.");
|
|
196
|
+
}
|
|
197
|
+
return lines.join('\n');
|
|
69
198
|
},
|
|
70
199
|
});
|
|
71
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Best-effort workspace name after a profile switch; null on any failure.
|
|
203
|
+
* probeWorkspace() already swallows network/auth errors and returns null, so this is offline-safe.
|
|
204
|
+
*/
|
|
205
|
+
async function safeProbe() {
|
|
206
|
+
return (await probeWorkspace())?.name ?? null;
|
|
207
|
+
}
|
|
72
208
|
/** pb profile delete <name> */
|
|
73
209
|
export async function runProfileDelete(opts) {
|
|
74
210
|
await runCliCommand({
|