@productbrain/cli 0.1.0-beta.5 → 0.1.0-beta.5060
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 +100 -30
- package/dist/__tests__/adapters.test.d.ts +2 -0
- package/dist/__tests__/adapters.test.d.ts.map +1 -0
- package/dist/__tests__/adapters.test.js +470 -0
- package/dist/__tests__/adapters.test.js.map +1 -0
- 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.d.ts +2 -0
- package/dist/__tests__/audit.test.d.ts.map +1 -0
- package/dist/__tests__/audit.test.js +415 -0
- package/dist/__tests__/audit.test.js.map +1 -0
- 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__/batch-transformations.test.d.ts +2 -0
- package/dist/__tests__/batch-transformations.test.d.ts.map +1 -0
- package/dist/__tests__/batch-transformations.test.js +263 -0
- package/dist/__tests__/batch-transformations.test.js.map +1 -0
- package/dist/__tests__/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.d.ts +2 -0
- package/dist/__tests__/capture.test.d.ts.map +1 -0
- package/dist/__tests__/capture.test.js +1198 -0
- package/dist/__tests__/capture.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 +68 -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 +8 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +993 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.js +146 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/constellation.test.d.ts +2 -0
- package/dist/__tests__/constellation.test.d.ts.map +1 -0
- package/dist/__tests__/constellation.test.js +254 -0
- package/dist/__tests__/constellation.test.js.map +1 -0
- package/dist/__tests__/context-strategy.test.d.ts +2 -0
- package/dist/__tests__/context-strategy.test.d.ts.map +1 -0
- package/dist/__tests__/context-strategy.test.js +79 -0
- package/dist/__tests__/context-strategy.test.js.map +1 -0
- package/dist/__tests__/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__/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.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +143 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/experiment.test.d.ts +6 -0
- package/dist/__tests__/experiment.test.d.ts.map +1 -0
- package/dist/__tests__/experiment.test.js +69 -0
- package/dist/__tests__/experiment.test.js.map +1 -0
- package/dist/__tests__/fields.test.d.ts +2 -0
- package/dist/__tests__/fields.test.d.ts.map +1 -0
- package/dist/__tests__/fields.test.js +238 -0
- package/dist/__tests__/fields.test.js.map +1 -0
- package/dist/__tests__/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__/glossary.test.d.ts +2 -0
- package/dist/__tests__/glossary.test.d.ts.map +1 -0
- package/dist/__tests__/glossary.test.js +32 -0
- package/dist/__tests__/glossary.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +424 -0
- package/dist/__tests__/handshake-augment.test.js.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.js +207 -0
- package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
- package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
- package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-formatter.test.js +67 -0
- package/dist/__tests__/handshake-formatter.test.js.map +1 -0
- package/dist/__tests__/handshake-preview.test.d.ts +2 -0
- package/dist/__tests__/handshake-preview.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-preview.test.js +950 -0
- package/dist/__tests__/handshake-preview.test.js.map +1 -0
- package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
- package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.e2e.test.js +1255 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.d.ts +2 -0
- package/dist/__tests__/handshake.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.test.js +981 -0
- package/dist/__tests__/handshake.test.js.map +1 -0
- 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 +119 -12
- package/dist/__tests__/ingest.test.js.map +1 -1
- package/dist/__tests__/init.test.d.ts +7 -0
- package/dist/__tests__/init.test.d.ts.map +1 -0
- package/dist/__tests__/init.test.js +183 -0
- package/dist/__tests__/init.test.js.map +1 -0
- 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__/login.test.d.ts +2 -0
- package/dist/__tests__/login.test.d.ts.map +1 -0
- package/dist/__tests__/login.test.js +167 -0
- package/dist/__tests__/login.test.js.map +1 -0
- package/dist/__tests__/manifest.test.d.ts +6 -0
- package/dist/__tests__/manifest.test.d.ts.map +1 -0
- package/dist/__tests__/manifest.test.js +255 -0
- package/dist/__tests__/manifest.test.js.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.js +71 -0
- package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
- package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
- package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.integration.test.js +17 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +12 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +86 -0
- package/dist/__tests__/method-registry.test.js.map +1 -0
- package/dist/__tests__/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.d.ts +2 -0
- package/dist/__tests__/onboarding-path-b.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.js +46 -0
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -0
- package/dist/__tests__/onboarding.test.d.ts +6 -0
- package/dist/__tests__/onboarding.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding.test.js +347 -0
- package/dist/__tests__/onboarding.test.js.map +1 -0
- package/dist/__tests__/orient.test.d.ts +2 -0
- package/dist/__tests__/orient.test.d.ts.map +1 -0
- package/dist/__tests__/orient.test.js +633 -0
- package/dist/__tests__/orient.test.js.map +1 -0
- package/dist/__tests__/perimeter.test.d.ts +2 -0
- package/dist/__tests__/perimeter.test.d.ts.map +1 -0
- package/dist/__tests__/perimeter.test.js +165 -0
- package/dist/__tests__/perimeter.test.js.map +1 -0
- package/dist/__tests__/personal-layer.test.d.ts +11 -0
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
- package/dist/__tests__/personal-layer.test.js +268 -0
- package/dist/__tests__/personal-layer.test.js.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.d.ts +2 -0
- package/dist/__tests__/profiles.test.d.ts.map +1 -0
- package/dist/__tests__/profiles.test.js +449 -0
- package/dist/__tests__/profiles.test.js.map +1 -0
- package/dist/__tests__/promote-batch.test.d.ts +2 -0
- package/dist/__tests__/promote-batch.test.d.ts.map +1 -0
- package/dist/__tests__/promote-batch.test.js +185 -0
- package/dist/__tests__/promote-batch.test.js.map +1 -0
- package/dist/__tests__/promote.test.d.ts +2 -0
- package/dist/__tests__/promote.test.d.ts.map +1 -0
- package/dist/__tests__/promote.test.js +430 -0
- package/dist/__tests__/promote.test.js.map +1 -0
- package/dist/__tests__/prompts.test.d.ts +6 -0
- package/dist/__tests__/prompts.test.d.ts.map +1 -0
- package/dist/__tests__/prompts.test.js +146 -0
- package/dist/__tests__/prompts.test.js.map +1 -0
- package/dist/__tests__/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.d.ts +2 -0
- package/dist/__tests__/proposals.test.d.ts.map +1 -0
- package/dist/__tests__/proposals.test.js +167 -0
- package/dist/__tests__/proposals.test.js.map +1 -0
- package/dist/__tests__/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__/relate.test.d.ts +2 -0
- package/dist/__tests__/relate.test.d.ts.map +1 -0
- package/dist/__tests__/relate.test.js +235 -0
- package/dist/__tests__/relate.test.js.map +1 -0
- package/dist/__tests__/repo-detect.test.d.ts +2 -0
- package/dist/__tests__/repo-detect.test.d.ts.map +1 -0
- package/dist/__tests__/repo-detect.test.js +215 -0
- package/dist/__tests__/repo-detect.test.js.map +1 -0
- package/dist/__tests__/reportedProfile.test.d.ts +2 -0
- package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
- package/dist/__tests__/reportedProfile.test.js +104 -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__/runner.test.d.ts +2 -0
- package/dist/__tests__/runner.test.d.ts.map +1 -0
- package/dist/__tests__/runner.test.js +219 -0
- package/dist/__tests__/runner.test.js.map +1 -0
- package/dist/__tests__/session-close-loop.test.d.ts +2 -0
- package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-loop.test.js +231 -0
- package/dist/__tests__/session-close-loop.test.js.map +1 -0
- package/dist/__tests__/session-label.test.d.ts +2 -0
- package/dist/__tests__/session-label.test.d.ts.map +1 -0
- package/dist/__tests__/session-label.test.js +46 -0
- package/dist/__tests__/session-label.test.js.map +1 -0
- package/dist/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/__tests__/session-list-show.test.js +174 -0
- package/dist/__tests__/session-list-show.test.js.map +1 -0
- package/dist/__tests__/session-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +138 -0
- package/dist/__tests__/session-reset.test.js.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.js +99 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.js +183 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.d.ts +2 -0
- package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +379 -0
- package/dist/__tests__/session-state-machine.test.js.map +1 -0
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +160 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.d.ts +2 -0
- package/dist/__tests__/session-touch.test.d.ts.map +1 -0
- package/dist/__tests__/session-touch.test.js +139 -0
- package/dist/__tests__/session-touch.test.js.map +1 -0
- package/dist/__tests__/session.test.d.ts +2 -0
- package/dist/__tests__/session.test.d.ts.map +1 -0
- package/dist/__tests__/session.test.js +46 -0
- package/dist/__tests__/session.test.js.map +1 -0
- package/dist/__tests__/setup-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__/spinner-labels.test.d.ts +2 -0
- package/dist/__tests__/spinner-labels.test.d.ts.map +1 -0
- package/dist/__tests__/spinner-labels.test.js +23 -0
- package/dist/__tests__/spinner-labels.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +6 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +117 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/strip.test.d.ts +2 -0
- package/dist/__tests__/strip.test.d.ts.map +1 -0
- package/dist/__tests__/strip.test.js +164 -0
- package/dist/__tests__/strip.test.js.map +1 -0
- package/dist/__tests__/surface-profiles.test.d.ts +2 -0
- package/dist/__tests__/surface-profiles.test.d.ts.map +1 -0
- package/dist/__tests__/surface-profiles.test.js +233 -0
- package/dist/__tests__/surface-profiles.test.js.map +1 -0
- package/dist/__tests__/surfaces.test.d.ts +2 -0
- package/dist/__tests__/surfaces.test.d.ts.map +1 -0
- package/dist/__tests__/surfaces.test.js +46 -0
- package/dist/__tests__/surfaces.test.js.map +1 -0
- package/dist/__tests__/update-check.test.d.ts +2 -0
- package/dist/__tests__/update-check.test.d.ts.map +1 -0
- package/dist/__tests__/update-check.test.js +215 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.d.ts +2 -0
- package/dist/__tests__/update.test.d.ts.map +1 -0
- package/dist/__tests__/update.test.js +469 -0
- package/dist/__tests__/update.test.js.map +1 -0
- package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
- package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade-runner.test.js +54 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -0
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/verify-formatter.test.d.ts +2 -0
- package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/verify-formatter.test.js +85 -0
- package/dist/__tests__/verify-formatter.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +539 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.d.ts +2 -0
- package/dist/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/__tests__/workspace.test.js +328 -0
- package/dist/__tests__/workspace.test.js.map +1 -0
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +369 -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 +18 -0
- package/dist/commands/accept.d.ts.map +1 -0
- package/dist/commands/accept.js +76 -0
- package/dist/commands/accept.js.map +1 -0
- package/dist/commands/admin/cockpit.d.ts +91 -0
- package/dist/commands/admin/cockpit.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.js +617 -0
- package/dist/commands/admin/cockpit.js.map +1 -0
- package/dist/commands/admin/index.d.ts +70 -0
- package/dist/commands/admin/index.d.ts.map +1 -0
- package/dist/commands/admin/index.js +365 -0
- package/dist/commands/admin/index.js.map +1 -0
- 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 +68 -0
- package/dist/commands/admin/index.test.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +30 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -0
- package/dist/commands/admin/inspect.js +555 -0
- package/dist/commands/admin/inspect.js.map +1 -0
- package/dist/commands/admin/inspect.test.d.ts +7 -0
- package/dist/commands/admin/inspect.test.d.ts.map +1 -0
- package/dist/commands/admin/inspect.test.js +90 -0
- package/dist/commands/admin/inspect.test.js.map +1 -0
- package/dist/commands/admin/manage.d.ts +8 -0
- package/dist/commands/admin/manage.d.ts.map +1 -0
- package/dist/commands/admin/manage.js +260 -0
- package/dist/commands/admin/manage.js.map +1 -0
- package/dist/commands/admin/manage.test.d.ts +16 -0
- package/dist/commands/admin/manage.test.d.ts.map +1 -0
- package/dist/commands/admin/manage.test.js +159 -0
- package/dist/commands/admin/manage.test.js.map +1 -0
- package/dist/commands/admin/probe.d.ts +48 -0
- package/dist/commands/admin/probe.d.ts.map +1 -0
- package/dist/commands/admin/probe.js +191 -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 +146 -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 +75 -0
- package/dist/commands/admin/seed.d.ts.map +1 -0
- package/dist/commands/admin/seed.js +947 -0
- package/dist/commands/admin/seed.js.map +1 -0
- package/dist/commands/admin/seed.test.d.ts +11 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -0
- package/dist/commands/admin/seed.test.js +147 -0
- package/dist/commands/admin/seed.test.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +153 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +91 -0
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
- package/dist/commands/audit.d.ts +25 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +223 -0
- package/dist/commands/audit.js.map +1 -0
- 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/brand-pack.d.ts +2 -0
- package/dist/commands/brand-pack.d.ts.map +1 -0
- package/dist/commands/brand-pack.js +25 -0
- package/dist/commands/brand-pack.js.map +1 -0
- package/dist/commands/brief.d.ts +28 -0
- package/dist/commands/brief.d.ts.map +1 -0
- package/dist/commands/brief.js +79 -0
- package/dist/commands/brief.js.map +1 -0
- package/dist/commands/capture.d.ts +38 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +402 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/chain-walk.d.ts +14 -0
- package/dist/commands/chain-walk.d.ts.map +1 -0
- package/dist/commands/chain-walk.js +38 -0
- package/dist/commands/chain-walk.js.map +1 -0
- package/dist/commands/changes.d.ts +11 -0
- package/dist/commands/changes.d.ts.map +1 -0
- package/dist/commands/changes.js +46 -0
- package/dist/commands/changes.js.map +1 -0
- package/dist/commands/codex-prep.d.ts +23 -0
- package/dist/commands/codex-prep.d.ts.map +1 -0
- package/dist/commands/codex-prep.js +56 -0
- package/dist/commands/codex-prep.js.map +1 -0
- package/dist/commands/collections.d.ts +22 -0
- package/dist/commands/collections.d.ts.map +1 -0
- package/dist/commands/collections.js +77 -0
- package/dist/commands/collections.js.map +1 -0
- package/dist/commands/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.d.ts +7 -0
- package/dist/commands/connect-integration.test.d.ts.map +1 -0
- package/dist/commands/connect-integration.test.js +223 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- 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 +42 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +416 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/connect.test.d.ts +6 -0
- package/dist/commands/connect.test.d.ts.map +1 -0
- package/dist/commands/connect.test.js +571 -0
- package/dist/commands/connect.test.js.map +1 -0
- package/dist/commands/constellation.d.ts +11 -0
- package/dist/commands/constellation.d.ts.map +1 -0
- package/dist/commands/constellation.js +33 -0
- package/dist/commands/constellation.js.map +1 -0
- package/dist/commands/context.d.ts +2 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +21 -10
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts +11 -0
- package/dist/commands/cross-cut.d.ts.map +1 -0
- package/dist/commands/cross-cut.js +23 -0
- package/dist/commands/cross-cut.js.map +1 -0
- package/dist/commands/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 +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +367 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +8 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +657 -0
- package/dist/commands/doctor.test.js.map +1 -0
- 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/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 +9 -0
- package/dist/commands/fields.d.ts.map +1 -0
- package/dist/commands/fields.js +30 -0
- package/dist/commands/fields.js.map +1 -0
- package/dist/commands/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.d.ts +8 -1
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +61 -8
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/handshake.d.ts +249 -0
- package/dist/commands/handshake.d.ts.map +1 -0
- package/dist/commands/handshake.js +2661 -0
- package/dist/commands/handshake.js.map +1 -0
- package/dist/commands/ingest.d.ts +8 -2
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +160 -28
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +120 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +101 -38
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/method.d.ts +99 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +804 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/migrate-setup.d.ts +18 -0
- package/dist/commands/migrate-setup.d.ts.map +1 -0
- package/dist/commands/migrate-setup.js +148 -0
- package/dist/commands/migrate-setup.js.map +1 -0
- package/dist/commands/organisation.d.ts +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 +67 -0
- package/dist/commands/organisationHierarchy.js.map +1 -0
- package/dist/commands/organisationHierarchy.test.d.ts +2 -0
- package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.test.js +55 -0
- package/dist/commands/organisationHierarchy.test.js.map +1 -0
- package/dist/commands/organisationWrite.d.ts +18 -0
- package/dist/commands/organisationWrite.d.ts.map +1 -0
- package/dist/commands/organisationWrite.js +50 -0
- package/dist/commands/organisationWrite.js.map +1 -0
- package/dist/commands/orient.d.ts +235 -3
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +242 -10
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +34 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +178 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/promote.d.ts +23 -0
- package/dist/commands/promote.d.ts.map +1 -0
- package/dist/commands/promote.js +276 -0
- package/dist/commands/promote.js.map +1 -0
- 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 +9 -0
- package/dist/commands/proposals.d.ts.map +1 -0
- package/dist/commands/proposals.js +24 -0
- package/dist/commands/proposals.js.map +1 -0
- package/dist/commands/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 +14 -0
- package/dist/commands/reject.d.ts.map +1 -0
- package/dist/commands/reject.js +44 -0
- package/dist/commands/reject.js.map +1 -0
- package/dist/commands/relate.d.ts +17 -0
- package/dist/commands/relate.d.ts.map +1 -0
- package/dist/commands/relate.js +159 -0
- package/dist/commands/relate.js.map +1 -0
- 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/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 +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +6 -4
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +72 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +579 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup-audit.d.ts +59 -0
- package/dist/commands/setup-audit.d.ts.map +1 -0
- package/dist/commands/setup-audit.js +250 -0
- package/dist/commands/setup-audit.js.map +1 -0
- package/dist/commands/setup-detect-surfaces.d.ts +38 -0
- package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
- package/dist/commands/setup-detect-surfaces.js +76 -0
- package/dist/commands/setup-detect-surfaces.js.map +1 -0
- package/dist/commands/setup-ingest.d.ts +17 -0
- package/dist/commands/setup-ingest.d.ts.map +1 -0
- package/dist/commands/setup-ingest.js +174 -0
- package/dist/commands/setup-ingest.js.map +1 -0
- package/dist/commands/setup-resolver.d.ts +58 -0
- package/dist/commands/setup-resolver.d.ts.map +1 -0
- package/dist/commands/setup-resolver.js +150 -0
- package/dist/commands/setup-resolver.js.map +1 -0
- package/dist/commands/setup-state.d.ts +42 -0
- package/dist/commands/setup-state.d.ts.map +1 -0
- package/dist/commands/setup-state.js +93 -0
- package/dist/commands/setup-state.js.map +1 -0
- package/dist/commands/setup.d.ts +23 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +69 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/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 +37 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +235 -0
- package/dist/commands/update.js.map +1 -0
- 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 +13 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +55 -0
- package/dist/commands/verify.js.map +1 -0
- 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 +13 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +79 -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 +72 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +115 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +263 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +548 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.js +159 -0
- package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
- package/dist/formatters/__tests__/session.test.d.ts +2 -0
- package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session.test.js +206 -0
- package/dist/formatters/__tests__/session.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +52 -0
- package/dist/formatters/audit.d.ts.map +1 -0
- package/dist/formatters/audit.js +81 -0
- package/dist/formatters/audit.js.map +1 -0
- package/dist/formatters/brief.d.ts +113 -0
- package/dist/formatters/brief.d.ts.map +1 -0
- package/dist/formatters/brief.js +179 -0
- package/dist/formatters/brief.js.map +1 -0
- package/dist/formatters/capture.d.ts +56 -0
- package/dist/formatters/capture.d.ts.map +1 -0
- package/dist/formatters/capture.js +88 -0
- package/dist/formatters/capture.js.map +1 -0
- package/dist/formatters/chain-walk.d.ts +33 -0
- package/dist/formatters/chain-walk.d.ts.map +1 -0
- package/dist/formatters/chain-walk.js +54 -0
- package/dist/formatters/chain-walk.js.map +1 -0
- package/dist/formatters/changes.d.ts +25 -0
- package/dist/formatters/changes.d.ts.map +1 -0
- package/dist/formatters/changes.js +60 -0
- package/dist/formatters/changes.js.map +1 -0
- package/dist/formatters/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/collections.d.ts +40 -0
- package/dist/formatters/collections.d.ts.map +1 -0
- package/dist/formatters/collections.js +93 -0
- package/dist/formatters/collections.js.map +1 -0
- package/dist/formatters/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/constellation.d.ts +34 -0
- package/dist/formatters/constellation.d.ts.map +1 -0
- package/dist/formatters/constellation.js +38 -0
- package/dist/formatters/constellation.js.map +1 -0
- package/dist/formatters/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/cross-cut.d.ts +21 -0
- package/dist/formatters/cross-cut.d.ts.map +1 -0
- package/dist/formatters/cross-cut.js +32 -0
- package/dist/formatters/cross-cut.js.map +1 -0
- package/dist/formatters/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 +55 -4
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +91 -12
- 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/fields.d.ts +32 -0
- package/dist/formatters/fields.d.ts.map +1 -0
- package/dist/formatters/fields.js +49 -0
- package/dist/formatters/fields.js.map +1 -0
- package/dist/formatters/handshake.d.ts +63 -0
- package/dist/formatters/handshake.d.ts.map +1 -0
- package/dist/formatters/handshake.js +199 -0
- package/dist/formatters/handshake.js.map +1 -0
- 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 +349 -9
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +393 -45
- 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 +77 -0
- package/dist/formatters/orientDirection.d.ts.map +1 -0
- package/dist/formatters/orientDirection.js +94 -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 +193 -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 +79 -0
- package/dist/formatters/promote.d.ts.map +1 -0
- package/dist/formatters/promote.js +79 -0
- package/dist/formatters/promote.js.map +1 -0
- package/dist/formatters/proposals.d.ts +45 -0
- package/dist/formatters/proposals.d.ts.map +1 -0
- package/dist/formatters/proposals.js +62 -0
- package/dist/formatters/proposals.js.map +1 -0
- package/dist/formatters/questions.d.ts +100 -0
- package/dist/formatters/questions.d.ts.map +1 -0
- package/dist/formatters/questions.js +146 -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 +184 -0
- package/dist/formatters/questions.test.js.map +1 -0
- package/dist/formatters/relate.d.ts +27 -0
- package/dist/formatters/relate.d.ts.map +1 -0
- package/dist/formatters/relate.js +25 -0
- package/dist/formatters/relate.js.map +1 -0
- 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 +0 -4
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +20 -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 +129 -0
- package/dist/formatters/session.d.ts.map +1 -0
- package/dist/formatters/session.js +356 -0
- package/dist/formatters/session.js.map +1 -0
- 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 +20 -0
- package/dist/formatters/update.d.ts.map +1 -0
- package/dist/formatters/update.js +49 -0
- package/dist/formatters/update.js.map +1 -0
- package/dist/formatters/verify.d.ts +19 -0
- package/dist/formatters/verify.d.ts.map +1 -0
- package/dist/formatters/verify.js +29 -0
- package/dist/formatters/verify.js.map +1 -0
- 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 +348 -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 +77 -0
- package/dist/generators/adapters.d.ts.map +1 -0
- package/dist/generators/adapters.js +350 -0
- package/dist/generators/adapters.js.map +1 -0
- package/dist/generators/adapters.test.d.ts +2 -0
- package/dist/generators/adapters.test.d.ts.map +1 -0
- package/dist/generators/adapters.test.js +27 -0
- package/dist/generators/adapters.test.js.map +1 -0
- package/dist/generators/archetypes.d.ts +52 -0
- package/dist/generators/archetypes.d.ts.map +1 -0
- package/dist/generators/archetypes.js +190 -0
- package/dist/generators/archetypes.js.map +1 -0
- package/dist/generators/archetypes.test.d.ts +2 -0
- package/dist/generators/archetypes.test.d.ts.map +1 -0
- package/dist/generators/archetypes.test.js +272 -0
- package/dist/generators/archetypes.test.js.map +1 -0
- 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/briefing-md.d.ts +8 -0
- package/dist/generators/briefing-md.d.ts.map +1 -0
- package/dist/generators/briefing-md.js +51 -0
- package/dist/generators/briefing-md.js.map +1 -0
- package/dist/generators/chain-classifier-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 +102 -0
- package/dist/generators/chain-classifier.d.ts.map +1 -0
- package/dist/generators/chain-classifier.js +52 -0
- package/dist/generators/chain-classifier.js.map +1 -0
- package/dist/generators/chain-rules.d.ts +42 -0
- package/dist/generators/chain-rules.d.ts.map +1 -0
- package/dist/generators/chain-rules.js +256 -0
- package/dist/generators/chain-rules.js.map +1 -0
- package/dist/generators/chain-rules.test.d.ts +2 -0
- package/dist/generators/chain-rules.test.d.ts.map +1 -0
- package/dist/generators/chain-rules.test.js +448 -0
- package/dist/generators/chain-rules.test.js.map +1 -0
- package/dist/generators/context-md.d.ts +8 -0
- package/dist/generators/context-md.d.ts.map +1 -0
- package/dist/generators/context-md.js +134 -0
- package/dist/generators/context-md.js.map +1 -0
- package/dist/generators/handshake-diff.d.ts +67 -0
- package/dist/generators/handshake-diff.d.ts.map +1 -0
- package/dist/generators/handshake-diff.js +183 -0
- package/dist/generators/handshake-diff.js.map +1 -0
- package/dist/generators/handshake-diff.test.d.ts +2 -0
- package/dist/generators/handshake-diff.test.d.ts.map +1 -0
- package/dist/generators/handshake-diff.test.js +264 -0
- package/dist/generators/handshake-diff.test.js.map +1 -0
- package/dist/generators/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 +165 -0
- package/dist/generators/portable-knowledge.d.ts.map +1 -0
- package/dist/generators/portable-knowledge.js +599 -0
- package/dist/generators/portable-knowledge.js.map +1 -0
- package/dist/generators/portable-knowledge.test.d.ts +2 -0
- package/dist/generators/portable-knowledge.test.d.ts.map +1 -0
- package/dist/generators/portable-knowledge.test.js +970 -0
- package/dist/generators/portable-knowledge.test.js.map +1 -0
- 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 +48 -0
- package/dist/generators/surface-profiles.d.ts.map +1 -0
- package/dist/generators/surface-profiles.js +98 -0
- package/dist/generators/surface-profiles.js.map +1 -0
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +874 -39
- 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 +28 -0
- package/dist/lib/activation.d.ts.map +1 -0
- package/dist/lib/activation.js +61 -0
- package/dist/lib/activation.js.map +1 -0
- package/dist/lib/activation.test.d.ts +6 -0
- package/dist/lib/activation.test.d.ts.map +1 -0
- package/dist/lib/activation.test.js +121 -0
- package/dist/lib/activation.test.js.map +1 -0
- package/dist/lib/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 +86 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +413 -13
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +61 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +128 -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 +132 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +421 -42
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/configResult.d.ts +80 -0
- package/dist/lib/configResult.d.ts.map +1 -0
- package/dist/lib/configResult.js +176 -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 +46 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +83 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/conversation-engine.d.ts +45 -0
- package/dist/lib/conversation-engine.d.ts.map +1 -0
- package/dist/lib/conversation-engine.js +112 -0
- package/dist/lib/conversation-engine.js.map +1 -0
- package/dist/lib/conversation-phases.d.ts +59 -0
- package/dist/lib/conversation-phases.d.ts.map +1 -0
- package/dist/lib/conversation-phases.js +11 -0
- package/dist/lib/conversation-phases.js.map +1 -0
- package/dist/lib/conversation-signals.d.ts +30 -0
- package/dist/lib/conversation-signals.d.ts.map +1 -0
- package/dist/lib/conversation-signals.js +64 -0
- package/dist/lib/conversation-signals.js.map +1 -0
- package/dist/lib/conversation.d.ts +36 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +66 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/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/deployment.d.ts +23 -0
- package/dist/lib/deployment.d.ts.map +1 -0
- package/dist/lib/deployment.js +78 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/deployment.test.d.ts +5 -0
- package/dist/lib/deployment.test.d.ts.map +1 -0
- package/dist/lib/deployment.test.js +54 -0
- package/dist/lib/deployment.test.js.map +1 -0
- package/dist/lib/errors.d.ts +125 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +134 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/experiment.d.ts +18 -0
- package/dist/lib/experiment.d.ts.map +1 -0
- package/dist/lib/experiment.js +28 -0
- package/dist/lib/experiment.js.map +1 -0
- package/dist/lib/format.d.ts +10 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +27 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +55 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +92 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +15 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +98 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/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.d.ts +19 -0
- package/dist/lib/glossary.d.ts.map +1 -0
- package/dist/lib/glossary.js +53 -0
- package/dist/lib/glossary.js.map +1 -0
- package/dist/lib/hook-intents.d.ts +51 -0
- package/dist/lib/hook-intents.d.ts.map +1 -0
- package/dist/lib/hook-intents.js +85 -0
- package/dist/lib/hook-intents.js.map +1 -0
- package/dist/lib/inferSourceDate.d.ts +12 -0
- package/dist/lib/inferSourceDate.d.ts.map +1 -0
- package/dist/lib/inferSourceDate.js +44 -0
- package/dist/lib/inferSourceDate.js.map +1 -0
- package/dist/lib/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 +61 -0
- package/dist/lib/localBinding.d.ts.map +1 -0
- package/dist/lib/localBinding.js +155 -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 +10 -0
- package/dist/lib/onboarding-path-b.d.ts.map +1 -0
- package/dist/lib/onboarding-path-b.js +243 -0
- package/dist/lib/onboarding-path-b.js.map +1 -0
- package/dist/lib/onboarding-shared.d.ts +81 -0
- package/dist/lib/onboarding-shared.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.js +175 -0
- package/dist/lib/onboarding-shared.js.map +1 -0
- package/dist/lib/onboarding-topics.d.ts +27 -0
- package/dist/lib/onboarding-topics.d.ts.map +1 -0
- package/dist/lib/onboarding-topics.js +57 -0
- package/dist/lib/onboarding-topics.js.map +1 -0
- package/dist/lib/onboarding.d.ts +17 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +358 -0
- package/dist/lib/onboarding.js.map +1 -0
- 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 +87 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +239 -0
- package/dist/lib/profiles.js.map +1 -0
- 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/prompts.d.ts +65 -0
- package/dist/lib/prompts.d.ts.map +1 -0
- package/dist/lib/prompts.js +132 -0
- package/dist/lib/prompts.js.map +1 -0
- package/dist/lib/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/repo-detect.d.ts +33 -0
- package/dist/lib/repo-detect.d.ts.map +1 -0
- package/dist/lib/repo-detect.js +83 -0
- package/dist/lib/repo-detect.js.map +1 -0
- package/dist/lib/reportedProfile.d.ts +17 -0
- package/dist/lib/reportedProfile.d.ts.map +1 -0
- package/dist/lib/reportedProfile.js +24 -0
- package/dist/lib/reportedProfile.js.map +1 -0
- package/dist/lib/runner.d.ts +41 -0
- package/dist/lib/runner.d.ts.map +1 -0
- package/dist/lib/runner.js +102 -0
- package/dist/lib/runner.js.map +1 -0
- package/dist/lib/session.d.ts +98 -0
- package/dist/lib/session.d.ts.map +1 -0
- package/dist/lib/session.js +306 -0
- package/dist/lib/session.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.d.ts +27 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +76 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/spinner.test.d.ts +2 -0
- package/dist/lib/spinner.test.d.ts.map +1 -0
- package/dist/lib/spinner.test.js +39 -0
- package/dist/lib/spinner.test.js.map +1 -0
- package/dist/lib/startup-resolution-signals.d.ts +34 -0
- package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.js +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 +20 -0
- package/dist/lib/strip.d.ts.map +1 -0
- package/dist/lib/strip.js +63 -0
- package/dist/lib/strip.js.map +1 -0
- package/dist/lib/style.d.ts +96 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +174 -0
- package/dist/lib/style.js.map +1 -0
- package/dist/lib/style.test.d.ts +7 -0
- package/dist/lib/style.test.d.ts.map +1 -0
- package/dist/lib/style.test.js +263 -0
- package/dist/lib/style.test.js.map +1 -0
- package/dist/lib/telemetry.d.ts +15 -0
- package/dist/lib/telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry.js +47 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/lib/tokenConstants.d.ts +19 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +19 -0
- package/dist/lib/tokenConstants.js.map +1 -0
- package/dist/lib/update-check.d.ts +56 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +296 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-runner.d.ts +22 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +110 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/wizard-surfaces.d.ts +47 -0
- package/dist/lib/wizard-surfaces.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.js +176 -0
- package/dist/lib/wizard-surfaces.js.map +1 -0
- package/dist/lib/wizard-surfaces.test.d.ts +2 -0
- package/dist/lib/wizard-surfaces.test.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.test.js +127 -0
- package/dist/lib/wizard-surfaces.test.js.map +1 -0
- package/dist/lib/wizard-trust.d.ts +31 -0
- package/dist/lib/wizard-trust.d.ts.map +1 -0
- package/dist/lib/wizard-trust.js +66 -0
- package/dist/lib/wizard-trust.js.map +1 -0
- package/dist/lib/wizard-trust.test.d.ts +2 -0
- package/dist/lib/wizard-trust.test.d.ts.map +1 -0
- package/dist/lib/wizard-trust.test.js +32 -0
- package/dist/lib/wizard-trust.test.js.map +1 -0
- package/dist/lib/workspace-probe.d.ts +19 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -0
- package/dist/lib/workspace-probe.js +27 -0
- package/dist/lib/workspace-probe.js.map +1 -0
- package/dist/lib/workspaceNotice.d.ts +76 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +95 -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 +83 -0
- package/dist/registerEntryCommands.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/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 +18 -5
- package/templates/archetypes/boundary.md +23 -0
- package/templates/archetypes/constraint.md +23 -0
- package/templates/archetypes/convention.md +23 -0
- package/templates/archetypes/policy.md +23 -0
- package/templates/archetypes/quality-gate.md +23 -0
- package/templates/archetypes/workflow.md +23 -0
- package/templates/general/code-integrity.md +11 -0
- package/templates/general/getting-started.md +12 -0
- package/templates/method-registry.json +16 -0
- package/templates/node-ts/code-integrity.md +13 -0
- package/templates/node-ts/testing.md +12 -0
- package/templates/python/code-integrity.md +13 -0
- package/templates/python/testing.md +12 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { formatRelateReceipt, formatUnrelateReceipt } from './relate.js';
|
|
3
|
+
describe('formatRelateReceipt', () => {
|
|
4
|
+
it('renders a plain receipt with no advisories', () => {
|
|
5
|
+
const out = formatRelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'related' });
|
|
6
|
+
expect(out).toBe('→ A –[informs]→ B');
|
|
7
|
+
});
|
|
8
|
+
it('renders alreadyExists', () => {
|
|
9
|
+
const out = formatRelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'related', alreadyExists: true });
|
|
10
|
+
expect(out).toBe('Already exists: A –[informs]→ B');
|
|
11
|
+
});
|
|
12
|
+
it('renders proposal_created', () => {
|
|
13
|
+
const out = formatRelateReceipt({ fromId: 'A', type: 'governs', toId: 'B', action: 'proposal_created' });
|
|
14
|
+
expect(out).toBe('Proposal created (requires approval): A –[governs]→ B');
|
|
15
|
+
});
|
|
16
|
+
// WP-625 (S3 of WP-618, DEC-1546, TEN-3037): the advisory must reach the terminal — this IS
|
|
17
|
+
// doneWhen 6's mechanism (a Convex log line does not satisfy it; this printer does).
|
|
18
|
+
it('appends every advisory, naming the rule, the org stage, and the rule text', () => {
|
|
19
|
+
const out = formatRelateReceipt({
|
|
20
|
+
fromId: 'STR-1', type: 'depends_on', toId: 'STR-2', action: 'related',
|
|
21
|
+
advisories: [
|
|
22
|
+
{ ruleId: 'REL-LEGAL-1', ruleText: 'REL-LEGAL-1: relation type "depends_on" is not declared valid for "vision".', severity: 'advisory', stage: 'discovering' },
|
|
23
|
+
],
|
|
24
|
+
});
|
|
25
|
+
expect(out).toContain('→ STR-1 –[depends_on]→ STR-2');
|
|
26
|
+
expect(out).toContain('⚠ REL-LEGAL-1');
|
|
27
|
+
// WP-625 review round 1: the pretty printer used to drop `stage` — discovering vs.
|
|
28
|
+
// established advisories looked identical even though the backend resolves it deliberately.
|
|
29
|
+
expect(out).toContain('org stage: discovering');
|
|
30
|
+
expect(out).toContain('not declared valid for "vision"');
|
|
31
|
+
});
|
|
32
|
+
it('WP-625 review round 1: a discovering advisory and an established advisory print differently', () => {
|
|
33
|
+
const base = { fromId: 'STR-1', type: 'depends_on', toId: 'STR-2', action: 'related' };
|
|
34
|
+
const discovering = formatRelateReceipt({ ...base, advisories: [{ ruleId: 'REL-LEGAL-1', ruleText: 'x', severity: 'advisory', stage: 'discovering' }] });
|
|
35
|
+
const established = formatRelateReceipt({ ...base, advisories: [{ ruleId: 'REL-LEGAL-1', ruleText: 'x', severity: 'advisory', stage: 'established' }] });
|
|
36
|
+
expect(discovering).not.toBe(established);
|
|
37
|
+
});
|
|
38
|
+
it('renders multiple co-occurring advisories, each on its own line', () => {
|
|
39
|
+
const out = formatRelateReceipt({
|
|
40
|
+
fromId: 'STR-1', type: 'part_of', toId: 'STR-1', action: 'related',
|
|
41
|
+
advisories: [
|
|
42
|
+
{ ruleId: 'REL-LEGAL-1', ruleText: 'REL-LEGAL-1: ...', severity: 'advisory', stage: 'discovering' },
|
|
43
|
+
{ ruleId: 'ALT-1', ruleText: 'ALT-1: self-nesting never in WHY/MEMORY — DEC-1546.', severity: 'advisory', stage: 'discovering' },
|
|
44
|
+
],
|
|
45
|
+
});
|
|
46
|
+
expect(out).toContain('⚠ REL-LEGAL-1');
|
|
47
|
+
expect(out).toContain('⚠ ALT-1');
|
|
48
|
+
expect(out).toContain('DEC-1546');
|
|
49
|
+
});
|
|
50
|
+
it('adds no advisory lines when the array is empty or absent', () => {
|
|
51
|
+
const withEmpty = formatRelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'related', advisories: [] });
|
|
52
|
+
const withUndefined = formatRelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'related' });
|
|
53
|
+
expect(withEmpty).toBe('→ A –[informs]→ B');
|
|
54
|
+
expect(withUndefined).toBe('→ A –[informs]→ B');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('formatRelateReceipt — dry_run (WP-688 S2a)', () => {
|
|
58
|
+
it('renders a clean dry-run with no blocking, no advisories', () => {
|
|
59
|
+
const out = formatRelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'dry_run' });
|
|
60
|
+
expect(out).toBe('[dry-run, no write] A –[informs]→ B');
|
|
61
|
+
});
|
|
62
|
+
it('renders a wouldBlock dry-run with its reason', () => {
|
|
63
|
+
const out = formatRelateReceipt({ fromId: 'A', type: 'anchored_to', toId: 'B', action: 'dry_run', wouldBlock: true, blockingReason: 'scope collapse' });
|
|
64
|
+
expect(out).toContain('[dry-run, no write] A –[anchored_to]→ B');
|
|
65
|
+
expect(out).toContain('✗ would be BLOCKED: scope collapse');
|
|
66
|
+
});
|
|
67
|
+
it('renders dry-run advisories the same way a real write would', () => {
|
|
68
|
+
const out = formatRelateReceipt({
|
|
69
|
+
fromId: 'A', type: 'conflicts_with', toId: 'B', action: 'dry_run',
|
|
70
|
+
advisories: [{ ruleId: 'REL-LEGAL-1', ruleText: 'x', severity: 'advisory', stage: 'discovering' }],
|
|
71
|
+
});
|
|
72
|
+
expect(out).toContain('[dry-run, no write] A –[conflicts_with]→ B');
|
|
73
|
+
expect(out).toContain('⚠ REL-LEGAL-1');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('formatUnrelateReceipt', () => {
|
|
77
|
+
it('renders the removal receipt', () => {
|
|
78
|
+
expect(formatUnrelateReceipt({ fromId: 'A', type: 'informs', toId: 'B', action: 'unrelated' })).toBe('✗ Removed A –[informs]→ B');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=relate.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relate.test.js","sourceRoot":"","sources":["../../src/formatters/relate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scoreboard formatter — compact human-readable board for `pb scoreboard` (pretty mode).
|
|
3
|
+
*
|
|
4
|
+
* The JSON mode (the agent-primary surface) emits the full structured ScoreboardCliView; this is
|
|
5
|
+
* the human glance: one line per metric with a status glyph, the raw reading, and (when not ok)
|
|
6
|
+
* the next action. The standing coaching/moat `unmeasured` line always prints — honesty over
|
|
7
|
+
* flattery (four green tiles ≠ a healthy moat).
|
|
8
|
+
*/
|
|
9
|
+
import type { ScoreboardCliView } from '../commands/scoreboard.js';
|
|
10
|
+
export declare function formatScoreboard(view: ScoreboardCliView): string;
|
|
11
|
+
//# sourceMappingURL=scoreboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoreboard.d.ts","sourceRoot":"","sources":["../../src/formatters/scoreboard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA0InE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAuBhE"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scoreboard formatter — compact human-readable board for `pb scoreboard` (pretty mode).
|
|
3
|
+
*
|
|
4
|
+
* The JSON mode (the agent-primary surface) emits the full structured ScoreboardCliView; this is
|
|
5
|
+
* the human glance: one line per metric with a status glyph, the raw reading, and (when not ok)
|
|
6
|
+
* the next action. The standing coaching/moat `unmeasured` line always prints — honesty over
|
|
7
|
+
* flattery (four green tiles ≠ a healthy moat).
|
|
8
|
+
*/
|
|
9
|
+
import { green, red, yellow, dim, bold, cyan } from '../lib/style.js';
|
|
10
|
+
function statusGlyph(status) {
|
|
11
|
+
switch (status) {
|
|
12
|
+
case 'ok':
|
|
13
|
+
return green('OK ');
|
|
14
|
+
case 'degraded':
|
|
15
|
+
return red('DEGRADED');
|
|
16
|
+
case 'awaiting':
|
|
17
|
+
return yellow('AWAITING');
|
|
18
|
+
case 'unmeasured':
|
|
19
|
+
return dim('UNMEASURED');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function formatLine(d) {
|
|
23
|
+
const head = `${statusGlyph(d.status).padEnd(10)} ${bold(d.metric)} ${d.label}`;
|
|
24
|
+
const reading = ` ${dim('reading:')} ${d.reading}`;
|
|
25
|
+
const lines = [head, reading];
|
|
26
|
+
if (d.status !== 'ok') {
|
|
27
|
+
lines.push(` ${dim('cause:')} ${d.cause}`);
|
|
28
|
+
if (d.nextAction)
|
|
29
|
+
lines.push(` ${cyan('→')} ${d.nextAction}`);
|
|
30
|
+
}
|
|
31
|
+
return lines.join('\n');
|
|
32
|
+
}
|
|
33
|
+
/** A parenthetical qualifier for a value sampled from a scan-capped read — never silently
|
|
34
|
+
* presented as complete (PR #422 review: the label-honesty failure this run exists to prevent). */
|
|
35
|
+
function truncatedQualifier(truncated) {
|
|
36
|
+
return truncated ? ' (sampled — scan cap reached)' : '';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* WP-499 Slice B (TEN-2743, §2.5): the coherence panel renders RAW values, never a diagnosis
|
|
40
|
+
* tile — DEC-1282, no thresholds baked in. `humanBar.meets`/`lowerBound` is the one legitimate
|
|
41
|
+
* bar-comparison output (from readVerdictSummary); this section never computes a second one.
|
|
42
|
+
*/
|
|
43
|
+
function formatCoherence(c) {
|
|
44
|
+
const lowerBoundText = c.humanBar.lowerBound === null ? 'null' : c.humanBar.lowerBound.toFixed(3);
|
|
45
|
+
// PR #422 review (Codex): reviewed/real/falseAlarm/humanBar.meets are a SAMPLE, not a
|
|
46
|
+
// complete count, whenever readVerdictSummary's scan was capped — a misleading `meets` is
|
|
47
|
+
// exactly what a reader must never see rendered as if it were the full picture.
|
|
48
|
+
const verdictsSuffix = truncatedQualifier(c.reviewedTruncated);
|
|
49
|
+
// PR #422 review round 2 (Codex): overrides/heldBlocks come from two INDEPENDENTLY capped
|
|
50
|
+
// partitions — the server returns rate:null whenever truncated is true (dividing them would
|
|
51
|
+
// bias the ratio, e.g. 5,000 real overrides capped to 500 alongside 500 real held-blocks
|
|
52
|
+
// would read 50% instead of the true ~91%). So truncated+null is a DISTINCT, self-explaining
|
|
53
|
+
// state from "no data yet" (denominator===0, truncated:false) — never conflate the two
|
|
54
|
+
// messages, and never suffix a generic qualifier onto either.
|
|
55
|
+
const overrideRateText = c.contradictionOverrideRate.rate !== null
|
|
56
|
+
? `${(c.contradictionOverrideRate.rate * 100).toFixed(0)}%`
|
|
57
|
+
: c.contradictionOverrideRate.truncated
|
|
58
|
+
? 'rate unavailable — too many events to sample reliably (scan cap reached)'
|
|
59
|
+
: 'no enforcement events yet';
|
|
60
|
+
const openConflictsSuffix = c.openConflictsTruncated ? '+' : '';
|
|
61
|
+
// Review fix (PR #528 P1): this is the OBSERVED precision (real/reviewed), a DIFFERENT
|
|
62
|
+
// number from humanBar.lowerBound (the Wilson confidence bound on the same ratio) — a
|
|
63
|
+
// 1-real/0-falseAlarm cohort reads precision 1.000 while lowerBound sits well below 1.
|
|
64
|
+
// `c.precision` is itself optional (an older deployment's payload predates the field).
|
|
65
|
+
// Review fix (PR #528 round 2, P2): when the verdict-cohort scan truncated, `precision` is
|
|
66
|
+
// only the ratio within the SAMPLED rows, not the full population — the same honesty rule
|
|
67
|
+
// already applied to the counts/humanBar lines above (verdictsSuffix) must also cover this.
|
|
68
|
+
const precisionText = c.precision === undefined
|
|
69
|
+
? 'n/a (older deployment)'
|
|
70
|
+
: c.precision === null
|
|
71
|
+
? 'n/a (N=0)'
|
|
72
|
+
: `${c.precision.toFixed(3)}${verdictsSuffix}`;
|
|
73
|
+
// PR #422 review (Codex): detectionCoverage was assembled server-side specifically for this
|
|
74
|
+
// panel but never rendered — an operator running the default pretty `pb scoreboard` never saw
|
|
75
|
+
// it at all.
|
|
76
|
+
const surfaces = Object.keys(c.detectionCoverage.bySurface);
|
|
77
|
+
const detectionLines = surfaces.length === 0
|
|
78
|
+
? [` ${dim('detection coverage:')} no detection events yet`]
|
|
79
|
+
: [
|
|
80
|
+
` ${dim('detection coverage:')} scanned ${c.detectionCoverage.scanned}${truncatedQualifier(c.detectionCoverage.truncated)}`,
|
|
81
|
+
...surfaces.map((surface) => {
|
|
82
|
+
const counts = c.detectionCoverage.bySurface[surface];
|
|
83
|
+
return ` ${surface}: checked_clear=${counts.checked_clear} checked_conflicts=${counts.checked_conflicts} partial=${counts.partial} unavailable=${counts.unavailable}`;
|
|
84
|
+
}),
|
|
85
|
+
];
|
|
86
|
+
// Review fix (PR #528 P1): every C2 field on CoherencePayload is OPTIONAL — an older
|
|
87
|
+
// deployment's `coherence` object can be present (passing the `if (payload.coherence)`
|
|
88
|
+
// guard in formatScoreboard below) while lacking every field C2 added. Missing-field →
|
|
89
|
+
// undefined → wrong-branch is a documented trap in this repo; render "n/a", never
|
|
90
|
+
// dereference `c.dial.coherencyMode` unguarded (the exact crash the finding named).
|
|
91
|
+
const hasQueueFields = c.openUnverdicted !== undefined && c.verdictedOpenCount !== undefined && c.snoozedCount !== undefined;
|
|
92
|
+
// Adversarial done-audit fix (set-algebra advertising): snoozedUnverdicted publishes the third
|
|
93
|
+
// partition (open + unverdicted + currently snoozed) — see coherenceDial.ts's identity note.
|
|
94
|
+
// Optional/predates-this-fix, same convention as every other C2 queue field. Review fix (PR
|
|
95
|
+
// #539, Codex P2, "qualify truncated snoozed-unverdicted counts"): derived from the SAME
|
|
96
|
+
// sample as openUnverdicted (healSweepRuns.ts's computeVerdictSummary — one fetch, two
|
|
97
|
+
// filters), so it shares openUnverdicted's OWN truncation flag, never rendered as exact
|
|
98
|
+
// when the sample itself was capped.
|
|
99
|
+
const snoozedUnverdictedSuffix = c.snoozedUnverdicted !== undefined
|
|
100
|
+
? `, snoozed-unverdicted ${c.snoozedUnverdicted}${truncatedQualifier(!!c.openUnverdictedTruncated)}`
|
|
101
|
+
: '';
|
|
102
|
+
const queueLine = hasQueueFields
|
|
103
|
+
? ` ${dim('queue:')} actionable ${c.openUnverdicted}${truncatedQualifier(!!c.openUnverdictedTruncated)}, `
|
|
104
|
+
+ `verdicted-open ${c.verdictedOpenCount}${truncatedQualifier(!!c.verdictedOpenTruncated)}, `
|
|
105
|
+
+ `snoozed ${c.snoozedCount}${truncatedQualifier(!!c.snoozedCountTruncated)}${snoozedUnverdictedSuffix}`
|
|
106
|
+
: ` ${dim('queue:')} n/a (older deployment)`;
|
|
107
|
+
// Review fix (PR #528 round 2, P2): totalOpen is countOpenConflictIssues' own 200-row-capped
|
|
108
|
+
// count — the adjacent legacy `open conflicts:` line above already qualifies with `+` via
|
|
109
|
+
// openConflictsSuffix; this line rendered an exact-looking number with no such signal.
|
|
110
|
+
const totalOpenLine = c.totalOpen === undefined
|
|
111
|
+
? ` ${dim('total open:')} n/a (older deployment)`
|
|
112
|
+
: ` ${dim('total open:')} ${c.totalOpen}${truncatedQualifier(!!c.totalOpenTruncated)}${c.totalOpenAlarm ? ' ⚠ ALARM — 150+ open rows' : ''}`;
|
|
113
|
+
const dialLine = c.dial === undefined
|
|
114
|
+
? ` ${dim('dial:')} n/a (older deployment)`
|
|
115
|
+
: ` ${dim('dial:')} mode=${c.dial.coherencyMode} br170Graduated=${c.dial.br170Graduated} br170GraduatedPinned=${c.dial.br170GraduatedPinned}`;
|
|
116
|
+
// C1 (WP-468/FEAT-1408): at-cap disclosure for publish-origin rows (10-row cap) — never
|
|
117
|
+
// telemetry-only (spec requirement). Missing field → older deployment, same n/a convention.
|
|
118
|
+
const publishOriginLine = c.publishOriginOpen === undefined
|
|
119
|
+
? ` ${dim('publish-origin:')} n/a (older deployment)`
|
|
120
|
+
: ` ${dim('publish-origin:')} ${c.publishOriginOpen}/10${truncatedQualifier(!!c.publishOriginTruncated)}${c.publishOriginAtCap ? ' ⚠ AT CAP' : ''}`;
|
|
121
|
+
return [
|
|
122
|
+
`${bold('COHERENCE')} Contradiction advisories & verdicts`,
|
|
123
|
+
` ${dim('open conflicts:')} ${c.openConflictCount}${openConflictsSuffix}`,
|
|
124
|
+
` ${dim('verdicts:')} reviewed ${c.reviewed}, real ${c.real}, falseAlarm ${c.falseAlarm}${verdictsSuffix}`,
|
|
125
|
+
` ${dim('humanBar:')} lowerBound ${lowerBoundText}, meets ${c.humanBar.meets}${verdictsSuffix}`,
|
|
126
|
+
` ${dim('precision:')} ${precisionText}`,
|
|
127
|
+
// point 8: the actionable/verdicted-open/snoozed set. Adversarial done-audit fix
|
|
128
|
+
// (set-algebra advertising): the true identity is totalOpen = actionable +
|
|
129
|
+
// snoozed-unverdicted + verdicted-open — an unverdicted row IS moved out of "actionable"
|
|
130
|
+
// by snoozing (isActionableConflictIssue excludes it); snoozed-unverdicted is that bucket.
|
|
131
|
+
queueLine,
|
|
132
|
+
totalOpenLine,
|
|
133
|
+
// point 8, scope-doc F10: the dial state — previously unreadable from any scoreboard surface.
|
|
134
|
+
dialLine,
|
|
135
|
+
publishOriginLine,
|
|
136
|
+
...detectionLines,
|
|
137
|
+
` ${dim('contradiction override rate:')} ${overrideRateText}`,
|
|
138
|
+
];
|
|
139
|
+
}
|
|
140
|
+
export function formatScoreboard(view) {
|
|
141
|
+
const { diagnosis, payload } = view;
|
|
142
|
+
const when = new Date(payload.generatedAt).toISOString();
|
|
143
|
+
const out = [];
|
|
144
|
+
out.push(bold('Flywheel scoreboard') + dim(` (workspace ${payload.workspaceId} · ${when})`));
|
|
145
|
+
out.push('');
|
|
146
|
+
out.push(formatLine(diagnosis.m1));
|
|
147
|
+
out.push(formatLine(diagnosis.m2));
|
|
148
|
+
out.push(formatLine(diagnosis.m3));
|
|
149
|
+
out.push(formatLine(diagnosis.m4));
|
|
150
|
+
out.push(formatLine(diagnosis.m5));
|
|
151
|
+
out.push('');
|
|
152
|
+
out.push(formatLine(diagnosis.moat));
|
|
153
|
+
// coherence-run-sweep fix (PR #422 post-merge thread, Codex P2, "Handle scoreboards
|
|
154
|
+
// from older deployments"): `payload.coherence`'s type is compile-time only —
|
|
155
|
+
// `kernelCall`'s generic doesn't verify the RUNTIME shape a deployment predating this
|
|
156
|
+
// field actually returns. Rendering unconditionally threw for the default pretty path
|
|
157
|
+
// (only `--json` avoided it); skip the panel instead of crashing `pb scoreboard`.
|
|
158
|
+
if (payload.coherence) {
|
|
159
|
+
out.push('');
|
|
160
|
+
out.push(...formatCoherence(payload.coherence));
|
|
161
|
+
}
|
|
162
|
+
return out.join('\n');
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=scoreboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoreboard.js","sourceRoot":"","sources":["../../src/formatters/scoreboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoreboard.test.d.ts","sourceRoot":"","sources":["../../src/formatters/scoreboard.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-499 Slice B (TEN-2743, §2.5) — formatScoreboard's new coherence section.
|
|
3
|
+
* DEC-1282: no thresholds baked in — the coherence panel renders raw values, never a second
|
|
4
|
+
* diagnosis tile (diagnose() never touches payload.coherence — confirmed by not passing through it).
|
|
5
|
+
*/
|
|
6
|
+
import { describe, expect, it } from 'vitest';
|
|
7
|
+
import { formatScoreboard } from './scoreboard.js';
|
|
8
|
+
import { diagnose } from '../scoreboard/diagnose.js';
|
|
9
|
+
function basePayload(coherence) {
|
|
10
|
+
return {
|
|
11
|
+
workspaceId: 'ws-1',
|
|
12
|
+
generatedAt: 1_800_000_000_000,
|
|
13
|
+
m1: { mix: { audited: 0, draft: 0, noDomain: 0, total: 0 }, noDomainShare: null, auditedShare: null, draftShare: null, windowMs: 1, servedRowCount: 0 },
|
|
14
|
+
m2: { divergentBuckets: 0, fullParity: true, task: null },
|
|
15
|
+
m3: { capturedCount: 0, everRatifiedCount: 0, inSessionRatifiedCount: 0, everRatifiedRate: null, inSessionRatifiedRate: null, sessionWindow: 20, sessionsConsidered: 0 },
|
|
16
|
+
m4: {
|
|
17
|
+
reworkJoinWindowMs: 1, lookbackWindowMs: 1, now: 1, servedCount: 0, unattributableServedCount: 0,
|
|
18
|
+
pendingObservationCount: 0, decidedCount: 0, firstTimeGoodCount: 0, reworkedCount: 0, firstTimeGoodShare: null,
|
|
19
|
+
signalCount: 0, joinedSignalCount: 0, unjoinedSignalCount: 0, falseAttributionRate: null,
|
|
20
|
+
byClassification: { revision: 0, ci_review_correction: 0, user_override: 0 },
|
|
21
|
+
ciReviewCorrectionAttribution: { attributable: 0, notAttributable: 0, unspecified: 0 },
|
|
22
|
+
cohort: { workspaceId: 'ws-1', taskProvidedCount: 0, taskAbsentCount: 0 },
|
|
23
|
+
},
|
|
24
|
+
materialization: { latestMaterializedAt: null, materializationAgeMs: null, now: 1 },
|
|
25
|
+
coherence,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const localDrift = { localProjectionMtime: null, serverMaterializedAt: null, localLagMs: null, localAgeMs: null };
|
|
29
|
+
/** Default coherence fixture — override only the fields a test cares about. */
|
|
30
|
+
function coherence(overrides = {}) {
|
|
31
|
+
return {
|
|
32
|
+
openConflictCount: 0,
|
|
33
|
+
openConflictsTruncated: false,
|
|
34
|
+
reviewed: 0,
|
|
35
|
+
real: 0,
|
|
36
|
+
falseAlarm: 0,
|
|
37
|
+
reviewedTruncated: false,
|
|
38
|
+
humanBar: { meets: false, lowerBound: null, reviewed: 0 },
|
|
39
|
+
precision: null,
|
|
40
|
+
openUnverdicted: 0,
|
|
41
|
+
verdictedOpenCount: 0,
|
|
42
|
+
snoozedCount: 0,
|
|
43
|
+
totalOpen: 0,
|
|
44
|
+
totalOpenAlarm: false,
|
|
45
|
+
dial: { br170Graduated: false, br170GraduatedPinned: false, coherencyMode: 'light' },
|
|
46
|
+
detectionCoverage: { bySurface: {}, scanned: 0, truncated: false },
|
|
47
|
+
contradictionOverrideRate: { overrides: 0, heldBlocks: 0, rate: null, truncated: false },
|
|
48
|
+
...overrides,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function view(c) {
|
|
52
|
+
const payload = basePayload(c);
|
|
53
|
+
return { payload, localDrift, diagnosis: diagnose(payload, localDrift) };
|
|
54
|
+
}
|
|
55
|
+
describe('formatScoreboard coherence section (TEN-2743, §2.5)', () => {
|
|
56
|
+
it('renders openConflictCount, reviewed/real/falseAlarm, and humanBar exactly as the payload carries them — no recomputed Wilson math', () => {
|
|
57
|
+
const output = formatScoreboard(view(coherence({
|
|
58
|
+
openConflictCount: 3,
|
|
59
|
+
reviewed: 2,
|
|
60
|
+
real: 1,
|
|
61
|
+
falseAlarm: 1,
|
|
62
|
+
humanBar: { meets: false, lowerBound: 0.05, reviewed: 2 },
|
|
63
|
+
})));
|
|
64
|
+
// PR #422 review (Copilot): assert the specific line, not a bare digit substring — the
|
|
65
|
+
// ISO timestamp header and other metric readings can also contain "3".
|
|
66
|
+
expect(output).toContain('open conflicts: 3');
|
|
67
|
+
expect(output).toContain('reviewed 2');
|
|
68
|
+
expect(output).toContain('real 1');
|
|
69
|
+
expect(output).toContain('falseAlarm 1');
|
|
70
|
+
expect(output).toContain('meets false');
|
|
71
|
+
expect(output).toContain('0.05');
|
|
72
|
+
});
|
|
73
|
+
it('renders "no enforcement events yet" when contradictionOverrideRate.rate is null — never "0%", never blank', () => {
|
|
74
|
+
const output = formatScoreboard(view(coherence()));
|
|
75
|
+
expect(output).toContain('no enforcement events yet');
|
|
76
|
+
expect(output).not.toContain('0%');
|
|
77
|
+
});
|
|
78
|
+
it('renders a percentage when contradictionOverrideRate.rate is non-null', () => {
|
|
79
|
+
const output = formatScoreboard(view(coherence({
|
|
80
|
+
contradictionOverrideRate: { overrides: 3, heldBlocks: 1, rate: 0.75, truncated: false },
|
|
81
|
+
})));
|
|
82
|
+
expect(output).toContain('75%');
|
|
83
|
+
expect(output).not.toContain('no enforcement events yet');
|
|
84
|
+
});
|
|
85
|
+
it('renders an honest "rate unavailable" message — never a percentage — when the scan was capped (PR #422 review round 2, Codex: independently-capped partitions bias a naive ratio, so the server now returns rate:null whenever truncated is true)', () => {
|
|
86
|
+
const output = formatScoreboard(view(coherence({
|
|
87
|
+
contradictionOverrideRate: { overrides: 500, heldBlocks: 0, rate: null, truncated: true },
|
|
88
|
+
})));
|
|
89
|
+
const overrideLine = output.split('\n').find((l) => l.includes('contradiction override rate'));
|
|
90
|
+
expect(overrideLine).not.toMatch(/\d+%/);
|
|
91
|
+
expect(overrideLine).not.toContain('no enforcement events yet');
|
|
92
|
+
expect(overrideLine).toMatch(/scan cap|too many events|unavailable/i);
|
|
93
|
+
});
|
|
94
|
+
it('renders the detectionCoverage panel — bySurface breakdown and scanned count (PR #422 review, Codex — was assembled but never rendered)', () => {
|
|
95
|
+
const output = formatScoreboard(view(coherence({
|
|
96
|
+
detectionCoverage: {
|
|
97
|
+
bySurface: { publish: { checked_clear: 2, checked_conflicts: 1, partial: 0, unavailable: 0 } },
|
|
98
|
+
scanned: 3,
|
|
99
|
+
truncated: false,
|
|
100
|
+
},
|
|
101
|
+
})));
|
|
102
|
+
expect(output).toContain('detection coverage');
|
|
103
|
+
expect(output).toContain('publish');
|
|
104
|
+
expect(output).toContain('checked_clear=2');
|
|
105
|
+
expect(output).toContain('checked_conflicts=1');
|
|
106
|
+
});
|
|
107
|
+
it('renders an honest empty state when detectionCoverage has no surfaces yet', () => {
|
|
108
|
+
const output = formatScoreboard(view(coherence()));
|
|
109
|
+
expect(output).toContain('detection coverage');
|
|
110
|
+
expect(output).toMatch(/no detection events yet/i);
|
|
111
|
+
});
|
|
112
|
+
it('renders a truncation qualifier on the detection coverage line when the scan was capped', () => {
|
|
113
|
+
const output = formatScoreboard(view(coherence({
|
|
114
|
+
detectionCoverage: { bySurface: { publish: { checked_clear: 1, checked_conflicts: 0, partial: 0, unavailable: 0 } }, scanned: 5000, truncated: true },
|
|
115
|
+
})));
|
|
116
|
+
const coverageLine = output.split('\n').find((l) => l.includes('detection coverage'));
|
|
117
|
+
expect(coverageLine).toMatch(/sampled|truncat/i);
|
|
118
|
+
});
|
|
119
|
+
it('renders a truncation qualifier on verdicts AND humanBar when reviewedTruncated is true — a misleading meets must never render unqualified (PR #422 review, Codex)', () => {
|
|
120
|
+
const output = formatScoreboard(view(coherence({
|
|
121
|
+
reviewed: 1000, real: 950, falseAlarm: 50, reviewedTruncated: true,
|
|
122
|
+
humanBar: { meets: true, lowerBound: 0.94, reviewed: 1000 },
|
|
123
|
+
})));
|
|
124
|
+
const verdictsLine = output.split('\n').find((l) => l.includes('verdicts:'));
|
|
125
|
+
const humanBarLine = output.split('\n').find((l) => l.includes('humanBar:'));
|
|
126
|
+
expect(verdictsLine).toMatch(/sampled|truncat/i);
|
|
127
|
+
expect(humanBarLine).toMatch(/sampled|truncat/i);
|
|
128
|
+
});
|
|
129
|
+
it('renders no truncation qualifiers when every underlying scan was complete', () => {
|
|
130
|
+
const output = formatScoreboard(view(coherence({ reviewed: 2, real: 1, falseAlarm: 1 })));
|
|
131
|
+
const verdictsLine = output.split('\n').find((l) => l.includes('verdicts:'));
|
|
132
|
+
const humanBarLine = output.split('\n').find((l) => l.includes('humanBar:'));
|
|
133
|
+
expect(verdictsLine).not.toMatch(/sampled|truncat/i);
|
|
134
|
+
expect(humanBarLine).not.toMatch(/sampled|truncat/i);
|
|
135
|
+
});
|
|
136
|
+
// coherence-run-sweep fix (PR #422 post-merge thread, Codex P2, "Handle scoreboards from
|
|
137
|
+
// older deployments"): `payload.coherence`'s type is compile-time only — a deployment
|
|
138
|
+
// predating this field returns a payload that genuinely lacks it at runtime (kernelCall's
|
|
139
|
+
// generic never verifies the wire shape). The pretty path must degrade, not throw.
|
|
140
|
+
it('does not throw when payload.coherence is absent (older deployment) and simply omits the panel', () => {
|
|
141
|
+
const payload = basePayload(coherence());
|
|
142
|
+
delete payload.coherence;
|
|
143
|
+
const v = { payload, localDrift, diagnosis: diagnose(payload, localDrift) };
|
|
144
|
+
let output = '';
|
|
145
|
+
expect(() => {
|
|
146
|
+
output = formatScoreboard(v);
|
|
147
|
+
}).not.toThrow();
|
|
148
|
+
expect(output).not.toContain('COHERENCE');
|
|
149
|
+
});
|
|
150
|
+
// C2 (WP-468/FEAT-1407, point 8) — the new queue/precision/dial fields.
|
|
151
|
+
it('renders precision as an explicit "n/a (N=0)" when nothing has been verdicted, never a blank/misleading number', () => {
|
|
152
|
+
const output = formatScoreboard(view(coherence({ reviewed: 0, precision: null })));
|
|
153
|
+
const precisionLine = output.split('\n').find((l) => l.includes('precision:'));
|
|
154
|
+
expect(precisionLine).toContain('n/a (N=0)');
|
|
155
|
+
});
|
|
156
|
+
// Review fix (PR #528 P1): precision is the OBSERVED ratio (real/reviewed) — a DIFFERENT
|
|
157
|
+
// number from humanBar.lowerBound (the Wilson confidence bound on that same ratio). A
|
|
158
|
+
// 1-real/0-falseAlarm cohort must read precision 1.000 even though its lowerBound is well
|
|
159
|
+
// below 1 — conflating the two mislabels the statistic on every non-empty cohort.
|
|
160
|
+
it('renders the OBSERVED precision, distinct from the Wilson lowerBound, for a small all-real cohort', () => {
|
|
161
|
+
const output = formatScoreboard(view(coherence({
|
|
162
|
+
reviewed: 1, real: 1, falseAlarm: 0, precision: 1,
|
|
163
|
+
humanBar: { meets: false, lowerBound: 0.206, reviewed: 1 },
|
|
164
|
+
})));
|
|
165
|
+
const precisionLine = output.split('\n').find((l) => l.includes('precision:'));
|
|
166
|
+
const humanBarLine = output.split('\n').find((l) => l.includes('humanBar:'));
|
|
167
|
+
expect(precisionLine).toContain('1.000');
|
|
168
|
+
expect(humanBarLine).toContain('0.206');
|
|
169
|
+
expect(precisionLine).not.toContain('0.206');
|
|
170
|
+
});
|
|
171
|
+
// Review fix (PR #528 round 2, P2): when the verdict-cohort scan truncated, precision is
|
|
172
|
+
// only the ratio within the SAMPLED rows, not the full population — the same honesty rule
|
|
173
|
+
// already applied to the counts/humanBar lines (verdictsSuffix) must also cover this line.
|
|
174
|
+
it('renders precision with a truncation qualifier when reviewedTruncated is true', () => {
|
|
175
|
+
const output = formatScoreboard(view(coherence({
|
|
176
|
+
reviewed: 1300, real: 1300, falseAlarm: 0, precision: 1, reviewedTruncated: true,
|
|
177
|
+
humanBar: { meets: true, lowerBound: 0.99, reviewed: 1300 },
|
|
178
|
+
})));
|
|
179
|
+
const precisionLine = output.split('\n').find((l) => l.includes('precision:'));
|
|
180
|
+
expect(precisionLine).toContain('1.000');
|
|
181
|
+
expect(precisionLine).toContain('sampled — scan cap reached');
|
|
182
|
+
});
|
|
183
|
+
// Review fix (PR #528 P7 / older-deployment defaults): `payload.coherence` can be PRESENT
|
|
184
|
+
// (passing the outer `if (payload.coherence)` guard) while predating every C2 field —
|
|
185
|
+
// `c.dial.coherencyMode` must never throw unguarded.
|
|
186
|
+
it('renders "n/a (older deployment)" for precision/queue/total-open/dial when those C2 fields are entirely absent, never throws', () => {
|
|
187
|
+
const olderDeploymentCoherence = coherence();
|
|
188
|
+
delete olderDeploymentCoherence.precision;
|
|
189
|
+
delete olderDeploymentCoherence.openUnverdicted;
|
|
190
|
+
delete olderDeploymentCoherence.verdictedOpenCount;
|
|
191
|
+
delete olderDeploymentCoherence.snoozedCount;
|
|
192
|
+
delete olderDeploymentCoherence.totalOpen;
|
|
193
|
+
delete olderDeploymentCoherence.totalOpenAlarm;
|
|
194
|
+
delete olderDeploymentCoherence.dial;
|
|
195
|
+
let output = '';
|
|
196
|
+
expect(() => {
|
|
197
|
+
output = formatScoreboard(view(olderDeploymentCoherence));
|
|
198
|
+
}).not.toThrow();
|
|
199
|
+
expect(output.split('\n').find((l) => l.includes('precision:'))).toContain('n/a (older deployment)');
|
|
200
|
+
expect(output.split('\n').find((l) => l.includes('queue:'))).toContain('n/a (older deployment)');
|
|
201
|
+
expect(output.split('\n').find((l) => l.includes('total open:'))).toContain('n/a (older deployment)');
|
|
202
|
+
expect(output.split('\n').find((l) => l.includes('dial:'))).toContain('n/a (older deployment)');
|
|
203
|
+
});
|
|
204
|
+
it('renders the actionable/verdicted-open/snoozed queue counts', () => {
|
|
205
|
+
const output = formatScoreboard(view(coherence({
|
|
206
|
+
openUnverdicted: 3, verdictedOpenCount: 2, snoozedCount: 1,
|
|
207
|
+
})));
|
|
208
|
+
const queueLine = output.split('\n').find((l) => l.includes('queue:'));
|
|
209
|
+
expect(queueLine).toContain('actionable 3');
|
|
210
|
+
expect(queueLine).toContain('verdicted-open 2');
|
|
211
|
+
expect(queueLine).toContain('snoozed 1');
|
|
212
|
+
});
|
|
213
|
+
// Review fix (PR #528 P1): every one of these queue sub-counts is itself a capped-sample
|
|
214
|
+
// count — a truncation flag must render a qualifier, never present as an exact number.
|
|
215
|
+
it('renders a truncation qualifier on each queue sub-count independently', () => {
|
|
216
|
+
const output = formatScoreboard(view(coherence({
|
|
217
|
+
openUnverdicted: 200, openUnverdictedTruncated: true,
|
|
218
|
+
verdictedOpenCount: 5000, verdictedOpenTruncated: true,
|
|
219
|
+
snoozedCount: 200, snoozedCountTruncated: true,
|
|
220
|
+
})));
|
|
221
|
+
const queueLine = output.split('\n').find((l) => l.includes('queue:'));
|
|
222
|
+
expect(queueLine).toMatch(/actionable 200.*sampled/);
|
|
223
|
+
expect(queueLine).toMatch(/verdicted-open 5000.*sampled/);
|
|
224
|
+
expect(queueLine).toMatch(/snoozed 200.*sampled/);
|
|
225
|
+
});
|
|
226
|
+
// Review fix (PR #539, Codex P2, "qualify truncated snoozed-unverdicted counts"):
|
|
227
|
+
// snoozedUnverdicted is derived from the SAME sample as openUnverdicted (one fetch, two
|
|
228
|
+
// filters, healSweepRuns.ts) — it must inherit openUnverdicted's OWN truncation qualifier,
|
|
229
|
+
// never render as an exact number when that shared sample was capped.
|
|
230
|
+
it('qualifies snoozed-unverdicted as sampled when the shared openUnverdicted sample was truncated', () => {
|
|
231
|
+
const output = formatScoreboard(view(coherence({
|
|
232
|
+
openUnverdicted: 200, openUnverdictedTruncated: true, snoozedUnverdicted: 15,
|
|
233
|
+
})));
|
|
234
|
+
const queueLine = output.split('\n').find((l) => l.includes('queue:'));
|
|
235
|
+
expect(queueLine).toMatch(/snoozed-unverdicted 15.*sampled/);
|
|
236
|
+
});
|
|
237
|
+
it('renders snoozed-unverdicted as an exact number when the sample was NOT truncated', () => {
|
|
238
|
+
const output = formatScoreboard(view(coherence({
|
|
239
|
+
openUnverdicted: 3, openUnverdictedTruncated: false, snoozedUnverdicted: 1,
|
|
240
|
+
})));
|
|
241
|
+
const queueLine = output.split('\n').find((l) => l.includes('queue:'));
|
|
242
|
+
expect(queueLine).toContain('snoozed-unverdicted 1');
|
|
243
|
+
expect(queueLine).not.toMatch(/snoozed-unverdicted 1.*sampled/);
|
|
244
|
+
});
|
|
245
|
+
it('renders totalOpen with a loud alarm suffix once totalOpenAlarm is true', () => {
|
|
246
|
+
// Note: /alarm/i alone would false-match the pre-existing "falseAlarm" verdict-count field
|
|
247
|
+
// name — assert on the specific "total open" LINE, not the whole payload.
|
|
248
|
+
const quiet = formatScoreboard(view(coherence({ totalOpen: 12, totalOpenAlarm: false })));
|
|
249
|
+
const quietLine = quiet.split('\n').find((l) => l.includes('total open:'));
|
|
250
|
+
expect(quietLine).toContain('total open: 12');
|
|
251
|
+
expect(quietLine).not.toMatch(/ALARM/);
|
|
252
|
+
const loud = formatScoreboard(view(coherence({ totalOpen: 151, totalOpenAlarm: true })));
|
|
253
|
+
const loudLine = loud.split('\n').find((l) => l.includes('total open:'));
|
|
254
|
+
expect(loudLine).toContain('total open: 151');
|
|
255
|
+
expect(loudLine).toMatch(/ALARM/);
|
|
256
|
+
});
|
|
257
|
+
// Review fix (PR #528 round 2, P2): totalOpen previously rendered an exact-looking number
|
|
258
|
+
// with no truncation signal, even though it is countOpenConflictIssues' own 200-row-capped
|
|
259
|
+
// count — the SAME honesty rule already applied to every other capped count in this panel.
|
|
260
|
+
it('renders totalOpen with a truncation qualifier when totalOpenTruncated is true', () => {
|
|
261
|
+
const output = formatScoreboard(view(coherence({ totalOpen: 200, totalOpenTruncated: true })));
|
|
262
|
+
const totalOpenLine = output.split('\n').find((l) => l.includes('total open:'));
|
|
263
|
+
expect(totalOpenLine).toContain('total open: 200');
|
|
264
|
+
expect(totalOpenLine).toContain('sampled — scan cap reached');
|
|
265
|
+
});
|
|
266
|
+
it('renders totalOpen with NO truncation qualifier when totalOpenTruncated is false', () => {
|
|
267
|
+
const output = formatScoreboard(view(coherence({ totalOpen: 12, totalOpenTruncated: false })));
|
|
268
|
+
const totalOpenLine = output.split('\n').find((l) => l.includes('total open:'));
|
|
269
|
+
expect(totalOpenLine).not.toContain('sampled');
|
|
270
|
+
});
|
|
271
|
+
it('renders the dial state — mode, br170Graduated, br170GraduatedPinned (scope-doc F10)', () => {
|
|
272
|
+
const output = formatScoreboard(view(coherence({
|
|
273
|
+
dial: { br170Graduated: true, br170GraduatedPinned: true, coherencyMode: 'strict' },
|
|
274
|
+
})));
|
|
275
|
+
const dialLine = output.split('\n').find((l) => l.includes('dial:'));
|
|
276
|
+
expect(dialLine).toContain('mode=strict');
|
|
277
|
+
expect(dialLine).toContain('br170Graduated=true');
|
|
278
|
+
expect(dialLine).toContain('br170GraduatedPinned=true');
|
|
279
|
+
});
|
|
280
|
+
// C1 (WP-468/FEAT-1408): the at-cap disclosure — never telemetry-only.
|
|
281
|
+
it('renders the publish-origin count and cap disclosure', () => {
|
|
282
|
+
const output = formatScoreboard(view(coherence({
|
|
283
|
+
publishOriginOpen: 3, publishOriginAtCap: false, publishOriginTruncated: false,
|
|
284
|
+
})));
|
|
285
|
+
const line = output.split('\n').find((l) => l.includes('publish-origin:'));
|
|
286
|
+
expect(line).toContain('publish-origin: 3/10');
|
|
287
|
+
expect(line).not.toMatch(/AT CAP/);
|
|
288
|
+
});
|
|
289
|
+
it('renders an AT CAP warning when publishOriginAtCap is true', () => {
|
|
290
|
+
const output = formatScoreboard(view(coherence({
|
|
291
|
+
publishOriginOpen: 10, publishOriginAtCap: true, publishOriginTruncated: false,
|
|
292
|
+
})));
|
|
293
|
+
const line = output.split('\n').find((l) => l.includes('publish-origin:'));
|
|
294
|
+
expect(line).toContain('publish-origin: 10/10');
|
|
295
|
+
expect(line).toMatch(/AT CAP/);
|
|
296
|
+
});
|
|
297
|
+
it('renders "n/a (older deployment)" for publish-origin when the field is absent', () => {
|
|
298
|
+
const output = formatScoreboard(view(coherence()));
|
|
299
|
+
const line = output.split('\n').find((l) => l.includes('publish-origin:'));
|
|
300
|
+
expect(line).toContain('n/a (older deployment)');
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
//# sourceMappingURL=scoreboard.test.js.map
|