@productbrain/cli 0.1.0-beta.81 → 0.1.0-beta.8109
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 +8 -2
- package/dist/__tests__/adapters.test.js +76 -23
- package/dist/__tests__/adapters.test.js.map +1 -1
- package/dist/__tests__/adminConfig.test.d.ts +18 -0
- package/dist/__tests__/adminConfig.test.d.ts.map +1 -0
- package/dist/__tests__/adminConfig.test.js +221 -0
- package/dist/__tests__/adminConfig.test.js.map +1 -0
- package/dist/__tests__/audit.test.js +86 -28
- package/dist/__tests__/audit.test.js.map +1 -1
- package/dist/__tests__/batch-transformations.test.js +2 -26
- package/dist/__tests__/batch-transformations.test.js.map +1 -1
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
- package/dist/__tests__/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-spine-floor.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-spine-floor.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-spine-floor.test.js +45 -0
- package/dist/__tests__/capture-receipt-spine-floor.test.js.map +1 -0
- package/dist/__tests__/capture.test.js +1290 -73
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
- package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
- package/dist/__tests__/client-binding-guard.test.js +84 -0
- package/dist/__tests__/client-binding-guard.test.js.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.js +47 -0
- package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.js +100 -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 +107 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
- package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +1 -1
- package/dist/__tests__/config.test.js +845 -18
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/constants.test.js +6 -1
- package/dist/__tests__/constants.test.js.map +1 -1
- package/dist/__tests__/constellation.test.js +26 -14
- package/dist/__tests__/constellation.test.js.map +1 -1
- package/dist/__tests__/conversation.test.d.ts +2 -0
- package/dist/__tests__/conversation.test.d.ts.map +1 -0
- package/dist/__tests__/conversation.test.js +113 -0
- package/dist/__tests__/conversation.test.js.map +1 -0
- package/dist/__tests__/entry-formatter.test.d.ts +2 -0
- package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/entry-formatter.test.js +129 -0
- package/dist/__tests__/entry-formatter.test.js.map +1 -0
- package/dist/__tests__/entry-preflight.test.d.ts +2 -0
- package/dist/__tests__/entry-preflight.test.d.ts.map +1 -0
- package/dist/__tests__/entry-preflight.test.js +58 -0
- package/dist/__tests__/entry-preflight.test.js.map +1 -0
- package/dist/__tests__/entryAccept-batch.test.d.ts +2 -0
- package/dist/__tests__/entryAccept-batch.test.d.ts.map +1 -0
- package/dist/__tests__/entryAccept-batch.test.js +305 -0
- package/dist/__tests__/entryAccept-batch.test.js.map +1 -0
- package/dist/__tests__/entryAccept.test.d.ts +2 -0
- package/dist/__tests__/entryAccept.test.d.ts.map +1 -0
- package/dist/__tests__/entryAccept.test.js +464 -0
- package/dist/__tests__/entryAccept.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__/entryOwn.test.d.ts +2 -0
- package/dist/__tests__/entryOwn.test.d.ts.map +1 -0
- package/dist/__tests__/entryOwn.test.js +50 -0
- package/dist/__tests__/entryOwn.test.js.map +1 -0
- package/dist/__tests__/envelope-contract.test.d.ts +15 -0
- package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
- package/dist/__tests__/envelope-contract.test.js +154 -0
- package/dist/__tests__/envelope-contract.test.js.map +1 -0
- package/dist/__tests__/errors.test.js +30 -0
- package/dist/__tests__/errors.test.js.map +1 -1
- package/dist/__tests__/fields.test.js +14 -3
- package/dist/__tests__/fields.test.js.map +1 -1
- package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
- package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.js +121 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +420 -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 +24 -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 +111 -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 +480 -0
- package/dist/__tests__/handshake-preview.test.js.map +1 -0
- package/dist/__tests__/handshake-session-threading.test.d.ts +2 -0
- package/dist/__tests__/handshake-session-threading.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-session-threading.test.js +191 -0
- package/dist/__tests__/handshake-session-threading.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 +226 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +828 -4
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js +43 -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 +9 -0
- package/dist/__tests__/ingest.test.js.map +1 -1
- package/dist/__tests__/init.test.js +51 -14
- package/dist/__tests__/init.test.js.map +1 -1
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
- package/dist/__tests__/manifest.test.d.ts +6 -0
- package/dist/__tests__/manifest.test.d.ts.map +1 -0
- package/dist/__tests__/manifest.test.js +255 -0
- package/dist/__tests__/manifest.test.js.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.js +71 -0
- package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
- package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
- package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.integration.test.js +17 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +12 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +86 -0
- package/dist/__tests__/method-registry.test.js.map +1 -0
- package/dist/__tests__/missingPin.test.d.ts +11 -0
- package/dist/__tests__/missingPin.test.d.ts.map +1 -0
- package/dist/__tests__/missingPin.test.js +233 -0
- package/dist/__tests__/missingPin.test.js.map +1 -0
- package/dist/__tests__/notice-marker.test.d.ts +2 -0
- package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
- package/dist/__tests__/notice-marker.test.js +176 -0
- package/dist/__tests__/notice-marker.test.js.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.js +4 -4
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
- package/dist/__tests__/onboarding.test.js +29 -5
- package/dist/__tests__/onboarding.test.js.map +1 -1
- package/dist/__tests__/onboardingFallback.test.d.ts +2 -0
- package/dist/__tests__/onboardingFallback.test.d.ts.map +1 -0
- package/dist/__tests__/onboardingFallback.test.js +74 -0
- package/dist/__tests__/onboardingFallback.test.js.map +1 -0
- package/dist/__tests__/orient.test.js +493 -17
- package/dist/__tests__/orient.test.js.map +1 -1
- package/dist/__tests__/perimeter.test.d.ts +2 -0
- package/dist/__tests__/perimeter.test.d.ts.map +1 -0
- package/dist/__tests__/perimeter.test.js +165 -0
- package/dist/__tests__/perimeter.test.js.map +1 -0
- package/dist/__tests__/personal-layer.test.d.ts +11 -0
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
- package/dist/__tests__/personal-layer.test.js +268 -0
- package/dist/__tests__/personal-layer.test.js.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.js +613 -5
- package/dist/__tests__/profiles.test.js.map +1 -1
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/rate-limit-resilience.test.d.ts +7 -0
- package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
- package/dist/__tests__/rate-limit-resilience.test.js +209 -0
- package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
- package/dist/__tests__/read-target-notice.test.d.ts +2 -0
- package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
- package/dist/__tests__/read-target-notice.test.js +129 -0
- package/dist/__tests__/read-target-notice.test.js.map +1 -0
- package/dist/__tests__/relate.test.js +246 -14
- package/dist/__tests__/relate.test.js.map +1 -1
- package/dist/__tests__/repo-detect.test.js +18 -38
- package/dist/__tests__/repo-detect.test.js.map +1 -1
- package/dist/__tests__/reportedProfile.test.d.ts +2 -0
- package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
- package/dist/__tests__/reportedProfile.test.js +328 -0
- package/dist/__tests__/reportedProfile.test.js.map +1 -0
- package/dist/__tests__/restore.test.d.ts +2 -0
- package/dist/__tests__/restore.test.d.ts.map +1 -0
- package/dist/__tests__/restore.test.js +85 -0
- package/dist/__tests__/restore.test.js.map +1 -0
- package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
- package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
- package/dist/__tests__/route-latency-budget.test.js +105 -0
- package/dist/__tests__/route-latency-budget.test.js.map +1 -0
- package/dist/__tests__/runner.test.js +59 -44
- package/dist/__tests__/runner.test.js.map +1 -1
- package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
- package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
- package/dist/__tests__/session-close-loop.test.d.ts +2 -0
- package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-loop.test.js +213 -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 +139 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-role-name-sanitize.test.d.ts +2 -0
- package/dist/__tests__/session-role-name-sanitize.test.d.ts.map +1 -0
- package/dist/__tests__/session-role-name-sanitize.test.js +120 -0
- package/dist/__tests__/session-role-name-sanitize.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 +191 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +235 -10
- package/dist/__tests__/session-state-machine.test.js.map +1 -1
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +267 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.js +6 -1
- package/dist/__tests__/session-touch.test.js.map +1 -1
- package/dist/__tests__/sessionBinding.test.d.ts +2 -0
- package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
- package/dist/__tests__/sessionBinding.test.js +118 -0
- package/dist/__tests__/sessionBinding.test.js.map +1 -0
- package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
- package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
- package/dist/__tests__/sessionByIdLookup.test.js +63 -0
- package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.js +192 -0
- package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
- package/dist/__tests__/state.test.js +21 -1
- package/dist/__tests__/state.test.js.map +1 -1
- package/dist/__tests__/stillTrue.test.d.ts +2 -0
- package/dist/__tests__/stillTrue.test.d.ts.map +1 -0
- package/dist/__tests__/stillTrue.test.js +52 -0
- package/dist/__tests__/stillTrue.test.js.map +1 -0
- package/dist/__tests__/strip.test.js +57 -3
- package/dist/__tests__/strip.test.js.map +1 -1
- package/dist/__tests__/surfaces.test.d.ts +2 -0
- package/dist/__tests__/surfaces.test.d.ts.map +1 -0
- package/dist/__tests__/surfaces.test.js +46 -0
- package/dist/__tests__/surfaces.test.js.map +1 -0
- package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
- package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
- package/dist/__tests__/tenant-notice-write-path.test.js +169 -0
- package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
- package/dist/__tests__/update-check.test.d.ts +2 -0
- package/dist/__tests__/update-check.test.d.ts.map +1 -0
- package/dist/__tests__/update-check.test.js +215 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.js +468 -7
- package/dist/__tests__/update.test.js.map +1 -1
- package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
- package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade-runner.test.js +54 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -0
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/verify-formatter.test.d.ts +2 -0
- package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/verify-formatter.test.js +85 -0
- package/dist/__tests__/verify-formatter.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +533 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.js +32 -12
- package/dist/__tests__/workspace.test.js.map +1 -1
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +571 -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__/tensionsList.test.d.ts +2 -0
- package/dist/commands/__tests__/tensionsList.test.d.ts.map +1 -0
- package/dist/commands/__tests__/tensionsList.test.js +63 -0
- package/dist/commands/__tests__/tensionsList.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/admin/cockpit.d.ts +2 -13
- package/dist/commands/admin/cockpit.d.ts.map +1 -1
- package/dist/commands/admin/cockpit.js +5 -5
- package/dist/commands/admin/cockpit.js.map +1 -1
- package/dist/commands/admin/index.d.ts +49 -0
- package/dist/commands/admin/index.d.ts.map +1 -1
- package/dist/commands/admin/index.js +145 -29
- package/dist/commands/admin/index.js.map +1 -1
- package/dist/commands/admin/index.test.d.ts +2 -0
- package/dist/commands/admin/index.test.d.ts.map +1 -0
- package/dist/commands/admin/index.test.js +84 -0
- package/dist/commands/admin/index.test.js.map +1 -0
- package/dist/commands/admin/inspect.js +1 -1
- package/dist/commands/admin/inspect.js.map +1 -1
- package/dist/commands/admin/probe.d.ts +75 -0
- package/dist/commands/admin/probe.d.ts.map +1 -0
- package/dist/commands/admin/probe.js +224 -0
- package/dist/commands/admin/probe.js.map +1 -0
- package/dist/commands/admin/probe.test.d.ts +2 -0
- package/dist/commands/admin/probe.test.d.ts.map +1 -0
- package/dist/commands/admin/probe.test.js +193 -0
- package/dist/commands/admin/probe.test.js.map +1 -0
- package/dist/commands/admin/run.d.ts +43 -0
- package/dist/commands/admin/run.d.ts.map +1 -0
- package/dist/commands/admin/run.js +78 -0
- package/dist/commands/admin/run.js.map +1 -0
- package/dist/commands/admin/run.test.d.ts +18 -0
- package/dist/commands/admin/run.test.d.ts.map +1 -0
- package/dist/commands/admin/run.test.js +168 -0
- package/dist/commands/admin/run.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +32 -3
- package/dist/commands/admin/seed.d.ts.map +1 -1
- package/dist/commands/admin/seed.js +314 -99
- package/dist/commands/admin/seed.js.map +1 -1
- package/dist/commands/admin/seed.test.d.ts +4 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -1
- package/dist/commands/admin/seed.test.js +28 -7
- package/dist/commands/admin/seed.test.js.map +1 -1
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +99 -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 +97 -0
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
- package/dist/commands/admin/seedRowType.d.ts +22 -0
- package/dist/commands/admin/seedRowType.d.ts.map +1 -0
- package/dist/commands/admin/seedRowType.js +2 -0
- package/dist/commands/admin/seedRowType.js.map +1 -0
- package/dist/commands/admin/seedStatusColor.d.ts +9 -0
- package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
- package/dist/commands/admin/seedStatusColor.js +18 -0
- package/dist/commands/admin/seedStatusColor.js.map +1 -0
- package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
- package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
- package/dist/commands/admin/seedStatusColor.test.js +25 -0
- package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
- package/dist/commands/audit.d.ts +2 -2
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +52 -6
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +24 -2
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +15 -8
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +249 -247
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/chain-walk.d.ts.map +1 -1
- package/dist/commands/chain-walk.js.map +1 -1
- package/dist/commands/changes.d.ts.map +1 -1
- package/dist/commands/changes.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +12 -1
- package/dist/commands/codex-prep.d.ts.map +1 -1
- package/dist/commands/codex-prep.js +18 -84
- package/dist/commands/codex-prep.js.map +1 -1
- package/dist/commands/collections.d.ts.map +1 -1
- package/dist/commands/collections.js.map +1 -1
- package/dist/commands/conflicts.d.ts +40 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +267 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/conflicts.test.d.ts +2 -0
- package/dist/commands/conflicts.test.d.ts.map +1 -0
- package/dist/commands/conflicts.test.js +219 -0
- package/dist/commands/conflicts.test.js.map +1 -0
- package/dist/commands/connect-config.test.d.ts +2 -0
- package/dist/commands/connect-config.test.d.ts.map +1 -0
- package/dist/commands/connect-config.test.js +44 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-context.d.ts +55 -0
- package/dist/commands/connect-context.d.ts.map +1 -0
- package/dist/commands/connect-context.js +78 -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 +148 -0
- package/dist/commands/connect-context.test.js.map +1 -0
- package/dist/commands/connect-handoff.d.ts +51 -0
- package/dist/commands/connect-handoff.d.ts.map +1 -0
- package/dist/commands/connect-handoff.js +70 -0
- package/dist/commands/connect-handoff.js.map +1 -0
- package/dist/commands/connect-integration.test.js +44 -16
- package/dist/commands/connect-integration.test.js.map +1 -1
- package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
- package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
- package/dist/commands/connect-legacy-migration.test.js +109 -0
- package/dist/commands/connect-legacy-migration.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +17 -4
- package/dist/commands/connect-screens.d.ts.map +1 -1
- package/dist/commands/connect-screens.js +83 -19
- package/dist/commands/connect-screens.js.map +1 -1
- package/dist/commands/connect.d.ts +27 -6
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +254 -75
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connect.test.js +344 -7
- package/dist/commands/connect.test.js.map +1 -1
- package/dist/commands/constellation.d.ts.map +1 -1
- package/dist/commands/constellation.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts.map +1 -1
- package/dist/commands/cross-cut.js.map +1 -1
- package/dist/commands/digest.d.ts +17 -0
- package/dist/commands/digest.d.ts.map +1 -0
- package/dist/commands/digest.js +58 -0
- package/dist/commands/digest.js.map +1 -0
- package/dist/commands/digest.test.d.ts +2 -0
- package/dist/commands/digest.test.d.ts.map +1 -0
- package/dist/commands/digest.test.js +36 -0
- package/dist/commands/digest.test.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.map +1 -1
- package/dist/commands/doctor.js +173 -38
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +352 -6
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/entryAccept.d.ts +24 -0
- package/dist/commands/entryAccept.d.ts.map +1 -0
- package/dist/commands/entryAccept.js +289 -0
- package/dist/commands/entryAccept.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/entryOwn.d.ts +5 -0
- package/dist/commands/entryOwn.d.ts.map +1 -0
- package/dist/commands/entryOwn.js +17 -0
- package/dist/commands/entryOwn.js.map +1 -0
- package/dist/commands/entryPreflight.d.ts +8 -0
- package/dist/commands/entryPreflight.d.ts.map +1 -0
- package/dist/commands/entryPreflight.js +48 -0
- package/dist/commands/entryPreflight.js.map +1 -0
- package/dist/commands/feedback.d.ts +36 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +193 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/feedback.test.d.ts +2 -0
- package/dist/commands/feedback.test.d.ts.map +1 -0
- package/dist/commands/feedback.test.js +125 -0
- package/dist/commands/feedback.test.js.map +1 -0
- package/dist/commands/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +1 -1
- package/dist/commands/fields.js.map +1 -1
- package/dist/commands/files.d.ts +26 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +160 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/files.test.d.ts +2 -0
- package/dist/commands/files.test.d.ts.map +1 -0
- package/dist/commands/files.test.js +278 -0
- package/dist/commands/files.test.js.map +1 -0
- package/dist/commands/handshake.d.ts +59 -7
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +861 -112
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/handshakeCursorSkillCleanup.d.ts +36 -0
- package/dist/commands/handshakeCursorSkillCleanup.d.ts.map +1 -0
- package/dist/commands/handshakeCursorSkillCleanup.js +110 -0
- package/dist/commands/handshakeCursorSkillCleanup.js.map +1 -0
- package/dist/commands/handshakeDriftClassification.d.ts +33 -0
- package/dist/commands/handshakeDriftClassification.d.ts.map +1 -0
- package/dist/commands/handshakeDriftClassification.js +62 -0
- package/dist/commands/handshakeDriftClassification.js.map +1 -0
- package/dist/commands/history.d.ts +30 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +62 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/history.test.d.ts +2 -0
- package/dist/commands/history.test.d.ts.map +1 -0
- package/dist/commands/history.test.js +106 -0
- package/dist/commands/history.test.js.map +1 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +9 -0
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +22 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/method.d.ts +97 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +773 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/organisation.d.ts +16 -0
- package/dist/commands/organisation.d.ts.map +1 -0
- package/dist/commands/organisation.js +184 -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 +198 -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 +75 -0
- package/dist/commands/organisationHierarchy.js.map +1 -0
- package/dist/commands/organisationHierarchy.test.d.ts +2 -0
- package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.test.js +72 -0
- package/dist/commands/organisationHierarchy.test.js.map +1 -0
- package/dist/commands/organisationWrite.d.ts +18 -0
- package/dist/commands/organisationWrite.d.ts.map +1 -0
- package/dist/commands/organisationWrite.js +68 -0
- package/dist/commands/organisationWrite.js.map +1 -0
- package/dist/commands/orient.d.ts +106 -44
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +225 -18
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/outcome.d.ts +91 -0
- package/dist/commands/outcome.d.ts.map +1 -0
- package/dist/commands/outcome.js +204 -0
- package/dist/commands/outcome.js.map +1 -0
- package/dist/commands/outcome.test.d.ts +2 -0
- package/dist/commands/outcome.test.d.ts.map +1 -0
- package/dist/commands/outcome.test.js +308 -0
- package/dist/commands/outcome.test.js.map +1 -0
- package/dist/commands/profile.d.ts +34 -2
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +294 -41
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/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 +23 -0
- package/dist/commands/questions.d.ts.map +1 -0
- package/dist/commands/questions.js +238 -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 +159 -0
- package/dist/commands/questions.test.js.map +1 -0
- package/dist/commands/relate.d.ts +1 -0
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +94 -7
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/restore.d.ts +2 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +83 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/rework.d.ts +24 -0
- package/dist/commands/rework.d.ts.map +1 -0
- package/dist/commands/rework.js +97 -0
- package/dist/commands/rework.js.map +1 -0
- package/dist/commands/role.d.ts +49 -0
- package/dist/commands/role.d.ts.map +1 -0
- package/dist/commands/role.js +126 -0
- package/dist/commands/role.js.map +1 -0
- package/dist/commands/role.test.d.ts +2 -0
- package/dist/commands/role.test.d.ts.map +1 -0
- package/dist/commands/role.test.js +195 -0
- package/dist/commands/role.test.js.map +1 -0
- package/dist/commands/scoreboard.d.ts +26 -0
- package/dist/commands/scoreboard.d.ts.map +1 -0
- package/dist/commands/scoreboard.js +40 -0
- package/dist/commands/scoreboard.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +60 -7
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +407 -58
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/shape.d.ts +16 -0
- package/dist/commands/shape.d.ts.map +1 -0
- package/dist/commands/shape.js +149 -0
- package/dist/commands/shape.js.map +1 -0
- package/dist/commands/shape.test.d.ts +2 -0
- package/dist/commands/shape.test.d.ts.map +1 -0
- package/dist/commands/shape.test.js +148 -0
- package/dist/commands/shape.test.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +102 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/status.test.d.ts +2 -0
- package/dist/commands/status.test.d.ts.map +1 -0
- package/dist/commands/status.test.js +75 -0
- package/dist/commands/status.test.js.map +1 -0
- package/dist/commands/stillTrue.d.ts +14 -0
- package/dist/commands/stillTrue.d.ts.map +1 -0
- package/dist/commands/stillTrue.js +48 -0
- package/dist/commands/stillTrue.js.map +1 -0
- package/dist/commands/tensionsList.d.ts +5 -0
- package/dist/commands/tensionsList.d.ts.map +1 -0
- package/dist/commands/tensionsList.js +27 -0
- package/dist/commands/tensionsList.js.map +1 -0
- package/dist/commands/update.d.ts +20 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +155 -36
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +5 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +110 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +0 -18
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +7 -1
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts.map +1 -1
- package/dist/commands/welcome.js +6 -3
- package/dist/commands/welcome.js.map +1 -1
- package/dist/commands/whoami.d.ts +20 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +126 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/whoami.test.d.ts +2 -0
- package/dist/commands/whoami.test.d.ts.map +1 -0
- package/dist/commands/whoami.test.js +130 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +18 -2
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +5 -2
- package/dist/commands/workspace.js.map +1 -1
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +6 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +394 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-ruleLists.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-ruleLists.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-ruleLists.test.js +76 -0
- package/dist/formatters/__tests__/orient-ruleLists.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 +195 -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 +193 -0
- package/dist/formatters/__tests__/session.test.js.map +1 -0
- package/dist/formatters/__tests__/tensionsList.test.d.ts +2 -0
- package/dist/formatters/__tests__/tensionsList.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/tensionsList.test.js +30 -0
- package/dist/formatters/__tests__/tensionsList.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +7 -1
- package/dist/formatters/audit.d.ts.map +1 -1
- package/dist/formatters/audit.js +2 -2
- package/dist/formatters/audit.js.map +1 -1
- package/dist/formatters/brief.d.ts +6 -15
- package/dist/formatters/brief.d.ts.map +1 -1
- package/dist/formatters/brief.js +16 -14
- package/dist/formatters/brief.js.map +1 -1
- package/dist/formatters/brief.test.d.ts +2 -0
- package/dist/formatters/brief.test.d.ts.map +1 -0
- package/dist/formatters/brief.test.js +21 -0
- package/dist/formatters/brief.test.js.map +1 -0
- package/dist/formatters/capture.d.ts +13 -0
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +20 -1
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/coaching.d.ts +55 -0
- package/dist/formatters/coaching.d.ts.map +1 -0
- package/dist/formatters/coaching.js +46 -0
- package/dist/formatters/coaching.js.map +1 -0
- package/dist/formatters/collections.d.ts.map +1 -1
- package/dist/formatters/collections.js +13 -3
- package/dist/formatters/collections.js.map +1 -1
- package/dist/formatters/conflicts.d.ts +69 -0
- package/dist/formatters/conflicts.d.ts.map +1 -0
- package/dist/formatters/conflicts.js +87 -0
- package/dist/formatters/conflicts.js.map +1 -0
- package/dist/formatters/conflicts.test.d.ts +2 -0
- package/dist/formatters/conflicts.test.d.ts.map +1 -0
- package/dist/formatters/conflicts.test.js +136 -0
- package/dist/formatters/conflicts.test.js.map +1 -0
- package/dist/formatters/context.d.ts +1 -1
- package/dist/formatters/context.d.ts.map +1 -1
- package/dist/formatters/context.js.map +1 -1
- package/dist/formatters/digest.d.ts +13 -0
- package/dist/formatters/digest.d.ts.map +1 -0
- package/dist/formatters/digest.js +98 -0
- package/dist/formatters/digest.js.map +1 -0
- package/dist/formatters/digest.test.d.ts +2 -0
- package/dist/formatters/digest.test.d.ts.map +1 -0
- package/dist/formatters/digest.test.js +166 -0
- package/dist/formatters/digest.test.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 +61 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +97 -11
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/entryAccept.d.ts +73 -0
- package/dist/formatters/entryAccept.d.ts.map +1 -0
- package/dist/formatters/entryAccept.js +72 -0
- package/dist/formatters/entryAccept.js.map +1 -0
- 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 +7 -1
- package/dist/formatters/fields.d.ts.map +1 -1
- package/dist/formatters/fields.js +9 -3
- package/dist/formatters/fields.js.map +1 -1
- package/dist/formatters/fields.test.d.ts +2 -0
- package/dist/formatters/fields.test.d.ts.map +1 -0
- package/dist/formatters/fields.test.js +42 -0
- package/dist/formatters/fields.test.js.map +1 -0
- package/dist/formatters/handshake.d.ts +61 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +160 -3
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
- package/dist/formatters/orient.d.ts +199 -49
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +231 -88
- 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 +76 -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 +76 -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 +60 -0
- package/dist/formatters/orient.shapeAdvisorySummary.test.js.map +1 -0
- package/dist/formatters/orientDegradation.d.ts +38 -0
- package/dist/formatters/orientDegradation.d.ts.map +1 -0
- package/dist/formatters/orientDegradation.js +50 -0
- package/dist/formatters/orientDegradation.js.map +1 -0
- package/dist/formatters/orientDegradation.test.d.ts +2 -0
- package/dist/formatters/orientDegradation.test.d.ts.map +1 -0
- package/dist/formatters/orientDegradation.test.js +28 -0
- package/dist/formatters/orientDegradation.test.js.map +1 -0
- package/dist/formatters/orientDirection.d.ts +107 -0
- package/dist/formatters/orientDirection.d.ts.map +1 -0
- package/dist/formatters/orientDirection.js +177 -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 +304 -0
- package/dist/formatters/orientDirection.test.js.map +1 -0
- package/dist/formatters/orientRetrievalMiss.d.ts +22 -0
- package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
- package/dist/formatters/orientRetrievalMiss.js +17 -0
- package/dist/formatters/orientRetrievalMiss.js.map +1 -0
- package/dist/formatters/questions.d.ts +71 -0
- package/dist/formatters/questions.d.ts.map +1 -0
- package/dist/formatters/questions.js +117 -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 +147 -0
- package/dist/formatters/questions.test.js.map +1 -0
- package/dist/formatters/relate.d.ts +13 -2
- package/dist/formatters/relate.d.ts.map +1 -1
- package/dist/formatters/relate.js +10 -5
- package/dist/formatters/relate.js.map +1 -1
- package/dist/formatters/relate.test.d.ts +2 -0
- package/dist/formatters/relate.test.d.ts.map +1 -0
- package/dist/formatters/relate.test.js +79 -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 +162 -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 +301 -0
- package/dist/formatters/scoreboard.test.js.map +1 -0
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +11 -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 +57 -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 +83 -0
- package/dist/formatters/session-feedback.test.js.map +1 -0
- package/dist/formatters/session.d.ts +127 -5
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +313 -12
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/shape.d.ts +54 -0
- package/dist/formatters/shape.d.ts.map +1 -0
- package/dist/formatters/shape.js +97 -0
- package/dist/formatters/shape.js.map +1 -0
- package/dist/formatters/shape.test.d.ts +2 -0
- package/dist/formatters/shape.test.d.ts.map +1 -0
- package/dist/formatters/shape.test.js +80 -0
- package/dist/formatters/shape.test.js.map +1 -0
- package/dist/formatters/spineCheck.d.ts +14 -0
- package/dist/formatters/spineCheck.d.ts.map +1 -0
- package/dist/formatters/spineCheck.js +113 -0
- package/dist/formatters/spineCheck.js.map +1 -0
- package/dist/formatters/spineCheck.test.d.ts +2 -0
- package/dist/formatters/spineCheck.test.d.ts.map +1 -0
- package/dist/formatters/spineCheck.test.js +76 -0
- package/dist/formatters/spineCheck.test.js.map +1 -0
- package/dist/formatters/tensionsList.d.ts +17 -0
- package/dist/formatters/tensionsList.d.ts.map +1 -0
- package/dist/formatters/tensionsList.js +33 -0
- package/dist/formatters/tensionsList.js.map +1 -0
- package/dist/formatters/update.d.ts +23 -0
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +46 -6
- package/dist/formatters/update.js.map +1 -1
- package/dist/formatters/update.test.d.ts +2 -0
- package/dist/formatters/update.test.d.ts.map +1 -0
- package/dist/formatters/update.test.js +103 -0
- package/dist/formatters/update.test.js.map +1 -0
- package/dist/formatters/verify.d.ts +12 -4
- package/dist/formatters/verify.d.ts.map +1 -1
- package/dist/formatters/verify.js +20 -2
- package/dist/formatters/verify.js.map +1 -1
- package/dist/generated/healthGapKinds.generated.d.ts +12 -0
- package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
- package/dist/generated/healthGapKinds.generated.js +21 -0
- package/dist/generated/healthGapKinds.generated.js.map +1 -0
- package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts +12 -0
- package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts.map +1 -0
- package/dist/generated/organisationalAuthorityRefusalCodes.generated.js +11 -0
- package/dist/generated/organisationalAuthorityRefusalCodes.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 +56 -0
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
- package/dist/generated/routeLatencyBudget.generated.js +290 -0
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
- package/dist/generated/sourceSurfaces.generated.d.ts +12 -0
- package/dist/generated/sourceSurfaces.generated.d.ts.map +1 -0
- package/dist/generated/sourceSurfaces.generated.js +11 -0
- package/dist/generated/sourceSurfaces.generated.js.map +1 -0
- package/dist/generators/adapters.d.ts +33 -4
- package/dist/generators/adapters.d.ts.map +1 -1
- package/dist/generators/adapters.js +72 -27
- package/dist/generators/adapters.js.map +1 -1
- package/dist/generators/adapters.test.js +0 -2
- package/dist/generators/adapters.test.js.map +1 -1
- package/dist/generators/archetypes.d.ts.map +1 -1
- package/dist/generators/archetypes.js +46 -9
- package/dist/generators/archetypes.js.map +1 -1
- package/dist/generators/archetypes.test.js +35 -0
- package/dist/generators/archetypes.test.js.map +1 -1
- package/dist/generators/boundary-manifest.d.ts +29 -0
- package/dist/generators/boundary-manifest.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.js +183 -0
- package/dist/generators/boundary-manifest.js.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.js +70 -0
- package/dist/generators/boundary-manifest.real-file.test.js.map +1 -0
- package/dist/generators/boundary-manifest.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.test.js +91 -0
- package/dist/generators/boundary-manifest.test.js.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts +2 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js +41 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js.map +1 -0
- package/dist/generators/chain-classifier.d.ts +67 -14
- package/dist/generators/chain-classifier.d.ts.map +1 -1
- package/dist/generators/chain-classifier.js +46 -174
- package/dist/generators/chain-classifier.js.map +1 -1
- package/dist/generators/chain-rules.d.ts.map +1 -1
- package/dist/generators/chain-rules.js +115 -3
- package/dist/generators/chain-rules.js.map +1 -1
- package/dist/generators/chain-rules.test.js +271 -2
- package/dist/generators/chain-rules.test.js.map +1 -1
- package/dist/generators/context-md.d.ts +1 -1
- package/dist/generators/context-md.d.ts.map +1 -1
- package/dist/generators/context-md.js +17 -46
- package/dist/generators/context-md.js.map +1 -1
- package/dist/generators/context-md.test.d.ts +2 -0
- package/dist/generators/context-md.test.d.ts.map +1 -0
- package/dist/generators/context-md.test.js +82 -0
- package/dist/generators/context-md.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/noProjectionAssets.d.ts +15 -0
- package/dist/generators/noProjectionAssets.d.ts.map +1 -0
- package/dist/generators/noProjectionAssets.js +6 -0
- package/dist/generators/noProjectionAssets.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +27 -28
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +97 -119
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +82 -267
- package/dist/generators/portable-knowledge.test.js.map +1 -1
- package/dist/generators/region-projections.d.ts +17 -0
- package/dist/generators/region-projections.d.ts.map +1 -0
- package/dist/generators/region-projections.js +48 -0
- package/dist/generators/region-projections.js.map +1 -0
- package/dist/generators/region-projections.test.d.ts +2 -0
- package/dist/generators/region-projections.test.d.ts.map +1 -0
- package/dist/generators/region-projections.test.js +63 -0
- package/dist/generators/region-projections.test.js.map +1 -0
- package/dist/generators/region.d.ts +24 -0
- package/dist/generators/region.d.ts.map +1 -0
- package/dist/generators/region.js +87 -0
- package/dist/generators/region.js.map +1 -0
- package/dist/generators/region.test.d.ts +2 -0
- package/dist/generators/region.test.d.ts.map +1 -0
- package/dist/generators/region.test.js +126 -0
- package/dist/generators/region.test.js.map +1 -0
- package/dist/generators/surface-profiles.d.ts +1 -2
- package/dist/generators/surface-profiles.d.ts.map +1 -1
- package/dist/generators/surface-profiles.js.map +1 -1
- package/dist/handleCliError.d.ts +2 -0
- package/dist/handleCliError.d.ts.map +1 -0
- package/dist/handleCliError.js +56 -0
- package/dist/handleCliError.js.map +1 -0
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +260 -284
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/legalRelationTypes.test.d.ts +2 -0
- package/dist/lib/__tests__/legalRelationTypes.test.d.ts.map +1 -0
- package/dist/lib/__tests__/legalRelationTypes.test.js +98 -0
- package/dist/lib/__tests__/legalRelationTypes.test.js.map +1 -0
- package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
- package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
- package/dist/lib/__tests__/parseFields.test.js +40 -0
- package/dist/lib/__tests__/parseFields.test.js.map +1 -0
- package/dist/lib/activation.d.ts.map +1 -1
- package/dist/lib/activation.js +7 -3
- package/dist/lib/activation.js.map +1 -1
- package/dist/lib/activation.test.js +3 -3
- package/dist/lib/activation.test.js.map +1 -1
- package/dist/lib/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 +43 -0
- package/dist/lib/captureGrounding.d.ts.map +1 -0
- package/dist/lib/captureGrounding.js +99 -0
- package/dist/lib/captureGrounding.js.map +1 -0
- package/dist/lib/captureGrounding.test.d.ts +2 -0
- package/dist/lib/captureGrounding.test.d.ts.map +1 -0
- package/dist/lib/captureGrounding.test.js +116 -0
- package/dist/lib/captureGrounding.test.js.map +1 -0
- package/dist/lib/captureLink.d.ts +26 -0
- package/dist/lib/captureLink.d.ts.map +1 -0
- package/dist/lib/captureLink.js +110 -0
- package/dist/lib/captureLink.js.map +1 -0
- package/dist/lib/captureVersion.d.ts +38 -0
- package/dist/lib/captureVersion.d.ts.map +1 -0
- package/dist/lib/captureVersion.js +73 -0
- package/dist/lib/captureVersion.js.map +1 -0
- package/dist/lib/client.d.ts +46 -19
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +229 -66
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +80 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +172 -0
- package/dist/lib/collectionRegistry.js.map +1 -0
- package/dist/lib/commanderOptions.d.ts +8 -0
- package/dist/lib/commanderOptions.d.ts.map +1 -0
- package/dist/lib/commanderOptions.js +10 -0
- package/dist/lib/commanderOptions.js.map +1 -0
- package/dist/lib/compose-wrapup-view.d.ts +48 -0
- package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
- package/dist/lib/compose-wrapup-view.js +37 -0
- package/dist/lib/compose-wrapup-view.js.map +1 -0
- package/dist/lib/config.d.ts +102 -54
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +252 -156
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/configResult.d.ts +103 -0
- package/dist/lib/configResult.d.ts.map +1 -0
- package/dist/lib/configResult.js +180 -0
- package/dist/lib/configResult.js.map +1 -0
- package/dist/lib/connectKeyLabel.d.ts +9 -0
- package/dist/lib/connectKeyLabel.d.ts.map +1 -0
- package/dist/lib/connectKeyLabel.js +12 -0
- package/dist/lib/connectKeyLabel.js.map +1 -0
- package/dist/lib/constants.d.ts +5 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +8 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/conversation.d.ts +36 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +66 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/createEntryResult.d.ts +34 -0
- package/dist/lib/createEntryResult.d.ts.map +1 -0
- package/dist/lib/createEntryResult.js +12 -0
- package/dist/lib/createEntryResult.js.map +1 -0
- package/dist/lib/deployment.test.js +19 -0
- package/dist/lib/deployment.test.js.map +1 -1
- package/dist/lib/envKeySnapshot.d.ts +10 -0
- package/dist/lib/envKeySnapshot.d.ts.map +1 -0
- package/dist/lib/envKeySnapshot.js +30 -0
- package/dist/lib/envKeySnapshot.js.map +1 -0
- package/dist/lib/errors.d.ts +79 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +79 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/frontmatter.d.ts +55 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +92 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +15 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +98 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/gatewayTimeout.d.ts +88 -0
- package/dist/lib/gatewayTimeout.d.ts.map +1 -0
- package/dist/lib/gatewayTimeout.js +118 -0
- package/dist/lib/gatewayTimeout.js.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
- package/dist/lib/glossary.js +1 -1
- package/dist/lib/glossary.js.map +1 -1
- package/dist/lib/hook-intents.d.ts +51 -0
- package/dist/lib/hook-intents.d.ts.map +1 -0
- package/dist/lib/hook-intents.js +84 -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 +26 -0
- package/dist/lib/legalRelationTypes.d.ts.map +1 -0
- package/dist/lib/legalRelationTypes.js +95 -0
- package/dist/lib/legalRelationTypes.js.map +1 -0
- package/dist/lib/localBinding.d.ts +86 -0
- package/dist/lib/localBinding.d.ts.map +1 -0
- package/dist/lib/localBinding.js +173 -0
- package/dist/lib/localBinding.js.map +1 -0
- package/dist/lib/method-registry.d.ts +37 -0
- package/dist/lib/method-registry.d.ts.map +1 -0
- package/dist/lib/method-registry.js +41 -0
- package/dist/lib/method-registry.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.js +56 -0
- package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
- package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
- package/dist/lib/notice-marker.d.ts +3 -0
- package/dist/lib/notice-marker.d.ts.map +1 -0
- package/dist/lib/notice-marker.js +223 -0
- package/dist/lib/notice-marker.js.map +1 -0
- package/dist/lib/onboarding-path-b.d.ts.map +1 -1
- package/dist/lib/onboarding-path-b.js +35 -6
- package/dist/lib/onboarding-path-b.js.map +1 -1
- package/dist/lib/onboarding-shared.d.ts +27 -5
- package/dist/lib/onboarding-shared.d.ts.map +1 -1
- package/dist/lib/onboarding-shared.js +55 -37
- package/dist/lib/onboarding-shared.js.map +1 -1
- package/dist/lib/onboarding-shared.test.d.ts +2 -0
- package/dist/lib/onboarding-shared.test.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.test.js +131 -0
- package/dist/lib/onboarding-shared.test.js.map +1 -0
- package/dist/lib/onboarding-topics.js +1 -1
- package/dist/lib/onboarding.d.ts +5 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +62 -25
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/ownerLine.d.ts +58 -0
- package/dist/lib/ownerLine.d.ts.map +1 -0
- package/dist/lib/ownerLine.js +46 -0
- package/dist/lib/ownerLine.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 +53 -5
- package/dist/lib/profiles.d.ts.map +1 -1
- package/dist/lib/profiles.js +77 -23
- package/dist/lib/profiles.js.map +1 -1
- package/dist/lib/projectConfig.d.ts +81 -0
- package/dist/lib/projectConfig.d.ts.map +1 -0
- package/dist/lib/projectConfig.js +157 -0
- package/dist/lib/projectConfig.js.map +1 -0
- package/dist/lib/proseBody.d.ts +14 -0
- package/dist/lib/proseBody.d.ts.map +1 -0
- package/dist/lib/proseBody.js +25 -0
- package/dist/lib/proseBody.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/readinessNotices.d.ts +12 -0
- package/dist/lib/readinessNotices.d.ts.map +1 -0
- package/dist/lib/readinessNotices.js +15 -0
- package/dist/lib/readinessNotices.js.map +1 -0
- package/dist/lib/repo-detect.d.ts +8 -2
- package/dist/lib/repo-detect.d.ts.map +1 -1
- package/dist/lib/repo-detect.js +11 -6
- package/dist/lib/repo-detect.js.map +1 -1
- package/dist/lib/reportedProfile.d.ts +18 -0
- package/dist/lib/reportedProfile.d.ts.map +1 -0
- package/dist/lib/reportedProfile.js +144 -0
- package/dist/lib/reportedProfile.js.map +1 -0
- package/dist/lib/ruleListRender.d.ts +63 -0
- package/dist/lib/ruleListRender.d.ts.map +1 -0
- package/dist/lib/ruleListRender.js +79 -0
- package/dist/lib/ruleListRender.js.map +1 -0
- package/dist/lib/runner.d.ts +9 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +30 -4
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/session.d.ts +90 -6
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +261 -17
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/sessionBinding.d.ts +61 -0
- package/dist/lib/sessionBinding.d.ts.map +1 -0
- package/dist/lib/sessionBinding.js +125 -0
- package/dist/lib/sessionBinding.js.map +1 -0
- package/dist/lib/sessionNotices.d.ts +53 -0
- package/dist/lib/sessionNotices.d.ts.map +1 -0
- package/dist/lib/sessionNotices.js +122 -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/spineVerdictRead.d.ts +70 -0
- package/dist/lib/spineVerdictRead.d.ts.map +1 -0
- package/dist/lib/spineVerdictRead.js +73 -0
- package/dist/lib/spineVerdictRead.js.map +1 -0
- package/dist/lib/spinner.js +2 -2
- package/dist/lib/spinner.js.map +1 -1
- package/dist/lib/startup-resolution-signals.d.ts +34 -0
- package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.js +116 -0
- package/dist/lib/startup-resolution-signals.js.map +1 -0
- package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
- package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.test.js +113 -0
- package/dist/lib/startup-resolution-signals.test.js.map +1 -0
- package/dist/lib/startup-signals.d.ts +12 -0
- package/dist/lib/startup-signals.d.ts.map +1 -0
- package/dist/lib/startup-signals.js +179 -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 +11 -2
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +11 -4
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/statusCategories.d.ts +156 -0
- package/dist/lib/statusCategories.d.ts.map +1 -0
- package/dist/lib/statusCategories.js +322 -0
- package/dist/lib/statusCategories.js.map +1 -0
- package/dist/lib/strip.d.ts +17 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +48 -1
- package/dist/lib/strip.js.map +1 -1
- package/dist/lib/style.d.ts +8 -2
- package/dist/lib/style.d.ts.map +1 -1
- package/dist/lib/style.js +24 -17
- package/dist/lib/style.js.map +1 -1
- package/dist/lib/tokenConstants.d.ts +2 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -1
- package/dist/lib/tokenConstants.js +2 -0
- package/dist/lib/tokenConstants.js.map +1 -1
- package/dist/lib/update-check.d.ts +42 -7
- package/dist/lib/update-check.d.ts.map +1 -1
- package/dist/lib/update-check.js +213 -62
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/upgrade-runner.d.ts +22 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +110 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/versionWrite.d.ts +65 -0
- package/dist/lib/versionWrite.d.ts.map +1 -0
- package/dist/lib/versionWrite.js +32 -0
- package/dist/lib/versionWrite.js.map +1 -0
- package/dist/lib/workspaceNotice.d.ts +202 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +345 -0
- package/dist/lib/workspaceNotice.js.map +1 -0
- package/dist/lib/workspaceVocabCache.d.ts +60 -0
- package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
- package/dist/lib/workspaceVocabCache.js +98 -0
- package/dist/lib/workspaceVocabCache.js.map +1 -0
- package/dist/lib/writePerimeter.d.ts +72 -0
- package/dist/lib/writePerimeter.d.ts.map +1 -0
- package/dist/lib/writePerimeter.js +128 -0
- package/dist/lib/writePerimeter.js.map +1 -0
- package/dist/registerEntryCommands.d.ts +17 -0
- package/dist/registerEntryCommands.d.ts.map +1 -0
- package/dist/registerEntryCommands.js +106 -0
- package/dist/registerEntryCommands.js.map +1 -0
- package/dist/registerHistoryCommand.d.ts +8 -0
- package/dist/registerHistoryCommand.d.ts.map +1 -0
- package/dist/registerHistoryCommand.js +14 -0
- package/dist/registerHistoryCommand.js.map +1 -0
- package/dist/registerOutcomeCommands.d.ts +27 -0
- package/dist/registerOutcomeCommands.d.ts.map +1 -0
- package/dist/registerOutcomeCommands.js +27 -0
- package/dist/registerOutcomeCommands.js.map +1 -0
- package/dist/registerRoleCommands.d.ts +10 -0
- package/dist/registerRoleCommands.d.ts.map +1 -0
- package/dist/registerRoleCommands.js +14 -0
- package/dist/registerRoleCommands.js.map +1 -0
- package/dist/registerTensionsCommands.d.ts +10 -0
- package/dist/registerTensionsCommands.d.ts.map +1 -0
- package/dist/registerTensionsCommands.js +15 -0
- package/dist/registerTensionsCommands.js.map +1 -0
- package/dist/scoreboard/diagnose.d.ts +190 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +282 -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 +288 -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/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 +86 -0
- package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
- package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts +2 -0
- package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.js +179 -0
- package/dist/surfaces/__tests__/claude-skill-pointer-drift.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 +72 -0
- package/dist/surfaces/adapters/claude.js.map +1 -0
- package/dist/surfaces/adapters/codex.d.ts +3 -0
- package/dist/surfaces/adapters/codex.d.ts.map +1 -0
- package/dist/surfaces/adapters/codex.js +61 -0
- package/dist/surfaces/adapters/codex.js.map +1 -0
- package/dist/surfaces/adapters/copilot.d.ts +3 -0
- package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
- package/dist/surfaces/adapters/copilot.js +59 -0
- package/dist/surfaces/adapters/copilot.js.map +1 -0
- package/dist/surfaces/adapters/cursor.d.ts +3 -0
- package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
- package/dist/surfaces/adapters/cursor.js +78 -0
- package/dist/surfaces/adapters/cursor.js.map +1 -0
- package/dist/surfaces/registry.d.ts +76 -0
- package/dist/surfaces/registry.d.ts.map +1 -0
- package/dist/surfaces/registry.js +117 -0
- package/dist/surfaces/registry.js.map +1 -0
- package/dist/surfaces/telemetry.d.ts +17 -0
- package/dist/surfaces/telemetry.d.ts.map +1 -0
- package/dist/surfaces/telemetry.js +31 -0
- package/dist/surfaces/telemetry.js.map +1 -0
- package/package.json +9 -5
- package/templates/method-registry.json +16 -0
- package/dist/__tests__/promote.test.d.ts +0 -2
- package/dist/__tests__/promote.test.d.ts.map +0 -1
- package/dist/__tests__/promote.test.js +0 -161
- package/dist/__tests__/promote.test.js.map +0 -1
- package/dist/__tests__/proposals.test.d.ts +0 -2
- package/dist/__tests__/proposals.test.d.ts.map +0 -1
- package/dist/__tests__/proposals.test.js +0 -167
- package/dist/__tests__/proposals.test.js.map +0 -1
- package/dist/__tests__/setup.test.d.ts +0 -2
- package/dist/__tests__/setup.test.d.ts.map +0 -1
- package/dist/__tests__/setup.test.js +0 -141
- package/dist/__tests__/setup.test.js.map +0 -1
- package/dist/commands/accept.d.ts +0 -18
- package/dist/commands/accept.d.ts.map +0 -1
- package/dist/commands/accept.js +0 -76
- package/dist/commands/accept.js.map +0 -1
- package/dist/commands/promote.d.ts +0 -12
- package/dist/commands/promote.d.ts.map +0 -1
- package/dist/commands/promote.js +0 -90
- package/dist/commands/promote.js.map +0 -1
- package/dist/commands/proposals.d.ts +0 -9
- package/dist/commands/proposals.d.ts.map +0 -1
- package/dist/commands/proposals.js +0 -24
- package/dist/commands/proposals.js.map +0 -1
- package/dist/commands/reject.d.ts +0 -14
- package/dist/commands/reject.d.ts.map +0 -1
- package/dist/commands/reject.js +0 -43
- package/dist/commands/reject.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -15
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -148
- package/dist/commands/setup.js.map +0 -1
- package/dist/formatters/promote.d.ts +0 -30
- package/dist/formatters/promote.d.ts.map +0 -1
- package/dist/formatters/promote.js +0 -39
- package/dist/formatters/promote.js.map +0 -1
- package/dist/formatters/proposals.d.ts +0 -45
- package/dist/formatters/proposals.d.ts.map +0 -1
- package/dist/formatters/proposals.js +0 -62
- package/dist/formatters/proposals.js.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
- package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.js +0 -89
- package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
- package/dist/generators/chain-classifier.test.d.ts +0 -2
- package/dist/generators/chain-classifier.test.d.ts.map +0 -1
- package/dist/generators/chain-classifier.test.js +0 -257
- package/dist/generators/chain-classifier.test.js.map +0 -1
- package/dist/lib/onboarding-phases.d.ts +0 -9
- package/dist/lib/onboarding-phases.d.ts.map +0 -1
- package/dist/lib/onboarding-phases.js +0 -120
- package/dist/lib/onboarding-phases.js.map +0 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status category axis (T2, TASK-386, WP-779, DEC-1622 kickoff-final §5). Split out of
|
|
3
|
+
* statusStateMachine.ts (round-2 review) to keep that file under its 500-line module-health
|
|
4
|
+
* ceiling — a real split, never a comment trim; re-exported from statusStateMachine.ts so every
|
|
5
|
+
* existing import path (`kernel/entries/statusStateMachine`) keeps resolving unchanged.
|
|
6
|
+
*
|
|
7
|
+
* The kernel's four status CATEGORIES — RULE-630 step 1 adds this union beside
|
|
8
|
+
* statusStateMachine.ts's existing draft/accepted/active/deprecated/archived trust literals,
|
|
9
|
+
* removing nothing (T9a2 removes `active`/`deprecated` from the schema union only after T9a1's
|
|
10
|
+
* deploy step has emptied them fleet-wide). A category is NEVER supplied by a caller: it is
|
|
11
|
+
* looked up from the entry's collection's declared `statusList` (below) by the entry's stored
|
|
12
|
+
* `workflowStatus` LABEL. T3a (TASK-388, WP-779, DEC-1788) wired the one write door
|
|
13
|
+
* (`convex/lib/writeEntryStatus.ts`) through `resolveStatusCategory` — a writer whose
|
|
14
|
+
* destination collection declares a `statusList` now gets `current`/`past`/`discarded` written
|
|
15
|
+
* into `entries.status` alongside the label; an undeclared collection, or an unmapped label,
|
|
16
|
+
* still leaves `entries.status` holding one of the 5 legacy trust words. `entries.status` stores
|
|
17
|
+
* the category once derivable; `entries.workflowStatus` stores the label. No new column.
|
|
18
|
+
*/
|
|
19
|
+
export declare const STATUS_CATEGORIES: readonly ["draft", "current", "past", "discarded"];
|
|
20
|
+
export type StatusCategory = (typeof STATUS_CATEGORIES)[number];
|
|
21
|
+
export declare function isStatusCategory(value: string): value is StatusCategory;
|
|
22
|
+
export declare function isDraftCategory(value: string): boolean;
|
|
23
|
+
export declare function isCurrentCategory(value: string): boolean;
|
|
24
|
+
export declare function isPastCategory(value: string): boolean;
|
|
25
|
+
export declare function isDiscardedCategory(value: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Round 1 review (P1, PR #652 threads 1 + 2): the write-compat bridge means
|
|
28
|
+
* 'accepted' and legacy 'active' are the SAME trust level, permanently — not a
|
|
29
|
+
* transitional state. Every reader that gates on "is this entry live/accepted"
|
|
30
|
+
* (orientation, authority resolution, question routing, governance-promotion
|
|
31
|
+
* gates) MUST accept both words, or a migrated/mixed workspace silently loses
|
|
32
|
+
* — or under-gates — entries depending on which literal they happen to carry.
|
|
33
|
+
* This is the ONE shared predicate; do not re-hand-roll `=== 'active'`.
|
|
34
|
+
*/
|
|
35
|
+
export declare const TRUST_ACCEPTED_WORDS: readonly ["accepted", "active", "current"];
|
|
36
|
+
export declare function isTrustAccepted(status: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* WP-664 Lane 2 S2 reduction leaf 3 — the mirror predicate on the OTHER trust-word pair: legacy
|
|
39
|
+
* 'deprecated' is the same trust level as canonical 'archived', permanently (same DEC-1571 fold
|
|
40
|
+
* as isTrustAccepted's active/accepted pairing above, just on the retired side). Every reader
|
|
41
|
+
* that means "is this entry retired" (skip a dead reference in an enumeration, exclude from a
|
|
42
|
+
* subtree/anchor recovery pass) MUST accept both words, or a not-yet-migrated 'deprecated' row
|
|
43
|
+
* silently survives a filter written only against 'archived'. This is the shared predicate for
|
|
44
|
+
* that axis — do not re-hand-roll `=== 'archived' || === 'deprecated'` (a pattern already
|
|
45
|
+
* duplicated across a dozen-plus call sites at the time this helper was added; widening those
|
|
46
|
+
* onto it is future-leaf work, not this leaf's scope).
|
|
47
|
+
*/
|
|
48
|
+
export declare const TRUST_ARCHIVED_WORDS: readonly ["archived", "deprecated", "past", "discarded"];
|
|
49
|
+
/** One row of a collection's declared, ORDERED status vocabulary — the catalog's `statusList`
|
|
50
|
+
* field (`dev-system-collections.json`), synced onto both `system_collection_definitions` and
|
|
51
|
+
* per-workspace `collections` rows. `label` is stored in `entries.workflowStatus`; `category`
|
|
52
|
+
* is what `entries.status` resolves to for that label.
|
|
53
|
+
*
|
|
54
|
+
* T4b (TASK-389, DEC-1813): `archiveDefault` marks the ONE Past-category label an archive (which
|
|
55
|
+
* never knows the specific outcome an entry ended at) writes — see `archiveLabelFor` below.
|
|
56
|
+
* Optional on the type so a category with no Past label at all stays representable;
|
|
57
|
+
* `validateStatusList` makes it mandatory in practice by refusing a Past label set with anything
|
|
58
|
+
* other than exactly one `archiveDefault`. */
|
|
59
|
+
export interface StatusListEntry {
|
|
60
|
+
label: string;
|
|
61
|
+
category: StatusCategory;
|
|
62
|
+
archiveDefault?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Validates a collection's declared `statusList` (kickoff-final §5 ruling #2, round-2 review):
|
|
66
|
+
* the FIRST label is literally "draft" AND category 'draft'; exactly ONE label is category
|
|
67
|
+
* 'draft'; exactly ONE label is category 'discarded' and that label is itself literally
|
|
68
|
+
* "discarded"; every OTHER label is category 'current' or 'past'; labels are unique (case-folded
|
|
69
|
+
* — "Draft" and "draft" collide); no label is empty or whitespace-padded; DEC-1813: among the
|
|
70
|
+
* Past-category labels (if any), exactly one is marked `archiveDefault: true` — the word an
|
|
71
|
+
* archive (which never knows the specific outcome) writes. Accepts `unknown` (this is called on
|
|
72
|
+
* raw catalog JSON before it is known to be shaped) — mirrors `validateAxisContract`
|
|
73
|
+
* (convex/lib/axisContract.ts)'s defensive-input posture, not just `validateStageLabelMap`'s
|
|
74
|
+
* already-typed one. Returns every violation found; empty = valid. Pure, never throws.
|
|
75
|
+
*/
|
|
76
|
+
export declare function validateStatusList(statusList: unknown): readonly string[];
|
|
77
|
+
/** Looks up a label's category from a collection's declared statusList. Never throws — an
|
|
78
|
+
* unmapped label (statusList absent, or the label isn't declared) resolves to `undefined` so
|
|
79
|
+
* the caller (the one write door, `convex/lib/writeEntryStatus.ts`) decides whether that is a
|
|
80
|
+
* hard failure — this module stays neutral, same posture as `resolveProgress`
|
|
81
|
+
* (statusStateMachine.ts) does for the progress axis. */
|
|
82
|
+
export declare function resolveStatusCategory(label: string, statusList: readonly StatusListEntry[] | undefined): StatusCategory | undefined;
|
|
83
|
+
/** A category's trust-LEVEL equivalent — draft/current/past/discarded, projected onto the older
|
|
84
|
+
* three-word axis kernel/entries/statusStateMachine.ts's TRUST_TRANSITIONS still speaks
|
|
85
|
+
* (`'draft' | 'accepted' | 'archived'`, never the legacy write-compat 'active'/'deprecated'). */
|
|
86
|
+
export type CategoryTrustLevel = 'draft' | 'accepted' | 'archived';
|
|
87
|
+
export declare const CATEGORY_TRUST_LEVEL: Record<StatusCategory, CategoryTrustLevel>;
|
|
88
|
+
/** T3b (TASK-388, WP-779, DEC-1788): the ONE derivation, shared by every writer that turns a
|
|
89
|
+
* `workflowStatus` label into a `status` category — the patch door (`writeEntryStatus.ts`) and
|
|
90
|
+
* a future create path both call this instead of each re-implementing the
|
|
91
|
+
* `resolveStatusCategory` + trust-level lookup pair. Pure: no `ctx.db`, no guard, no write —
|
|
92
|
+
* callers run their OWN guards (creation has its own; writeEntryStatus.ts's guard block is
|
|
93
|
+
* unchanged) against the `trustWord` this returns, exactly as they would a caller-supplied
|
|
94
|
+
* trust word. `undefined` covers two cases identically (no derivation to report): an undeclared
|
|
95
|
+
* statusList, and a declared statusList whose label isn't listed. TASK-389/DEC-1789 governs when
|
|
96
|
+
* the second case becomes a hard failure at the write door. */
|
|
97
|
+
export declare function deriveStatusPair(collection: {
|
|
98
|
+
statusList?: readonly StatusListEntry[];
|
|
99
|
+
} | null | undefined, workflowStatus: string | undefined): {
|
|
100
|
+
category: StatusCategory;
|
|
101
|
+
trustWord: CategoryTrustLevel;
|
|
102
|
+
} | undefined;
|
|
103
|
+
/** T3b round-2 review: the ONE reconciliation both writeEntryStatus.ts and _patchEntry run
|
|
104
|
+
* against `deriveStatusPair`'s result — never throws (this module stays Convex-free, same
|
|
105
|
+
* posture as `validateStatusList`); the caller turns `disagreementError` into its own
|
|
106
|
+
* VALIDATION_FAILED. `explicitTrustWord` is the caller's OWN status, already canonicalized to
|
|
107
|
+
* a trust word (or `null` for an unrecognized word, or `undefined` when no status was
|
|
108
|
+
* supplied at all) — the caller resolves that BEFORE calling, since canonicalWriteTarget lives
|
|
109
|
+
* in statusStateMachine.ts, not here (no import cycle: this file is re-exported THROUGH that
|
|
110
|
+
* one). `derivedPair` is undefined for both cases `deriveStatusPair` already covers. */
|
|
111
|
+
export declare function reconcileStatusDerivation(explicitTrustWord: CategoryTrustLevel | null | undefined, workflowStatus: string | undefined, collection: {
|
|
112
|
+
statusList?: readonly StatusListEntry[];
|
|
113
|
+
} | null | undefined): {
|
|
114
|
+
derivedPair: {
|
|
115
|
+
category: StatusCategory;
|
|
116
|
+
trustWord: CategoryTrustLevel;
|
|
117
|
+
} | undefined;
|
|
118
|
+
disagreementError: string | undefined;
|
|
119
|
+
};
|
|
120
|
+
/** The reason's own natural category — `resolveArchiveWorkflowStatus` below maps a non-draft
|
|
121
|
+
* archive's reason to a category through this before resolving the word. */
|
|
122
|
+
export declare function archiveReasonCategory(reason: string): Extract<StatusCategory, 'past' | 'discarded'> | undefined;
|
|
123
|
+
/** DEC-1813: the ONE label a CATEGORY of archive writes — never a `reason`, so a caller with no
|
|
124
|
+
* reason concept of its own (a door that archives without asking why) resolves the SAME word a
|
|
125
|
+
* reason-carrying caller would, instead of inventing a stand-in reason to reach it.
|
|
126
|
+
* 'discarded' always writes the literal 'discarded' (every statusList declares it,
|
|
127
|
+
* `validateStatusList`'s own rule); 'past' writes the collection's one `archiveDefault` Past
|
|
128
|
+
* label, or `undefined` when none is marked (`validateStatusList` refuses a list without exactly
|
|
129
|
+
* one, but an older, pre-validation row can still lack it). */
|
|
130
|
+
export declare function archiveLabelFor(statusList: readonly StatusListEntry[] | undefined, category: Extract<StatusCategory, 'past' | 'discarded'>): string | undefined;
|
|
131
|
+
/** WP-779 (its own `architecture` field): the only draft-archive transition is "Draft or Current
|
|
132
|
+
* -> Discarded" — a draft entry's category is ALWAYS discarded when archived, regardless of
|
|
133
|
+
* which of the five `archivedReason` words the caller supplies; the reason itself is still
|
|
134
|
+
* stored as given (this function only resolves the WORD, never validates or rejects a reason).
|
|
135
|
+
* A non-draft entry's category follows `archiveReasonCategory`'s reason -> category mapping
|
|
136
|
+
* instead. A DECLARED statusList with no resolvable word (no archiveDefault Past label) is
|
|
137
|
+
* refused — the archive door's fail-closed rule. A collection with no statusList at all stays
|
|
138
|
+
* soft (`word: undefined`, no refusal) — out of T4b's scope. */
|
|
139
|
+
export declare function resolveArchiveWorkflowStatus(archivedReason: string, statusList: readonly StatusListEntry[] | undefined, collectionSlug: string, isDraft: boolean): {
|
|
140
|
+
word: string | undefined;
|
|
141
|
+
refusalReason?: string;
|
|
142
|
+
};
|
|
143
|
+
export declare const ENTRY_STATUS_READ_WORDS: readonly ["draft", "accepted", "active", "current", "archived", "deprecated", "past", "discarded"];
|
|
144
|
+
export declare const ENTRY_STATUS_WRITE_WORDS: readonly ["draft", "archived"];
|
|
145
|
+
/** Display-word fold for a stored `entries.status`/lifecycle value: legacy `active` displays as
|
|
146
|
+
* the canonical `accepted` word (DEC-1575 — the two are the same trust level), so the CLI never
|
|
147
|
+
* shows a fresh accept and a legacy row under different labels. F2 (PR review, kickoff-final
|
|
148
|
+
* §5): `current` is a CATEGORY, not the same thing as the `accepted` LABEL one collection's own
|
|
149
|
+
* `statusList` happens to use for its live state — `pb get`/formatters/entry.ts shows the raw
|
|
150
|
+
* stored word ("Status: current"), so folding `current` here would make `search` disagree with
|
|
151
|
+
* `get` for the exact same entry. Every value besides legacy `active` (including `accepted`
|
|
152
|
+
* itself and the category words `current`/`past`/`discarded`) displays as-is. Deliberately NOT
|
|
153
|
+
* `foldLegacyTrustState` — its `deprecated`→`archived` leg would fold two genuinely distinct
|
|
154
|
+
* stored values into one shown word, which a display column must not do. */
|
|
155
|
+
export declare function displayEntryStatus(status: string): string;
|
|
156
|
+
//# sourceMappingURL=statusCategories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusCategories.d.ts","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
// GENERATED by scripts/generate-mcp-embedded-copies.mjs from kernel/entries/statusCategories.ts.
|
|
2
|
+
// DO NOT EDIT. Run `npm run mcp:embedded-copies` to regenerate.
|
|
3
|
+
// Local runtime copy for the isolated connector build.
|
|
4
|
+
/**
|
|
5
|
+
* Status category axis (T2, TASK-386, WP-779, DEC-1622 kickoff-final §5). Split out of
|
|
6
|
+
* statusStateMachine.ts (round-2 review) to keep that file under its 500-line module-health
|
|
7
|
+
* ceiling — a real split, never a comment trim; re-exported from statusStateMachine.ts so every
|
|
8
|
+
* existing import path (`kernel/entries/statusStateMachine`) keeps resolving unchanged.
|
|
9
|
+
*
|
|
10
|
+
* The kernel's four status CATEGORIES — RULE-630 step 1 adds this union beside
|
|
11
|
+
* statusStateMachine.ts's existing draft/accepted/active/deprecated/archived trust literals,
|
|
12
|
+
* removing nothing (T9a2 removes `active`/`deprecated` from the schema union only after T9a1's
|
|
13
|
+
* deploy step has emptied them fleet-wide). A category is NEVER supplied by a caller: it is
|
|
14
|
+
* looked up from the entry's collection's declared `statusList` (below) by the entry's stored
|
|
15
|
+
* `workflowStatus` LABEL. T3a (TASK-388, WP-779, DEC-1788) wired the one write door
|
|
16
|
+
* (`convex/lib/writeEntryStatus.ts`) through `resolveStatusCategory` — a writer whose
|
|
17
|
+
* destination collection declares a `statusList` now gets `current`/`past`/`discarded` written
|
|
18
|
+
* into `entries.status` alongside the label; an undeclared collection, or an unmapped label,
|
|
19
|
+
* still leaves `entries.status` holding one of the 5 legacy trust words. `entries.status` stores
|
|
20
|
+
* the category once derivable; `entries.workflowStatus` stores the label. No new column.
|
|
21
|
+
*/
|
|
22
|
+
export const STATUS_CATEGORIES = ['draft', 'current', 'past', 'discarded'];
|
|
23
|
+
const STATUS_CATEGORY_SET = new Set(STATUS_CATEGORIES);
|
|
24
|
+
export function isStatusCategory(value) {
|
|
25
|
+
return STATUS_CATEGORY_SET.has(value);
|
|
26
|
+
}
|
|
27
|
+
export function isDraftCategory(value) { return value === 'draft'; }
|
|
28
|
+
export function isCurrentCategory(value) { return value === 'current'; }
|
|
29
|
+
export function isPastCategory(value) { return value === 'past'; }
|
|
30
|
+
export function isDiscardedCategory(value) { return value === 'discarded'; }
|
|
31
|
+
// ─── Trust-word axis (F1, PR review, TASK-393, WP-779) ─────────────────────────────────────────
|
|
32
|
+
// Moved from statusStateMachine.ts, which imports both arrays + isTrustAccepted back and
|
|
33
|
+
// re-exports them unchanged (`export * from './statusCategories'`) — every existing
|
|
34
|
+
// `from '.../statusStateMachine'` importer keeps resolving. Moved here (not left in place)
|
|
35
|
+
// because this is the connector-copy source (T2) and every existing generated-copy target is
|
|
36
|
+
// dependency-free (see e.g. spineVerdictRead.ts's header) — statusStateMachine.ts imports
|
|
37
|
+
// `./patchFieldPolicy` for one unrelated function, so it can't be the copy source itself.
|
|
38
|
+
/**
|
|
39
|
+
* Round 1 review (P1, PR #652 threads 1 + 2): the write-compat bridge means
|
|
40
|
+
* 'accepted' and legacy 'active' are the SAME trust level, permanently — not a
|
|
41
|
+
* transitional state. Every reader that gates on "is this entry live/accepted"
|
|
42
|
+
* (orientation, authority resolution, question routing, governance-promotion
|
|
43
|
+
* gates) MUST accept both words, or a migrated/mixed workspace silently loses
|
|
44
|
+
* — or under-gates — entries depending on which literal they happen to carry.
|
|
45
|
+
* This is the ONE shared predicate; do not re-hand-roll `=== 'active'`.
|
|
46
|
+
*/
|
|
47
|
+
// WP-735 S5 review round (Codex P1, "Derive live-status filtering from the canonical helper"):
|
|
48
|
+
// a DB-level pre-filter (Convex .filter() takes literal q.eq comparisons, never an arbitrary JS
|
|
49
|
+
// predicate) needs the actual words, not just isTrustAccepted's boolean — exporting them here
|
|
50
|
+
// keeps every such pre-filter derived from the SAME list this predicate reads, instead of a
|
|
51
|
+
// second hand-typed literal pair that could silently drift if a future trust-word is added.
|
|
52
|
+
// T3a (TASK-388, WP-779, DEC-1788): 'current' joins the pair once writeEntryStatus.ts derives it
|
|
53
|
+
// into `status` for a collection with a declared statusList — the category axis's "live" word is
|
|
54
|
+
// the SAME trust level as 'accepted'/'active', not a fourth thing a reader must learn separately.
|
|
55
|
+
export const TRUST_ACCEPTED_WORDS = ['accepted', 'active', 'current'];
|
|
56
|
+
export function isTrustAccepted(status) {
|
|
57
|
+
return TRUST_ACCEPTED_WORDS.includes(status);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* WP-664 Lane 2 S2 reduction leaf 3 — the mirror predicate on the OTHER trust-word pair: legacy
|
|
61
|
+
* 'deprecated' is the same trust level as canonical 'archived', permanently (same DEC-1571 fold
|
|
62
|
+
* as isTrustAccepted's active/accepted pairing above, just on the retired side). Every reader
|
|
63
|
+
* that means "is this entry retired" (skip a dead reference in an enumeration, exclude from a
|
|
64
|
+
* subtree/anchor recovery pass) MUST accept both words, or a not-yet-migrated 'deprecated' row
|
|
65
|
+
* silently survives a filter written only against 'archived'. This is the shared predicate for
|
|
66
|
+
* that axis — do not re-hand-roll `=== 'archived' || === 'deprecated'` (a pattern already
|
|
67
|
+
* duplicated across a dozen-plus call sites at the time this helper was added; widening those
|
|
68
|
+
* onto it is future-leaf work, not this leaf's scope).
|
|
69
|
+
*/
|
|
70
|
+
// T3a (TASK-388, WP-779, DEC-1788): 'past' and 'discarded' join the pair — the category axis's
|
|
71
|
+
// two retired words are the SAME trust level as 'archived'/'deprecated', same reasoning as
|
|
72
|
+
// TRUST_ACCEPTED_WORDS's 'current' addition above.
|
|
73
|
+
// T4a1 (TASK-387, WP-779): exported as an array too, mirroring TRUST_ACCEPTED_WORDS — a DB-level
|
|
74
|
+
// pre-filter or an aggregate-bounds reader on the archived side needs the actual words, not just
|
|
75
|
+
// isTrustArchived's boolean, and this is the ONE list both derive from (never a second hand-typed
|
|
76
|
+
// four-word literal). `isTrustArchived` itself now reads this array instead of an inline literal
|
|
77
|
+
// chain — one list, not two copies that could silently drift.
|
|
78
|
+
export const TRUST_ARCHIVED_WORDS = ['archived', 'deprecated', 'past', 'discarded'];
|
|
79
|
+
function isPlainStatusListEntry(value) {
|
|
80
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Validates a collection's declared `statusList` (kickoff-final §5 ruling #2, round-2 review):
|
|
84
|
+
* the FIRST label is literally "draft" AND category 'draft'; exactly ONE label is category
|
|
85
|
+
* 'draft'; exactly ONE label is category 'discarded' and that label is itself literally
|
|
86
|
+
* "discarded"; every OTHER label is category 'current' or 'past'; labels are unique (case-folded
|
|
87
|
+
* — "Draft" and "draft" collide); no label is empty or whitespace-padded; DEC-1813: among the
|
|
88
|
+
* Past-category labels (if any), exactly one is marked `archiveDefault: true` — the word an
|
|
89
|
+
* archive (which never knows the specific outcome) writes. Accepts `unknown` (this is called on
|
|
90
|
+
* raw catalog JSON before it is known to be shaped) — mirrors `validateAxisContract`
|
|
91
|
+
* (convex/lib/axisContract.ts)'s defensive-input posture, not just `validateStageLabelMap`'s
|
|
92
|
+
* already-typed one. Returns every violation found; empty = valid. Pure, never throws.
|
|
93
|
+
*/
|
|
94
|
+
export function validateStatusList(statusList) {
|
|
95
|
+
if (!Array.isArray(statusList)) {
|
|
96
|
+
return ['statusList must be an array.'];
|
|
97
|
+
}
|
|
98
|
+
if (statusList.length === 0) {
|
|
99
|
+
return ['statusList must declare at least one label.'];
|
|
100
|
+
}
|
|
101
|
+
const shapeErrors = [];
|
|
102
|
+
const entries = [];
|
|
103
|
+
for (const raw of statusList) {
|
|
104
|
+
if (!isPlainStatusListEntry(raw) || typeof raw.label !== 'string' || typeof raw.category !== 'string') {
|
|
105
|
+
shapeErrors.push(`every statusList entry must be an object with a string "label" and a string "category", got ${JSON.stringify(raw)}.`);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
entries.push({ label: raw.label, category: raw.category, archiveDefault: raw.archiveDefault === true });
|
|
109
|
+
}
|
|
110
|
+
if (shapeErrors.length > 0)
|
|
111
|
+
return shapeErrors; // can't meaningfully check the rules below on malformed entries
|
|
112
|
+
const errors = [];
|
|
113
|
+
for (const entry of entries) {
|
|
114
|
+
if (entry.label.length === 0 || entry.label.trim() !== entry.label) {
|
|
115
|
+
errors.push(`label "${entry.label}" is empty or whitespace-padded — labels must be non-empty and trimmed.`);
|
|
116
|
+
}
|
|
117
|
+
if (!isStatusCategory(entry.category)) {
|
|
118
|
+
errors.push(`label "${entry.label}" declares category "${entry.category}", which is not one of the four kernel categories (${STATUS_CATEGORIES.join('|')}).`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (entries[0].label !== 'draft') {
|
|
122
|
+
errors.push(`statusList[0] must be literally labeled "draft", found "${entries[0].label}".`);
|
|
123
|
+
}
|
|
124
|
+
if (entries[0].category !== 'draft') {
|
|
125
|
+
errors.push(`statusList[0] ("${entries[0].label}") must be category 'draft' — the first declared label is always the collection's draft state.`);
|
|
126
|
+
}
|
|
127
|
+
const draftCount = entries.filter((e) => e.category === 'draft').length;
|
|
128
|
+
if (draftCount !== 1) {
|
|
129
|
+
errors.push(`statusList must declare exactly one 'draft' category label, found ${draftCount}.`);
|
|
130
|
+
}
|
|
131
|
+
const discarded = entries.filter((e) => e.category === 'discarded');
|
|
132
|
+
if (discarded.length !== 1) {
|
|
133
|
+
errors.push(`statusList must declare exactly one 'discarded' category label, found ${discarded.length}.`);
|
|
134
|
+
}
|
|
135
|
+
else if (discarded[0].label !== 'discarded') {
|
|
136
|
+
errors.push(`the 'discarded' category label must itself be named "discarded", found "${discarded[0].label}".`);
|
|
137
|
+
}
|
|
138
|
+
// DEC-1813: among the Past-category labels (if this collection declares any), exactly one must
|
|
139
|
+
// be the archive default — the word `archiveLabelFor` writes for an archive, which never knows
|
|
140
|
+
// the specific outcome (done/achieved/answered/etc. are written only by the verb that knows it).
|
|
141
|
+
const pastLabels = entries.filter((e) => e.category === 'past');
|
|
142
|
+
const pastArchiveDefaults = pastLabels.filter((e) => e.archiveDefault === true);
|
|
143
|
+
if (pastLabels.length > 0 && pastArchiveDefaults.length !== 1) {
|
|
144
|
+
errors.push(`statusList must mark exactly one Past-category label archiveDefault: true, found ${pastArchiveDefaults.length} among ${pastLabels.length} Past label(s).`);
|
|
145
|
+
}
|
|
146
|
+
// archiveDefault only ever means anything on a Past-category label (archiveLabelFor never reads
|
|
147
|
+
// it on any other category) — a non-Past label marked true would advertise (and
|
|
148
|
+
// describeCollection would render) two "archive defaults" while archiveLabelFor only ever
|
|
149
|
+
// honors the Past one. Reject the non-Past marker outright rather than let the stored contract
|
|
150
|
+
// and the advertised vocabulary disagree.
|
|
151
|
+
for (const entry of entries) {
|
|
152
|
+
if (entry.category !== 'past' && entry.archiveDefault === true) {
|
|
153
|
+
errors.push(`label "${entry.label}" (category "${entry.category}") declares archiveDefault: true — archiveDefault is only meaningful on a Past-category label.`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const seen = new Set();
|
|
157
|
+
for (const entry of entries) {
|
|
158
|
+
const key = entry.label.toLowerCase();
|
|
159
|
+
if (seen.has(key)) {
|
|
160
|
+
errors.push(`label "${entry.label}" collides with another label after case-folding — statusList labels must be unique regardless of case.`);
|
|
161
|
+
}
|
|
162
|
+
seen.add(key);
|
|
163
|
+
}
|
|
164
|
+
return errors;
|
|
165
|
+
}
|
|
166
|
+
/** Looks up a label's category from a collection's declared statusList. Never throws — an
|
|
167
|
+
* unmapped label (statusList absent, or the label isn't declared) resolves to `undefined` so
|
|
168
|
+
* the caller (the one write door, `convex/lib/writeEntryStatus.ts`) decides whether that is a
|
|
169
|
+
* hard failure — this module stays neutral, same posture as `resolveProgress`
|
|
170
|
+
* (statusStateMachine.ts) does for the progress axis. */
|
|
171
|
+
export function resolveStatusCategory(label, statusList) {
|
|
172
|
+
return statusList?.find((e) => e.label === label)?.category;
|
|
173
|
+
}
|
|
174
|
+
export const CATEGORY_TRUST_LEVEL = {
|
|
175
|
+
draft: 'draft', current: 'accepted', past: 'archived', discarded: 'archived',
|
|
176
|
+
};
|
|
177
|
+
/** T3b (TASK-388, WP-779, DEC-1788): the ONE derivation, shared by every writer that turns a
|
|
178
|
+
* `workflowStatus` label into a `status` category — the patch door (`writeEntryStatus.ts`) and
|
|
179
|
+
* a future create path both call this instead of each re-implementing the
|
|
180
|
+
* `resolveStatusCategory` + trust-level lookup pair. Pure: no `ctx.db`, no guard, no write —
|
|
181
|
+
* callers run their OWN guards (creation has its own; writeEntryStatus.ts's guard block is
|
|
182
|
+
* unchanged) against the `trustWord` this returns, exactly as they would a caller-supplied
|
|
183
|
+
* trust word. `undefined` covers two cases identically (no derivation to report): an undeclared
|
|
184
|
+
* statusList, and a declared statusList whose label isn't listed. TASK-389/DEC-1789 governs when
|
|
185
|
+
* the second case becomes a hard failure at the write door. */
|
|
186
|
+
export function deriveStatusPair(collection, workflowStatus) {
|
|
187
|
+
if (typeof workflowStatus !== 'string' || collection?.statusList === undefined)
|
|
188
|
+
return undefined;
|
|
189
|
+
const category = resolveStatusCategory(workflowStatus, collection.statusList);
|
|
190
|
+
if (category === undefined)
|
|
191
|
+
return undefined;
|
|
192
|
+
return { category, trustWord: CATEGORY_TRUST_LEVEL[category] };
|
|
193
|
+
}
|
|
194
|
+
/** T3b round-2 review: the ONE reconciliation both writeEntryStatus.ts and _patchEntry run
|
|
195
|
+
* against `deriveStatusPair`'s result — never throws (this module stays Convex-free, same
|
|
196
|
+
* posture as `validateStatusList`); the caller turns `disagreementError` into its own
|
|
197
|
+
* VALIDATION_FAILED. `explicitTrustWord` is the caller's OWN status, already canonicalized to
|
|
198
|
+
* a trust word (or `null` for an unrecognized word, or `undefined` when no status was
|
|
199
|
+
* supplied at all) — the caller resolves that BEFORE calling, since canonicalWriteTarget lives
|
|
200
|
+
* in statusStateMachine.ts, not here (no import cycle: this file is re-exported THROUGH that
|
|
201
|
+
* one). `derivedPair` is undefined for both cases `deriveStatusPair` already covers. */
|
|
202
|
+
export function reconcileStatusDerivation(explicitTrustWord, workflowStatus, collection) {
|
|
203
|
+
const derivedPair = deriveStatusPair(collection, workflowStatus);
|
|
204
|
+
if (derivedPair === undefined)
|
|
205
|
+
return { derivedPair: undefined, disagreementError: undefined };
|
|
206
|
+
if (explicitTrustWord != null && explicitTrustWord !== derivedPair.trustWord) {
|
|
207
|
+
return { derivedPair, disagreementError: `expected trust level "${derivedPair.trustWord}" (category "${derivedPair.category}"), got "${explicitTrustWord}"` };
|
|
208
|
+
}
|
|
209
|
+
return { derivedPair, disagreementError: undefined };
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* DEC-1813 (T4b, TASK-389): `archiveReasonCategory` and `archiveLabelFor` below turn an archive
|
|
213
|
+
* into the status WORD to write. Three real callers, all in `convex/agentKnowledge/`:
|
|
214
|
+
* `archiveEntry.ts` (the Rail delete door, no `archivedReason` concept of its own) calls
|
|
215
|
+
* `archiveLabelFor` directly with a CATEGORY; `entries.ts`'s update handler
|
|
216
|
+
* (`convex/lib/archivedReasonGuard.ts`'s `resolveUpdateArchiveWorkflowStatus`) calls it either
|
|
217
|
+
* through `resolveArchiveWorkflowStatusOrThrow`, which maps a `reason` to a category via
|
|
218
|
+
* `archiveReasonCategory` first, for a reason-carrying archive, or through
|
|
219
|
+
* `resolveReasonlessArchiveWorkflowStatusOrThrow`, which resolves the category directly (draft ->
|
|
220
|
+
* discarded, otherwise -> past, TEN-4055) for a reason-less one — the only shape the MCP `entries
|
|
221
|
+
* action=update` schema and `pb update --status archived` expose. Every caller lands on the
|
|
222
|
+
* identical word an entry archived through any other one would. The word carries only the
|
|
223
|
+
* CATEGORY; the reason itself (when there is one) stays in `archivedReason`, never encoded into
|
|
224
|
+
* the word.
|
|
225
|
+
*
|
|
226
|
+
* Two-step, never a fifth branch: (1) reason -> category — `never_adopted`/`duplicate` are
|
|
227
|
+
* Discarded, `resolved`/`superseded`/`no_longer_true` are Past; (2) category -> word — Discarded
|
|
228
|
+
* always writes the literal 'discarded' (every statusList declares it, `validateStatusList`'s own
|
|
229
|
+
* rule) REGARDLESS of whether a statusList is even declared; Past writes the collection's one
|
|
230
|
+
* `archiveDefault` Past label, or `undefined` when the collection has no statusList at all, or
|
|
231
|
+
* (should `validateStatusList` ever have been skipped) no Past label is marked `archiveDefault` —
|
|
232
|
+
* the caller decides whether that `undefined` is a hard failure, this module stays neutral, same
|
|
233
|
+
* posture as `resolveStatusCategory`.
|
|
234
|
+
*
|
|
235
|
+
* `reason` is typed `string`, not `kernel/entries/statusStateMachine.ts`'s `ArchivedReason` — that
|
|
236
|
+
* type lives in the file that IMPORTS this one (`export * from './statusCategories'`), so importing
|
|
237
|
+
* it back here would cycle. Every caller already validates the raw value against that same enum
|
|
238
|
+
* (`assertValidArchivedReasonValue`) before an archive-reason can reach this function.
|
|
239
|
+
*/
|
|
240
|
+
const ARCHIVE_REASON_CATEGORY = {
|
|
241
|
+
never_adopted: 'discarded',
|
|
242
|
+
duplicate: 'discarded',
|
|
243
|
+
resolved: 'past',
|
|
244
|
+
superseded: 'past',
|
|
245
|
+
no_longer_true: 'past',
|
|
246
|
+
};
|
|
247
|
+
/** The reason's own natural category — `resolveArchiveWorkflowStatus` below maps a non-draft
|
|
248
|
+
* archive's reason to a category through this before resolving the word. */
|
|
249
|
+
export function archiveReasonCategory(reason) {
|
|
250
|
+
return ARCHIVE_REASON_CATEGORY[reason];
|
|
251
|
+
}
|
|
252
|
+
/** DEC-1813: the ONE label a CATEGORY of archive writes — never a `reason`, so a caller with no
|
|
253
|
+
* reason concept of its own (a door that archives without asking why) resolves the SAME word a
|
|
254
|
+
* reason-carrying caller would, instead of inventing a stand-in reason to reach it.
|
|
255
|
+
* 'discarded' always writes the literal 'discarded' (every statusList declares it,
|
|
256
|
+
* `validateStatusList`'s own rule); 'past' writes the collection's one `archiveDefault` Past
|
|
257
|
+
* label, or `undefined` when none is marked (`validateStatusList` refuses a list without exactly
|
|
258
|
+
* one, but an older, pre-validation row can still lack it). */
|
|
259
|
+
export function archiveLabelFor(statusList, category) {
|
|
260
|
+
if (category === 'discarded')
|
|
261
|
+
return 'discarded';
|
|
262
|
+
return statusList?.find((e) => e.category === 'past' && e.archiveDefault === true)?.label;
|
|
263
|
+
}
|
|
264
|
+
/** WP-779 (its own `architecture` field): the only draft-archive transition is "Draft or Current
|
|
265
|
+
* -> Discarded" — a draft entry's category is ALWAYS discarded when archived, regardless of
|
|
266
|
+
* which of the five `archivedReason` words the caller supplies; the reason itself is still
|
|
267
|
+
* stored as given (this function only resolves the WORD, never validates or rejects a reason).
|
|
268
|
+
* A non-draft entry's category follows `archiveReasonCategory`'s reason -> category mapping
|
|
269
|
+
* instead. A DECLARED statusList with no resolvable word (no archiveDefault Past label) is
|
|
270
|
+
* refused — the archive door's fail-closed rule. A collection with no statusList at all stays
|
|
271
|
+
* soft (`word: undefined`, no refusal) — out of T4b's scope. */
|
|
272
|
+
export function resolveArchiveWorkflowStatus(archivedReason, statusList, collectionSlug, isDraft) {
|
|
273
|
+
if (statusList === undefined)
|
|
274
|
+
return { word: undefined }; // no declared vocabulary — out of T4b's scope entirely
|
|
275
|
+
const category = isDraft ? 'discarded' : archiveReasonCategory(archivedReason);
|
|
276
|
+
if (category === undefined)
|
|
277
|
+
return { word: undefined }; // a non-draft reason outside the known 5-word set — the caller's own enum validation catches this before it ever reaches here
|
|
278
|
+
const word = archiveLabelFor(statusList, category);
|
|
279
|
+
if (word === undefined) {
|
|
280
|
+
return { word: undefined, refusalReason: `"${collectionSlug}" declares a statusList with no archiveDefault Past label` };
|
|
281
|
+
}
|
|
282
|
+
return { word };
|
|
283
|
+
}
|
|
284
|
+
// ─── Connector-facing entries.status vocabulary (T8, TASK-393, WP-779) ────────────────────────
|
|
285
|
+
//
|
|
286
|
+
// The isolated CLI/MCP connector builds cannot import `kernel/` live (same Railway/standalone-
|
|
287
|
+
// package isolation `scripts/generate-mcp-embedded-copies.mjs`'s header documents for
|
|
288
|
+
// flags_core.ts/logo-markup.ts) — this file is their generated-copy source for the status
|
|
289
|
+
// vocabulary instead of each connector hand-typing its own word list, which had already
|
|
290
|
+
// drifted: `entriesContract.ts`'s filter enum, `knowledge.ts`'s `updateEntrySchema.status` enum
|
|
291
|
+
// and `LifecycleStatus` type, and the CLI's `formatters/search.ts` display fold each hard-coded
|
|
292
|
+
// the pre-T2 5-word trust set (`draft|active|accepted|deprecated|archived`) and would silently
|
|
293
|
+
// reject or mis-render an entry once T3a/T3b (DEC-1788, already merged) start deriving
|
|
294
|
+
// `current`/`past`/`discarded` onto entries whose collection declares a `statusList`.
|
|
295
|
+
//
|
|
296
|
+
// F1 (PR review): DERIVED from TRUST_ACCEPTED_WORDS/TRUST_ARCHIVED_WORDS above, not a third,
|
|
297
|
+
// independently-typed list — a real ratchet against the exact drift this slice exists to close.
|
|
298
|
+
//
|
|
299
|
+
// Two lists, not one: a READ (list/search filter) must still recognize the two pre-fold legacy
|
|
300
|
+
// trust words on a not-yet-migrated row (DEC-1575) — it only ever widens. A WRITE
|
|
301
|
+
// (`pb update --status` / MCP `entries` action=update) must not advertise `active`/`deprecated`
|
|
302
|
+
// as fresh input: `writeEntryStatus.ts`'s `canonicalWriteTarget` write-compat bridge exists for
|
|
303
|
+
// pre-existing internal callers, not for a caller typing a legacy word today. `accepted` is
|
|
304
|
+
// deliberately absent from the write set — unchanged pre-existing policy (`commit` is the accept
|
|
305
|
+
// path, never `update`; the MCP `updateEntrySchema` comment already said so before this file
|
|
306
|
+
// generated it).
|
|
307
|
+
export const ENTRY_STATUS_READ_WORDS = ['draft', ...TRUST_ACCEPTED_WORDS, ...TRUST_ARCHIVED_WORDS];
|
|
308
|
+
export const ENTRY_STATUS_WRITE_WORDS = ['draft', 'archived'];
|
|
309
|
+
/** Display-word fold for a stored `entries.status`/lifecycle value: legacy `active` displays as
|
|
310
|
+
* the canonical `accepted` word (DEC-1575 — the two are the same trust level), so the CLI never
|
|
311
|
+
* shows a fresh accept and a legacy row under different labels. F2 (PR review, kickoff-final
|
|
312
|
+
* §5): `current` is a CATEGORY, not the same thing as the `accepted` LABEL one collection's own
|
|
313
|
+
* `statusList` happens to use for its live state — `pb get`/formatters/entry.ts shows the raw
|
|
314
|
+
* stored word ("Status: current"), so folding `current` here would make `search` disagree with
|
|
315
|
+
* `get` for the exact same entry. Every value besides legacy `active` (including `accepted`
|
|
316
|
+
* itself and the category words `current`/`past`/`discarded`) displays as-is. Deliberately NOT
|
|
317
|
+
* `foldLegacyTrustState` — its `deprecated`→`archived` leg would fold two genuinely distinct
|
|
318
|
+
* stored values into one shown word, which a display column must not do. */
|
|
319
|
+
export function displayEntryStatus(status) {
|
|
320
|
+
return status === 'active' ? 'accepted' : status;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=statusCategories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusCategories.js","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/strip.d.ts
CHANGED
|
@@ -8,5 +8,22 @@
|
|
|
8
8
|
* Chain: DEC-299 (JSON-default output), TEN-340 (Convex internal exposure)
|
|
9
9
|
*/
|
|
10
10
|
export declare function stripControlChars(str: string): string;
|
|
11
|
+
/** Round 4 (quiet-sweep item 1): stripControlChars deliberately excludes `\x0a` (newline) —
|
|
12
|
+
* legitimate for multiline text, but a field rendered as ONE terminal line (a digest bullet,
|
|
13
|
+
* a formatted label) must never let an embedded `\n`/`\r`/`\t` inject extra, unprefixed
|
|
14
|
+
* lines. Collapses every whitespace run to a single space, after stripping control chars —
|
|
15
|
+
* the same `stripControlChars(v).replace(/\s+/g, ' ').trim()` idiom already duplicated across
|
|
16
|
+
* this package's formatters (shape.ts, conflicts.ts, direction.ts, feedback.ts, questions.ts,
|
|
17
|
+
* sessionNotices.ts); centralized here as the shared, single-line-safe sanitizer. */
|
|
18
|
+
export declare function sanitizeSingleLineField(str: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Round 15 (Codex P2, PR #912/#916): reversibly escape control chars/non-printables in a
|
|
21
|
+
* filesystem-derived identifier (a path or filename) for terminal display. Unlike
|
|
22
|
+
* `sanitizeSingleLineField` — which DELETES control chars and COLLAPSES whitespace runs, fine
|
|
23
|
+
* for a Chain-entry label but lossy for a filename a user is told to go find and remove — this
|
|
24
|
+
* escapes each unsafe byte as `\t`/`\n`/`\r` or `\xNN`, byte-for-byte recoverable, and leaves
|
|
25
|
+
* ordinary spaces untouched so e.g. "safe name.mdc" and "safe name.mdc" still render distinctly.
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderFilesystemPath(value: string): string;
|
|
11
28
|
export declare function stripConvexInternals<T>(data: T): T;
|
|
12
29
|
//# sourceMappingURL=strip.d.ts.map
|
package/dist/lib/strip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/lib/strip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/lib/strip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;sFAMsF;AACtF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAelD"}
|
package/dist/lib/strip.js
CHANGED
|
@@ -16,13 +16,60 @@ const STRIP_KEYS = new Set(['_id', '_creationTime']);
|
|
|
16
16
|
*
|
|
17
17
|
* BET-269: Security baseline — C3 (CLI terminal escaping).
|
|
18
18
|
*/
|
|
19
|
+
// Note: the CSI/OSC alternatives MUST precede the bare control-char class. Regex
|
|
20
|
+
// alternation takes the first matching alternative at a given position, not the
|
|
21
|
+
// longest — with the control-char class first, a lone ESC (0x1b, inside \x0b-\x1f)
|
|
22
|
+
// matches and consumes before the longer `\x1b\[...` sequence gets a chance,
|
|
23
|
+
// stripping only the ESC and leaving the rest of the escape sequence (e.g. `[31m`)
|
|
24
|
+
// behind as inert-but-visible text (found via PR #341 review Finding 2 testing).
|
|
25
|
+
// Late-fix consolidation round 1 (PRRT_kwDORS4ils6Y0pz3, P1): the control-char class
|
|
26
|
+
// used to jump \x0b\x0c straight to \x0e-\x1f, deliberately skipping \x0d (carriage
|
|
27
|
+
// return) — but a bare \r moves the terminal cursor to column zero and lets the
|
|
28
|
+
// remaining attacker-controlled text overwrite/spoof the start of the line, so (unlike
|
|
29
|
+
// \t/\n, which carry a legitimate multiline-formatting use) it belongs in the stripped
|
|
30
|
+
// set. \x0b-\x1f is now one contiguous range (still excludes \x09 tab and \x0a newline).
|
|
19
31
|
// eslint-disable-next-line no-control-regex
|
|
20
|
-
const ANSI_AND_CONTROL_RE =
|
|
32
|
+
const ANSI_AND_CONTROL_RE = /\x1b\[[0-9;]*[A-Za-z]|\x1b\][^\x07]*\x07|\x1b[^[\]0-9;A-Za-z]?|[\x00-\x08\x0b-\x1f\x7f]/g;
|
|
21
33
|
export function stripControlChars(str) {
|
|
22
34
|
if (!str)
|
|
23
35
|
return str;
|
|
24
36
|
return str.replace(ANSI_AND_CONTROL_RE, '');
|
|
25
37
|
}
|
|
38
|
+
/** Round 4 (quiet-sweep item 1): stripControlChars deliberately excludes `\x0a` (newline) —
|
|
39
|
+
* legitimate for multiline text, but a field rendered as ONE terminal line (a digest bullet,
|
|
40
|
+
* a formatted label) must never let an embedded `\n`/`\r`/`\t` inject extra, unprefixed
|
|
41
|
+
* lines. Collapses every whitespace run to a single space, after stripping control chars —
|
|
42
|
+
* the same `stripControlChars(v).replace(/\s+/g, ' ').trim()` idiom already duplicated across
|
|
43
|
+
* this package's formatters (shape.ts, conflicts.ts, direction.ts, feedback.ts, questions.ts,
|
|
44
|
+
* sessionNotices.ts); centralized here as the shared, single-line-safe sanitizer. */
|
|
45
|
+
export function sanitizeSingleLineField(str) {
|
|
46
|
+
return stripControlChars(str).replace(/\s+/g, ' ').trim();
|
|
47
|
+
}
|
|
48
|
+
const FILESYSTEM_PATH_ESCAPES = { '\t': '\\t', '\n': '\\n', '\r': '\\r' };
|
|
49
|
+
/**
|
|
50
|
+
* Round 15 (Codex P2, PR #912/#916): reversibly escape control chars/non-printables in a
|
|
51
|
+
* filesystem-derived identifier (a path or filename) for terminal display. Unlike
|
|
52
|
+
* `sanitizeSingleLineField` — which DELETES control chars and COLLAPSES whitespace runs, fine
|
|
53
|
+
* for a Chain-entry label but lossy for a filename a user is told to go find and remove — this
|
|
54
|
+
* escapes each unsafe byte as `\t`/`\n`/`\r` or `\xNN`, byte-for-byte recoverable, and leaves
|
|
55
|
+
* ordinary spaces untouched so e.g. "safe name.mdc" and "safe name.mdc" still render distinctly.
|
|
56
|
+
*/
|
|
57
|
+
export function renderFilesystemPath(value) {
|
|
58
|
+
let out = '';
|
|
59
|
+
for (const ch of value) {
|
|
60
|
+
const code = ch.codePointAt(0) ?? 0;
|
|
61
|
+
if (FILESYSTEM_PATH_ESCAPES[ch]) {
|
|
62
|
+
out += FILESYSTEM_PATH_ESCAPES[ch];
|
|
63
|
+
}
|
|
64
|
+
else if (code < 0x20 || code === 0x7f) {
|
|
65
|
+
out += `\\x${code.toString(16).padStart(2, '0')}`;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
out += ch;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
26
73
|
export function stripConvexInternals(data) {
|
|
27
74
|
if (Array.isArray(data)) {
|
|
28
75
|
return data.map((item) => stripConvexInternals(item));
|
package/dist/lib/strip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/lib/strip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,4CAA4C;AAC5C,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/lib/strip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,iFAAiF;AACjF,gFAAgF;AAChF,mFAAmF;AACnF,6EAA6E;AAC7E,mFAAmF;AACnF,iFAAiF;AACjF,qFAAqF;AACrF,oFAAoF;AACpF,gFAAgF;AAChF,uFAAuF;AACvF,uFAAuF;AACvF,yFAAyF;AACzF,4CAA4C;AAC5C,MAAM,mBAAmB,GAAG,0FAA0F,CAAC;AAEvH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;sFAMsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,uBAAuB,GAA2B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,GAAG,IAAI,uBAAuB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACxC,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,IAAO;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAiB,CAAC;IACxE,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;YAC3E,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAsB,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|