@productbrain/cli 0.1.0-beta.14 → 0.1.0-beta.14010
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 +85 -113
- 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__/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 +119 -0
- package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-role-hint.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-role-hint.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-role-hint.test.js +64 -0
- package/dist/__tests__/capture-receipt-role-hint.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 +95 -0
- package/dist/__tests__/capture-receipt-spine-floor.test.js.map +1 -0
- package/dist/__tests__/capture.test.js +610 -31
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/cli-error-once.test.d.ts +2 -0
- package/dist/__tests__/cli-error-once.test.d.ts.map +1 -0
- package/dist/__tests__/cli-error-once.test.js +51 -0
- package/dist/__tests__/cli-error-once.test.js.map +1 -0
- 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 +49 -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 +82 -0
- package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
- package/dist/__tests__/config-conversation-profile.test.d.ts +2 -0
- package/dist/__tests__/config-conversation-profile.test.d.ts.map +1 -0
- package/dist/__tests__/config-conversation-profile.test.js +91 -0
- package/dist/__tests__/config-conversation-profile.test.js.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
- package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +8 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +1109 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.js +155 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/constellation.test.js +56 -36
- package/dist/__tests__/constellation.test.js.map +1 -1
- package/dist/__tests__/context-strategy.test.js +8 -8
- package/dist/__tests__/context-strategy.test.js.map +1 -1
- package/dist/__tests__/conversation.test.d.ts +2 -0
- package/dist/__tests__/conversation.test.d.ts.map +1 -0
- package/dist/__tests__/conversation.test.js +113 -0
- package/dist/__tests__/conversation.test.js.map +1 -0
- package/dist/__tests__/entry-formatter.test.d.ts +2 -0
- package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/entry-formatter.test.js +272 -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 +275 -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 +573 -0
- package/dist/__tests__/entryAccept.test.js.map +1 -0
- package/dist/__tests__/entryDiscardResolve.test.d.ts +2 -0
- package/dist/__tests__/entryDiscardResolve.test.d.ts.map +1 -0
- package/dist/__tests__/entryDiscardResolve.test.js +36 -0
- package/dist/__tests__/entryDiscardResolve.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 +95 -0
- package/dist/__tests__/entryOwn.test.js.map +1 -0
- package/dist/__tests__/entryReplace.test.d.ts +2 -0
- package/dist/__tests__/entryReplace.test.d.ts.map +1 -0
- package/dist/__tests__/entryReplace.test.js +60 -0
- package/dist/__tests__/entryReplace.test.js.map +1 -0
- package/dist/__tests__/entryTick.test.d.ts +2 -0
- package/dist/__tests__/entryTick.test.d.ts.map +1 -0
- package/dist/__tests__/entryTick.test.js +40 -0
- package/dist/__tests__/entryTick.test.js.map +1 -0
- package/dist/__tests__/envelope-contract.test.d.ts +15 -0
- package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
- package/dist/__tests__/envelope-contract.test.js +154 -0
- package/dist/__tests__/envelope-contract.test.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +188 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/fields.test.js +50 -39
- 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 +116 -0
- package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
- package/dist/__tests__/glossary.test.d.ts +2 -0
- package/dist/__tests__/glossary.test.d.ts.map +1 -0
- package/dist/__tests__/glossary.test.js +15 -0
- package/dist/__tests__/glossary.test.js.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js +43 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
- package/dist/__tests__/help-no-ids.test.d.ts +2 -0
- package/dist/__tests__/help-no-ids.test.d.ts.map +1 -0
- package/dist/__tests__/help-no-ids.test.js +81 -0
- package/dist/__tests__/help-no-ids.test.js.map +1 -0
- package/dist/__tests__/init.test.d.ts +8 -0
- package/dist/__tests__/init.test.d.ts.map +1 -0
- package/dist/__tests__/init.test.js +406 -0
- package/dist/__tests__/init.test.js.map +1 -0
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
- package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
- package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
- package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
- package/dist/__tests__/login.test.d.ts +2 -0
- package/dist/__tests__/login.test.d.ts.map +1 -0
- package/dist/__tests__/login.test.js +198 -0
- package/dist/__tests__/login.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 +232 -0
- package/dist/__tests__/missingPin.test.js.map +1 -0
- package/dist/__tests__/no-session-one-place.test.d.ts +2 -0
- package/dist/__tests__/no-session-one-place.test.d.ts.map +1 -0
- package/dist/__tests__/no-session-one-place.test.js +33 -0
- package/dist/__tests__/no-session-one-place.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__/orient.test.d.ts +2 -0
- package/dist/__tests__/orient.test.d.ts.map +1 -0
- package/dist/__tests__/orient.test.js +711 -0
- package/dist/__tests__/orient.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 +186 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profile-create-key.test.d.ts +2 -0
- package/dist/__tests__/profile-create-key.test.d.ts.map +1 -0
- package/dist/__tests__/profile-create-key.test.js +57 -0
- package/dist/__tests__/profile-create-key.test.js.map +1 -0
- package/dist/__tests__/profiles.test.d.ts +2 -0
- package/dist/__tests__/profiles.test.d.ts.map +1 -0
- package/dist/__tests__/profiles.test.js +834 -0
- package/dist/__tests__/profiles.test.js.map +1 -0
- package/dist/__tests__/prompts.test.d.ts +6 -0
- package/dist/__tests__/prompts.test.d.ts.map +1 -0
- package/dist/__tests__/prompts.test.js +163 -0
- package/dist/__tests__/prompts.test.js.map +1 -0
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/rate-limit-resilience.test.d.ts +8 -0
- package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
- package/dist/__tests__/rate-limit-resilience.test.js +191 -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 +125 -0
- package/dist/__tests__/read-target-notice.test.js.map +1 -0
- package/dist/__tests__/relate.test.js +292 -39
- package/dist/__tests__/relate.test.js.map +1 -1
- package/dist/__tests__/removed-commands.test.d.ts +2 -0
- package/dist/__tests__/removed-commands.test.d.ts.map +1 -0
- package/dist/__tests__/removed-commands.test.js +99 -0
- package/dist/__tests__/removed-commands.test.js.map +1 -0
- package/dist/__tests__/reply-commands-registered.test.d.ts +2 -0
- package/dist/__tests__/reply-commands-registered.test.d.ts.map +1 -0
- package/dist/__tests__/reply-commands-registered.test.js +83 -0
- package/dist/__tests__/reply-commands-registered.test.js.map +1 -0
- package/dist/__tests__/reportedProfile.test.d.ts +2 -0
- package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
- package/dist/__tests__/reportedProfile.test.js +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 +91 -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 +111 -0
- package/dist/__tests__/route-latency-budget.test.js.map +1 -0
- package/dist/__tests__/runner.test.js +75 -56
- 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-conversation.test.d.ts +2 -0
- package/dist/__tests__/session-close-conversation.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-conversation.test.js +75 -0
- package/dist/__tests__/session-close-conversation.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 +349 -0
- package/dist/__tests__/session-close-loop.test.js.map +1 -0
- package/dist/__tests__/session-ended-refusal.test.d.ts +2 -0
- package/dist/__tests__/session-ended-refusal.test.d.ts.map +1 -0
- package/dist/__tests__/session-ended-refusal.test.js +76 -0
- package/dist/__tests__/session-ended-refusal.test.js.map +1 -0
- package/dist/__tests__/session-hook-conversation.test.d.ts +2 -0
- package/dist/__tests__/session-hook-conversation.test.d.ts.map +1 -0
- package/dist/__tests__/session-hook-conversation.test.js +87 -0
- package/dist/__tests__/session-hook-conversation.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 +171 -0
- package/dist/__tests__/session-list-show.test.js.map +1 -0
- package/dist/__tests__/session-pinned-role.test.d.ts +2 -0
- package/dist/__tests__/session-pinned-role.test.d.ts.map +1 -0
- package/dist/__tests__/session-pinned-role.test.js +333 -0
- package/dist/__tests__/session-pinned-role.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 +137 -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 +137 -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 +119 -0
- package/dist/__tests__/session-role-name-sanitize.test.js.map +1 -0
- package/dist/__tests__/session-seat-split.test.d.ts +2 -0
- package/dist/__tests__/session-seat-split.test.d.ts.map +1 -0
- package/dist/__tests__/session-seat-split.test.js +142 -0
- package/dist/__tests__/session-seat-split.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 +213 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.d.ts +2 -0
- package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +364 -0
- package/dist/__tests__/session-state-machine.test.js.map +1 -0
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +341 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.js +87 -108
- package/dist/__tests__/session-touch.test.js.map +1 -1
- package/dist/__tests__/session.test.js +4 -13
- package/dist/__tests__/session.test.js.map +1 -1
- package/dist/__tests__/sessionBinding.test.d.ts +2 -0
- package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
- package/dist/__tests__/sessionBinding.test.js +131 -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__/spinner-labels.test.d.ts +2 -0
- package/dist/__tests__/spinner-labels.test.d.ts.map +1 -0
- package/dist/__tests__/spinner-labels.test.js +23 -0
- package/dist/__tests__/spinner-labels.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +6 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +117 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/stillTrue.test.d.ts +2 -0
- package/dist/__tests__/stillTrue.test.d.ts.map +1 -0
- package/dist/__tests__/stillTrue.test.js +53 -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__/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 +183 -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 +235 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.js +596 -78
- 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 +77 -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 +33 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +425 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.d.ts +2 -0
- package/dist/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/__tests__/workspace.test.js +267 -0
- package/dist/__tests__/workspace.test.js.map +1 -0
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +551 -0
- package/dist/__tests__/workspaceNotice.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 +315 -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 +151 -0
- package/dist/commands/__tests__/rework.test.js.map +1 -0
- package/dist/commands/__tests__/tasksList.test.d.ts +2 -0
- package/dist/commands/__tests__/tasksList.test.d.ts.map +1 -0
- package/dist/commands/__tests__/tasksList.test.js +66 -0
- package/dist/commands/__tests__/tasksList.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 +101 -0
- package/dist/commands/accept-policy.js.map +1 -0
- package/dist/commands/admin/cockpit.d.ts +79 -0
- package/dist/commands/admin/cockpit.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.js +553 -0
- package/dist/commands/admin/cockpit.js.map +1 -0
- package/dist/commands/admin/cockpit.test.d.ts +2 -0
- package/dist/commands/admin/cockpit.test.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.test.js +104 -0
- package/dist/commands/admin/cockpit.test.js.map +1 -0
- package/dist/commands/admin/index.d.ts +70 -0
- package/dist/commands/admin/index.d.ts.map +1 -0
- package/dist/commands/admin/index.js +375 -0
- package/dist/commands/admin/index.js.map +1 -0
- package/dist/commands/admin/index.test.d.ts +2 -0
- package/dist/commands/admin/index.test.d.ts.map +1 -0
- package/dist/commands/admin/index.test.js +94 -0
- package/dist/commands/admin/index.test.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +30 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -0
- package/dist/commands/admin/inspect.js +550 -0
- package/dist/commands/admin/inspect.js.map +1 -0
- package/dist/commands/admin/inspect.test.d.ts +7 -0
- package/dist/commands/admin/inspect.test.d.ts.map +1 -0
- package/dist/commands/admin/inspect.test.js +90 -0
- package/dist/commands/admin/inspect.test.js.map +1 -0
- package/dist/commands/admin/manage.d.ts +8 -0
- package/dist/commands/admin/manage.d.ts.map +1 -0
- package/dist/commands/admin/manage.js +53 -0
- package/dist/commands/admin/manage.js.map +1 -0
- package/dist/commands/admin/manage.test.d.ts +2 -0
- package/dist/commands/admin/manage.test.d.ts.map +1 -0
- package/dist/commands/admin/manage.test.js +103 -0
- package/dist/commands/admin/manage.test.js.map +1 -0
- package/dist/commands/admin/probe.d.ts +75 -0
- package/dist/commands/admin/probe.d.ts.map +1 -0
- package/dist/commands/admin/probe.js +224 -0
- package/dist/commands/admin/probe.js.map +1 -0
- package/dist/commands/admin/probe.test.d.ts +2 -0
- package/dist/commands/admin/probe.test.d.ts.map +1 -0
- package/dist/commands/admin/probe.test.js +193 -0
- package/dist/commands/admin/probe.test.js.map +1 -0
- package/dist/commands/admin/run.d.ts +43 -0
- package/dist/commands/admin/run.d.ts.map +1 -0
- package/dist/commands/admin/run.js +78 -0
- package/dist/commands/admin/run.js.map +1 -0
- package/dist/commands/admin/run.test.d.ts +18 -0
- package/dist/commands/admin/run.test.d.ts.map +1 -0
- package/dist/commands/admin/run.test.js +168 -0
- package/dist/commands/admin/run.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +54 -0
- package/dist/commands/admin/seed.d.ts.map +1 -0
- package/dist/commands/admin/seed.js +642 -0
- package/dist/commands/admin/seed.js.map +1 -0
- package/dist/commands/admin/seed.test.d.ts +10 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -0
- package/dist/commands/admin/seed.test.js +90 -0
- package/dist/commands/admin/seed.test.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts +16 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +63 -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 +109 -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 +19 -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 +31 -0
- package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +36 -14
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +20 -8
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +133 -69
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/chain-walk.d.ts.map +1 -1
- package/dist/commands/chain-walk.js +9 -6
- package/dist/commands/chain-walk.js.map +1 -1
- package/dist/commands/changes.d.ts.map +1 -1
- package/dist/commands/changes.js +9 -6
- package/dist/commands/changes.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +23 -0
- package/dist/commands/codex-prep.d.ts.map +1 -0
- package/dist/commands/codex-prep.js +54 -0
- package/dist/commands/codex-prep.js.map +1 -0
- package/dist/commands/collections.d.ts +22 -0
- package/dist/commands/collections.d.ts.map +1 -0
- package/dist/commands/collections.js +69 -0
- package/dist/commands/collections.js.map +1 -0
- package/dist/commands/conflicts.d.ts +40 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +213 -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 +202 -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 +47 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-decline.test.d.ts +2 -0
- package/dist/commands/connect-decline.test.d.ts.map +1 -0
- package/dist/commands/connect-decline.test.js +70 -0
- package/dist/commands/connect-decline.test.js.map +1 -0
- package/dist/commands/connect-integration.test.d.ts +7 -0
- package/dist/commands/connect-integration.test.d.ts.map +1 -0
- package/dist/commands/connect-integration.test.js +232 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
- package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
- package/dist/commands/connect-legacy-migration.test.js +108 -0
- package/dist/commands/connect-legacy-migration.test.js.map +1 -0
- package/dist/commands/connect-redeem-failure.test.d.ts +2 -0
- package/dist/commands/connect-redeem-failure.test.d.ts.map +1 -0
- package/dist/commands/connect-redeem-failure.test.js +133 -0
- package/dist/commands/connect-redeem-failure.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +17 -0
- package/dist/commands/connect-screens.d.ts.map +1 -0
- package/dist/commands/connect-screens.js +28 -0
- package/dist/commands/connect-screens.js.map +1 -0
- package/dist/commands/connect-screens.test.d.ts +2 -0
- package/dist/commands/connect-screens.test.d.ts.map +1 -0
- package/dist/commands/connect-screens.test.js +19 -0
- package/dist/commands/connect-screens.test.js.map +1 -0
- package/dist/commands/connect-seal.test.d.ts +2 -0
- package/dist/commands/connect-seal.test.d.ts.map +1 -0
- package/dist/commands/connect-seal.test.js +54 -0
- package/dist/commands/connect-seal.test.js.map +1 -0
- package/dist/commands/connect.d.ts +38 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +424 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/connect.test.d.ts +6 -0
- package/dist/commands/connect.test.d.ts.map +1 -0
- package/dist/commands/connect.test.js +521 -0
- package/dist/commands/connect.test.js.map +1 -0
- package/dist/commands/constellation.d.ts.map +1 -1
- package/dist/commands/constellation.js +9 -6
- package/dist/commands/constellation.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +9 -6
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts.map +1 -1
- package/dist/commands/cross-cut.js +3 -5
- package/dist/commands/cross-cut.js.map +1 -1
- package/dist/commands/direction.d.ts +10 -0
- package/dist/commands/direction.d.ts.map +1 -0
- package/dist/commands/direction.js +75 -0
- package/dist/commands/direction.js.map +1 -0
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +364 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +8 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +652 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/entryAccept.d.ts +59 -0
- package/dist/commands/entryAccept.d.ts.map +1 -0
- package/dist/commands/entryAccept.js +288 -0
- package/dist/commands/entryAccept.js.map +1 -0
- package/dist/commands/entryDiscardResolve.d.ts +9 -0
- package/dist/commands/entryDiscardResolve.d.ts.map +1 -0
- package/dist/commands/entryDiscardResolve.js +27 -0
- package/dist/commands/entryDiscardResolve.js.map +1 -0
- package/dist/commands/entryOwn.d.ts +10 -0
- package/dist/commands/entryOwn.d.ts.map +1 -0
- package/dist/commands/entryOwn.js +40 -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 +44 -0
- package/dist/commands/entryPreflight.js.map +1 -0
- package/dist/commands/entryReplace.d.ts +7 -0
- package/dist/commands/entryReplace.d.ts.map +1 -0
- package/dist/commands/entryReplace.js +34 -0
- package/dist/commands/entryReplace.js.map +1 -0
- package/dist/commands/entryTick.d.ts +8 -0
- package/dist/commands/entryTick.d.ts.map +1 -0
- package/dist/commands/entryTick.js +42 -0
- package/dist/commands/entryTick.js.map +1 -0
- package/dist/commands/feedback.d.ts +39 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +165 -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 +109 -0
- package/dist/commands/feedback.test.js.map +1 -0
- package/dist/commands/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +9 -7
- package/dist/commands/fields.js.map +1 -1
- package/dist/commands/files.d.ts +26 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +160 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/files.test.d.ts +2 -0
- package/dist/commands/files.test.d.ts.map +1 -0
- package/dist/commands/files.test.js +278 -0
- package/dist/commands/files.test.js.map +1 -0
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +16 -12
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/history.d.ts +32 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +53 -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 +121 -0
- package/dist/commands/history.test.js.map +1 -0
- package/dist/commands/init.d.ts +41 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +266 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +107 -39
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/method.d.ts +7 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +67 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/organisation.d.ts +12 -0
- package/dist/commands/organisation.d.ts.map +1 -0
- package/dist/commands/organisation.js +143 -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 +116 -0
- package/dist/commands/organisation.test.js.map +1 -0
- package/dist/commands/organisationHierarchy.d.ts +15 -0
- package/dist/commands/organisationHierarchy.d.ts.map +1 -0
- package/dist/commands/organisationHierarchy.js +102 -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 +144 -0
- package/dist/commands/organisationHierarchy.test.js.map +1 -0
- package/dist/commands/organisationWrite.d.ts +20 -0
- package/dist/commands/organisationWrite.d.ts.map +1 -0
- package/dist/commands/organisationWrite.js +44 -0
- package/dist/commands/organisationWrite.js.map +1 -0
- package/dist/commands/orient.d.ts +143 -36
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +240 -18
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/outcome.d.ts +96 -0
- package/dist/commands/outcome.d.ts.map +1 -0
- package/dist/commands/outcome.js +194 -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 +326 -0
- package/dist/commands/outcome.test.js.map +1 -0
- package/dist/commands/people.d.ts +6 -0
- package/dist/commands/people.d.ts.map +1 -0
- package/dist/commands/people.js +21 -0
- package/dist/commands/people.js.map +1 -0
- package/dist/commands/people.test.d.ts +2 -0
- package/dist/commands/people.test.d.ts.map +1 -0
- package/dist/commands/people.test.js +61 -0
- package/dist/commands/people.test.js.map +1 -0
- package/dist/commands/profile.d.ts +72 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +351 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/quality.d.ts +38 -0
- package/dist/commands/quality.d.ts.map +1 -0
- package/dist/commands/quality.js +99 -0
- package/dist/commands/quality.js.map +1 -0
- package/dist/commands/questions.d.ts +27 -0
- package/dist/commands/questions.d.ts.map +1 -0
- package/dist/commands/questions.js +261 -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 +238 -0
- package/dist/commands/questions.test.js.map +1 -0
- package/dist/commands/relate.d.ts +10 -0
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +149 -23
- 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 +88 -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 +96 -0
- package/dist/commands/rework.js.map +1 -0
- package/dist/commands/role.d.ts +90 -0
- package/dist/commands/role.d.ts.map +1 -0
- package/dist/commands/role.js +172 -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 +345 -0
- package/dist/commands/role.test.js.map +1 -0
- package/dist/commands/scoreboard.d.ts +23 -0
- package/dist/commands/scoreboard.d.ts.map +1 -0
- package/dist/commands/scoreboard.js +33 -0
- package/dist/commands/scoreboard.js.map +1 -0
- package/dist/commands/scoreboard.test.d.ts +2 -0
- package/dist/commands/scoreboard.test.d.ts.map +1 -0
- package/dist/commands/scoreboard.test.js +51 -0
- package/dist/commands/scoreboard.test.js.map +1 -0
- package/dist/commands/search.d.ts +2 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +7 -8
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session-hook.d.ts +38 -0
- package/dist/commands/session-hook.d.ts.map +1 -0
- package/dist/commands/session-hook.js +97 -0
- package/dist/commands/session-hook.js.map +1 -0
- package/dist/commands/session-hook.test.d.ts +2 -0
- package/dist/commands/session-hook.test.d.ts.map +1 -0
- package/dist/commands/session-hook.test.js +89 -0
- package/dist/commands/session-hook.test.js.map +1 -0
- package/dist/commands/session.d.ts +64 -7
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +470 -78
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +101 -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 +47 -0
- package/dist/commands/stillTrue.js.map +1 -0
- package/dist/commands/tasksList.d.ts +12 -0
- package/dist/commands/tasksList.d.ts.map +1 -0
- package/dist/commands/tasksList.js +45 -0
- package/dist/commands/tasksList.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 +25 -0
- package/dist/commands/tensionsList.js.map +1 -0
- package/dist/commands/update.d.ts +24 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +241 -51
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +5 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +110 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/usage.d.ts +40 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +214 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +20 -10
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts +21 -0
- package/dist/commands/welcome.d.ts.map +1 -0
- package/dist/commands/welcome.js +54 -0
- package/dist/commands/welcome.js.map +1 -0
- package/dist/commands/whoami.d.ts +23 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +132 -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 +145 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +46 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +198 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/formatters/__tests__/orient-openTasks.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-openTasks.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-openTasks.test.js +77 -0
- package/dist/formatters/__tests__/orient-openTasks.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-plannedWorkCut.test.js +38 -0
- package/dist/formatters/__tests__/orient-plannedWorkCut.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 +312 -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 +93 -0
- package/dist/formatters/__tests__/orient-ruleLists.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-workPackageList.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-workPackageList.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-workPackageList.test.js +69 -0
- package/dist/formatters/__tests__/orient-workPackageList.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 +273 -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/brief.d.ts +7 -15
- package/dist/formatters/brief.d.ts.map +1 -1
- package/dist/formatters/brief.js +18 -15
- 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 +33 -0
- package/dist/formatters/brief.test.js.map +1 -0
- package/dist/formatters/capture.d.ts +38 -6
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +58 -9
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/coaching.d.ts +59 -0
- package/dist/formatters/coaching.d.ts.map +1 -0
- package/dist/formatters/coaching.js +51 -0
- package/dist/formatters/coaching.js.map +1 -0
- package/dist/formatters/collections.d.ts +39 -0
- package/dist/formatters/collections.d.ts.map +1 -0
- package/dist/formatters/collections.js +102 -0
- package/dist/formatters/collections.js.map +1 -0
- package/dist/formatters/conflicts.d.ts +81 -0
- package/dist/formatters/conflicts.d.ts.map +1 -0
- package/dist/formatters/conflicts.js +102 -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 +179 -0
- package/dist/formatters/conflicts.test.js.map +1 -0
- package/dist/formatters/constellation.d.ts +2 -0
- package/dist/formatters/constellation.d.ts.map +1 -1
- package/dist/formatters/constellation.js +2 -0
- package/dist/formatters/constellation.js.map +1 -1
- package/dist/formatters/context.d.ts +1 -1
- package/dist/formatters/context.d.ts.map +1 -1
- package/dist/formatters/context.js.map +1 -1
- package/dist/formatters/direction.d.ts +48 -0
- package/dist/formatters/direction.d.ts.map +1 -0
- package/dist/formatters/direction.js +75 -0
- package/dist/formatters/direction.js.map +1 -0
- package/dist/formatters/direction.test.d.ts +2 -0
- package/dist/formatters/direction.test.d.ts.map +1 -0
- package/dist/formatters/direction.test.js +70 -0
- package/dist/formatters/direction.test.js.map +1 -0
- package/dist/formatters/entry.d.ts +102 -5
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +139 -15
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/entryAccept.d.ts +86 -0
- package/dist/formatters/entryAccept.d.ts.map +1 -0
- package/dist/formatters/entryAccept.js +78 -0
- package/dist/formatters/entryAccept.js.map +1 -0
- package/dist/formatters/feedback.d.ts +61 -0
- package/dist/formatters/feedback.d.ts.map +1 -0
- package/dist/formatters/feedback.js +95 -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 +142 -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/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 +190 -42
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +294 -102
- 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 +75 -0
- package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
- package/dist/formatters/orient.rituals.test.d.ts +2 -0
- package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
- package/dist/formatters/orient.rituals.test.js +70 -0
- package/dist/formatters/orient.rituals.test.js.map +1 -0
- package/dist/formatters/orient.taskAlignment.test.d.ts +2 -0
- package/dist/formatters/orient.taskAlignment.test.d.ts.map +1 -0
- package/dist/formatters/orient.taskAlignment.test.js +52 -0
- package/dist/formatters/orient.taskAlignment.test.js.map +1 -0
- package/dist/formatters/orientDegradation.d.ts +35 -0
- package/dist/formatters/orientDegradation.d.ts.map +1 -0
- package/dist/formatters/orientDegradation.js +47 -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 +26 -0
- package/dist/formatters/orientDegradation.test.js.map +1 -0
- package/dist/formatters/orientDirection.d.ts +25 -0
- package/dist/formatters/orientDirection.d.ts.map +1 -0
- package/dist/formatters/orientDirection.js +7 -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 +66 -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/plannedWorkCounts.d.ts +16 -0
- package/dist/formatters/plannedWorkCounts.d.ts.map +1 -0
- package/dist/formatters/plannedWorkCounts.js +15 -0
- package/dist/formatters/plannedWorkCounts.js.map +1 -0
- package/dist/formatters/qualityChecks.d.ts +21 -0
- package/dist/formatters/qualityChecks.d.ts.map +1 -0
- package/dist/formatters/qualityChecks.js +132 -0
- package/dist/formatters/qualityChecks.js.map +1 -0
- package/dist/formatters/questions.d.ts +90 -0
- package/dist/formatters/questions.d.ts.map +1 -0
- package/dist/formatters/questions.js +126 -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 +176 -0
- package/dist/formatters/questions.test.js.map +1 -0
- package/dist/formatters/relate.d.ts +13 -0
- package/dist/formatters/relate.d.ts.map +1 -1
- package/dist/formatters/relate.js +15 -2
- 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 +91 -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 +143 -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 +262 -0
- package/dist/formatters/scoreboard.test.js.map +1 -0
- package/dist/formatters/search.d.ts +24 -4
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +28 -10
- 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 +86 -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 +274 -0
- package/dist/formatters/session-feedback.test.js.map +1 -0
- package/dist/formatters/session.d.ts +135 -5
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +345 -21
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/spineCheck.d.ts +14 -0
- package/dist/formatters/spineCheck.d.ts.map +1 -0
- package/dist/formatters/spineCheck.js +128 -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 +85 -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 +26 -0
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +40 -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 +71 -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 +16 -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/routeLatencyBudget.generated.d.ts +54 -0
- package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
- package/dist/generated/routeLatencyBudget.generated.js +255 -0
- package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
- package/dist/handleCliError.d.ts +30 -0
- package/dist/handleCliError.d.ts.map +1 -0
- package/dist/handleCliError.js +91 -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 +404 -355
- package/dist/index.js.map +1 -1
- 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/adminConfig.d.ts +48 -0
- package/dist/lib/adminConfig.d.ts.map +1 -0
- package/dist/lib/adminConfig.js +126 -0
- package/dist/lib/adminConfig.js.map +1 -0
- package/dist/lib/canonicalRefs.d.ts +155 -0
- package/dist/lib/canonicalRefs.d.ts.map +1 -0
- package/dist/lib/canonicalRefs.js +131 -0
- package/dist/lib/canonicalRefs.js.map +1 -0
- package/dist/lib/captureLink.d.ts +7 -0
- package/dist/lib/captureLink.d.ts.map +1 -0
- package/dist/lib/captureLink.js +29 -0
- package/dist/lib/captureLink.js.map +1 -0
- package/dist/lib/checklist.d.ts +151 -0
- package/dist/lib/checklist.d.ts.map +1 -0
- package/dist/lib/checklist.js +235 -0
- package/dist/lib/checklist.js.map +1 -0
- package/dist/lib/cliFirstRun.d.ts +36 -0
- package/dist/lib/cliFirstRun.d.ts.map +1 -0
- package/dist/lib/cliFirstRun.js +36 -0
- package/dist/lib/cliFirstRun.js.map +1 -0
- package/dist/lib/client.d.ts +58 -28
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +361 -62
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/compose-wrapup-view.d.ts +66 -0
- package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
- package/dist/lib/compose-wrapup-view.js +39 -0
- package/dist/lib/compose-wrapup-view.js.map +1 -0
- package/dist/lib/config.d.ts +147 -6
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +377 -73
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/configResult.d.ts +110 -0
- package/dist/lib/configResult.d.ts.map +1 -0
- package/dist/lib/configResult.js +189 -0
- package/dist/lib/configResult.js.map +1 -0
- package/dist/lib/conflictResolution.d.ts +37 -0
- package/dist/lib/conflictResolution.d.ts.map +1 -0
- package/dist/lib/conflictResolution.js +29 -0
- package/dist/lib/conflictResolution.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/connectProfileName.d.ts +36 -0
- package/dist/lib/connectProfileName.d.ts.map +1 -0
- package/dist/lib/connectProfileName.js +72 -0
- package/dist/lib/connectProfileName.js.map +1 -0
- package/dist/lib/connectProfileName.test.d.ts +2 -0
- package/dist/lib/connectProfileName.test.d.ts.map +1 -0
- package/dist/lib/connectProfileName.test.js +100 -0
- package/dist/lib/connectProfileName.test.js.map +1 -0
- package/dist/lib/constants.d.ts +51 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +90 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/conversation.d.ts +48 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +136 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/createEntryResult.d.ts +34 -0
- package/dist/lib/createEntryResult.d.ts.map +1 -0
- package/dist/lib/createEntryResult.js +12 -0
- package/dist/lib/createEntryResult.js.map +1 -0
- package/dist/lib/deployment.d.ts +23 -0
- package/dist/lib/deployment.d.ts.map +1 -0
- package/dist/lib/deployment.js +78 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/deployment.test.d.ts +5 -0
- package/dist/lib/deployment.test.d.ts.map +1 -0
- package/dist/lib/deployment.test.js +73 -0
- package/dist/lib/deployment.test.js.map +1 -0
- package/dist/lib/envKeySnapshot.d.ts +10 -0
- package/dist/lib/envKeySnapshot.d.ts.map +1 -0
- package/dist/lib/envKeySnapshot.js +30 -0
- package/dist/lib/envKeySnapshot.js.map +1 -0
- package/dist/lib/errors.d.ts +153 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +158 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/format.d.ts +10 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +27 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/gatewayTimeout.d.ts +88 -0
- package/dist/lib/gatewayTimeout.d.ts.map +1 -0
- package/dist/lib/gatewayTimeout.js +124 -0
- package/dist/lib/gatewayTimeout.js.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
- package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
- package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
- package/dist/lib/glossary.d.ts +7 -0
- package/dist/lib/glossary.d.ts.map +1 -0
- package/dist/lib/glossary.js +12 -0
- package/dist/lib/glossary.js.map +1 -0
- package/dist/lib/judgeWait.d.ts +50 -0
- package/dist/lib/judgeWait.d.ts.map +1 -0
- package/dist/lib/judgeWait.js +64 -0
- package/dist/lib/judgeWait.js.map +1 -0
- package/dist/lib/kernelEnvelope.d.ts +61 -0
- package/dist/lib/kernelEnvelope.d.ts.map +1 -0
- package/dist/lib/kernelEnvelope.js +98 -0
- package/dist/lib/kernelEnvelope.js.map +1 -0
- package/dist/lib/keyResultLines.d.ts +27 -0
- package/dist/lib/keyResultLines.d.ts.map +1 -0
- package/dist/lib/keyResultLines.js +32 -0
- package/dist/lib/keyResultLines.js.map +1 -0
- package/dist/lib/limits.d.ts +88 -0
- package/dist/lib/limits.d.ts.map +1 -0
- package/dist/lib/limits.js +141 -0
- package/dist/lib/limits.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/nameFromText.d.ts +15 -0
- package/dist/lib/nameFromText.d.ts.map +1 -0
- package/dist/lib/nameFromText.js +36 -0
- package/dist/lib/nameFromText.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/outcomeObjectiveLines.d.ts +34 -0
- package/dist/lib/outcomeObjectiveLines.d.ts.map +1 -0
- package/dist/lib/outcomeObjectiveLines.js +30 -0
- package/dist/lib/outcomeObjectiveLines.js.map +1 -0
- package/dist/lib/ownerLine.d.ts +90 -0
- package/dist/lib/ownerLine.d.ts.map +1 -0
- package/dist/lib/ownerLine.js +77 -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/pinnedRole.d.ts +29 -0
- package/dist/lib/pinnedRole.d.ts.map +1 -0
- package/dist/lib/pinnedRole.js +115 -0
- package/dist/lib/pinnedRole.js.map +1 -0
- package/dist/lib/platformGlossary.d.ts +22 -0
- package/dist/lib/platformGlossary.d.ts.map +1 -0
- package/dist/lib/platformGlossary.js +26 -0
- package/dist/lib/platformGlossary.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 +36 -0
- package/dist/lib/previewBanner.js.map +1 -0
- package/dist/lib/priority.d.ts +64 -0
- package/dist/lib/priority.d.ts.map +1 -0
- package/dist/lib/priority.js +31 -0
- package/dist/lib/priority.js.map +1 -0
- package/dist/lib/privateFile.d.ts +13 -0
- package/dist/lib/privateFile.d.ts.map +1 -0
- package/dist/lib/privateFile.js +65 -0
- package/dist/lib/privateFile.js.map +1 -0
- package/dist/lib/privateFile.test.d.ts +2 -0
- package/dist/lib/privateFile.test.d.ts.map +1 -0
- package/dist/lib/privateFile.test.js +76 -0
- package/dist/lib/privateFile.test.js.map +1 -0
- package/dist/lib/productbrain-files.d.ts +108 -0
- package/dist/lib/productbrain-files.d.ts.map +1 -0
- package/dist/lib/productbrain-files.js +240 -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 +518 -0
- package/dist/lib/productbrain-files.test.js.map +1 -0
- package/dist/lib/profiles.d.ts +89 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +240 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/projectConfig.d.ts +130 -0
- package/dist/lib/projectConfig.d.ts.map +1 -0
- package/dist/lib/projectConfig.js +252 -0
- package/dist/lib/projectConfig.js.map +1 -0
- package/dist/lib/prompts.d.ts +67 -0
- package/dist/lib/prompts.d.ts.map +1 -0
- package/dist/lib/prompts.js +134 -0
- package/dist/lib/prompts.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 +40 -0
- package/dist/lib/rate-limit.d.ts.map +1 -0
- package/dist/lib/rate-limit.js +89 -0
- package/dist/lib/rate-limit.js.map +1 -0
- package/dist/lib/readinessNotices.d.ts +2 -0
- package/dist/lib/readinessNotices.d.ts.map +1 -0
- package/dist/lib/readinessNotices.js +12 -0
- package/dist/lib/readinessNotices.js.map +1 -0
- package/dist/lib/reportedProfile.d.ts +18 -0
- package/dist/lib/reportedProfile.d.ts.map +1 -0
- package/dist/lib/reportedProfile.js +148 -0
- package/dist/lib/reportedProfile.js.map +1 -0
- package/dist/lib/restsOn.d.ts +33 -0
- package/dist/lib/restsOn.d.ts.map +1 -0
- package/dist/lib/restsOn.js +34 -0
- package/dist/lib/restsOn.js.map +1 -0
- package/dist/lib/routeCommandWords.d.ts +13 -0
- package/dist/lib/routeCommandWords.d.ts.map +1 -0
- package/dist/lib/routeCommandWords.js +27 -0
- package/dist/lib/routeCommandWords.js.map +1 -0
- package/dist/lib/ruleListRender.d.ts +315 -0
- package/dist/lib/ruleListRender.d.ts.map +1 -0
- package/dist/lib/ruleListRender.js +386 -0
- package/dist/lib/ruleListRender.js.map +1 -0
- package/dist/lib/runner.d.ts +11 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +51 -11
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/seatRoster.d.ts +65 -0
- package/dist/lib/seatRoster.d.ts.map +1 -0
- package/dist/lib/seatRoster.js +41 -0
- package/dist/lib/seatRoster.js.map +1 -0
- package/dist/lib/seatSentence.d.ts +196 -0
- package/dist/lib/seatSentence.d.ts.map +1 -0
- package/dist/lib/seatSentence.js +214 -0
- package/dist/lib/seatSentence.js.map +1 -0
- package/dist/lib/session.d.ts +111 -4
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +318 -13
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/sessionBinding.d.ts +62 -0
- package/dist/lib/sessionBinding.d.ts.map +1 -0
- package/dist/lib/sessionBinding.js +126 -0
- package/dist/lib/sessionBinding.js.map +1 -0
- package/dist/lib/sessionNotices.d.ts +52 -0
- package/dist/lib/sessionNotices.d.ts.map +1 -0
- package/dist/lib/sessionNotices.js +124 -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 +53 -0
- package/dist/lib/sessionNotices.test.js.map +1 -0
- package/dist/lib/sessionOpen.d.ts +26 -0
- package/dist/lib/sessionOpen.d.ts.map +1 -0
- package/dist/lib/sessionOpen.js +56 -0
- package/dist/lib/sessionOpen.js.map +1 -0
- package/dist/lib/sessionStartCommands.d.ts +5 -0
- package/dist/lib/sessionStartCommands.d.ts.map +1 -0
- package/dist/lib/sessionStartCommands.js +12 -0
- package/dist/lib/sessionStartCommands.js.map +1 -0
- package/dist/lib/sessionStartWords.d.ts +18 -0
- package/dist/lib/sessionStartWords.d.ts.map +1 -0
- package/dist/lib/sessionStartWords.js +34 -0
- package/dist/lib/sessionStartWords.js.map +1 -0
- package/dist/lib/spineRungs.d.ts +44 -0
- package/dist/lib/spineRungs.d.ts.map +1 -0
- package/dist/lib/spineRungs.js +19 -0
- package/dist/lib/spineRungs.js.map +1 -0
- package/dist/lib/spineVerdictRead.d.ts +76 -0
- package/dist/lib/spineVerdictRead.d.ts.map +1 -0
- package/dist/lib/spineVerdictRead.js +76 -0
- package/dist/lib/spineVerdictRead.js.map +1 -0
- package/dist/lib/spinner.d.ts +27 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +76 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/spinner.test.d.ts +2 -0
- package/dist/lib/spinner.test.d.ts.map +1 -0
- package/dist/lib/spinner.test.js +39 -0
- package/dist/lib/spinner.test.js.map +1 -0
- package/dist/lib/startup-signals.d.ts +12 -0
- package/dist/lib/startup-signals.d.ts.map +1 -0
- package/dist/lib/startup-signals.js +173 -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 +60 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +97 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/statusCategories.d.ts +168 -0
- package/dist/lib/statusCategories.d.ts.map +1 -0
- package/dist/lib/statusCategories.js +299 -0
- package/dist/lib/statusCategories.js.map +1 -0
- package/dist/lib/strip.d.ts +18 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +62 -0
- package/dist/lib/strip.js.map +1 -1
- package/dist/lib/style.d.ts +109 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +183 -0
- package/dist/lib/style.js.map +1 -0
- package/dist/lib/style.test.d.ts +7 -0
- package/dist/lib/style.test.d.ts.map +1 -0
- package/dist/lib/style.test.js +262 -0
- package/dist/lib/style.test.js.map +1 -0
- package/dist/lib/tokenConstants.d.ts +31 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +34 -0
- package/dist/lib/tokenConstants.js.map +1 -0
- package/dist/lib/update-check.d.ts +51 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +261 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-runner.d.ts +38 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +140 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/workPackageList.d.ts +138 -0
- package/dist/lib/workPackageList.d.ts.map +1 -0
- package/dist/lib/workPackageList.js +139 -0
- package/dist/lib/workPackageList.js.map +1 -0
- package/dist/lib/workspace-probe.d.ts +28 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -0
- package/dist/lib/workspace-probe.js +20 -0
- package/dist/lib/workspace-probe.js.map +1 -0
- package/dist/lib/workspaceNotice.d.ts +201 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +346 -0
- package/dist/lib/workspaceNotice.js.map +1 -0
- package/dist/lib/workspaceVocabCache.d.ts +54 -0
- package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
- package/dist/lib/workspaceVocabCache.js +92 -0
- package/dist/lib/workspaceVocabCache.js.map +1 -0
- package/dist/registerEntryCommands.d.ts +18 -0
- package/dist/registerEntryCommands.d.ts.map +1 -0
- package/dist/registerEntryCommands.js +146 -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 +11 -0
- package/dist/registerRoleCommands.d.ts.map +1 -0
- package/dist/registerRoleCommands.js +43 -0
- package/dist/registerRoleCommands.js.map +1 -0
- package/dist/registerTensionsCommands.d.ts +11 -0
- package/dist/registerTensionsCommands.d.ts.map +1 -0
- package/dist/registerTensionsCommands.js +28 -0
- package/dist/registerTensionsCommands.js.map +1 -0
- package/dist/scoreboard/diagnose.d.ts +133 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +150 -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 +189 -0
- package/dist/scoreboard/diagnose.test.js.map +1 -0
- package/dist/scoreboard/floors.d.ts +34 -0
- package/dist/scoreboard/floors.d.ts.map +1 -0
- package/dist/scoreboard/floors.js +11 -0
- package/dist/scoreboard/floors.js.map +1 -0
- package/dist/served-doors.test.d.ts +2 -0
- package/dist/served-doors.test.d.ts.map +1 -0
- package/dist/served-doors.test.js +169 -0
- package/dist/served-doors.test.js.map +1 -0
- package/package.json +16 -8
- package/dist/__tests__/audit.test.d.ts +0 -2
- package/dist/__tests__/audit.test.d.ts.map +0 -1
- package/dist/__tests__/audit.test.js +0 -394
- package/dist/__tests__/audit.test.js.map +0 -1
- package/dist/__tests__/handshake.test.d.ts +0 -2
- package/dist/__tests__/handshake.test.d.ts.map +0 -1
- package/dist/__tests__/handshake.test.js +0 -187
- package/dist/__tests__/handshake.test.js.map +0 -1
- package/dist/__tests__/ingest.test.d.ts +0 -2
- package/dist/__tests__/ingest.test.d.ts.map +0 -1
- package/dist/__tests__/ingest.test.js +0 -185
- package/dist/__tests__/ingest.test.js.map +0 -1
- 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 -139
- 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 -190
- package/dist/__tests__/proposals.test.js.map +0 -1
- package/dist/__tests__/repo-detect.test.d.ts +0 -2
- package/dist/__tests__/repo-detect.test.d.ts.map +0 -1
- package/dist/__tests__/repo-detect.test.js +0 -119
- package/dist/__tests__/repo-detect.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 -72
- package/dist/commands/accept.js.map +0 -1
- package/dist/commands/audit.d.ts +0 -25
- package/dist/commands/audit.d.ts.map +0 -1
- package/dist/commands/audit.js +0 -188
- package/dist/commands/audit.js.map +0 -1
- package/dist/commands/brand-pack.d.ts +0 -2
- package/dist/commands/brand-pack.d.ts.map +0 -1
- package/dist/commands/brand-pack.js +0 -25
- package/dist/commands/brand-pack.js.map +0 -1
- package/dist/commands/handshake.d.ts +0 -18
- package/dist/commands/handshake.d.ts.map +0 -1
- package/dist/commands/handshake.js +0 -378
- package/dist/commands/handshake.js.map +0 -1
- package/dist/commands/ingest.d.ts +0 -14
- package/dist/commands/ingest.d.ts.map +0 -1
- package/dist/commands/ingest.js +0 -181
- package/dist/commands/ingest.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 -48
- 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 -37
- package/dist/commands/reject.js.map +0 -1
- package/dist/formatters/audit.d.ts +0 -46
- package/dist/formatters/audit.d.ts.map +0 -1
- package/dist/formatters/audit.js +0 -81
- package/dist/formatters/audit.js.map +0 -1
- package/dist/formatters/handshake.d.ts +0 -17
- package/dist/formatters/handshake.d.ts.map +0 -1
- package/dist/formatters/handshake.js +0 -51
- package/dist/formatters/handshake.js.map +0 -1
- package/dist/formatters/promote.d.ts +0 -29
- package/dist/formatters/promote.d.ts.map +0 -1
- package/dist/formatters/promote.js +0 -38
- 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/adapters.d.ts +0 -10
- package/dist/generators/adapters.d.ts.map +0 -1
- package/dist/generators/adapters.js +0 -102
- package/dist/generators/adapters.js.map +0 -1
- package/dist/generators/briefing-md.d.ts +0 -8
- package/dist/generators/briefing-md.d.ts.map +0 -1
- package/dist/generators/briefing-md.js +0 -51
- package/dist/generators/briefing-md.js.map +0 -1
- package/dist/generators/context-md.d.ts +0 -8
- package/dist/generators/context-md.d.ts.map +0 -1
- package/dist/generators/context-md.js +0 -123
- package/dist/generators/context-md.js.map +0 -1
- package/dist/generators/portable-knowledge.d.ts +0 -72
- package/dist/generators/portable-knowledge.d.ts.map +0 -1
- package/dist/generators/portable-knowledge.js +0 -246
- package/dist/generators/portable-knowledge.js.map +0 -1
- package/dist/generators/portable-knowledge.test.d.ts +0 -2
- package/dist/generators/portable-knowledge.test.d.ts.map +0 -1
- package/dist/generators/portable-knowledge.test.js +0 -399
- package/dist/generators/portable-knowledge.test.js.map +0 -1
- package/dist/lib/repo-detect.d.ts +0 -14
- package/dist/lib/repo-detect.d.ts.map +0 -1
- package/dist/lib/repo-detect.js +0 -58
- package/dist/lib/repo-detect.js.map +0 -1
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pb entry accept (formerly pb promote, DEC-1578) — verify kernelCallWithSession sequence and args.
|
|
3
|
+
* Covers: happy path (direct commit), governance proposal, no session, empty entryId,
|
|
4
|
+
* and the SERVER-side auto-verify receipt (WP-B, attestation-model spec §4.3 — the
|
|
5
|
+
* old client-side verify-then-retry on QUALITY_GATE_BLOCKED is deleted dead code).
|
|
6
|
+
*/
|
|
7
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
8
|
+
import { runEntryAccept, missingFieldsLine, spineNextLine } from '../commands/entryAccept.js';
|
|
9
|
+
import { LINK_REFUSAL_WORDS, renderChecklist, rungLine } from '../lib/checklist.js';
|
|
10
|
+
const kernelCallWithSessionMock = vi.fn();
|
|
11
|
+
// TASK-1040: an accept calls no quality.* route; this mock catches one if it ever does.
|
|
12
|
+
const qualityRouteMock = vi.fn();
|
|
13
|
+
// Hoist McpError so it's available both in the mock factory and in test bodies.
|
|
14
|
+
// The client mock must export the same class other lib consumers import; the
|
|
15
|
+
// tests use it to shape server-thrown errors (WP-B deleted entryAccept.ts's own
|
|
16
|
+
// McpError-instanceof retry, so only the mock factory needs the class now).
|
|
17
|
+
const { MockMcpError } = vi.hoisted(() => {
|
|
18
|
+
class MockMcpError extends Error {
|
|
19
|
+
code;
|
|
20
|
+
details;
|
|
21
|
+
constructor(message, code, details) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'McpError';
|
|
24
|
+
this.code = code;
|
|
25
|
+
this.details = details;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return { MockMcpError };
|
|
29
|
+
});
|
|
30
|
+
vi.mock('../lib/client.js', async () => ({
|
|
31
|
+
kernelCallWithSession: (...args) => String(args[0]).startsWith('quality.') ? qualityRouteMock(...args) : kernelCallWithSessionMock(...args),
|
|
32
|
+
McpError: MockMcpError,
|
|
33
|
+
// WP-753 O5a fix round 2: real implementation, not a stub — entryAccept.ts's abort predicate
|
|
34
|
+
// depends on its actual per-entry-code classification, not a mocked always-true/false.
|
|
35
|
+
isPerEntryAuthorizationRefusal: (await vi.importActual('../lib/client.js')).isPerEntryAuthorizationRefusal,
|
|
36
|
+
}));
|
|
37
|
+
vi.mock('../lib/config.js', () => ({
|
|
38
|
+
getConfigOrGuide: vi.fn(() => Promise.resolve({ apiKey: 'pb_sk_test', siteUrl: 'https://test.convex.site' })),
|
|
39
|
+
}));
|
|
40
|
+
// Output mode is controllable per-test via runnerState.jsonMode (defaults to pretty,
|
|
41
|
+
// so existing formatEntryAcceptReceipt assertions keep working). The mock runCliCommand
|
|
42
|
+
// mirrors the real one: JSON.stringify in json mode, formatPretty otherwise.
|
|
43
|
+
const { runnerState } = vi.hoisted(() => ({ runnerState: { jsonMode: false } }));
|
|
44
|
+
vi.mock('../lib/runner.js', () => ({
|
|
45
|
+
isJsonMode: () => runnerState.jsonMode,
|
|
46
|
+
runCliCommand: vi.fn(async ({ fn, formatPretty }) => {
|
|
47
|
+
const data = await fn();
|
|
48
|
+
if (runnerState.jsonMode) {
|
|
49
|
+
process.stdout.write(JSON.stringify(data) + '\n');
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
process.stdout.write(formatPretty(data) + '\n');
|
|
53
|
+
}
|
|
54
|
+
}),
|
|
55
|
+
}));
|
|
56
|
+
let mockSession = { sessionId: 'sess-test' };
|
|
57
|
+
vi.mock('../lib/session.js', () => ({
|
|
58
|
+
readSession: () => mockSession,
|
|
59
|
+
}));
|
|
60
|
+
describe('runEntryAccept', () => {
|
|
61
|
+
beforeEach(() => {
|
|
62
|
+
vi.clearAllMocks();
|
|
63
|
+
qualityRouteMock.mockReset();
|
|
64
|
+
qualityRouteMock.mockResolvedValue(null);
|
|
65
|
+
mockSession = { sessionId: 'sess-test' };
|
|
66
|
+
runnerState.jsonMode = false;
|
|
67
|
+
});
|
|
68
|
+
it('accept is one call: no entry read, no conflict detection and no wait for the quality judge', async () => {
|
|
69
|
+
kernelCallWithSessionMock.mockResolvedValueOnce({ _id: 'j1', entryId: 'VIS-1', versionId: 'v1', version: 1, status: 'current', statusLabels: { from: 'Draft', to: 'Accepted' } });
|
|
70
|
+
const write = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
71
|
+
try {
|
|
72
|
+
await runEntryAccept({ entryId: 'VIS-1' });
|
|
73
|
+
expect(kernelCallWithSessionMock.mock.calls.map((c) => c[0])).toEqual(['chain.commitEntry']);
|
|
74
|
+
expect(qualityRouteMock).not.toHaveBeenCalled();
|
|
75
|
+
expect(write.mock.calls.map((c) => String(c[0])).join('')).not.toMatch(/Judged in/);
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
write.mockRestore();
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
it("prints the kernel's line when the draft's own conflict check had not finished", async () => {
|
|
82
|
+
const line = 'Conflicts not checked at accept; the check that runs after it flags any it finds on the entry.';
|
|
83
|
+
kernelCallWithSessionMock.mockResolvedValueOnce({ _id: 'j1', entryId: 'DEC-9', versionId: 'v1', version: 1, statusLabels: { from: 'Draft', to: 'Decided' }, conflictCheck: line });
|
|
84
|
+
const write = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
85
|
+
try {
|
|
86
|
+
await runEntryAccept({ entryId: 'DEC-9' });
|
|
87
|
+
expect(write.mock.calls.map((c) => String(c[0])).join('')).toContain(`\n ${line}\n`);
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
write.mockRestore();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
it('a stale verdict (a spine child accepted after its parent) relays the kernel hold and its refresh hint, in one call', async () => {
|
|
94
|
+
const hold = 'The judgment is being refreshed; accept again once it lands.';
|
|
95
|
+
kernelCallWithSessionMock.mockRejectedValueOnce(new MockMcpError(`The stored quality verdict does not cover the current content.\n${hold}`, 'SEMANTIC_QUALITY_GATE_BLOCKED'));
|
|
96
|
+
const thrown = await runEntryAccept({ entryId: 'OBJ-2' }).catch((e) => e);
|
|
97
|
+
expect(thrown.message).toContain(hold);
|
|
98
|
+
expect(thrown.message).not.toContain('Edit the entry');
|
|
99
|
+
expect(kernelCallWithSessionMock.mock.calls.map((c) => c[0])).toEqual(['chain.commitEntry']);
|
|
100
|
+
});
|
|
101
|
+
it('relays the kernel hold line for a conflict check still running, word for word', async () => {
|
|
102
|
+
const hold = 'Not accepted yet: the conflict check is running on what changed since this draft was checked. Accept again in a minute or two; once the check has run, the accept lands.';
|
|
103
|
+
kernelCallWithSessionMock.mockRejectedValueOnce(new MockMcpError(hold, 'VALIDATION_FAILED'));
|
|
104
|
+
const thrown = await runEntryAccept({ entryId: 'DEC-HOLD' }).catch((e) => e);
|
|
105
|
+
expect(thrown.message).toBe(hold);
|
|
106
|
+
});
|
|
107
|
+
it('calls chain.commitEntry with correct args (happy path)', async () => {
|
|
108
|
+
kernelCallWithSessionMock
|
|
109
|
+
.mockResolvedValueOnce({
|
|
110
|
+
_id: 'j571abc',
|
|
111
|
+
entryId: 'TEN-951',
|
|
112
|
+
versionId: 'v123',
|
|
113
|
+
version: 1,
|
|
114
|
+
status: 'current',
|
|
115
|
+
statusLabels: { from: 'Draft', to: 'Open' },
|
|
116
|
+
});
|
|
117
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
118
|
+
await runEntryAccept({ entryId: 'TEN-951' });
|
|
119
|
+
writeSpy.mockRestore();
|
|
120
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', {
|
|
121
|
+
entryId: 'TEN-951',
|
|
122
|
+
author: 'agent:sess-test',
|
|
123
|
+
sessionId: 'sess-test',
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
// TASK-1095 round 4 (DEC-2006): --reason rides beside --replaces; without it the CLI sends none and the kernel refuses by name.
|
|
127
|
+
it('with --replaces, --reason is sent as replacesReason, and no --reason sends none', async () => {
|
|
128
|
+
const commit = { _id: 'j571abc', entryId: 'STR-5', versionId: 'v1', version: 1, status: 'current', statusLabels: { from: 'Draft', to: 'Decided' } };
|
|
129
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
130
|
+
kernelCallWithSessionMock.mockResolvedValueOnce(commit);
|
|
131
|
+
await runEntryAccept({ entryId: 'STR-5', replaces: 'STR-3', reason: 'Founders keep the books.' });
|
|
132
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', expect.objectContaining({ entryId: 'STR-5', replaces: 'STR-3', replacesReason: 'Founders keep the books.' }));
|
|
133
|
+
kernelCallWithSessionMock.mockClear();
|
|
134
|
+
kernelCallWithSessionMock.mockResolvedValueOnce(commit);
|
|
135
|
+
await runEntryAccept({ entryId: 'STR-5', replaces: 'STR-3' });
|
|
136
|
+
writeSpy.mockRestore();
|
|
137
|
+
const sent = kernelCallWithSessionMock.mock.calls.find((c) => c[0] === 'chain.commitEntry')?.[1];
|
|
138
|
+
expect(sent).toMatchObject({ replaces: 'STR-3' });
|
|
139
|
+
expect(sent).not.toHaveProperty('replacesReason');
|
|
140
|
+
});
|
|
141
|
+
it('passes commitMessage when --message is provided', async () => {
|
|
142
|
+
kernelCallWithSessionMock
|
|
143
|
+
.mockResolvedValueOnce({
|
|
144
|
+
_id: 'j571abc',
|
|
145
|
+
entryId: 'TEN-951',
|
|
146
|
+
versionId: 'v123',
|
|
147
|
+
version: 1,
|
|
148
|
+
status: 'current',
|
|
149
|
+
statusLabels: { from: 'Draft', to: 'Open' },
|
|
150
|
+
});
|
|
151
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
152
|
+
await runEntryAccept({ entryId: 'TEN-951', message: 'Validated and ready' });
|
|
153
|
+
writeSpy.mockRestore();
|
|
154
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', {
|
|
155
|
+
entryId: 'TEN-951',
|
|
156
|
+
author: 'agent:sess-test',
|
|
157
|
+
sessionId: 'sess-test',
|
|
158
|
+
commitMessage: 'Validated and ready',
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
it('displays version result for direct commit', async () => {
|
|
162
|
+
kernelCallWithSessionMock
|
|
163
|
+
.mockResolvedValueOnce({
|
|
164
|
+
_id: 'j571abc',
|
|
165
|
+
entryId: 'TEN-951',
|
|
166
|
+
name: 'Wave 2 smoke test',
|
|
167
|
+
versionId: 'v123',
|
|
168
|
+
version: 1,
|
|
169
|
+
status: 'current',
|
|
170
|
+
statusLabels: { from: 'Draft', to: 'Open' },
|
|
171
|
+
});
|
|
172
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
173
|
+
await runEntryAccept({ entryId: 'TEN-951' });
|
|
174
|
+
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
175
|
+
writeSpy.mockRestore();
|
|
176
|
+
expect(output).toContain('Accepted TEN-951');
|
|
177
|
+
expect(output).toContain('Draft → Open'); // TASK-889: the kernel's Rail words, never the stored trust word
|
|
178
|
+
expect(output).not.toContain('current');
|
|
179
|
+
expect(output).toContain('v1');
|
|
180
|
+
});
|
|
181
|
+
// 'displays proposal result for governance mode' deleted (WP-776 S2a, DEC-1771): chain.
|
|
182
|
+
// commitEntry never returns `status: 'proposal_created'` anymore — the relation-consent
|
|
183
|
+
// proposal system it named is deleted (see formatters/entryAccept.ts's CommitEntryResult).
|
|
184
|
+
it('displays quality warnings when present', async () => {
|
|
185
|
+
kernelCallWithSessionMock
|
|
186
|
+
.mockResolvedValueOnce({
|
|
187
|
+
_id: 'j571abc',
|
|
188
|
+
entryId: 'BET-151',
|
|
189
|
+
name: 'Test Bet',
|
|
190
|
+
versionId: 'v123',
|
|
191
|
+
version: 1, statusLabels: { from: 'Draft', to: 'Open' },
|
|
192
|
+
qualityVerdict: {
|
|
193
|
+
verdict: 'warn',
|
|
194
|
+
violations: ['Missing done-when criteria', 'No appetite set'],
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
198
|
+
await runEntryAccept({ entryId: 'BET-151' });
|
|
199
|
+
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
200
|
+
writeSpy.mockRestore();
|
|
201
|
+
expect(output).toContain('Quality warnings');
|
|
202
|
+
expect(output).toContain('Missing done-when criteria');
|
|
203
|
+
expect(output).toContain('No appetite set');
|
|
204
|
+
});
|
|
205
|
+
it('throws CLIError with no active session', async () => {
|
|
206
|
+
mockSession = null;
|
|
207
|
+
await expect(runEntryAccept({ entryId: 'TEN-951' })).rejects.toThrow('No active session');
|
|
208
|
+
expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
|
|
209
|
+
});
|
|
210
|
+
it('throws CLIError with empty entryId', async () => {
|
|
211
|
+
await expect(runEntryAccept({ entryId: ' ' })).rejects.toThrow('Entry ID is required');
|
|
212
|
+
expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
|
|
213
|
+
});
|
|
214
|
+
it('handles server errors thrown during commit', async () => {
|
|
215
|
+
kernelCallWithSessionMock.mockRejectedValue(new Error('Entry not found.'));
|
|
216
|
+
await expect(runEntryAccept({ entryId: 'TEN-999' })).rejects.toThrow('Entry not found.');
|
|
217
|
+
});
|
|
218
|
+
// WP-485 Slice 2b (R3, FEAT-1370): the commit succeeded — the advisory is informational,
|
|
219
|
+
// rendered from the server's single verdict, never re-derived client-side.
|
|
220
|
+
it('renders a contradictionAdvisory in the receipt when the server attaches one', async () => {
|
|
221
|
+
kernelCallWithSessionMock
|
|
222
|
+
.mockResolvedValueOnce({
|
|
223
|
+
_id: 'j571abc',
|
|
224
|
+
entryId: 'DEC-100',
|
|
225
|
+
name: 'Advisory entry',
|
|
226
|
+
versionId: 'v123',
|
|
227
|
+
version: 1, statusLabels: { from: 'Draft', to: 'Open' },
|
|
228
|
+
contradictionAdvisory: {
|
|
229
|
+
reason: 'Advisory only — a contradiction never blocks.',
|
|
230
|
+
blockingCount: 1,
|
|
231
|
+
conflictDetails: [
|
|
232
|
+
{
|
|
233
|
+
chainEntryId: 'DEC-42',
|
|
234
|
+
chainEntryName: 'Existing decision',
|
|
235
|
+
type: 'contradiction',
|
|
236
|
+
confidence: 0.9,
|
|
237
|
+
explanation: 'Directly contradicts the approved baseline.',
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
243
|
+
await runEntryAccept({ entryId: 'DEC-100' });
|
|
244
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
245
|
+
writeSpy.mockRestore();
|
|
246
|
+
expect(output).toContain('Accepted DEC-100');
|
|
247
|
+
expect(output).toContain('Contradiction advisory');
|
|
248
|
+
expect(output).toContain('Advisory only — a contradiction never blocks.');
|
|
249
|
+
expect(output).toContain('DEC-42');
|
|
250
|
+
});
|
|
251
|
+
// WP-B (attestation-model spec §4.3): the server auto-verifies as part of the
|
|
252
|
+
// promote itself. The CLI never verifies-and-retries — it renders the receipt.
|
|
253
|
+
it('renders the server auto-verify receipt (no client-side verify, single commit call)', async () => {
|
|
254
|
+
kernelCallWithSessionMock
|
|
255
|
+
.mockResolvedValueOnce({
|
|
256
|
+
_id: 'j571abc', entryId: 'INS-100', versionId: 'v1', version: 1, statusLabels: { from: 'Draft', to: 'Open' },
|
|
257
|
+
autoVerified: { strength: 'delegated', basis: 'attested', context: 'promote-gate', verifiedBy: 'agent for Randy Test' },
|
|
258
|
+
});
|
|
259
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
260
|
+
await runEntryAccept({ entryId: 'INS-100' });
|
|
261
|
+
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
262
|
+
writeSpy.mockRestore();
|
|
263
|
+
// THE RECEIPT SAYS SO (spec §4.3) — silence here is a structural regression.
|
|
264
|
+
expect(output).toContain('Accepted INS-100');
|
|
265
|
+
expect(output).toContain('Auto-verified as part of accept — delegated (agent for Randy Test)');
|
|
266
|
+
// The client-side verify-then-retry is dead code: verifyEntry never called,
|
|
267
|
+
// commitEntry called exactly once.
|
|
268
|
+
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
269
|
+
const commitCalls = kernelCallWithSessionMock.mock.calls.filter(c => c[0] === 'chain.commitEntry');
|
|
270
|
+
expect(commitCalls).toHaveLength(1);
|
|
271
|
+
});
|
|
272
|
+
it('surfaces ANY QUALITY_GATE_BLOCKED as a legible error — no verify-retry, even for a verification-shaped block from an old server (spec §11 rollout rule)', async () => {
|
|
273
|
+
kernelCallWithSessionMock
|
|
274
|
+
.mockRejectedValueOnce(new MockMcpError('Agent-origin entry requires verification before it is accepted', 'QUALITY_GATE_BLOCKED'));
|
|
275
|
+
await expect(runEntryAccept({ entryId: 'INS-100' })).rejects.toThrow('requires verification');
|
|
276
|
+
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
277
|
+
const commitCalls = kernelCallWithSessionMock.mock.calls.filter(c => c[0] === 'chain.commitEntry');
|
|
278
|
+
expect(commitCalls).toHaveLength(1);
|
|
279
|
+
});
|
|
280
|
+
// TASK-1038: a not-verified accept names its fix as data; pb prints what stayed, the kernel's sentence and its own Next.
|
|
281
|
+
it.each([
|
|
282
|
+
['verify', 'This entry is not verified yet. Verify it, then accept it again.', 'Next: pb verify INS-200, then pb entry accept INS-200.'],
|
|
283
|
+
['person', 'Only a person can accept this entry; a person accepts it in Product Brain.', undefined],
|
|
284
|
+
])('a GROUNDING_GATE_BLOCKED accept whose fix is %s prints its signed Next', async (fix, reason, next) => {
|
|
285
|
+
kernelCallWithSessionMock
|
|
286
|
+
.mockRejectedValueOnce(new MockMcpError(reason, 'GROUNDING_GATE_BLOCKED', [{ refusalFix: fix }]));
|
|
287
|
+
const thrown = await runEntryAccept({ entryId: 'INS-200' }).catch((e) => e);
|
|
288
|
+
expect(thrown.message).toBe(`INS-200 was not accepted and stays a draft. ${reason}`);
|
|
289
|
+
expect(thrown.guidance).toBe(next);
|
|
290
|
+
});
|
|
291
|
+
it('surfaces other QUALITY_GATE_BLOCKED reasons unchanged', async () => {
|
|
292
|
+
kernelCallWithSessionMock
|
|
293
|
+
.mockRejectedValueOnce(new MockMcpError('Entry missing required fields', 'QUALITY_GATE_BLOCKED'));
|
|
294
|
+
await expect(runEntryAccept({ entryId: 'BET-200' })).rejects.toThrow('Entry missing required fields');
|
|
295
|
+
// verifyEntry must never have been called
|
|
296
|
+
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
297
|
+
});
|
|
298
|
+
// TASK-888 (RULE-660): a refused vision or strategy prints the same rung checklist shape as a refused
|
|
299
|
+
// objective — the kernel sentence verbatim, its lines from the one checklist this CLI ships.
|
|
300
|
+
it.each([
|
|
301
|
+
['OBJ-9', 'objective', 'strategy'],
|
|
302
|
+
['STR-9', 'strategy', 'vision'],
|
|
303
|
+
['VIS-9', 'vision', 'purpose'],
|
|
304
|
+
])('prints the spine rung checklist for a refused %s unchanged', async (entryId, subject, rung) => {
|
|
305
|
+
const line = renderChecklist('strategy_link', [{ id: rung, passed: false }], false)[0];
|
|
306
|
+
const sentence = `Cannot accept this ${subject} without a strategy link. Fix each [ ] line, then try again.\n${line}`;
|
|
307
|
+
kernelCallWithSessionMock
|
|
308
|
+
.mockRejectedValueOnce(new MockMcpError(sentence, 'VALIDATION_FAILED'));
|
|
309
|
+
await expect(runEntryAccept({ entryId })).rejects.toThrow(sentence);
|
|
310
|
+
expect(line).toBe(`[ ] ${rungLine(rung)}`); // TASK-1026: the one rung sentence
|
|
311
|
+
});
|
|
312
|
+
// ── WP-465 slice ⑤ (Finding #25): structured coherency refusal in --json mode ──
|
|
313
|
+
it('emits machine-readable refusal routes to stdout on a Standard/Strict coherency refusal (--json)', async () => {
|
|
314
|
+
runnerState.jsonMode = true;
|
|
315
|
+
const refusal = {
|
|
316
|
+
outcome: 'refused',
|
|
317
|
+
code: 'COHERENCY_REFUSED',
|
|
318
|
+
disposition: 'acknowledge',
|
|
319
|
+
effectiveDisposition: 'acknowledge-required',
|
|
320
|
+
overridable: true,
|
|
321
|
+
mode: 'standard',
|
|
322
|
+
reason: 'This entry links to nothing it serves. Link it to what it serves, or answer why it stands alone.',
|
|
323
|
+
fix: 'link',
|
|
324
|
+
subject: { entryId: 'DEC-500', name: 'Standalone decision' },
|
|
325
|
+
routes: {
|
|
326
|
+
link: { description: LINK_REFUSAL_WORDS.linkRoute },
|
|
327
|
+
acknowledge: {
|
|
328
|
+
param: 'coherencyAcknowledgement',
|
|
329
|
+
responses: ['linked', 'accepted-fix', 'diverged'],
|
|
330
|
+
minReasonChars: 12,
|
|
331
|
+
description: LINK_REFUSAL_WORDS.answerRoute,
|
|
332
|
+
},
|
|
333
|
+
override: { param: 'steeringOverrideReason', minChars: 12, description: LINK_REFUSAL_WORDS.reasonRoute },
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
kernelCallWithSessionMock
|
|
337
|
+
.mockResolvedValueOnce({ status: 'coherency_refused', refusal });
|
|
338
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
339
|
+
// TASK-1038: the throw says what stayed, then the kernel's sentence; its guidance is pb's command for each route.
|
|
340
|
+
const thrown = await runEntryAccept({ entryId: 'DEC-500' }).catch((e) => e);
|
|
341
|
+
expect(thrown.message).toBe('DEC-500 was not accepted and stays a draft. This entry links to nothing it serves. Link it to what it serves, or answer why it stands alone.');
|
|
342
|
+
expect(thrown.guidance.split('\n').slice(0, 3)).toEqual([
|
|
343
|
+
'Next: pb relate DEC-500 informs <what it serves>, then pb entry accept DEC-500.',
|
|
344
|
+
'Or answer: pb entry accept DEC-500 --acknowledge diverged --ack-reason "<why>".',
|
|
345
|
+
'Or keep it as it is: pb entry accept DEC-500 --override-reason "<why>".',
|
|
346
|
+
]);
|
|
347
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
348
|
+
writeSpy.mockRestore();
|
|
349
|
+
// The structured { outcome: 'refused', refusal } envelope reached stdout (machine-readable),
|
|
350
|
+
// carrying the subject + the retry routes the agent needs to populate the controls.
|
|
351
|
+
const parsed = JSON.parse(output.trim());
|
|
352
|
+
expect(parsed.outcome).toBe('refused');
|
|
353
|
+
expect(parsed.refusal.subject.entryId).toBe('DEC-500');
|
|
354
|
+
expect(parsed.refusal.routes.acknowledge.param).toBe('coherencyAcknowledgement');
|
|
355
|
+
expect(parsed.refusal.routes.override.param).toBe('steeringOverrideReason');
|
|
356
|
+
});
|
|
357
|
+
it('does not emit a refusal JSON line in human (pretty) mode', async () => {
|
|
358
|
+
runnerState.jsonMode = false;
|
|
359
|
+
kernelCallWithSessionMock
|
|
360
|
+
.mockResolvedValueOnce({
|
|
361
|
+
status: 'coherency_refused',
|
|
362
|
+
refusal: { reason: LINK_REFUSAL_WORDS.unlinked },
|
|
363
|
+
});
|
|
364
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
365
|
+
await expect(runEntryAccept({ entryId: 'DEC-500' })).rejects.toThrow(LINK_REFUSAL_WORDS.unlinked);
|
|
366
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
367
|
+
writeSpy.mockRestore();
|
|
368
|
+
expect(output).not.toContain('"outcome":"refused"');
|
|
369
|
+
});
|
|
370
|
+
// TASK-736 (DEC-2019): the accept of a held draft prints the kernel's flag sentence unchanged.
|
|
371
|
+
it('shows the held-draft flag the server returns', async () => {
|
|
372
|
+
const heldFlag = "Accepted over the atom check's hold (p 0.97). Recorded as an override by Randy.";
|
|
373
|
+
kernelCallWithSessionMock
|
|
374
|
+
.mockResolvedValueOnce({ _id: 'j571abd', entryId: 'DEC-601', name: 'Bundled', versionId: 'v124', version: 1, statusLabels: { from: 'Draft', to: 'Open' }, heldFlag });
|
|
375
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
376
|
+
await runEntryAccept({ entryId: 'DEC-601' });
|
|
377
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
378
|
+
writeSpy.mockRestore();
|
|
379
|
+
expect(output).toContain(` ⚠ ${heldFlag}`);
|
|
380
|
+
});
|
|
381
|
+
// DEC-2129: a draft both checks held returns one line per check; each prints with its own marker.
|
|
382
|
+
it('marks every line of a flag from a draft two checks held', async () => {
|
|
383
|
+
const heldFlag = "Accepted over the atom check's hold (p 0.97). Recorded as an override by Randy.\nAccepted over the role check's hold (p 0.96). Recorded as an override by Randy.";
|
|
384
|
+
kernelCallWithSessionMock
|
|
385
|
+
.mockResolvedValueOnce({ _id: 'j571abd', entryId: 'DEC-602', name: 'Bundled', versionId: 'v125', version: 1, statusLabels: { from: 'Draft', to: 'Open' }, heldFlag });
|
|
386
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
387
|
+
await runEntryAccept({ entryId: 'DEC-602' });
|
|
388
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
389
|
+
writeSpy.mockRestore();
|
|
390
|
+
expect(output).toContain(" ⚠ Accepted over the atom check's hold (p 0.97). Recorded as an override by Randy.\n ⚠ Accepted over the role check's hold (p 0.96). Recorded as an override by Randy.");
|
|
391
|
+
});
|
|
392
|
+
// TASK-1159 (TEN-5703): the reason given prints once, after the held lines; a result without one prints as before.
|
|
393
|
+
it('prints the reason given after the held lines', async () => {
|
|
394
|
+
const heldFlag = "Accepted over the atom check's hold (p 0.97). Recorded as an override by Randy.";
|
|
395
|
+
const heldReason = "Reason given: The two claims share one owner and ship together.";
|
|
396
|
+
kernelCallWithSessionMock
|
|
397
|
+
.mockResolvedValueOnce({ _id: 'j571abd', entryId: 'DEC-603', name: 'Bundled', versionId: 'v126', version: 1, statusLabels: { from: 'Draft', to: 'Open' }, heldFlag, heldReason });
|
|
398
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
399
|
+
await runEntryAccept({ entryId: 'DEC-603', overrideReason: 'The two claims share one owner and ship together.' });
|
|
400
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
401
|
+
writeSpy.mockRestore();
|
|
402
|
+
expect(output).toContain(` ⚠ ${heldFlag}\n ${heldReason}`);
|
|
403
|
+
});
|
|
404
|
+
it('prints the overlap line a role accept carries, as the held lines print', async () => {
|
|
405
|
+
const overlap = "This role overlaps Kitchen Manager (ROL-51): both decide which dishes are on the menu. Move that decision into one role's Decides line if you agree.";
|
|
406
|
+
kernelCallWithSessionMock
|
|
407
|
+
.mockResolvedValueOnce({ _id: 'j571abe', entryId: 'ROL-50', name: 'Menu Chef', versionId: 'v127', version: 1, statusLabels: { from: 'Draft', to: 'Accepted' }, overlap });
|
|
408
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
409
|
+
await runEntryAccept({ entryId: 'ROL-50' });
|
|
410
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
411
|
+
writeSpy.mockRestore();
|
|
412
|
+
expect(output).toContain(`\n ⚠ ${overlap}`);
|
|
413
|
+
});
|
|
414
|
+
// TASK-1169 (DEC-2275): the reason rides as the override reason; the why judge's refusal prints as the kernel's signed sentence alone.
|
|
415
|
+
it('relays the override reason and prints the why judge refusal unchanged', async () => {
|
|
416
|
+
const sentence = 'Not accepted: the reason does not say why the hold is wrong here. Why do the parts stand together? Say why the fix does not apply, or keep it as a draft.';
|
|
417
|
+
kernelCallWithSessionMock
|
|
418
|
+
.mockRejectedValueOnce(new MockMcpError(sentence, 'VALIDATION_FAILED'));
|
|
419
|
+
const err = await runEntryAccept({ entryId: 'DEC-604', overrideReason: 'intentional, keeping as is' }).catch((e) => e);
|
|
420
|
+
expect(err.message).toBe(sentence);
|
|
421
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', expect.objectContaining({
|
|
422
|
+
entryId: 'DEC-604', qualityOverrideReason: 'intentional, keeping as is', steeringOverrideReason: 'intentional, keeping as is',
|
|
423
|
+
}));
|
|
424
|
+
});
|
|
425
|
+
// ── WP-465 slice ⑤ (Finding #9): Light-mode steering advisory in the receipt ──
|
|
426
|
+
it('surfaces a non-blocking steeringAdvisory in the promote receipt when present', async () => {
|
|
427
|
+
kernelCallWithSessionMock
|
|
428
|
+
.mockResolvedValueOnce({
|
|
429
|
+
_id: 'j571abc',
|
|
430
|
+
entryId: 'DEC-600',
|
|
431
|
+
name: 'Misaligned decision',
|
|
432
|
+
versionId: 'v123',
|
|
433
|
+
version: 1, statusLabels: { from: 'Draft', to: 'Open' },
|
|
434
|
+
steeringAdvisory: 'This entry links to nothing it serves yet; it was saved anyway.',
|
|
435
|
+
});
|
|
436
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
437
|
+
await runEntryAccept({ entryId: 'DEC-600' });
|
|
438
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
439
|
+
writeSpy.mockRestore();
|
|
440
|
+
expect(output).toContain('Accepted DEC-600');
|
|
441
|
+
expect(output).toContain(' ⚠ This entry links to nothing it serves yet; it was saved anyway.');
|
|
442
|
+
});
|
|
443
|
+
// WP-485 Slice 2b round 2 (Codex P1, FEAT-1370): batch --json used to reduce every success
|
|
444
|
+
// to `{entryId, ok:true}`, discarding the server's entire contradictionAdvisory — a detected
|
|
445
|
+
// contradiction could commit while `pb promote ID1 ID2 --json` gave automated callers no
|
|
446
|
+
// trace it happened. The single-id JSON path already returns the full result object; batch
|
|
447
|
+
// must not throw the advisory away just because it takes a different output branch.
|
|
448
|
+
it('preserves contradictionAdvisory in batch --json output (not reduced to {entryId, ok:true})', async () => {
|
|
449
|
+
runnerState.jsonMode = true;
|
|
450
|
+
const advisory = {
|
|
451
|
+
reason: '1 possible contradiction(s) with existing Chain entries (advisory).',
|
|
452
|
+
blockingCount: 1,
|
|
453
|
+
conflictDetails: [
|
|
454
|
+
{ chainEntryId: 'DEC-42', chainEntryName: 'Existing decision', type: 'contradiction', confidence: 0.9, explanation: 'Directly contradicts the approved baseline.' },
|
|
455
|
+
],
|
|
456
|
+
};
|
|
457
|
+
kernelCallWithSessionMock
|
|
458
|
+
.mockResolvedValueOnce({ _id: 'j1', entryId: 'TEN-951', versionId: 'v1', version: 1, statusLabels: { from: 'Draft', to: 'Open' } })
|
|
459
|
+
.mockResolvedValueOnce({ _id: 'j2', entryId: 'DEC-100', versionId: 'v1', version: 1, statusLabels: { from: 'Draft', to: 'Open' }, contradictionAdvisory: advisory });
|
|
460
|
+
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
461
|
+
await runEntryAccept({ entryIds: ['TEN-951', 'DEC-100'] });
|
|
462
|
+
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
463
|
+
writeSpy.mockRestore();
|
|
464
|
+
const parsed = JSON.parse(output.trim());
|
|
465
|
+
expect(parsed).toHaveLength(2);
|
|
466
|
+
expect(parsed[0]).toEqual({ entryId: 'TEN-951', ok: true });
|
|
467
|
+
expect(parsed[1].contradictionAdvisory).toEqual(advisory);
|
|
468
|
+
});
|
|
469
|
+
});
|
|
470
|
+
// TASK-889 (TEN-4610, RULE-664): the receipt names the move in the kernel's words, the ones the Rail
|
|
471
|
+
// header shows, never the stored trust word.
|
|
472
|
+
describe('formatEntryAcceptReceipt', () => {
|
|
473
|
+
it('prints the kernel status labels from the commit result', async () => {
|
|
474
|
+
const { formatEntryAcceptReceipt } = await import('../formatters/entryAccept.js');
|
|
475
|
+
const out = formatEntryAcceptReceipt({
|
|
476
|
+
entryId: 'ROL-8',
|
|
477
|
+
name: 'Product Management',
|
|
478
|
+
result: { _id: 'j571abc', entryId: 'ROL-8', versionId: 'v1', version: 1, statusLabels: { from: 'Draft', to: 'Accepted' } },
|
|
479
|
+
});
|
|
480
|
+
expect(out.split('\n')[0]).toBe('Accepted ROL-8: Draft → Accepted (v1)');
|
|
481
|
+
expect(out).not.toContain('current');
|
|
482
|
+
});
|
|
483
|
+
// Version skew (Codex P2 on #1866): a backend older than TASK-889 sends no labels; the receipt names no state, never the stored word.
|
|
484
|
+
it('names no state when the backend sends no labels', async () => {
|
|
485
|
+
const { formatEntryAcceptReceipt } = await import('../formatters/entryAccept.js');
|
|
486
|
+
const out = formatEntryAcceptReceipt({
|
|
487
|
+
entryId: 'ROL-8',
|
|
488
|
+
name: 'Product Management',
|
|
489
|
+
result: { _id: 'j571abc', entryId: 'ROL-8', versionId: 'v1', version: 1, status: 'current' },
|
|
490
|
+
});
|
|
491
|
+
expect(out.split('\n')[0]).toBe('Accepted ROL-8 (v1)');
|
|
492
|
+
expect(out).not.toContain('current');
|
|
493
|
+
});
|
|
494
|
+
});
|
|
495
|
+
// TASK-692 (DEC-1998): the kernel's sentence as-is, then the CLI's pb update hint from the fields as data.
|
|
496
|
+
describe('missingFieldsLine', () => {
|
|
497
|
+
it('prints the kernel sentence, then pb update with one -f per missing field', () => {
|
|
498
|
+
expect(missingFieldsLine('ROL-8', 'Add a body before accepting.', ['body'])).toBe('Add a body before accepting.\n pb update ROL-8 -f body=...');
|
|
499
|
+
expect(missingFieldsLine('TASK-1', 'Add a body and a why before accepting.', ['body', 'why'])).toBe('Add a body and a why before accepting.\n pb update TASK-1 -f body=... -f why=...');
|
|
500
|
+
});
|
|
501
|
+
});
|
|
502
|
+
// TASK-1027 (DEC-1994): the kernel names the blocking entry; the CLI writes its own Next from the IDs as data.
|
|
503
|
+
describe('spineNextLine', () => {
|
|
504
|
+
it('a draft key result: accept it; at its cap, accept it in an accepted one\'s place (TASK-1028)', () => {
|
|
505
|
+
expect(spineNextLine([{ spineNext: { action: 'accept', entryId: 'KR-7' } }])).toBe('Next: pb entry accept KR-7');
|
|
506
|
+
expect(spineNextLine([{ spineNext: { action: 'accept', entryId: 'KR-7', replaces: '<KEY-RESULT-ID>' } }]))
|
|
507
|
+
.toBe('Next: pb entry accept KR-7 --replaces <KEY-RESULT-ID> --reason "<why>"');
|
|
508
|
+
expect(spineNextLine([{ spineNext: { action: 'accept', entryId: 'STR-5', replaces: 'STR-3' } }])).toBe('Next: pb entry accept STR-5 --replaces STR-3 --reason "<why>"');
|
|
509
|
+
});
|
|
510
|
+
it('a wrong verb or a replaced parent: the link to write; a missing one names the kind', () => {
|
|
511
|
+
expect(spineNextLine([{ spineNext: { action: 'relate', from: 'STR-5', type: 'part_of', to: 'VIS-1', toKind: 'vision' } }])).toBe('Next: pb relate STR-5 part_of VIS-1');
|
|
512
|
+
expect(spineNextLine([{ spineNext: { action: 'relate', from: 'WP-56', type: 'validates', toKind: 'key_result' } }])).toBe('Next: pb relate WP-56 validates <KEY-RESULT-ID>');
|
|
513
|
+
});
|
|
514
|
+
it('TASK-1163: two spine details are two Next lines, in order', () => {
|
|
515
|
+
expect(spineNextLine([{ spineNext: { action: 'accept', entryId: '<NEW-KEY-RESULT-ID>', replaces: 'KR-1' } }, { spineNext: { action: 'relate', from: 'WP-1', type: 'validates', toKind: 'key_result' } }]))
|
|
516
|
+
.toBe('Next: pb entry accept <NEW-KEY-RESULT-ID> --replaces KR-1 --reason "<why>"\nNext: pb relate WP-1 validates <KEY-RESULT-ID>');
|
|
517
|
+
});
|
|
518
|
+
it('no spine detail: nothing to add', () => {
|
|
519
|
+
expect(spineNextLine(undefined)).toBeNull();
|
|
520
|
+
expect(spineNextLine([{ fieldKey: 'body', errorType: 'required' }])).toBeNull();
|
|
521
|
+
});
|
|
522
|
+
});
|
|
523
|
+
describe('pb entry accept --override-reason help (TEN-5338)', () => {
|
|
524
|
+
it('names the failed checklist as well as the entry that stands alone', async () => {
|
|
525
|
+
const { Command } = await import('commander');
|
|
526
|
+
const { registerEntryCommands } = await import('../registerEntryCommands.js');
|
|
527
|
+
const program = new Command();
|
|
528
|
+
registerEntryCommands(program);
|
|
529
|
+
const accept = program.commands.find((c) => c.name() === 'entry').commands.find((c) => c.name() === 'accept');
|
|
530
|
+
expect(accept.options.find((o) => o.long === '--override-reason')?.description).toBe('Why it stands alone, at least 12 characters, or why a text passes after its checklist failed. Your name is kept with it.');
|
|
531
|
+
});
|
|
532
|
+
});
|
|
533
|
+
// TASK-1028: the accept receipt of a replace prints the kernel's line and the next accept; the relate receipt names its rung.
|
|
534
|
+
describe('replace and relate receipts (TASK-1028, TEN-5450)', () => {
|
|
535
|
+
it('a replace prints the kernel line, then Next: the draft that hangs on it', async () => {
|
|
536
|
+
const { replacedLines } = await import('../commands/entryAccept.js');
|
|
537
|
+
expect(replacedLines({ _id: 'x', versionId: 'v', version: 1, replaced: { line: 'Rest days (KR-3) is archived, replaced by this one.', nextAccept: 'WP-1' } }))
|
|
538
|
+
.toBe('\n\n Rest days (KR-3) is archived, replaced by this one.\nNext: pb entry accept WP-1');
|
|
539
|
+
expect(replacedLines({ _id: 'x', versionId: 'v', version: 1 })).toBe('');
|
|
540
|
+
});
|
|
541
|
+
it('a written rung link names its rung and the accept it unblocks', async () => {
|
|
542
|
+
const { relateSpineLines } = await import('../commands/relate.js');
|
|
543
|
+
expect(relateSpineLines({ spineLink: { line: 'A strategy hangs on an accepted vision with part_of.', nextAccept: 'STR-2' } }))
|
|
544
|
+
.toBe('\n A strategy hangs on an accepted vision with part_of.\nNext: pb entry accept STR-2');
|
|
545
|
+
expect(relateSpineLines({ spineLink: { line: 'A strategy hangs on an accepted vision with part_of.' } })).toBe('\n A strategy hangs on an accepted vision with part_of.');
|
|
546
|
+
});
|
|
547
|
+
});
|
|
548
|
+
// The prompt the kernel composed rides the refusal; pb prints it after the refusal's own lines, as the MCP does.
|
|
549
|
+
describe('the accept prompt on a refusal', () => {
|
|
550
|
+
const PROMPT = 'Fix this Product Brain entry so it can be accepted.\nWorkspace: Acme. Entry: [TASK-1].\nNot yet: Add a Done When item before accepting.';
|
|
551
|
+
const carried = [{ acceptRefusal: { rows: [], prompt: PROMPT } }];
|
|
552
|
+
beforeEach(() => { vi.clearAllMocks(); qualityRouteMock.mockResolvedValue(null); mockSession = { sessionId: 'sess-test' }; runnerState.jsonMode = false; });
|
|
553
|
+
it('prints the missing-field refusal, its command, then a blank line and the prompt', async () => {
|
|
554
|
+
const refused = Object.assign(new MockMcpError('Add a Done When item before accepting.', 'VALIDATION_FAILED', carried), { missingRequiredFields: ['doneWhen'] });
|
|
555
|
+
kernelCallWithSessionMock.mockRejectedValueOnce(refused);
|
|
556
|
+
const err = await runEntryAccept({ entryId: 'TASK-1' }).catch((e) => e);
|
|
557
|
+
expect(err.message).toBe('Add a Done When item before accepting.\n pb update TASK-1 -f doneWhen=...');
|
|
558
|
+
expect(err.guidance).toBe(`Then run pb entry accept TASK-1 again.\n\n${PROMPT}`);
|
|
559
|
+
});
|
|
560
|
+
it('prints a returned refusal\'s prompt the same way', async () => {
|
|
561
|
+
kernelCallWithSessionMock
|
|
562
|
+
.mockResolvedValueOnce({ status: 'coherency_refused', refusal: { reason: 'This decision names nothing it serves.', acceptRefusal: { rows: [], prompt: PROMPT } } });
|
|
563
|
+
const err = await runEntryAccept({ entryId: 'DEC-1' }).catch((e) => e);
|
|
564
|
+
expect(err.guidance?.endsWith(`\n\n${PROMPT}`)).toBe(true);
|
|
565
|
+
});
|
|
566
|
+
it('prints nothing more when the refusal carries no prompt', async () => {
|
|
567
|
+
const refused = Object.assign(new MockMcpError('Add a body before accepting.', 'VALIDATION_FAILED'), { missingRequiredFields: ['body'] });
|
|
568
|
+
kernelCallWithSessionMock.mockRejectedValueOnce(refused);
|
|
569
|
+
const err = await runEntryAccept({ entryId: 'TASK-2' }).catch((e) => e);
|
|
570
|
+
expect(err.guidance).toBe('Then run pb entry accept TASK-2 again.');
|
|
571
|
+
});
|
|
572
|
+
});
|
|
573
|
+
//# sourceMappingURL=entryAccept.test.js.map
|