@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
package/dist/commands/session.js
CHANGED
|
@@ -1,78 +1,302 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pb session start / close — CLI write session lifecycle.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* on session start preserved for backward compatibility.
|
|
2
|
+
* pb session start / close — CLI write session lifecycle. Opens a tracked agent session (DEC-9,
|
|
3
|
+
* BR-8) with clientKind: 'cli' (DEC-184). Session ID persisted to .productbrain/session.json
|
|
4
|
+
* (TEN-264 option 1). BET-181 Slice 0: uses isJsonMode() for output branching; existing --json
|
|
5
|
+
* flag on session start preserved for backward compatibility.
|
|
7
6
|
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import { basename } from 'path'; // WP-660 S2: module-health shrink-only budget, same-line import-combine pattern
|
|
8
9
|
import { getConfigOrGuide } from '../lib/config.js';
|
|
9
|
-
import {
|
|
10
|
-
import { readSession, writeSession, clearSession } from '../lib/session.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { kernelCall } from '../lib/client.js';
|
|
11
|
+
import { readSession, writeSession, clearSession, discardSession, discardAllSessions, hasAnySessionMarker, hasAnyActiveSession, readClosedMarker, RESUME_WINDOW_MS, } from '../lib/session.js'; // WP-660 S2 same-line import-combine, to stay within the shrink-only budget
|
|
12
|
+
import { resolveConversationId, resolveHarnessName } from '../lib/conversation.js';
|
|
13
|
+
import { openSeatWithNotes, seatConversationId, startTextOf } from '../lib/sessionOpen.js'; // TASK-1408
|
|
14
|
+
import { isJsonMode, runCliCommand } from '../lib/runner.js';
|
|
15
|
+
import { confirm, isInteractive } from '../lib/prompts.js';
|
|
16
|
+
import { formatSessionStart, formatSessionClose, formatLoopUnfinished, formatSessionList, formatSessionShow, buildAcceptCommand, uncheckedRefusal, FEEDBACK_SUBMIT_HINT, } from '../formatters/session.js';
|
|
17
|
+
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
18
|
+
import { copy } from '../lib/style.js'; // same-line combine, shrink-only budget
|
|
19
|
+
import { readLocalProjectConfig, refreshPreviewApiKeyFromDisk } from '../lib/config.js';
|
|
20
|
+
import { isRoleRefusal, startWithPinnedRole } from '../lib/pinnedRole.js'; // TASK-639 same-line
|
|
21
|
+
import { resolveAppUrl } from '../lib/constants.js';
|
|
22
|
+
import { emitEffectiveTenantNotice } from '../lib/workspaceNotice.js';
|
|
23
|
+
import { fingerprintBinding, bindingChanged } from '../lib/sessionBinding.js';
|
|
24
|
+
import { resolveReportedProfile } from '../lib/reportedProfile.js';
|
|
25
|
+
import { composeWrapupView } from '../lib/compose-wrapup-view.js'; // WP-660 S2 same-line combine, shrink-only budget
|
|
26
|
+
/**
|
|
27
|
+
* Auto-populate the session `label` (WP-479 E2, founder-day fix Pass 2) — the founder's recall
|
|
28
|
+
* cue for "which of my N conversations" is the worktree/branch, never a UUID. Priority:
|
|
29
|
+
* SUPERSET_WORKSPACE_NAME env → git branch (silent fail) → cwd basename. Server-side clamps to
|
|
30
|
+
* ~120 chars (mirrors MAX_TASK_LEN) — no client-side truncation needed here.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveSessionLabel() {
|
|
33
|
+
const superset = process.env.SUPERSET_WORKSPACE_NAME;
|
|
34
|
+
if (superset && superset.trim())
|
|
35
|
+
return superset.trim();
|
|
36
|
+
try {
|
|
37
|
+
const branch = execSync('git rev-parse --abbrev-ref HEAD', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim();
|
|
38
|
+
if (branch)
|
|
39
|
+
return branch;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Silent fail — not a git repo, git not installed, detached HEAD edge cases, etc.
|
|
43
|
+
}
|
|
44
|
+
return basename(process.cwd());
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* True for the auth/INTERNAL failure a stale preview apiKey produces (WP-458 E2). The server
|
|
48
|
+
* returns an opaque INTERNAL for a rejected key, and a true 401 maps to category 'auth' — either
|
|
49
|
+
* is a candidate for the one-shot preview-key refresh. Scoped to CLIError so plain Errors fall
|
|
50
|
+
* through to a normal rethrow. A role refusal (pinnedRole.ts's one code set) is never a key problem.
|
|
51
|
+
*/
|
|
52
|
+
function isStalePreviewKeyError(err) {
|
|
53
|
+
return !isRoleRefusal(err) && err instanceof CLIError && (err.category === 'auth' || err.code === ErrorCode.INTERNAL);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The OPAQUE INTERNAL a server-rejected key produces — the one failure doneWhen #1 exists to
|
|
57
|
+
* replace with a clean message. Narrower than isStalePreviewKeyError on purpose: it is the predicate
|
|
58
|
+
* for relabelling a POST-refresh retry failure, which is NOT disk-gated. A retry that fails with a
|
|
59
|
+
* specific, already-actionable auth error (e.g. the read-only-key guard's AUTH_INVALID) must keep
|
|
60
|
+
* its own guidance instead of being rewritten "reseed/rebind" (Codex P2). Only the opaque INTERNAL,
|
|
61
|
+
* which carries no useful guidance of its own, is worth converting.
|
|
62
|
+
*/
|
|
63
|
+
function isOpaqueKeyRejection(err) {
|
|
64
|
+
return err instanceof CLIError && err.code === ErrorCode.INTERNAL;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Clean, actionable replacement for the opaque INTERNAL a rejected preview key produces (WP-458
|
|
68
|
+
* doneWhen #1: no opaque INTERNAL). Thrown only when the worktree is preview-bound and the key
|
|
69
|
+
* could not be recovered from the bound key file.
|
|
70
|
+
*/
|
|
71
|
+
function stalePreviewKeyError() {
|
|
72
|
+
return new CLIError('Preview API key was rejected and no fresh key could be loaded from the key file pb:preview bound.', {
|
|
73
|
+
code: ErrorCode.AUTH_INVALID,
|
|
74
|
+
category: 'auth',
|
|
75
|
+
guidance: 'Reseed the preview (npm run convex:reprovision), re-bind (npm run pb:preview, with the same --as), then retry.',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
14
78
|
export async function runSessionStart(options = {}) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
79
|
+
await getConfigOrGuide();
|
|
80
|
+
// DEC-1961 (TASK-639): `--role`, else the folder pin's role; a refusal is thrown and printed once, on stderr (TASK-649).
|
|
81
|
+
await startWithPinnedRole(options, isJsonMode() || options.json === true, async (opts) => {
|
|
82
|
+
try {
|
|
83
|
+
await establishSession(opts);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
await recoverStalePreviewKey(err, opts);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/** E2 (WP-458) stale-preview-key recovery, scoped to session-establishing kernel calls only. A
|
|
91
|
+
* reseeded preview mints a fresh apiKey (seed Step 6); the locally-bound key is now stale and
|
|
92
|
+
* resolveWorkspace/agent.startSession fail (opaque INTERNAL/401). Runs ONLY when preview-bound —
|
|
93
|
+
* on the real Chain the error is rethrown untouched so a genuine failure is never masked (R2). */
|
|
94
|
+
async function recoverStalePreviewKey(err, options) {
|
|
95
|
+
const previewBound = readLocalProjectConfig()?.preview === true;
|
|
96
|
+
if (!previewBound || !isStalePreviewKeyError(err))
|
|
97
|
+
throw err;
|
|
98
|
+
const outcome = refreshPreviewApiKeyFromDisk();
|
|
99
|
+
if (outcome === 'refreshed') {
|
|
100
|
+
try {
|
|
101
|
+
return await establishSession(options); // one-shot retry with the freshly-read key
|
|
102
|
+
}
|
|
103
|
+
catch (retryErr) {
|
|
104
|
+
// The retry ran with a genuinely fresh key. Only convert it to the clean stale-key error if
|
|
105
|
+
// it is itself an OPAQUE INTERNAL (the failure doneWhen #1 targets). Any other failure —
|
|
106
|
+
// backend unreachable (plain Error), or an already-actionable auth error like the read-only
|
|
107
|
+
// -key guard's AUTH_INVALID — must surface its own error + remedy, never be rewritten
|
|
108
|
+
// "reseed/rebind" (Codex P2: an auth-shaped retry failure is not necessarily a stale key).
|
|
109
|
+
if (isOpaqueKeyRejection(retryErr))
|
|
110
|
+
throw stalePreviewKeyError();
|
|
111
|
+
throw retryErr;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (outcome === 'unavailable') {
|
|
115
|
+
// Preview-bound but no fresh key to recover with — name the situation cleanly (doneWhen #1).
|
|
116
|
+
throw stalePreviewKeyError();
|
|
117
|
+
}
|
|
118
|
+
// 'unchanged' / 'not-bound': the bound key is current, or a genuine env override is in play, so
|
|
119
|
+
// this auth/INTERNAL failure is NOT a stale-key problem. Surface the original error rather than
|
|
120
|
+
// relabel it as a key rejection (no-masking; R2 honesty; Codex P2 env-override + unrelated-INTERNAL).
|
|
121
|
+
throw err;
|
|
122
|
+
}
|
|
123
|
+
async function establishSession(options) {
|
|
18
124
|
// Support both legacy --json flag and global output mode (DEC-299, backward compat)
|
|
19
125
|
const json = isJsonMode() || options.json === true;
|
|
126
|
+
// Effective profile for this start — shared by the switch backstop, persisted state, and every
|
|
127
|
+
// profile label this invocation renders (one read, one value, so they cannot drift mid-start).
|
|
128
|
+
// One name, one place (Codex P2 r6): a wrong name here PERSISTS into the marker and drives the
|
|
129
|
+
// switch backstop. Still offline per WP-696 — getConfigOrGuide() opened these files already.
|
|
130
|
+
const effectiveProfile = resolveReportedProfile().profile;
|
|
131
|
+
let bindingFingerprint = fingerprintBinding(); // bindings a NAME can't describe — TEN-3240
|
|
132
|
+
// WP-479 E2: resolve the conversation identity ONCE here (explicit --conversation flag wins
|
|
133
|
+
// over every env-detected channel — see lib/conversation.ts). Every session.ts read/write call
|
|
134
|
+
// below reuses this exact value (re-normalizing an already-normalized value is a no-op) so a
|
|
135
|
+
// single `pb session start` invocation can never target two different markers.
|
|
136
|
+
const conversationId = resolveConversationId(options.conversation);
|
|
137
|
+
// Review fix (Codex): `--conversation` is a manual override only `pb session start` and `close` see —
|
|
138
|
+
// later bare `pb` commands (orient, capture) resolve identity from env only. If the flag resolves
|
|
139
|
+
// to a DIFFERENT conversation than a bare env-only resolution would, those follow-ups fall back to
|
|
140
|
+
// the wrong marker (or the legacy one) and can't find this session. Warn so the "advertised manual
|
|
141
|
+
// seam" gap is surfaced, not silent (the flag's documented contract is to pair it with
|
|
142
|
+
// PB_CONVERSATION_ID — index.ts). Compare RESOLVED identities so a normalized value doesn't
|
|
143
|
+
// false-trigger.
|
|
144
|
+
if (options.conversation && !json && resolveConversationId() !== conversationId) {
|
|
145
|
+
process.stderr.write(`⚠ --conversation is read only by session start and close. Set PB_CONVERSATION_ID=${conversationId} so later bare \`pb\` commands attribute to the same conversation.\n`);
|
|
146
|
+
}
|
|
20
147
|
// Check for existing session
|
|
21
|
-
|
|
148
|
+
let existing = readSession(conversationId ?? undefined);
|
|
22
149
|
if (existing) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
150
|
+
// Backstop (TEN-2163 name + TEN-3240 credential): a session started against a DIFFERENT
|
|
151
|
+
// workspace is pinned to the old one — discard and start fresh. Both signals, and why neither
|
|
152
|
+
// alone suffices, live in sessionBinding.ts. Local, offline-safe.
|
|
153
|
+
const switched = bindingChanged(existing, { profile: effectiveProfile, fingerprint: bindingFingerprint });
|
|
154
|
+
// Stale-key refresh — 'refreshed' DISCARDS rather than re-stamps (Codex P1 r10): a reseed can
|
|
155
|
+
// mint a REPLACEMENT workspace, so blessing the marker handed the guard a session belonging to
|
|
156
|
+
// the orphan. It rebinds env too — re-take the fingerprint or the fresh marker carries the
|
|
157
|
+
// STALE key's (P2 r11).
|
|
158
|
+
const reseeded = !switched && refreshPreviewApiKeyFromDisk() === 'refreshed';
|
|
159
|
+
if (reseeded)
|
|
160
|
+
bindingFingerprint = fingerprintBinding();
|
|
161
|
+
if (switched || reseeded) {
|
|
162
|
+
discardSession(conversationId ?? undefined);
|
|
163
|
+
existing = null; // fall through to the fresh-start path below
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// WP-777, DEC-1888, INS-2674: a start re-run after a compaction gets the same briefing as a fresh start: the server
|
|
167
|
+
// reuses this conversation's live row and serves the full tail, so this path goes through the kernel below.
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// TEN-3238 leftover: session start ESTABLISHES the binding later writes inherit, yet never named
|
|
171
|
+
// its target. An already-active session established it when it opened.
|
|
172
|
+
if (!existing)
|
|
173
|
+
await emitEffectiveTenantNotice();
|
|
174
|
+
// WP-322 E1: Check for a recent closed session — auto-resume within 2h window. A live marker and a
|
|
175
|
+
// closed marker share one file, so this is null whenever `existing` is set.
|
|
176
|
+
const closedMarker = readClosedMarker(conversationId ?? undefined);
|
|
177
|
+
if (closedMarker) {
|
|
178
|
+
const elapsed = Date.now() - new Date(closedMarker.closedAt).getTime();
|
|
179
|
+
if (elapsed < RESUME_WINDOW_MS) {
|
|
180
|
+
// Resolve workspace to get keyId (needed for resumeSession)
|
|
181
|
+
const wsForResume = await kernelCall('resolveWorkspace', {});
|
|
182
|
+
// Backstop (TEN-2189): the closed marker is pinned to a workspace. If the current binding
|
|
183
|
+
// now resolves to a DIFFERENT workspace (a pb:preview/pb:real flip or profile switch since
|
|
184
|
+
// close), resuming would call agent.resumeSession with a foreign session id and the
|
|
185
|
+
// deployment rejects the cross-workspace resume. Discard the stale marker and fall through
|
|
186
|
+
// to a fresh start instead. This mirrors the active-session profile backstop above, keyed
|
|
187
|
+
// on workspaceId — the resume path previously had no such guard, which is the gap E2 closes.
|
|
188
|
+
if (wsForResume?._id && closedMarker.workspaceId !== wsForResume._id) {
|
|
189
|
+
discardSession(conversationId ?? undefined);
|
|
190
|
+
// fall through to the fresh-start path below
|
|
191
|
+
}
|
|
192
|
+
else if (wsForResume?.keyId) {
|
|
193
|
+
// TASK-1408 (DEC-2495): the seat (one retry on a timeout), then its start notes and their stamp.
|
|
194
|
+
const opened = await openSeatWithNotes('agent.resumeSession', {
|
|
195
|
+
workspaceId: wsForResume._id, apiKeyId: wsForResume.keyId, previousSessionId: closedMarker.sessionId,
|
|
196
|
+
clientKind: 'cli', clientName: resolveHarnessName(), role: options.role, team: options.team, // TASK-1211, TASK-439, TASK-801
|
|
197
|
+
previewMethod: options.previewMethod, previewSituation: options.previewSituation, // TASK-1214
|
|
198
|
+
}, seatConversationId(conversationId, bindingFingerprint));
|
|
199
|
+
const resumed = opened.view, shortPrevId = closedMarker.sessionId.slice(-8);
|
|
200
|
+
const fresh = 'startedFresh' in resumed && resumed.startedFresh === true; // TEN-4893: the closed one acted as another seat, so the kernel started fresh
|
|
201
|
+
const state = {
|
|
202
|
+
sessionId: resumed.sessionId,
|
|
203
|
+
workspaceId: wsForResume._id,
|
|
204
|
+
workspaceName: resumed.workspaceName,
|
|
205
|
+
startedAt: new Date().toISOString(),
|
|
206
|
+
entriesCaptured: [],
|
|
207
|
+
profile: effectiveProfile ?? undefined,
|
|
208
|
+
bindingFingerprint,
|
|
209
|
+
};
|
|
210
|
+
writeSession(state, conversationId ?? undefined);
|
|
211
|
+
if (json) {
|
|
212
|
+
process.stdout.write(JSON.stringify({
|
|
213
|
+
sessionId: state.sessionId,
|
|
214
|
+
workspaceName: state.workspaceName,
|
|
215
|
+
startedAt: state.startedAt,
|
|
216
|
+
resumed: !fresh,
|
|
217
|
+
...(fresh ? {} : { linkedPreviousSessionId: closedMarker.sessionId }),
|
|
218
|
+
activeProfile: effectiveProfile,
|
|
219
|
+
feedbackQueueNew: resumed.feedbackQueueNew,
|
|
220
|
+
feedbackOldestNewAt: resumed.feedbackOldestNewAt,
|
|
221
|
+
feedbackHint: FEEDBACK_SUBMIT_HINT, text: startTextOf(opened, formatSessionStart(state, effectiveProfile, resumed, 'started', conversationId), conversationId), // TASK-1022, TASK-1408
|
|
222
|
+
notices: resumed.notices ?? [], ruleLists: resumed.ruleLists, roleEntryId: resumed.roleEntryId, roleName: resumed.roleName, briefing: resumed.briefing, // TASK-436/439/552
|
|
223
|
+
}) + '\n');
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const elapsedMins = Math.round(elapsed / 60_000);
|
|
227
|
+
const elapsedLabel = elapsedMins < 60 ? `${elapsedMins}m ago` : `${Math.round(elapsedMins / 60)}h ago`;
|
|
228
|
+
process.stdout.write(fresh
|
|
229
|
+
? `Starting session (a new one: the closed session ${shortPrevId} acted as another role)\n`
|
|
230
|
+
: `Resuming session (linked from ${shortPrevId}, closed ${elapsedLabel})\n`);
|
|
231
|
+
// TASK-620 (DEC-1945): the acting role, its team and body print inside the briefing.
|
|
232
|
+
process.stdout.write(startTextOf(opened, formatSessionStart(state, effectiveProfile, resumed, 'started', conversationId), conversationId) + '\n');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
// Marker is stale (>2h) — clear it so next session starts fresh
|
|
238
|
+
clearSession(conversationId ?? undefined);
|
|
31
239
|
}
|
|
32
|
-
process.stdout.write(`Session already active: ${existing.sessionId}\n`);
|
|
33
|
-
process.stdout.write(`Started: ${existing.startedAt}\n`);
|
|
34
|
-
process.stdout.write(`Entries captured: ${existing.entriesCaptured.length}\n`);
|
|
35
|
-
process.stdout.write('\n');
|
|
36
|
-
process.stdout.write('Run `pb session close` to end it, or `pb session close --force` to force-close.\n');
|
|
37
|
-
return;
|
|
38
240
|
}
|
|
39
241
|
// Resolve workspace + keyId
|
|
40
|
-
const workspace = await
|
|
242
|
+
const workspace = await kernelCall('resolveWorkspace', {});
|
|
41
243
|
if (!workspace?.keyId) {
|
|
42
|
-
throw new
|
|
43
|
-
|
|
244
|
+
throw new CLIError('API key has read-only scope. Write operations require a readwrite key.', {
|
|
245
|
+
code: ErrorCode.AUTH_INVALID,
|
|
246
|
+
category: 'auth',
|
|
247
|
+
guidance: 'Generate a readwrite key: Product Brain app → Settings → API Keys.',
|
|
248
|
+
});
|
|
44
249
|
}
|
|
45
|
-
// Start agent session with clientKind attribution (DEC-184)
|
|
46
|
-
|
|
250
|
+
// Start agent session with clientKind attribution (DEC-184). WP-479 E2: thread the resolved
|
|
251
|
+
// conversationId and an auto-populated label — parentSessionId is dormant, never set here.
|
|
252
|
+
const label = resolveSessionLabel();
|
|
253
|
+
if (!json && !existing)
|
|
47
254
|
process.stdout.write('Starting session...\n');
|
|
48
|
-
const
|
|
49
|
-
workspaceId: workspace._id,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
255
|
+
const opened = await openSeatWithNotes('agent.startSession', {
|
|
256
|
+
workspaceId: workspace._id, apiKeyId: workspace.keyId, clientKind: 'cli', clientName: resolveHarnessName(), // TASK-1211: the tool behind the CLI
|
|
257
|
+
label, role: options.role, team: options.team, previewMethod: options.previewMethod, previewSituation: options.previewSituation, // TASK-1214
|
|
258
|
+
}, seatConversationId(conversationId, bindingFingerprint));
|
|
259
|
+
const result = opened.view;
|
|
260
|
+
const usage = await kernelCall('usage.getWorkspaceSummary', { periodDays: 1 }, { actingSessionId: result.sessionId }).catch(() => null);
|
|
261
|
+
// WP-777 (INS-2674): the server reused the live row, so the local marker (and its captures) stands.
|
|
262
|
+
// A different id means the server had already ended that session; the new row replaces the marker.
|
|
263
|
+
const kept = existing && existing.sessionId === result.sessionId ? existing : null;
|
|
264
|
+
const endedSessionId = existing && !kept ? existing.sessionId : undefined;
|
|
265
|
+
let state;
|
|
266
|
+
if (kept) {
|
|
267
|
+
state = { ...kept, workspaceName: result.workspaceName }; // local captures and start; the server's (maybe renamed) name
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
state = {
|
|
271
|
+
sessionId: result.sessionId,
|
|
272
|
+
workspaceId: workspace._id,
|
|
273
|
+
workspaceName: result.workspaceName,
|
|
274
|
+
startedAt: new Date().toISOString(),
|
|
275
|
+
entriesCaptured: [],
|
|
276
|
+
profile: effectiveProfile ?? undefined,
|
|
277
|
+
bindingFingerprint,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
writeSession(state, conversationId ?? undefined);
|
|
281
|
+
const startText = startTextOf(opened, // TASK-1022, TASK-1014, TASK-1408: the timing line, or the headline-only form without its notes
|
|
282
|
+
formatSessionStart(state, effectiveProfile, { ...result, allowanceLine: usage?.allowanceLine }, kept ? 'already-active' : 'started', conversationId), conversationId);
|
|
62
283
|
if (json) {
|
|
63
284
|
process.stdout.write(JSON.stringify({
|
|
64
285
|
sessionId: state.sessionId,
|
|
65
286
|
workspaceName: state.workspaceName,
|
|
66
287
|
startedAt: state.startedAt,
|
|
288
|
+
...(kept ? { alreadyActive: true } : {}), ...(endedSessionId ? { endedSessionId } : {}), allowanceLine: usage?.allowanceLine, // TASK-1014
|
|
289
|
+
activeProfile: effectiveProfile,
|
|
290
|
+
feedbackQueueNew: result.feedbackQueueNew,
|
|
291
|
+
feedbackOldestNewAt: result.feedbackOldestNewAt,
|
|
292
|
+
feedbackHint: FEEDBACK_SUBMIT_HINT, text: startText, // TASK-1022: the hook prints this
|
|
293
|
+
notices: result.notices ?? [], roleEntryId: result.roleEntryId, roleName: result.roleName, ruleLists: result.ruleLists, briefing: result.briefing, // DEC-1715, TASK-436/552
|
|
67
294
|
}) + '\n');
|
|
68
|
-
// Refresh silently in JSON mode
|
|
69
|
-
await runHandshake({ force: false, dryRun: false, quiet: true });
|
|
70
295
|
return;
|
|
71
296
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
process.stdout.write('
|
|
75
|
-
await runHandshake({ force: false, dryRun: false });
|
|
297
|
+
if (endedSessionId)
|
|
298
|
+
process.stdout.write(`Session ${endedSessionId} had already ended on the server; this is a new one.\n`);
|
|
299
|
+
process.stdout.write(startText + '\n');
|
|
76
300
|
}
|
|
77
301
|
/**
|
|
78
302
|
* pb session id — print current session ID bare to stdout (machine-readable).
|
|
@@ -81,28 +305,135 @@ export async function runSessionStart(options = {}) {
|
|
|
81
305
|
export function runSessionId() {
|
|
82
306
|
const session = readSession();
|
|
83
307
|
if (!session) {
|
|
84
|
-
|
|
85
|
-
|
|
308
|
+
throw new CLIError(copy.noSession, {
|
|
309
|
+
code: ErrorCode.SESSION_REQUIRED,
|
|
310
|
+
category: 'session',
|
|
311
|
+
guidance: copy.noSessionGuidance,
|
|
312
|
+
});
|
|
86
313
|
}
|
|
87
314
|
process.stdout.write(session.sessionId + '\n');
|
|
88
315
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
316
|
+
/**
|
|
317
|
+
* pb session reset — hard-reset the worktree-local pb SESSION state. TEN-2189 / WP-456 E2.
|
|
318
|
+
*
|
|
319
|
+
* Discards session.json outright (via discardSession — NO resume marker, unlike
|
|
320
|
+
* `pb session close`). Purely local: no network call, no key needed — this is the recovery
|
|
321
|
+
* path when a session is stranded pinned to the wrong workspace (e.g. left over after a
|
|
322
|
+
* pb:preview/pb:real binding flip), so it must work even when the current binding is broken.
|
|
323
|
+
*
|
|
324
|
+
* Scope: SESSION state only. The preview *binding* (config.local.json keys + the
|
|
325
|
+
* .productbrain/PREVIEW_MODE marker) is owned end-to-end by `npm run pb:preview` /
|
|
326
|
+
* `npm run pb:real` — reset never touches it, so the marker can never disagree with the keys
|
|
327
|
+
* that actually route writes (codex PR #145 review: clearing the marker without the keys left
|
|
328
|
+
* the worktree silently still preview-bound). To return a preview-bound worktree to the real
|
|
329
|
+
* Chain: `pb session reset` (clear the session) then `npm run pb:real` (clear the binding).
|
|
330
|
+
*
|
|
331
|
+
* Guard (R4): if there IS an active session, confirm before discarding so in-flight captures
|
|
332
|
+
* aren't silently stranded. `--force` skips the prompt. In a non-interactive context the prompt
|
|
333
|
+
* can't run, so `--force` is required there.
|
|
334
|
+
*
|
|
335
|
+
* WP-479 review fix (Codex re-review): reset clears ALL session markers — the legacy session.json
|
|
336
|
+
* AND every per-conversation marker under `.productbrain/sessions/`. This is the recovery the
|
|
337
|
+
* pb:real/pb:preview binding-flip guard prints, and that guard refuses on ANY active marker; a
|
|
338
|
+
* conversation-scoped reset couldn't clear a sibling marker it has no env to resolve, so the flip
|
|
339
|
+
* would stay blocked unless `--force` (which strands the server session). A hard reset legitimately
|
|
340
|
+
* clears the whole worktree's local session state.
|
|
341
|
+
*/
|
|
342
|
+
export async function runSessionReset(options = {}) {
|
|
343
|
+
const active = readSession();
|
|
344
|
+
// Reset clears ALL markers, so the confirmation guard must consider ANY active session — including a
|
|
345
|
+
// SIBLING conversation's — not just the current one (Codex re-review): otherwise reset would
|
|
346
|
+
// silently delete a sibling active marker (even non-interactively) and strand that server session.
|
|
347
|
+
const anyActive = active !== null || hasAnyActiveSession();
|
|
348
|
+
// Nothing local to reset — no active session and no marker of any conversation. (A lone
|
|
349
|
+
// PREVIEW_MODE marker is binding state, not session state — `npm run pb:real` clears it.)
|
|
350
|
+
if (!active && !hasAnySessionMarker()) {
|
|
351
|
+
process.stdout.write('Nothing to reset — no local session state.\n');
|
|
92
352
|
return;
|
|
93
|
-
|
|
353
|
+
}
|
|
354
|
+
// Any active session present (current OR sibling): confirm before discarding (R4) unless --force.
|
|
355
|
+
if (anyActive && !options.force) {
|
|
356
|
+
if (!isInteractive()) {
|
|
357
|
+
throw new CLIError('Active session present — refusing to reset without confirmation.', {
|
|
358
|
+
code: ErrorCode.NON_INTERACTIVE,
|
|
359
|
+
category: 'session',
|
|
360
|
+
guidance: 'Re-run with `pb session reset --force` to discard the active session(s).',
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
if (active) {
|
|
364
|
+
process.stdout.write(`Active session: ${active.sessionId} (${active.entriesCaptured.length} entries captured)\n`);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
process.stdout.write('An active session exists in another conversation in this worktree.\n');
|
|
368
|
+
}
|
|
369
|
+
const ok = await confirm({
|
|
370
|
+
message: 'Discard all local sessions and any in-flight captures?',
|
|
371
|
+
initialValue: false,
|
|
372
|
+
});
|
|
373
|
+
if (!ok) {
|
|
374
|
+
process.stdout.write('Reset cancelled — session left intact.\n');
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
// Hard-reset: discard ALL session markers (no resume marker). Binding state is left untouched.
|
|
379
|
+
discardAllSessions();
|
|
380
|
+
process.stdout.write('Session state reset — all local session markers cleared.\n');
|
|
381
|
+
}
|
|
382
|
+
export async function runSessionClose(options = {}) {
|
|
383
|
+
await getConfigOrGuide();
|
|
384
|
+
const conversationId = resolveConversationId(options.conversation) ?? undefined; // TEN-4855: resolved as start does, so start resumes
|
|
385
|
+
const session = readSession(conversationId);
|
|
94
386
|
if (!session) {
|
|
95
|
-
process.stdout.write(
|
|
387
|
+
process.stdout.write(`${copy.noSession} ${copy.noSessionGuidance}\n`);
|
|
96
388
|
return;
|
|
97
389
|
}
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
|
|
390
|
+
// The SERVER's post-promote truth (committed vs still-draft), never the local snapshot.
|
|
391
|
+
// A failed read is no answer, so the close refuses unless --force; a refusal the server sent passes through.
|
|
392
|
+
let wrapup = null;
|
|
393
|
+
let canClose = false;
|
|
394
|
+
try {
|
|
395
|
+
const raw = await kernelCall('agent.getSessionWrapup', { sessionId: session.sessionId });
|
|
396
|
+
// The server decides whether the loop is empty; the CLI never recomputes it.
|
|
397
|
+
canClose = raw.canClose;
|
|
398
|
+
// composeWrapupView alone merges the capped and overflow sets (pinned against the MCP twin).
|
|
399
|
+
wrapup = composeWrapupView(raw);
|
|
400
|
+
}
|
|
401
|
+
catch (err) {
|
|
402
|
+
// Only a transport failure takes the signed line; auth, session, quota and the rest are the server's own answer.
|
|
403
|
+
const transport = !(err instanceof CLIError) || ((err.category === 'network' || err.category === 'internal') && err.code !== ErrorCode.RATE_LIMITED);
|
|
404
|
+
if (!options.force && !transport)
|
|
405
|
+
throw err;
|
|
406
|
+
if (!options.force) {
|
|
407
|
+
const code = err instanceof CLIError ? err.code : ErrorCode.NETWORK_UNREACHABLE;
|
|
408
|
+
throw new CLIError(copy.closeCheckFailed(session.sessionId), { code, category: 'session', guidance: copy.closeCheckFailedGuidance });
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
// ENFORCEMENT: loop open, no --force: print the next step, exit LOOP_UNFINISHED, DO NOT close (--force escapes).
|
|
412
|
+
if (wrapup && !canClose && !options.force) {
|
|
413
|
+
// --json gets ONLY the structured error thrown below; the human nudge would corrupt stdout.
|
|
414
|
+
const nudge = formatLoopUnfinished(wrapup);
|
|
415
|
+
if (!isJsonMode() && nudge.trim())
|
|
416
|
+
process.stdout.write(nudge + '\n');
|
|
417
|
+
const draftIds = wrapup.drafts.map((d) => d.entryId);
|
|
418
|
+
if (draftIds.length === 0) {
|
|
419
|
+
const { message, guidance } = uncheckedRefusal(wrapup, session);
|
|
420
|
+
throw new CLIError(message, { code: ErrorCode.LOOP_UNFINISHED, category: 'session', guidance });
|
|
421
|
+
}
|
|
422
|
+
throw new CLIError(`Loop unfinished: ${wrapup.drafts.length} draft(s) not yet accepted.`, {
|
|
423
|
+
code: ErrorCode.LOOP_UNFINISHED,
|
|
424
|
+
category: 'session',
|
|
425
|
+
guidance: `Accept with \`${buildAcceptCommand(draftIds)}\`, then re-run \`pb session close\` — or \`pb session close --force\` to close anyway.`,
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
// Record wrapup metrics — use server truth (real committed count) when available.
|
|
429
|
+
const draftsReviewed = wrapup ? wrapup.committed.length + wrapup.drafts.length : session.entriesCaptured.length; // TASK-923: held drafts not counted
|
|
430
|
+
const draftsCommitted = wrapup ? wrapup.committed.length : 0;
|
|
431
|
+
if (draftsReviewed > 0) {
|
|
101
432
|
try {
|
|
102
|
-
await
|
|
433
|
+
await kernelCall('agent.recordWrapup', {
|
|
103
434
|
sessionId: session.sessionId,
|
|
104
|
-
draftsReviewed
|
|
105
|
-
draftsCommitted
|
|
435
|
+
draftsReviewed,
|
|
436
|
+
draftsCommitted,
|
|
106
437
|
linksCreated: 0,
|
|
107
438
|
});
|
|
108
439
|
}
|
|
@@ -112,23 +443,84 @@ export async function runSessionClose(options = {}) {
|
|
|
112
443
|
}
|
|
113
444
|
}
|
|
114
445
|
// Close the session
|
|
446
|
+
let closed = null; // TASK-816: printed counts come from here
|
|
115
447
|
try {
|
|
116
|
-
await
|
|
117
|
-
sessionId: session.sessionId,
|
|
118
|
-
status: 'closed',
|
|
119
|
-
});
|
|
448
|
+
closed = await kernelCall('agent.closeSession', { sessionId: session.sessionId, status: 'closed' });
|
|
120
449
|
}
|
|
121
450
|
catch (err) {
|
|
122
451
|
if (!options.force) {
|
|
123
|
-
|
|
124
|
-
|
|
452
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
453
|
+
throw new CLIError(`Failed to close session: ${detail}. Run \`pb session close --force\` to clear local state anyway.`, {
|
|
454
|
+
code: ErrorCode.NETWORK_UNREACHABLE,
|
|
455
|
+
category: 'network',
|
|
456
|
+
guidance: 'Run `pb session close --force` to clear local state anyway.',
|
|
457
|
+
});
|
|
125
458
|
}
|
|
126
459
|
}
|
|
127
|
-
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
460
|
+
// Suppress the ratify deep link when preview-bound without an explicit PB_APP_URL: the
|
|
461
|
+
// session id belongs to the preview deployment, so a default (prod) app link can't open it
|
|
462
|
+
// (Codex P2, PR #151). Set PB_APP_URL to print a preview-correct link during dogfood.
|
|
463
|
+
const appUrl = readLocalProjectConfig()?.preview === true && !process.env.PB_APP_URL ? null : resolveAppUrl();
|
|
464
|
+
// WP-582 B2 round 1 (T10): rituals surface, best-effort (formatSessionClose has the rest).
|
|
465
|
+
let rituals = null;
|
|
466
|
+
try {
|
|
467
|
+
rituals = await kernelCall('chain.getRitualsSurface', {});
|
|
468
|
+
}
|
|
469
|
+
catch { /* non-critical */ }
|
|
470
|
+
process.stdout.write(formatSessionClose(session, wrapup, closed?.workspaceSlug ?? undefined, appUrl, rituals, closed) + '\n');
|
|
471
|
+
clearSession(conversationId); // writes the closed marker the next start on this conversation resumes from (TEN-3977)
|
|
472
|
+
}
|
|
473
|
+
// ─── WP-479 E4: pb session list / pb session show ────────────────────────────
|
|
474
|
+
/**
|
|
475
|
+
* pb session list — active sessions (with the per-key quota gauge) + a handful of recent
|
|
476
|
+
* non-active ones. Pure read over `agent.listSessions`; no local session required — this is
|
|
477
|
+
* exactly the command you run when you're NOT sure which session is yours.
|
|
478
|
+
*/
|
|
479
|
+
export async function runSessionList() {
|
|
480
|
+
await getConfigOrGuide();
|
|
481
|
+
await runCliCommand({
|
|
482
|
+
fn: () => kernelCall('agent.listSessions', {}),
|
|
483
|
+
formatPretty: (data) => formatSessionList(data),
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Convex document ids are ~32 chars of lowercase base32 — used only to decide which arg KIND to
|
|
488
|
+
* try first. It is a routing heuristic, not a validator: a conversationId can coincidentally match
|
|
489
|
+
* (it allows the same charset), so a shaped arg that fails as a sessionId is retried as a
|
|
490
|
+
* conversationId before giving up (the spec's contract: a copied `list` row id — either column —
|
|
491
|
+
* must be directly usable by `show`).
|
|
492
|
+
*/
|
|
493
|
+
const CONVEX_DOC_ID_RE = /^[a-z0-9]{25,40}$/;
|
|
494
|
+
/**
|
|
495
|
+
* pb session show <id-or-conversation> — reconstruct the full conversation lineage (all
|
|
496
|
+
* agentSessions rows across 2h resumes + legacy linkedPreviousSessionId chains) plus the
|
|
497
|
+
* governance serves recorded for the conversation.
|
|
498
|
+
*/
|
|
499
|
+
export async function runSessionShow(idOrConversation) {
|
|
500
|
+
await getConfigOrGuide();
|
|
501
|
+
const arg = idOrConversation.trim();
|
|
502
|
+
if (!arg) {
|
|
503
|
+
throw new CLIError('Provide a session id or conversation id.', {
|
|
504
|
+
code: ErrorCode.VALIDATION_FAILED,
|
|
505
|
+
category: 'validation',
|
|
506
|
+
guidance: 'Copy one from `pb session list`.',
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
const fetchShow = async () => {
|
|
510
|
+
if (CONVEX_DOC_ID_RE.test(arg)) {
|
|
511
|
+
try {
|
|
512
|
+
return await kernelCall('agent.showConversation', { sessionId: arg });
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
// Not a session doc id after all (validation reject or not-found) — fall through and
|
|
516
|
+
// retry the same string as a conversationId before reporting failure.
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
return await kernelCall('agent.showConversation', { conversationId: arg });
|
|
520
|
+
};
|
|
521
|
+
await runCliCommand({
|
|
522
|
+
fn: fetchShow,
|
|
523
|
+
formatPretty: (data) => formatSessionShow(data),
|
|
524
|
+
});
|
|
133
525
|
}
|
|
134
526
|
//# sourceMappingURL=session.js.map
|