@unbrained/pm-cli 2026.10.11 → 2026.10.13
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +45 -0
- package/dist/cli/after-command-context-usage.d.ts +8 -8
- package/dist/cli/bundle-integrity.d.ts +23 -23
- package/dist/cli/commander-usage.d.ts +31 -31
- package/dist/cli/commander-usage.js +3 -3
- package/dist/cli/error-guidance.d.ts +158 -161
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/extension-command-help.d.ts +68 -68
- package/dist/cli/extension-command-options.d.ts +20 -20
- package/dist/cli/extension-recovery.d.ts +20 -20
- package/dist/cli/help-content.d.ts +16 -16
- package/dist/cli/help-content.js +2 -2
- package/dist/cli/help-json-payload.d.ts +40 -40
- package/dist/cli/help-json-payload.js +1 -1
- package/dist/cli/invocation-profile.d.ts +8 -8
- package/dist/cli/main.d.ts +166 -165
- package/dist/cli/main.js +4 -4
- package/dist/cli/migration-gates.d.ts +20 -20
- package/dist/cli/register-list-query.d.ts +4 -4
- package/dist/cli/register-mutation-options.d.ts +2 -2
- package/dist/cli/register-operations.d.ts +68 -63
- package/dist/cli/register-operations.js +1 -1
- package/dist/cli/register-setup.d.ts +1 -1
- package/dist/cli/register-structured-mutation.d.ts +3 -3
- package/dist/cli/register-structured-mutation.js +1 -1
- package/dist/cli/runtime/activation.d.ts +3 -3
- package/dist/cli/runtime/invocation-options.js +1 -1
- package/dist/cli/runtime/selection.d.ts +6 -6
- package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-K2UTE75T.js → chunk-AM2XOZKE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S445XEYT.js → chunk-APWPC4ZZ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +234 -0
- package/dist/cli-bundle/chunks/{chunk-RUT3CCAG.js → chunk-DUK5DHI6.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-HXHFKXLV.js +2 -0
- package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-OBLO45UM.js → chunk-LBDWFWPK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZWRLAOA4.js → chunk-N5EXRYCZ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-PSNS537F.js +30 -0
- package/dist/cli-bundle/chunks/{chunk-2JYTSTQP.js → chunk-RL45OYTL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ESRACL6K.js → chunk-UBTYYZIE.js} +49 -49
- package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-SSY4OSJR.js → chunk-YH6H3UVE.js} +10 -10
- package/dist/cli-bundle/chunks/{register-list-query-T6BOR67M.js → register-list-query-BJ742QOR.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-6NXR7SAJ.js → register-mutation-GGGBRIH2.js} +3 -3
- package/dist/cli-bundle/chunks/register-operations-E6HXYHNM.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-MAYFPKBX.js → register-setup-4ZVTVEPY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-EIOQNLBQ.js → chunk-3LQEBXU5.js} +12 -12
- package/dist/cli-bundle/focused-chunks/{chunk-PLTTMQAW.js → chunk-6BTUISKV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-73UNAJHD.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-WAOXID5J.js → chunk-DVK7VKZL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SIEGIPNT.js → chunk-F5J3ATMV.js} +16 -16
- package/dist/cli-bundle/focused-chunks/chunk-IIKFTJVC.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-AU6VJGTY.js → chunk-KGFRQ34R.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-NNW5BS5L.js +3 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KNJR2WUO.js → chunk-QMNAY25P.js} +62 -62
- package/dist/cli-bundle/focused-chunks/{chunk-W5AE7GKZ.js → chunk-R23T7GFZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-RAA7SVRA.js +8 -0
- package/dist/cli-bundle/focused-chunks/{chunk-52UJEHEV.js → chunk-RU6GCFN3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JGFSSR3G.js → chunk-S6ITXQ5T.js} +5 -5
- package/dist/cli-bundle/focused-chunks/{chunk-DMSADMEU.js → chunk-SOB7X4FJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +26 -0
- package/dist/cli-bundle/main.js +22 -22
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +31 -31
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +51 -51
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/cli.d.ts +4 -4
- package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
- package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
- package/dist/core/config/nested-settings.d.ts +26 -26
- package/dist/core/config/positional-value.d.ts +16 -16
- package/dist/core/diagnostics/remediation.d.ts +6 -6
- package/dist/core/diagnostics/remediation.js +1 -1
- package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
- package/dist/core/extensions/activation-summary.d.ts +54 -54
- package/dist/core/extensions/activation-transaction.d.ts +7 -7
- package/dist/core/extensions/capability-usage.d.ts +26 -26
- package/dist/core/extensions/command-hook-context.d.ts +26 -26
- package/dist/core/extensions/contribution-inventory.d.ts +21 -21
- package/dist/core/extensions/extension-candidate.d.ts +14 -14
- package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
- package/dist/core/extensions/extension-policy.d.ts +80 -80
- package/dist/core/extensions/extension-types.d.ts +1294 -1285
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/extensions/flag-definition-validation.d.ts +4 -4
- package/dist/core/extensions/item-fields.d.ts +3 -2
- package/dist/core/extensions/item-fields.js +1 -1
- package/dist/core/extensions/loader.d.ts +36 -36
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/manifest-schema.d.ts +16 -16
- package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
- package/dist/core/extensions/read-output-contract.d.ts +5 -0
- package/dist/core/extensions/read-output-contract.js +2 -0
- package/dist/core/extensions/registration-values.d.ts +1 -1
- package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
- package/dist/core/extensions/version-compat.d.ts +10 -10
- package/dist/core/fs/fs-utils.d.ts +1 -1
- package/dist/core/fs/host-environment-errors.d.ts +14 -14
- package/dist/core/governance/content-fields.d.ts +31 -31
- package/dist/core/governance/issue-codes.d.ts +27 -27
- package/dist/core/governance/metadata-coverage.d.ts +91 -91
- package/dist/core/history/drift-scan.d.ts +26 -26
- package/dist/core/history/event-classification.d.ts +1 -1
- package/dist/core/history/event-classification.js +1 -1
- package/dist/core/history/event-index.d.ts +41 -41
- package/dist/core/history/history-compact-bulk.d.ts +22 -22
- package/dist/core/history/history-diff.d.ts +22 -22
- package/dist/core/history/history-rewrite.d.ts +66 -66
- package/dist/core/history/history-storage-stats.d.ts +31 -31
- package/dist/core/history/history-stream-policy.d.ts +12 -12
- package/dist/core/history/history.d.ts +22 -22
- package/dist/core/history/identity.d.ts +6 -6
- package/dist/core/history/operation-contract.d.ts +9 -9
- package/dist/core/history/projection.d.ts +15 -15
- package/dist/core/history/read.d.ts +4 -4
- package/dist/core/history/replay.d.ts +51 -49
- package/dist/core/history/replay.js +1 -1
- package/dist/core/history/workspace-history.d.ts +101 -101
- package/dist/core/io/bulk-ids-input.d.ts +4 -4
- package/dist/core/item/actionability.d.ts +40 -40
- package/dist/core/item/id.d.ts +3 -3
- package/dist/core/item/item-format-version.d.ts +8 -8
- package/dist/core/item/item-format.d.ts +37 -35
- package/dist/core/item/item-format.js +2 -2
- package/dist/core/item/item-type-definition.d.ts +2 -2
- package/dist/core/item/parent-reference-policy.d.ts +1 -1
- package/dist/core/item/parse.d.ts +12 -12
- package/dist/core/item/sprint-release-format.d.ts +2 -2
- package/dist/core/item/status-filter.d.ts +4 -4
- package/dist/core/item/toon-decode.d.ts +9 -9
- package/dist/core/item/type-registry.d.ts +40 -40
- package/dist/core/lock/lock-gc.d.ts +50 -50
- package/dist/core/lock/lock.d.ts +37 -37
- package/dist/core/output/mutation-projection.d.ts +6 -6
- package/dist/core/output/output-control.d.ts +4 -4
- package/dist/core/output/output.d.ts +40 -40
- package/dist/core/output/query-summary.d.ts +5 -5
- package/dist/core/packages/manifest.d.ts +50 -50
- package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
- package/dist/core/policy/workflow-policy-store.d.ts +7 -7
- package/dist/core/policy/workflow-policy.d.ts +81 -81
- package/dist/core/profile/profile-describe.d.ts +40 -40
- package/dist/core/profile/profile-lint.d.ts +20 -20
- package/dist/core/profile/profile-plan.d.ts +84 -84
- package/dist/core/profile/profile-presets.d.ts +52 -52
- package/dist/core/reproducibility/context.d.ts +6 -6
- package/dist/core/schema/fields-file.d.ts +54 -54
- package/dist/core/schema/item-types-file.d.ts +36 -36
- package/dist/core/schema/runtime-field-values.d.ts +2 -2
- package/dist/core/schema/runtime-schema.d.ts +86 -86
- package/dist/core/schema/status-defs-file.d.ts +36 -36
- package/dist/core/schema/type-inference.d.ts +14 -14
- package/dist/core/schema/type-workflows.d.ts +22 -22
- package/dist/core/search/background-refresh.d.ts +9 -9
- package/dist/core/search/bm25.d.ts +19 -19
- package/dist/core/search/cache.d.ts +35 -35
- package/dist/core/search/corpus.d.ts +12 -12
- package/dist/core/search/embedding-batches.d.ts +48 -48
- package/dist/core/search/eval.d.ts +49 -49
- package/dist/core/search/http-client.d.ts +38 -38
- package/dist/core/search/providers.d.ts +41 -41
- package/dist/core/search/relevance.d.ts +20 -20
- package/dist/core/search/semantic-defaults.d.ts +8 -8
- package/dist/core/search/staleness.d.ts +4 -4
- package/dist/core/search/vector-stores.d.ts +78 -78
- package/dist/core/search/vectorization-metadata.d.ts +6 -6
- package/dist/core/sentry/helpers.d.ts +15 -15
- package/dist/core/sentry/instrument.d.ts +40 -40
- package/dist/core/session/session-state.d.ts +32 -32
- package/dist/core/shared/agent-session-context.d.ts +14 -14
- package/dist/core/shared/author.d.ts +128 -128
- package/dist/core/shared/command-types.d.ts +40 -40
- package/dist/core/shared/conflict-markers.d.ts +6 -6
- package/dist/core/shared/constants.d.ts +13 -13
- package/dist/core/shared/errors.d.ts +194 -183
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/shared/secret-rules.d.ts +97 -97
- package/dist/core/shared/serial-queue.d.ts +8 -8
- package/dist/core/shared/split-comma-list.d.ts +6 -6
- package/dist/core/shared/time.d.ts +23 -23
- package/dist/core/store/item-format-migration.d.ts +10 -10
- package/dist/core/store/item-metadata-cache.d.ts +38 -38
- package/dist/core/store/item-metadata-query-index.d.ts +79 -79
- package/dist/core/store/item-metadata-read-work.d.ts +6 -6
- package/dist/core/store/item-store.d.ts +110 -110
- package/dist/core/store/paths.d.ts +2 -2
- package/dist/core/store/settings-read-cache.d.ts +12 -12
- package/dist/core/store/settings-validator.d.ts +165 -165
- package/dist/core/store/settings.d.ts +59 -59
- package/dist/core/telemetry/observability.d.ts +17 -17
- package/dist/core/telemetry/policy.d.ts +3 -3
- package/dist/core/telemetry/runtime.d.ts +242 -242
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/core/test/background-runs.d.ts +186 -185
- package/dist/core/test/background-runs.js +2 -2
- package/dist/core/test/item-test-run-tracking.d.ts +6 -6
- package/dist/core/test/run-selectors.d.ts +18 -18
- package/dist/core/validate/fix-planning.d.ts +50 -50
- package/dist/core/validate/missing-by-type.d.ts +4 -4
- package/dist/core/validate/missing-link-owners.d.ts +30 -30
- package/dist/core/validate/stale-file-classification.d.ts +8 -8
- package/dist/mcp/http-server.d.ts +28 -28
- package/dist/mcp/legacy-adapter.d.ts +33 -33
- package/dist/mcp/runtime-capabilities.d.ts +16 -16
- package/dist/mcp/server.d.ts +50 -50
- package/dist/mcp/tool-definitions.d.ts +36 -36
- package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
- package/dist/sdk/agent/command-recovery.d.ts +4 -0
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/agent/command-suggestions.d.ts +2 -0
- package/dist/sdk/agent/command-suggestions.js +1 -1
- package/dist/sdk/agent/identity-config.d.ts +32 -32
- package/dist/sdk/agent/item-addressing.d.ts +8 -8
- package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
- package/dist/sdk/agent/refusal-closure.d.ts +42 -42
- package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
- package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
- package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
- package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
- package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
- package/dist/sdk/agent-capability-contracts.d.ts +37 -37
- package/dist/sdk/annotations.d.ts +106 -106
- package/dist/sdk/author-attribution.d.ts +76 -76
- package/dist/sdk/authoring.d.ts +1 -1
- package/dist/sdk/authoring.js +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +70 -70
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
- package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
- package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
- package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
- package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/registration-helpers.d.ts +37 -40
- package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
- package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +55 -55
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
- package/dist/sdk/comments.d.ts +44 -44
- package/dist/sdk/compile-cache.d.ts +4 -4
- package/dist/sdk/completion/shared.d.ts +22 -22
- package/dist/sdk/compose.d.ts +156 -156
- package/dist/sdk/config.d.ts +123 -123
- package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
- package/dist/sdk/context/usage-ledger.d.ts +20 -20
- package/dist/sdk/context-intent-contracts.d.ts +50 -50
- package/dist/sdk/context-intent-contracts.js +1 -1
- package/dist/sdk/context-intent-runtime.d.ts +8 -8
- package/dist/sdk/context-packing.d.ts +78 -78
- package/dist/sdk/context-relevance.d.ts +189 -180
- package/dist/sdk/context-relevance.js +1 -1
- package/dist/sdk/context-signal-store.d.ts +84 -84
- package/dist/sdk/context-usage.d.ts +92 -92
- package/dist/sdk/core.d.ts +1 -0
- package/dist/sdk/core.js +1 -1
- package/dist/sdk/corpus-shape.d.ts +101 -101
- package/dist/sdk/define.d.ts +2 -2
- package/dist/sdk/dependencies.d.ts +116 -116
- package/dist/sdk/dependency-flag-validation.d.ts +14 -12
- package/dist/sdk/dependency-flag-validation.js +1 -1
- package/dist/sdk/dependency-provenance.d.ts +30 -30
- package/dist/sdk/docs.d.ts +32 -32
- package/dist/sdk/duplicates.d.ts +21 -21
- package/dist/sdk/environment/agent-environment.d.ts +196 -196
- package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
- package/dist/sdk/environment/source-context.d.ts +6 -6
- package/dist/sdk/error-code-catalog.d.ts +40 -40
- package/dist/sdk/errors.d.ts +29 -29
- package/dist/sdk/eval.d.ts +45 -45
- package/dist/sdk/extension/author-manifest.d.ts +14 -14
- package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
- package/dist/sdk/extension/describe.d.ts +36 -36
- package/dist/sdk/extension/doctor.d.ts +29 -29
- package/dist/sdk/extension/install-plan.d.ts +55 -55
- package/dist/sdk/extension/install-receipts.d.ts +2 -2
- package/dist/sdk/extension/install-runtime.d.ts +8 -8
- package/dist/sdk/extension/install-snapshot.d.ts +14 -14
- package/dist/sdk/extension/install-sources.d.ts +96 -96
- package/dist/sdk/extension/managed-state.d.ts +66 -66
- package/dist/sdk/extension/migrations.d.ts +82 -82
- package/dist/sdk/extension/output-ownership.d.ts +24 -24
- package/dist/sdk/extension/runtime-summary.d.ts +5 -5
- package/dist/sdk/extension/scaffold.d.ts +12 -12
- package/dist/sdk/extension/shared.d.ts +15 -15
- package/dist/sdk/extension/source-resolution.d.ts +30 -30
- package/dist/sdk/extension/static-inventory.d.ts +42 -42
- package/dist/sdk/extension/update-check.d.ts +10 -10
- package/dist/sdk/extension.d.ts +320 -320
- package/dist/sdk/files.d.ts +157 -157
- package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
- package/dist/sdk/governance/artifact-ledgers.js +1 -1
- package/dist/sdk/governance/assurance-action.d.ts +68 -68
- package/dist/sdk/governance/assurance-action.js +1 -1
- package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
- package/dist/sdk/governance/assurance-presets.d.ts +24 -24
- package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
- package/dist/sdk/governance/assurance.d.ts +353 -353
- package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
- package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
- package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
- package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
- package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
- package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
- package/dist/sdk/governance/defect-recurrence.js +1 -1
- package/dist/sdk/governance/extension-host-version.d.ts +16 -16
- package/dist/sdk/governance/gc.d.ts +48 -48
- package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
- package/dist/sdk/governance/health.d.ts +188 -188
- package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
- package/dist/sdk/governance/linked-file-report.d.ts +26 -26
- package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
- package/dist/sdk/governance/provenance-health.d.ts +64 -64
- package/dist/sdk/governance/reindex.d.ts +89 -89
- package/dist/sdk/governance/reliability.d.ts +56 -56
- package/dist/sdk/governance/stale-work.d.ts +22 -22
- package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
- package/dist/sdk/governance/storage-integrity.d.ts +54 -54
- package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
- package/dist/sdk/governance/upgrade.d.ts +104 -104
- package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
- package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
- package/dist/sdk/governance/validate.d.ts +191 -191
- package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
- package/dist/sdk/governance/workflow-policy.d.ts +28 -28
- package/dist/sdk/governance/workspace-position.d.ts +46 -46
- package/dist/sdk/graph/adapter.d.ts +66 -66
- package/dist/sdk/graph/analytics.d.ts +54 -54
- package/dist/sdk/graph/assembly.d.ts +80 -80
- package/dist/sdk/graph/cache.d.ts +29 -29
- package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
- package/dist/sdk/graph/cardinality-integrity.js +2 -0
- package/dist/sdk/graph/centrality.d.ts +34 -34
- package/dist/sdk/graph/conformance.d.ts +33 -33
- package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
- package/dist/sdk/graph/durable-cache.d.ts +26 -26
- package/dist/sdk/graph/governance.d.ts +165 -165
- package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
- package/dist/sdk/graph/index.d.ts +1 -0
- package/dist/sdk/graph/index.js +1 -1
- package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
- package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
- package/dist/sdk/graph/query-contracts.d.ts +10 -10
- package/dist/sdk/graph/remediation.d.ts +25 -25
- package/dist/sdk/graph/run.d.ts +392 -392
- package/dist/sdk/graph/scheduling.d.ts +38 -38
- package/dist/sdk/graph/traversal.d.ts +14 -14
- package/dist/sdk/guide-topics.d.ts +32 -32
- package/dist/sdk/guide.d.ts +62 -62
- package/dist/sdk/history/attestation-command.d.ts +12 -12
- package/dist/sdk/history/attestation-contract.d.ts +78 -78
- package/dist/sdk/history/attestation-scan.d.ts +6 -6
- package/dist/sdk/history/maintenance.d.ts +46 -46
- package/dist/sdk/history/salvage.d.ts +18 -18
- package/dist/sdk/history/subject.d.ts +9 -9
- package/dist/sdk/history-analytics.d.ts +84 -84
- package/dist/sdk/history-compact.d.ts +103 -103
- package/dist/sdk/history-mcp.d.ts +8 -8
- package/dist/sdk/history-provenance.d.ts +59 -59
- package/dist/sdk/history-read.d.ts +36 -36
- package/dist/sdk/history-redact.d.ts +78 -78
- package/dist/sdk/history-repair.d.ts +158 -158
- package/dist/sdk/history-repair.js +1 -1
- package/dist/sdk/improvement-ledger.d.ts +102 -102
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/init-agent-guidance.d.ts +70 -70
- package/dist/sdk/init.d.ts +152 -152
- package/dist/sdk/item-children.d.ts +28 -28
- package/dist/sdk/item-schedule.d.ts +12 -12
- package/dist/sdk/item-transaction.d.ts +100 -100
- package/dist/sdk/learnings.d.ts +42 -42
- package/dist/sdk/lifecycle/append.d.ts +14 -14
- package/dist/sdk/lifecycle/claim.d.ts +60 -60
- package/dist/sdk/lifecycle/close-many.d.ts +94 -94
- package/dist/sdk/lifecycle/close.d.ts +27 -27
- package/dist/sdk/lifecycle/copy.d.ts +18 -18
- package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
- package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
- package/dist/sdk/lifecycle/create.d.ts +82 -82
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/delete.d.ts +28 -28
- package/dist/sdk/lifecycle/focus.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
- package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
- package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
- package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
- package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
- package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
- package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
- package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
- package/dist/sdk/lifecycle/plan.d.ts +217 -217
- package/dist/sdk/lifecycle/reopen.d.ts +29 -24
- package/dist/sdk/lifecycle/reopen.js +1 -1
- package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
- package/dist/sdk/lifecycle/restore.d.ts +33 -33
- package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
- package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
- package/dist/sdk/lifecycle/update-many.d.ts +79 -79
- package/dist/sdk/lifecycle/update.d.ts +131 -132
- package/dist/sdk/lifecycle/update.js +2 -2
- package/dist/sdk/lifecycle-completion.d.ts +22 -22
- package/dist/sdk/lifecycle-policy.d.ts +52 -52
- package/dist/sdk/linked-artifacts.d.ts +69 -69
- package/dist/sdk/mcp/apps.d.ts +32 -32
- package/dist/sdk/mcp/authorization.d.ts +76 -76
- package/dist/sdk/mcp/discovery.d.ts +111 -111
- package/dist/sdk/mcp/interactions.d.ts +61 -61
- package/dist/sdk/mcp/protocol.d.ts +78 -78
- package/dist/sdk/mcp/skills.d.ts +88 -88
- package/dist/sdk/mcp/subscriptions.d.ts +39 -39
- package/dist/sdk/mcp/tasks.d.ts +75 -75
- package/dist/sdk/mcp/transport.d.ts +11 -11
- package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
- package/dist/sdk/merge/driver.d.ts +60 -60
- package/dist/sdk/merge/install.d.ts +64 -64
- package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
- package/dist/sdk/merge/receipt-operation.d.ts +6 -6
- package/dist/sdk/merge/receipt-schema.d.ts +2 -2
- package/dist/sdk/merge/receipts.d.ts +156 -156
- package/dist/sdk/merge/reconcile.d.ts +36 -36
- package/dist/sdk/merge/reconcile.js +1 -1
- package/dist/sdk/merge/three-way.d.ts +77 -76
- package/dist/sdk/merge/three-way.js +1 -1
- package/dist/sdk/mutation-events.d.ts +84 -84
- package/dist/sdk/mutation-guard.d.ts +106 -106
- package/dist/sdk/notes.d.ts +52 -52
- package/dist/sdk/output/table-rows.d.ts +8 -8
- package/dist/sdk/output-contracts.d.ts +38 -38
- package/dist/sdk/output-projection.d.ts +142 -142
- package/dist/sdk/output-token-accounting.d.ts +27 -27
- package/dist/sdk/output.d.ts +28 -28
- package/dist/sdk/package-import-adapters.d.ts +54 -54
- package/dist/sdk/pagination.d.ts +29 -29
- package/dist/sdk/profile.d.ts +123 -123
- package/dist/sdk/provenance.d.ts +58 -58
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/activity.d.ts +118 -118
- package/dist/sdk/query/aggregate.d.ts +140 -140
- package/dist/sdk/query/calendar.d.ts +144 -144
- package/dist/sdk/query/complete-list.d.ts +53 -53
- package/dist/sdk/query/context.d.ts +395 -395
- package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
- package/dist/sdk/query/get.d.ts +77 -77
- package/dist/sdk/query/history.d.ts +72 -72
- package/dist/sdk/query/item-filter-options.d.ts +79 -79
- package/dist/sdk/query/list-filter-shared.d.ts +1 -1
- package/dist/sdk/query/list.d.ts +188 -188
- package/dist/sdk/query/multi-value-filters.d.ts +4 -4
- package/dist/sdk/query/next-ready-budget.d.ts +14 -14
- package/dist/sdk/query/next.d.ts +137 -137
- package/dist/sdk/query/projection-contracts.d.ts +8 -8
- package/dist/sdk/query/search/corpus.d.ts +8 -8
- package/dist/sdk/query/search/filters.d.ts +5 -5
- package/dist/sdk/query/search/input.d.ts +4 -4
- package/dist/sdk/query/search/response.d.ts +8 -8
- package/dist/sdk/query/search/semantic.d.ts +106 -106
- package/dist/sdk/query/search/types.d.ts +85 -85
- package/dist/sdk/query/search-contracts.d.ts +65 -65
- package/dist/sdk/query/search-pagination.d.ts +19 -19
- package/dist/sdk/query/search-rendering.d.ts +25 -25
- package/dist/sdk/query/search.d.ts +46 -46
- package/dist/sdk/read-output/continuation.d.ts +8 -8
- package/dist/sdk/read-output/continuation.js +1 -1
- package/dist/sdk/read-output/extension.d.ts +7 -0
- package/dist/sdk/read-output/extension.js +2 -0
- package/dist/sdk/read-output/options.d.ts +6 -4
- package/dist/sdk/read-output/options.js +1 -1
- package/dist/sdk/read-output/provenance.d.ts +8 -8
- package/dist/sdk/read-output-budget.d.ts +10 -10
- package/dist/sdk/read-output-contracts.d.ts +192 -186
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/read-output-rows.d.ts +6 -6
- package/dist/sdk/read-output-session.d.ts +50 -50
- package/dist/sdk/relationship-analytics.d.ts +78 -78
- package/dist/sdk/relationship-context.d.ts +81 -81
- package/dist/sdk/relationship-history.d.ts +109 -109
- package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
- package/dist/sdk/relationship-migration.d.ts +26 -26
- package/dist/sdk/relationships.d.ts +78 -78
- package/dist/sdk/reproducibility/process.d.ts +3 -3
- package/dist/sdk/runtime/context.d.ts +11 -11
- package/dist/sdk/runtime-action-aliases.d.ts +2 -2
- package/dist/sdk/runtime-extended-actions.d.ts +8 -8
- package/dist/sdk/runtime-input.d.ts +3 -3
- package/dist/sdk/runtime-public-contracts.d.ts +78 -78
- package/dist/sdk/runtime.d.ts +305 -305
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
- package/dist/sdk/schema-migration.d.ts +86 -86
- package/dist/sdk/schema.d.ts +355 -355
- package/dist/sdk/similarity-scoring.d.ts +10 -10
- package/dist/sdk/similarity.d.ts +113 -113
- package/dist/sdk/stats.d.ts +108 -108
- package/dist/sdk/structured-mutations.d.ts +16 -16
- package/dist/sdk/structured-mutations.js +1 -1
- package/dist/sdk/telemetry.d.ts +53 -53
- package/dist/sdk/templates.d.ts +39 -39
- package/dist/sdk/test/batch.d.ts +85 -85
- package/dist/sdk/test/batch.js +1 -1
- package/dist/sdk/test/command-args.d.ts +4 -0
- package/dist/sdk/test/command-args.js +2 -0
- package/dist/sdk/test/entry.d.ts +3 -0
- package/dist/sdk/test/entry.js +1 -1
- package/dist/sdk/test/execution-receipts.d.ts +3 -3
- package/dist/sdk/test/execution.d.ts +279 -268
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/test/json-path.d.ts +2 -2
- package/dist/sdk/test/linked-command-detection.d.ts +10 -10
- package/dist/sdk/test/measurements.d.ts +11 -11
- package/dist/sdk/test/parsers.d.ts +1 -1
- package/dist/sdk/test/parsers.js +1 -1
- package/dist/sdk/test/prerequisites.d.ts +6 -0
- package/dist/sdk/test/prerequisites.js +2 -0
- package/dist/sdk/test/runs.d.ts +52 -52
- package/dist/sdk/test/trust.d.ts +12 -12
- package/dist/sdk/test/trust.js +1 -1
- package/dist/sdk/test/update.d.ts +55 -0
- package/dist/sdk/test/update.js +2 -0
- package/dist/sdk/testing.d.ts +319 -319
- package/dist/sdk/traceability/source-traceability.d.ts +65 -65
- package/dist/sdk/workspace-contracts.d.ts +37 -37
- package/dist/sdk/workspace-memory.d.ts +60 -60
- package/dist/sdk/workspace-recipe.d.ts +9 -9
- package/dist/sdk/workspace-snapshot.d.ts +97 -97
- package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
- package/dist/sdk/workspace-transaction.d.ts +47 -47
- package/dist/sdk/workspace.d.ts +6 -6
- package/dist/types.d.ts +978 -974
- package/dist/types.js +1 -1
- package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
- package/docs/DEFECT_RECURRENCE.md +12 -0
- package/docs/EXTENSIONS.md +2 -2
- package/docs/LINKED_TEST_EDITS.md +79 -0
- package/docs/MERGE_SAFETY.md +27 -1
- package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
- package/docs/RELATIONSHIP_GRAPH.md +26 -0
- package/docs/RELEASING.md +25 -8
- package/docs/SDK.md +204 -637
- package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
- package/docs/SDK_EVIDENCE_TRACEABILITY.md +4 -0
- package/docs/TESTING.md +13 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -3
- package/docs/performance/runner-qualification.md +36 -0
- package/marketplace.json +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/core/package.json +2 -2
- package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/resources/package.json +3 -3
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
- package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
- package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
- package/node_modules/@sentry/core/build/cjs/index.js +3 -0
- package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/cjs/server.js +3 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
- package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/esm/browser.js +1 -0
- package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
- package/node_modules/@sentry/core/build/esm/index.js +1 -0
- package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/esm/package.json +1 -1
- package/node_modules/@sentry/core/build/esm/server.js +1 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
- package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/package.json +3 -2
- package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/package.json +1 -1
- package/node_modules/@sentry/node/package.json +7 -6
- package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
- package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
- package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
- package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
- package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
- package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
- package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/package.json +5 -4
- package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
- package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
- package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
- package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
- package/node_modules/@sentry/opentelemetry/package.json +4 -3
- package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
- package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/package.json +4 -3
- package/node_modules/cjs-module-lexer/README.md +8 -3
- package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
- package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
- package/node_modules/cjs-module-lexer/lexer.js +48 -9
- package/node_modules/cjs-module-lexer/package.json +3 -2
- package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
- package/node_modules/es-module-lexer/package.json +1 -1
- package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
- package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
- package/node_modules/import-in-the-middle/package.json +1 -1
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/scripts/finalize-build.mjs +37 -0
- package/dist/cli-bundle/chunks/chunk-BXSXT5Z6.js +0 -2
- package/dist/cli-bundle/chunks/chunk-KNW3RSLS.js +0 -30
- package/dist/cli-bundle/chunks/chunk-MEWBSWE3.js +0 -2
- package/dist/cli-bundle/chunks/chunk-RBPOO46D.js +0 -20
- package/dist/cli-bundle/chunks/chunk-YMLF6QT7.js +0 -234
- package/dist/cli-bundle/chunks/register-operations-PDOBQZUJ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2CJWTLQG.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-B3YW6H2I.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-GVGFUD52.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PBCYGO7X.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-WOEZJUA2.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.
|
|
1
|
+
{"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.13","plugins":[{"name":"pm-claude","source":"./plugins/pm-claude","description":"Native pm CLI integration for Claude Code — 32 MCP tools, 14 workflow skills with slash invocations, 4 subagents, hybrid TUI task tracking, session context injection, and coordination subagents for git-based project management without leaving Claude Code.","version":"2026.10.13","author":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"homepage":"https://github.com/unbraind/pm-cli","repository":"https://github.com/unbraind/pm-cli","license":"MIT","keywords":["pm-cli","project-management","mcp","tasks","agents","workflows","git-native","task-tracker","ai"],"category":"productivity"}]}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026.10.13 - 2026-10-13
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Let SDK extension read commands opt into universal context output controls ([pm-extension-read-output-controls](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/features/pm-extension-read-output-controls.toon))
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Avoid mutation-output flags when recovering an unsupported read projection ([pm-o0tkr6](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-o0tkr6.toon))
|
|
12
|
+
- Preserve MCP warning enforcement when late console logs lack module attribution ([pm-bbyopg](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-bbyopg.toon))
|
|
13
|
+
- Expose safe reviewed migration for historical merge receipts ([pm-tknnzp](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-tknnzp.toon))
|
|
14
|
+
- Accept actively registered relationship kinds in SDK and CLI dependency mutations ([pm-7dsolo](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-7dsolo.toon))
|
|
15
|
+
- Protect distribution inventory and staging from concurrent dist rebuilds ([pm-distribution-consumer-lease](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-distribution-consumer-lease.toon))
|
|
16
|
+
- Preserve documented SDK schema field types through typed helpers ([pm-ty5i58](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-ty5i58.toon))
|
|
17
|
+
- Core external-reference refusal recommends a flag absent from the CLI lexicon ([pm-by83yj](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-by83yj.toon))
|
|
18
|
+
- GH-1443: align item and history union ordering and provenance during lossless merges ([pm-pftgcz](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-pftgcz.toon))
|
|
19
|
+
- Make assurance risk help include the required recurrence policy ([pm-assurance-risk-help-policy](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-assurance-risk-help-policy.toon))
|
|
20
|
+
|
|
21
|
+
### Other
|
|
22
|
+
|
|
23
|
+
- Refresh eligible Markdown and lint tooling and record pending dependency migrations ([pm-0uxmwf](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-0uxmwf.toon))
|
|
24
|
+
- Deduplicate hosted Commander recovery-context projection ([pm-nrj9sy](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-nrj9sy.toon))
|
|
25
|
+
- Refresh eligible SDK and CI dependencies ([pm-98f0ec](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-98f0ec.toon))
|
|
26
|
+
- Accept universal SDK read receipts in the public context evaluation reader ([pm-i4kxx1](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-i4kxx1.toon))
|
|
27
|
+
- Expose active planning recovery when a canonical item is reopened ([pm-reopen-planning-recovery](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-reopen-planning-recovery.toon))
|
|
28
|
+
- Compact declaration indentation while preserving SDK types and documentation ([pm-chw71s](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-chw71s.toon))
|
|
29
|
+
|
|
30
|
+
## 2026.10.12 - 2026-10-12
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- GH-1440: validate linked-test context at write time and distinguish execution refusals ([pm-gh1440](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-gh1440.toon))
|
|
35
|
+
- Declare calendar package positional signatures in the SDK grammar census ([pm-kki6bf](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-kki6bf.toon))
|
|
36
|
+
- Reject sparse artifact ledger inputs through both public SDK exports ([pm-ledger-sparse-delivery](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/changesets/pm-ledger-sparse-delivery.toon))
|
|
37
|
+
- Prevent exact-tag recovery from republishing an accepted npm version while public metadata is unavailable ([pm-publication-acceptance-fence](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-publication-acceptance-fence.toon))
|
|
38
|
+
- Expose the test measurement run prerequisite in help and recovery ([pm-test-measure-prerequisite](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-test-measure-prerequisite.toon))
|
|
39
|
+
|
|
40
|
+
### Other
|
|
41
|
+
|
|
42
|
+
- Edit linked-test metadata in place with preserved provenance and atomic history ([pm-9djr6d](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-9djr6d.toon))
|
|
43
|
+
- Keep linked-test SDK delivery within publication budgets using authoritative API references ([pm-4g4qv0](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-4g4qv0.toon))
|
|
44
|
+
- Preserve fail-closed startup benchmark runner qualification and complete diagnostics ([pm-runner-qualification-delivery](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-runner-qualification-delivery.toon))
|
|
45
|
+
- Include declared morning automation in daily release blocker alerts and successful recovery ([pm-automatic-release-alerts](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-automatic-release-alerts.toon))
|
|
46
|
+
- Deliver unambiguous registry-derived namespace recovery across installed Node and Bun consumers ([pm-namespace-recovery-delivery](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-namespace-recovery-delivery.toon))
|
|
47
|
+
|
|
3
48
|
## 2026.10.11 - 2026-10-11
|
|
4
49
|
|
|
5
50
|
### Fixed
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
import { type ActiveTelemetryCommand, type TelemetryCommandOutcome } from "../sdk/runtime-primitives.js";
|
|
7
7
|
/** Inputs required to attribute one completed command's affected items. */
|
|
8
8
|
export interface AfterCommandContextUsageOptions {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
/** Active tracker root. */
|
|
10
|
+
pmRoot: string;
|
|
11
|
+
/** Optional invocation-wide author override. */
|
|
12
|
+
author?: string;
|
|
13
|
+
/** Affected item identifiers, empty for failed or read-only commands. */
|
|
14
|
+
itemIds: readonly string[];
|
|
15
|
+
/** Stable command intent recorded beside derived touch rows. */
|
|
16
|
+
intent: string;
|
|
17
17
|
}
|
|
18
18
|
/** Finalizes the active telemetry command with its normalized CLI outcome. */
|
|
19
19
|
export declare function finishActiveTelemetryCommand(runtime: ActiveTelemetryCommand | null, outcome: TelemetryCommandOutcome): Promise<void>;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
/** Describes one hashed output recorded in the generated CLI bundle manifest. */
|
|
2
2
|
export interface CliBundleManifestFile {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/** Path relative to the directory containing the manifest. */
|
|
4
|
+
path: string;
|
|
5
|
+
/** Lowercase SHA-256 digest of the emitted file contents. */
|
|
6
|
+
sha256: string;
|
|
7
7
|
}
|
|
8
8
|
/** Describes one atomic CLI bundle generation emitted by the build. */
|
|
9
9
|
export interface CliBundleManifest {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
/** Manifest schema generation. */
|
|
11
|
+
schema_version: 1;
|
|
12
|
+
/** Stable digest over the sorted file path and digest pairs. */
|
|
13
|
+
generation: string;
|
|
14
|
+
/** Complete set of JavaScript and source-map outputs in this generation. */
|
|
15
|
+
files: CliBundleManifestFile[];
|
|
16
16
|
}
|
|
17
17
|
/** Captures a validated manifest together with its absolute on-disk path. */
|
|
18
18
|
export interface CliBundleManifestSnapshot {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
/** Absolute manifest path used for later file verification. */
|
|
20
|
+
manifest_path: string;
|
|
21
|
+
/** Validated manifest payload. */
|
|
22
|
+
manifest: CliBundleManifest;
|
|
23
23
|
}
|
|
24
24
|
/** Reports a proven partial-upgrade or concurrent-build bundle failure. */
|
|
25
25
|
export interface CliBundleIntegrityDiagnostic {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
/** Stable machine-readable error code. */
|
|
27
|
+
code: "bundle_integrity_torn_install";
|
|
28
|
+
/** Actionable operator-facing recovery text. */
|
|
29
|
+
message: string;
|
|
30
|
+
/** Specific integrity proof that classified the failure. */
|
|
31
|
+
reason: "generation_changed" | "manifest_missing" | "file_missing" | "hash_mismatch";
|
|
32
|
+
/** Original module-loader failure text retained for diagnosis. */
|
|
33
|
+
cause: string;
|
|
34
34
|
}
|
|
35
35
|
/** Reads the bundle manifest next to a compiled `dist/cli.js` entrypoint. */
|
|
36
36
|
export declare function readCliBundleManifestSnapshot(cliEntrypointPath: string): CliBundleManifestSnapshot | undefined;
|
|
@@ -45,5 +45,5 @@ export declare function diagnoseCliBundleIntegrityFailure(error: unknown, initia
|
|
|
45
45
|
* failures into a handled recovery diagnostic.
|
|
46
46
|
*/
|
|
47
47
|
export declare function runCliWithBundleIntegrity(args: string[], cliEntrypointPath: string, loadMain: () => Promise<{
|
|
48
|
-
|
|
48
|
+
runPmCli: (invocationArgs: string[]) => Promise<void>;
|
|
49
49
|
}>, writeStderr: (message: string) => void): Promise<void>;
|
|
@@ -11,27 +11,27 @@ import type { ExtensionCommandHelpDescriptor } from "./extension-command-help.js
|
|
|
11
11
|
export declare const BUILTIN_TYPE_HELP_VALUES: string;
|
|
12
12
|
/** Documents the commander usage context payload exchanged by command, SDK, and package integrations. */
|
|
13
13
|
export interface CommanderUsageContext extends CommanderGuidanceContext {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
/** Normalized invocation retained for recovery and transport accounting. */
|
|
15
|
+
normalizedInvocationArgs: string[];
|
|
16
|
+
/** Human-readable explanation suitable for logs and agent-facing output. */
|
|
17
|
+
message: string;
|
|
18
|
+
/** Value that configures or reports command name for this contract. */
|
|
19
|
+
commandName: string | undefined;
|
|
20
|
+
/** Value that configures or reports allowed types for this contract. */
|
|
21
|
+
allowedTypes: string;
|
|
22
22
|
}
|
|
23
23
|
/** Bounded extension activation failure appended to unknown-command guidance. */
|
|
24
24
|
export interface CommanderExtensionFailure {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
/** Extension resolution layer that produced the failure. */
|
|
26
|
+
layer: string;
|
|
27
|
+
/** Installed extension identity. */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Actionable activation error without raw extension state. */
|
|
30
|
+
error: string;
|
|
31
|
+
/** Whether this failed extension statically declares the attempted command. */
|
|
32
|
+
declared_command_match?: boolean;
|
|
33
|
+
/** Bounded repair and diagnostic commands. */
|
|
34
|
+
recovery_commands?: string[];
|
|
35
35
|
}
|
|
36
36
|
/** Append extension activation failures to text or JSON Commander usage output. */
|
|
37
37
|
export declare function appendCommanderExtensionFailures(renderedUsage: string, json: boolean, failures: CommanderExtensionFailure[]): string;
|
|
@@ -42,32 +42,32 @@ export declare function collectRuntimeCommandPaths(root: Command, extensionDescr
|
|
|
42
42
|
/** Implements score command path match for the public runtime surface of this module. */
|
|
43
43
|
export declare function scoreCommandPathMatch(commandPath: string, queryToken: string): number;
|
|
44
44
|
declare function resolveOptionalPackageInstallHint(commandPath: string): {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
packageAlias: string;
|
|
46
|
+
canonicalPath: string;
|
|
47
|
+
installCommand: string;
|
|
48
48
|
} | null;
|
|
49
49
|
declare function collectInstalledPackageCommandPathHints(unknownToken: string, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>): string[];
|
|
50
50
|
declare function collectKnownLongFlags(commandName: string | undefined, contractsOverride?: CliFlagContract[]): string[];
|
|
51
51
|
declare function suggestNearestLongFlags(unknownOption: string, knownFlags: string[]): string[];
|
|
52
|
-
/**
|
|
53
|
-
export declare function buildUnknownCommandGuidanceFromRuntime(rawMessage: string, root: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor
|
|
52
|
+
/** Build inspection-only recovery from installed commands, preserving tracker scope and explicit extension policy in executable retries. */
|
|
53
|
+
export declare function buildUnknownCommandGuidanceFromRuntime(rawMessage: string, root: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, invocationArgv?: readonly string[]): CommanderGuidanceContext | undefined;
|
|
54
54
|
/** Implements resolve child command by token for the public runtime surface of this module. */
|
|
55
55
|
export declare function resolveChildCommandByToken(parent: Command, token: string): Command | undefined;
|
|
56
56
|
/** Implements check whether known help command path for the public runtime surface of this module. */
|
|
57
57
|
export declare function isKnownHelpCommandPath(root: Command, commandPathTokens: string[]): boolean;
|
|
58
58
|
declare function resolveSuggestedRetryForMissingOption(message: string, invocationArgv: string[]): string | undefined;
|
|
59
59
|
/** Resolve runtime command ownership, workspace types and executable recovery guidance for a parser refusal. */
|
|
60
|
-
export declare function resolveCommanderUsageContext(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, guidanceOverrides?: Partial<CommanderGuidanceContext
|
|
60
|
+
export declare function resolveCommanderUsageContext(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, guidanceOverrides?: Partial<CommanderGuidanceContext>, invocationArgs?: readonly string[]): Promise<CommanderUsageContext>;
|
|
61
61
|
/** Implements format commander usage message for the public runtime surface of this module. */
|
|
62
|
-
export declare function formatCommanderUsageMessage(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, guidanceOverrides?: Partial<CommanderGuidanceContext
|
|
62
|
+
export declare function formatCommanderUsageMessage(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, guidanceOverrides?: Partial<CommanderGuidanceContext>, invocationArgs?: readonly string[]): Promise<string>;
|
|
63
63
|
/** Implements format commander usage json for the public runtime surface of this module. */
|
|
64
|
-
export declare function formatCommanderUsageJson(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, lean?: boolean, guidanceOverrides?: Partial<CommanderGuidanceContext
|
|
64
|
+
export declare function formatCommanderUsageJson(error: unknown, rootProgram: Command, extensionDescriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>, lean?: boolean, guidanceOverrides?: Partial<CommanderGuidanceContext>, invocationArgs?: readonly string[]): Promise<string>;
|
|
65
65
|
/** Public contract for test only, shared by SDK and presentation-layer consumers. */
|
|
66
66
|
export declare const _testOnly: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
collectKnownLongFlags: typeof collectKnownLongFlags;
|
|
68
|
+
collectInstalledPackageCommandPathHints: typeof collectInstalledPackageCommandPathHints;
|
|
69
|
+
resolveOptionalPackageInstallHint: typeof resolveOptionalPackageInstallHint;
|
|
70
|
+
resolveSuggestedRetryForMissingOption: typeof resolveSuggestedRetryForMissingOption;
|
|
71
|
+
suggestNearestLongFlags: typeof suggestNearestLongFlags;
|
|
72
72
|
};
|
|
73
73
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f3c73e79-571d-5a1b-94cd-db8c1b8ca7a4")}catch{}})();import{pathExists,resolveItemTypeRegistry,EXIT_CODE,getSettingsPath,resolvePmRoot,readSettings,getActiveExtensionRegistrations,locateItem,runActiveServiceOverride,levenshteinDistanceWithinLimit}from"../sdk/runtime-primitives.js";import{BUILTIN_ITEM_TYPE_VALUES}from"../types/index.js";import{PM_CORE_COMMAND_NAMES,resolveSubcommandFlagContractsForCommand}from"../sdk/cli-contracts.js";import{formatCommanderErrorForDisplay,formatCommanderErrorForJson,projectLeanErrorEnvelope}from"./error-guidance.js";import{normalizeHelpCommandPath}from"./help-content.js";import{getCommandPath}from"./registration-helpers.js";import{EXECUTABLE_COMMAND_ALIASES,findBootstrapCommandTokenIndex,normalizeBootstrapInvocation,parseBootstrapHelpRequest,parseBootstrapGlobalOptions,parseBootstrapCommandName}from"./bootstrap-args.js";import{extractProvidedOptionFlags,normalizeLongFlag,renderPmCommand}from"./argv-utils.js";import{normalizeExtensionNameForMatch}from"./commands/extension/shared.js";import{canonicalizeCommandSuggestions,rankCommandPaths,resolveMisnestedCommandPath}from"../sdk/agent/command-suggestions.js";import{isCompatibleRecoveryFlag,renderMissingOptionRetry}from"../sdk/agent/command-recovery.js";import{attachOutputTokenAccounting}from"../sdk/output-token-accounting.js";import{findPmNamespacedCommand,resolvePmCommandAlias}from"../sdk/cli-contracts/command-aliases.js";const BUILTIN_TYPE_HELP_VALUES=BUILTIN_ITEM_TYPE_VALUES.join("|"),OPTIONAL_PACKAGE_INSTALL_HINTS={calendar:"calendar",cal:"calendar",reindex:"search-advanced","search-advanced":"search-advanced",guide:"guide-shell",completion:"guide-shell",templates:"templates","test-runs":"linked-test-adapters",beads:"beads",todos:"todos"},SEMANTIC_UNKNOWN_OPTION_SUGGESTIONS={comments:{"--body":["--add"],"--text":["--add"],"--comment":["--add"]},notes:{"--body":["--add"],"--text":["--add"],"--note":["--add"]},learnings:{"--body":["--add"],"--text":["--add"],"--learning":["--add"]},update:{"--add-tag":["--add-tags"],"--remove-tag":["--remove-tags"],"--tag":["--tags"]},create:{"--add-tag":["--add-tags"],"--tag":["--tags"]}},SCHEMA_SUBCOMMAND_VALUES=["add-field","add-status","add-type","apply-preset","list","list-fields","remap-status","remove-field","remove-status","remove-type","rename-field","rename-type","show","show-field","show-status"];function getSemanticUnknownOptionSuggestions(commandName,unknownOption){const commandSuggestions=SEMANTIC_UNKNOWN_OPTION_SUGGESTIONS[commandName];if(!commandSuggestions)return[];const normalizedUnknown=normalizeLongFlag(unknownOption);for(const[flag,suggestions]of Object.entries(commandSuggestions))if(normalizeLongFlag(flag)===normalizedUnknown)return suggestions;return[]}function appendCommanderExtensionFailures(renderedUsage,json,failures){if(failures.length===0)return renderedUsage;if(json){const primaryFailure2=failures.find(entry=>entry.declared_command_match===!0),{token_accounting:priorAccounting,...usage}=JSON.parse(renderedUsage),enriched={...usage,...primaryFailure2?{extension_command_failure:{code:"extension_command_activation_failed",extension:primaryFailure2.name,layer:primaryFailure2.layer,error:primaryFailure2.error,recovery_commands:primaryFailure2.recovery_commands??[]}}:{},failed_extensions:failures};return JSON.stringify(priorAccounting===void 0?enriched:attachOutputTokenAccounting(enriched,value=>`${JSON.stringify(value,null,2)}
|
|
2
2
|
`),null,2)}const details=failures.map(entry=>`- ${entry.layer}:${entry.name}: ${entry.error}`).join(`
|
|
3
3
|
`),primaryFailure=failures.find(entry=>entry.declared_command_match===!0);if(!primaryFailure)return`${renderedUsage}
|
|
4
4
|
Extension activation failures:
|
|
@@ -10,7 +10,7 @@ ${recovery}`:""}
|
|
|
10
10
|
|
|
11
11
|
${renderedUsage}
|
|
12
12
|
Extension activation failures:
|
|
13
|
-
${details}`}function resolveUnknownCommanderToken(invocationArgv){return parseBootstrapHelpRequest(invocationArgv).commandPathTokens[0]??parseBootstrapCommandName(invocationArgv)??"<command>"}function collectRuntimeCommandPaths(root,extensionDescriptors){const commandPaths=new Set,queue=[...root.commands];for(;queue.length>0;){const current=queue.shift();if(!current)continue;const normalizedPath=normalizeHelpCommandPath(getCommandPath(current)),hasInternalSegment=normalizedPath.split(" ").some(segment=>segment.startsWith("_"));normalizedPath.length>0&&!hasInternalSegment&&commandPaths.add(normalizedPath),queue.push(...current.commands)}for(const descriptorPath of extensionDescriptors.keys()){const normalizedPath=normalizeHelpCommandPath(descriptorPath),hasInternalSegment=normalizedPath.split(" ").some(segment=>segment.startsWith("_"));normalizedPath.length>0&&!hasInternalSegment&&commandPaths.add(normalizedPath)}return[...commandPaths].sort((left,right)=>left.localeCompare(right))}function scoreCommandPathMatch(commandPath,queryToken){const normalizedPath=commandPath.trim().toLowerCase(),normalizedToken=queryToken.trim().toLowerCase();if(normalizedToken.length===0)return Number.POSITIVE_INFINITY;const pathSegments=normalizedPath.split(" ");if(normalizedPath===normalizedToken)return 0;if(pathSegments.includes(normalizedToken))return 1;if(pathSegments.some(segment=>segment.startsWith(normalizedToken)))return 2;if(normalizedPath.includes(normalizedToken))return 3;const maxDistance=normalizedToken.length>=5?2:1;let bestDistance=Number.POSITIVE_INFINITY;for(const segment of pathSegments){const distance=levenshteinDistanceWithinLimit(segment,normalizedToken,maxDistance);distance!==null&&(bestDistance=Math.min(bestDistance,distance))}return Number.isFinite(bestDistance)?4+bestDistance:Number.POSITIVE_INFINITY}function toComparableFlag(flag){return normalizeLongFlag(flag).slice(2).replace(/-/g,"")}function renderAttemptedCommand(argv){return renderPmCommand(argv)}function resolveOptionalPackageInstallHint(commandPath){const canonicalPath=resolvePmCommandAlias(commandPath)?.canonical??EXECUTABLE_COMMAND_ALIASES[commandPath]??commandPath,topLevel=canonicalPath.split(" ")[0]?.trim().toLowerCase();if(!topLevel)return null;const packageAlias=OPTIONAL_PACKAGE_INSTALL_HINTS[topLevel];return packageAlias?{packageAlias,canonicalPath,installCommand:`pm package install ${packageAlias} --project`}:null}function normalizePackageCommandAliasToken(value){let normalized=normalizeExtensionNameForMatch(value);for(const prefix of["@unbrained/","builtin-","pm-"])normalized.startsWith(prefix)&&(normalized=normalized.slice(prefix.length));return normalized}function collectInstalledPackageCommandPathHints(unknownToken,extensionDescriptors){const normalizedUnknown=normalizePackageCommandAliasToken(unknownToken);if(normalizedUnknown.length===0)return[];const hints=[];for(const descriptor of extensionDescriptors.values()){const identifiers=new Set,source=descriptor.source;if(source)for(const identifier of[source.name,source.package]){const normalizedIdentifier=normalizePackageCommandAliasToken(identifier??"");normalizedIdentifier.length>0&&identifiers.add(normalizedIdentifier)}identifiers.size!==0&&[...identifiers].some(identifier=>identifier===normalizedUnknown||identifier.includes(normalizedUnknown)||normalizedUnknown.includes(identifier))&&hints.push(descriptor.command)}return[...new Set(hints)].sort((left,right)=>left.localeCompare(right))}function collectKnownLongFlags(commandName,contractsOverride){const flags=new Set,contracts=contractsOverride??resolveSubcommandFlagContractsForCommand(commandName);for(const contract of contracts){contract.flag.startsWith("--")&&flags.add(normalizeLongFlag(contract.flag));for(const alias of contract.aliases??[])alias.startsWith("--")&&flags.add(normalizeLongFlag(alias))}return[...flags].sort((left,right)=>left.localeCompare(right))}function suggestNearestLongFlags(unknownOption,knownFlags){if(!unknownOption.startsWith("--"))return[];const unknownComparable=toComparableFlag(unknownOption);if(unknownComparable.length===0)return[];const maxDistance=unknownComparable.length>=8?2:1,candidates=[];for(const flag of knownFlags){const flagComparable=toComparableFlag(flag);if(flagComparable===unknownComparable)continue;if(unknownComparable.length>=3&&flagComparable.startsWith(unknownComparable)){candidates.push({flag,rank:0,distance:flagComparable.length-unknownComparable.length});continue}const distance=levenshteinDistanceWithinLimit(unknownComparable,flagComparable,maxDistance);distance===null||distance<=0||candidates.push({flag,rank:1,distance})}return candidates.sort((left,right)=>left.rank!==right.rank?left.rank-right.rank:left.distance!==right.distance?left.distance-right.distance:left.flag.localeCompare(right.flag)).map(entry=>entry.flag).slice(0,3)}let crossCommandFlagIndexCache;const CROSS_COMMAND_FLAG_EXCLUSIONS=new Set(["ctx","packages","list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled","start-task","pause-task","close-task","help"]);function getCrossCommandFlagIndex(){if(crossCommandFlagIndexCache)return crossCommandFlagIndexCache;const index=new Map;for(const command of PM_CORE_COMMAND_NAMES)if(!CROSS_COMMAND_FLAG_EXCLUSIONS.has(command))for(const flag of collectKnownLongFlags(command)){const commands=index.get(flag)??[];commands.push(command),index.set(flag,commands)}return crossCommandFlagIndexCache=index,crossCommandFlagIndexCache}function findOtherCommandsForFlag(unknownOption,currentCommand){if(!unknownOption.startsWith("--"))return[];const commands=getCrossCommandFlagIndex().get(normalizeLongFlag(unknownOption));if(!commands)return[];const normalizedCurrent=currentCommand?.trim().toLowerCase(),currentFlags=new Set(collectKnownLongFlags(normalizedCurrent));return[...new Set(commands.filter(command=>command!==normalizedCurrent).map(command=>({command,sharedFlagCount:collectKnownLongFlags(command).filter(flag=>currentFlags.has(flag)).length})).sort((left,right)=>left.sharedFlagCount!==right.sharedFlagCount?right.sharedFlagCount-left.sharedFlagCount:left.command.localeCompare(right.command)).map(({command})=>resolvePmCommandAlias(command)?.canonical??command))]}function rewriteUnknownOptionArgv(argv,unknownOption,replacementFlag){for(let index=0;index<argv.length;index+=1){const token=argv[index];if(!token.startsWith("--"))continue;const equalsIndex=token.indexOf("="),key=equalsIndex>=0?token.slice(0,equalsIndex):token;if(normalizeLongFlag(key)!==normalizeLongFlag(unknownOption))continue;const next=[...argv];return next[index]=equalsIndex>=0?`${replacementFlag}${token.slice(equalsIndex)}`:replacementFlag,next}}function scoreRuntimeCommandCandidates(params){const commandPathSet=new Set(params.commandPaths),scoreAgainstUnknown=candidatePath=>Math.min(scoreCommandPathMatch(candidatePath,params.normalizedUnknown),params.primaryToken!==params.normalizedUnknown?scoreCommandPathMatch(candidatePath,params.primaryToken):Number.POSITIVE_INFINITY),scoresByCommandPath=new Map,recordCandidateScore=(commandPath,score)=>{if(!Number.isFinite(score)||!commandPathSet.has(commandPath))return;const existing=scoresByCommandPath.get(commandPath);(existing===void 0||score<existing)&&scoresByCommandPath.set(commandPath,score)};for(const commandPath of params.commandPaths)recordCandidateScore(commandPath,scoreAgainstUnknown(commandPath));for(const[aliasToken,canonicalPath]of Object.entries(EXECUTABLE_COMMAND_ALIASES))aliasToken!=="read"&&recordCandidateScore(canonicalPath,scoreAgainstUnknown(aliasToken));return[...scoresByCommandPath.entries()].sort(([leftPath,leftScore],[rightPath,rightScore])=>leftScore!==rightScore?leftScore-rightScore:leftPath.localeCompare(rightPath)).map(([commandPath])=>commandPath)}function resolveUnknownCommandCandidates(params){const exactAlias=resolvePmCommandAlias(params.normalizedUnknown),semanticCandidates=rankCommandPaths(params.commandPaths,params.primaryToken),rankedCandidates=scoreRuntimeCommandCandidates(params),installedPackageCandidates=collectInstalledPackageCommandPathHints(params.primaryToken,params.extensionDescriptors).filter(commandPath=>params.commandPaths.includes(commandPath));return canonicalizeCommandSuggestions([...exactAlias&¶ms.commandPaths.includes(exactAlias.canonical)?[exactAlias.canonical_argv.join(" ")]:[],...semanticCandidates,...rankedCandidates,...installedPackageCandidates],params.commandPaths,params.primaryToken).filter(path=>!params.normalizedUnknown.includes(" ")||path!==params.normalizedUnknown)}function resolveUnknownCommandFallbacks(commandPaths){return[...new Set(commandPaths.map(commandPath=>commandPath.split(" ")[0]).filter(segment=>segment.length>0))].sort((left,right)=>left.localeCompare(right))}function buildUnknownCommandExamples(suggestedPaths,hasConcreteCandidates){const suggestedExamples=suggestedPaths.map(path=>`pm ${path} --help`);return hasConcreteCandidates?[...new Set([...suggestedExamples,"pm --help --all"])]:[...new Set(["pm --help --all",...suggestedExamples])]}function buildUnknownCommandGuidanceFromRuntime(rawMessage,root,extensionDescriptors){const unknownCommandMatch=rawMessage.match(/unknown command '([^']+)'/i);if(!unknownCommandMatch||typeof unknownCommandMatch[1]!="string")return;const normalizedUnknown=normalizeHelpCommandPath(unknownCommandMatch[1]);if(normalizedUnknown.length===0)return;const commandPaths=collectRuntimeCommandPaths(root,extensionDescriptors);if(commandPaths.length===0)return;const optionalPackageHint=resolveOptionalPackageInstallHint(normalizedUnknown);if(optionalPackageHint&&!commandPaths.includes(optionalPackageHint.canonicalPath.split(" ")[0]))return{unknownCommandExamples:[optionalPackageHint.installCommand,`pm ${optionalPackageHint.canonicalPath} --help`,"pm --help --all"],unknownCommandNextSteps:[`"${normalizedUnknown}" is provided by the "${optionalPackageHint.packageAlias}" package. Install it with: ${optionalPackageHint.installCommand}. Command after installation: pm ${optionalPackageHint.canonicalPath}.`],suggestedRetryCommand:optionalPackageHint.installCommand};const primaryToken=normalizedUnknown.split(" ")[0],combinedCandidates=resolveUnknownCommandCandidates({commandPaths,normalizedUnknown,primaryToken,extensionDescriptors}),fallbackTopLevel=resolveUnknownCommandFallbacks(commandPaths),suggestedPaths=(combinedCandidates.length>0?combinedCandidates:canonicalizeCommandSuggestions(fallbackTopLevel,commandPaths)).slice(0,3),examples=buildUnknownCommandExamples(suggestedPaths,combinedCandidates.length>0),didYouMean=combinedCandidates.length>0?`Did you mean: ${suggestedPaths.join(", ")}?`:null;return{unknownCommandExamples:examples,unknownCommandNextSteps:[...didYouMean?[didYouMean]:[],'Run "pm --help --all" to list every command available in this runtime, including active extensions.',...didYouMean?["Use one of the suggested command paths above with --help to inspect valid flags and usage."]:[]]}}function dedupeStrings(values){return Array.from(new Set(values))}function firstWhitespaceSeparatedToken(input){let token="";for(const character of input){if(character===" "||character===" "||character===`
|
|
14
|
-
`||character==="\r"||character==="\f"||character==="\v")break;token+=character}return token}function trimTrailingPunctuationToken(token){let end=token.length;for(;end>0;){const character=token[end-1];if(character!==","&&character!==":"&&character!==";")break;end-=1}return token.slice(0,end)}function resolveChildCommandByToken(parent,token){const normalizedToken=token.trim().toLowerCase();return parent.commands.find(candidate=>candidate.name().trim().toLowerCase()===normalizedToken?!0:(typeof candidate.aliases=="function"?candidate.aliases():[]).some(alias=>alias.trim().toLowerCase()===normalizedToken))}function isKnownHelpCommandPath(root,commandPathTokens){if(commandPathTokens.length===0)return!0;let current=root;for(const[tokenIndex,token]of commandPathTokens.entries()){const next=resolveChildCommandByToken(current,token);if(!next){const declaredArguments=current.registeredArguments;return declaredArguments.length>0&&(current.commands.length===0||declaredArguments[0]?.required===!0)&&(declaredArguments.at(-1)?.variadic===!0||commandPathTokens.length-tokenIndex<=declaredArguments.length)}current=next}return!0}async function resolveWorkspaceUsageContext(bootstrapGlobal,message,invocationArgv,commandName){try{const pmRoot=resolvePmRoot(process.cwd(),bootstrapGlobal.path);if(!await pathExists(getSettingsPath(pmRoot)))return{allowedTypes:BUILTIN_TYPE_HELP_VALUES};const settings=await readSettings(pmRoot),extensionRegistrations=bootstrapGlobal.noExtensions?void 0:getActiveExtensionRegistrations(),typeRegistry=resolveItemTypeRegistry(settings,extensionRegistrations);let verifiedCollectionItemId;if(/too many arguments/i.test(message)&&["comments","docs","files","learnings","notes","test"].includes(commandName??"")){const commandIndex=invocationArgv.findIndex(token=>token===commandName),candidate=invocationArgv[commandIndex+2];if(invocationArgv[commandIndex+1]?.toLowerCase()==="add"&&candidate!==void 0&&!candidate.startsWith("-"))try{verifiedCollectionItemId=(await locateItem(pmRoot,candidate,settings.id_prefix,settings.item_format,typeRegistry.type_to_folder))?.id}catch{}}return{allowedTypes:typeRegistry.types.length>0?typeRegistry.types.join("|"):BUILTIN_TYPE_HELP_VALUES,pmRoot,settings,typeToFolder:typeRegistry.type_to_folder,verifiedCollectionItemId}}catch{return{allowedTypes:BUILTIN_TYPE_HELP_VALUES}}}function resolveUnknownOptionSuggestions(message,commandName){const match=message.match(/unknown option '([^']+)'/i),suggestions=match&&commandName?dedupeStrings([...getSemanticUnknownOptionSuggestions(commandName,match[1]),...suggestNearestLongFlags(match[1],collectKnownLongFlags(commandName))]):void 0,otherCommands=match?findOtherCommandsForFlag(match[1],commandName):[],declaredOnPath=match!==null&&collectKnownLongFlags(commandName).includes(normalizeLongFlag(match[1]));return{match,suggestions,otherCommands,scope:declaredOnPath?"declared_on_path":otherCommands.length>0?"declared_elsewhere":"declared_nowhere"}}function resolveSuggestedRetryForUnknownOption(invocationArgv,unknownOptionMatch,unknownOptionSuggestions){if(!unknownOptionMatch||!unknownOptionSuggestions||unknownOptionSuggestions.length===0)return;const rewritten=rewriteUnknownOptionArgv(invocationArgv,unknownOptionMatch[1],unknownOptionSuggestions[0]);return rewritten?renderAttemptedCommand(rewritten):void 0}function resolveSuggestedRetryForMissingOption(message,invocationArgv){const missingRequiredOption=message.match(/required option '([^']+)' not specified/i),requiredOptionToken=missingRequiredOption?.[1]?trimTrailingPunctuationToken(firstWhitespaceSeparatedToken(missingRequiredOption[1].trim())):void 0;if(!requiredOptionToken?.startsWith("--"))return;const commandName=parseBootstrapCommandName(invocationArgv);if(commandName)return renderMissingOptionRetry(invocationArgv,commandName,[requiredOptionToken])}function resolveSplitSchemaSubcommand(message,invocationArgv){if(!/too many arguments/i.test(message))return;const commandIndex=findBootstrapCommandTokenIndex(invocationArgv),namespaced=findPmNamespacedCommand(invocationArgv.slice(commandIndex));if(namespaced?.alias!=="schema")return;const schemaIndex=commandIndex+namespaced.canonical_argv.length-1,verb=invocationArgv[schemaIndex+1]?.trim().toLowerCase(),noun=invocationArgv[schemaIndex+2]?.trim().toLowerCase();if(!verb||!noun)return;const joined=`${verb}-${noun}`;if(!SCHEMA_SUBCOMMAND_VALUES.includes(joined))return;const rewritten=[...invocationArgv.slice(0,schemaIndex+1),joined,...invocationArgv.slice(schemaIndex+3)];return{unknownSubcommandPath:"schema",unknownSubcommandToken:`${verb} ${noun}`,unknownSubcommandAllowedValues:[...SCHEMA_SUBCOMMAND_VALUES],suggestedRetryCommand:renderAttemptedCommand(rewritten)}}function resolveRecoveryCommandName(message,invocationArgv,rootProgram,extensionDescriptors){const commandIndex=findBootstrapCommandTokenIndex(invocationArgv),inferred=findPmNamespacedCommand(invocationArgv.slice(commandIndex))?.alias??parseBootstrapCommandName(invocationArgv);if(!/unknown option /i.test(message)||inferred===void 0)return inferred;const canonical=resolvePmCommandAlias(inferred)?.canonical??inferred;return PM_CORE_COMMAND_NAMES.some(name=>name===inferred)||collectRuntimeCommandPaths(rootProgram,extensionDescriptors).includes(canonical)?inferred:void 0}async function resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides={}){const message=(typeof error=="object"&&error!==null?error.message:void 0)??"Invalid command usage",invocationArgv=normalizeBootstrapInvocation(process.argv.slice(2)).argv,bootstrapGlobal=parseBootstrapGlobalOptions(invocationArgv),commandName=resolveRecoveryCommandName(message,invocationArgv,rootProgram,extensionDescriptors),attemptedCommand=renderAttemptedCommand(invocationArgv),providedOptionFlags=extractProvidedOptionFlags(invocationArgv),workspaceUsage=await resolveWorkspaceUsageContext(bootstrapGlobal,message,invocationArgv,commandName),allowedTypes=workspaceUsage.allowedTypes,unknownCommandGuidance=buildUnknownCommandGuidanceFromRuntime(message,rootProgram,extensionDescriptors),unknownOption=resolveUnknownOptionSuggestions(message,commandName),splitSchemaSubcommand=resolveSplitSchemaSubcommand(message,invocationArgv),suggestedRetryCommand=splitSchemaSubcommand?.suggestedRetryCommand??resolveSuggestedRetryForUnknownOption(invocationArgv,unknownOption.match,unknownOption.suggestions)??resolveSuggestedRetryForMissingOption(message,invocationArgv);return{message,commandName,allowedTypes,attemptedCommand,normalizedInvocationArgs:[...invocationArgv],providedOptionFlags,unknownOptionSuggestions:unknownOption.suggestions,unknownOptionOtherCommands:unknownOption.otherCommands.length>0?unknownOption.otherCommands.slice(0,12):void 0,unknownOptionOtherCommandsTotal:unknownOption.otherCommands.length>0?unknownOption.otherCommands.length:void 0,unknownOptionOtherCommandsTruncated:unknownOption.otherCommands.length>12||void 0,unknownOptionScope:unknownOption.scope,suggestedRetryCommand,verifiedCollectionItemId:workspaceUsage.verifiedCollectionItemId,...splitSchemaSubcommand,...unknownCommandGuidance,...guidanceOverrides}}async function formatCommanderUsageMessage(error,rootProgram,extensionDescriptors,guidanceOverrides={}){const usageContext=await resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides),{message,commandName,allowedTypes,unknownCommandExamples,unknownCommandNextSteps,attemptedCommand,normalizedInvocationArgs,providedOptionFlags,unknownOptionSuggestions,unknownOptionOtherCommands,unknownOptionOtherCommandsTotal,unknownOptionOtherCommandsTruncated,unknownOptionScope,unknownSubcommandPath,unknownSubcommandToken,unknownSubcommandAllowedValues,suggestedRetryCommand,verifiedCollectionItemId,failedExtensions}=usageContext,formatted=formatCommanderErrorForDisplay(message,commandName,allowedTypes,{unknownCommandExamples,unknownCommandNextSteps,attemptedCommand,normalizedInvocationArgs,providedOptionFlags,unknownOptionSuggestions,unknownOptionOtherCommands,unknownOptionOtherCommandsTotal,unknownOptionOtherCommandsTruncated,unknownOptionScope,unknownSubcommandPath,unknownSubcommandToken,unknownSubcommandAllowedValues,suggestedRetryCommand,verifiedCollectionItemId,failedExtensions}),serviceOverride=await runActiveServiceOverride("help_format",{message:formatted,command:commandName,allowed_types:allowedTypes});return serviceOverride.handled&&typeof serviceOverride.result=="string"?serviceOverride.result:formatted}async function formatCommanderUsageJson(error,rootProgram,extensionDescriptors,lean=!1,guidanceOverrides={}){const usageContext=await resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides),envelope=formatCommanderErrorForJson(usageContext.message,usageContext.commandName,usageContext.allowedTypes,EXIT_CODE.USAGE,{unknownCommandExamples:usageContext.unknownCommandExamples,unknownCommandNextSteps:usageContext.unknownCommandNextSteps,attemptedCommand:usageContext.attemptedCommand,normalizedInvocationArgs:usageContext.normalizedInvocationArgs,providedOptionFlags:usageContext.providedOptionFlags,unknownOptionSuggestions:usageContext.unknownOptionSuggestions,unknownOptionOtherCommands:usageContext.unknownOptionOtherCommands,unknownOptionOtherCommandsTotal:usageContext.unknownOptionOtherCommandsTotal,unknownOptionOtherCommandsTruncated:usageContext.unknownOptionOtherCommandsTruncated,unknownOptionScope:usageContext.unknownOptionScope,unknownSubcommandPath:usageContext.unknownSubcommandPath,unknownSubcommandToken:usageContext.unknownSubcommandToken,unknownSubcommandAllowedValues:usageContext.unknownSubcommandAllowedValues,suggestedRetryCommand:usageContext.suggestedRetryCommand,verifiedCollectionItemId:usageContext.verifiedCollectionItemId,failedExtensions:usageContext.failedExtensions}),projected=lean?projectLeanErrorEnvelope(envelope):envelope,accountingRequested=parseBootstrapGlobalOptions(usageContext.normalizedInvocationArgs).tokenAccounting===!0;return JSON.stringify(accountingRequested?attachOutputTokenAccounting(projected,value=>`${JSON.stringify(value,null,2)}
|
|
13
|
+
${details}`}function resolveUnknownCommanderToken(invocationArgv){return parseBootstrapHelpRequest(invocationArgv).commandPathTokens[0]??parseBootstrapCommandName(invocationArgv)??"<command>"}function collectRuntimeCommandPaths(root,extensionDescriptors){const commandPaths=new Set,queue=[...root.commands];for(;queue.length>0;){const current=queue.shift();if(!current)continue;const normalizedPath=normalizeHelpCommandPath(getCommandPath(current)),hasInternalSegment=normalizedPath.split(" ").some(segment=>segment.startsWith("_"));normalizedPath.length>0&&!hasInternalSegment&&commandPaths.add(normalizedPath),queue.push(...current.commands)}for(const descriptorPath of extensionDescriptors.keys()){const normalizedPath=normalizeHelpCommandPath(descriptorPath),hasInternalSegment=normalizedPath.split(" ").some(segment=>segment.startsWith("_"));normalizedPath.length>0&&!hasInternalSegment&&commandPaths.add(normalizedPath)}return[...commandPaths].sort((left,right)=>left.localeCompare(right))}function scoreCommandPathMatch(commandPath,queryToken){const normalizedPath=commandPath.trim().toLowerCase(),normalizedToken=queryToken.trim().toLowerCase();if(normalizedToken.length===0)return Number.POSITIVE_INFINITY;const pathSegments=normalizedPath.split(" ");if(normalizedPath===normalizedToken)return 0;if(pathSegments.includes(normalizedToken))return 1;if(pathSegments.some(segment=>segment.startsWith(normalizedToken)))return 2;if(normalizedPath.includes(normalizedToken))return 3;const maxDistance=normalizedToken.length>=5?2:1;let bestDistance=Number.POSITIVE_INFINITY;for(const segment of pathSegments){const distance=levenshteinDistanceWithinLimit(segment,normalizedToken,maxDistance);distance!==null&&(bestDistance=Math.min(bestDistance,distance))}return Number.isFinite(bestDistance)?4+bestDistance:Number.POSITIVE_INFINITY}function toComparableFlag(flag){return normalizeLongFlag(flag).slice(2).replace(/-/g,"")}function renderAttemptedCommand(argv){return renderPmCommand(argv)}function resolveOptionalPackageInstallHint(commandPath){const canonicalPath=resolvePmCommandAlias(commandPath)?.canonical??EXECUTABLE_COMMAND_ALIASES[commandPath]??commandPath,topLevel=canonicalPath.split(" ")[0]?.trim().toLowerCase();if(!topLevel)return null;const packageAlias=OPTIONAL_PACKAGE_INSTALL_HINTS[topLevel];return packageAlias?{packageAlias,canonicalPath,installCommand:`pm package install ${packageAlias} --project`}:null}function normalizePackageCommandAliasToken(value){let normalized=normalizeExtensionNameForMatch(value);for(const prefix of["@unbrained/","builtin-","pm-"])normalized.startsWith(prefix)&&(normalized=normalized.slice(prefix.length));return normalized}function collectInstalledPackageCommandPathHints(unknownToken,extensionDescriptors){const normalizedUnknown=normalizePackageCommandAliasToken(unknownToken);if(normalizedUnknown.length===0)return[];const hints=[];for(const descriptor of extensionDescriptors.values()){const identifiers=new Set,source=descriptor.source;if(source)for(const identifier of[source.name,source.package]){const normalizedIdentifier=normalizePackageCommandAliasToken(identifier??"");normalizedIdentifier.length>0&&identifiers.add(normalizedIdentifier)}identifiers.size!==0&&[...identifiers].some(identifier=>identifier===normalizedUnknown||identifier.includes(normalizedUnknown)||normalizedUnknown.includes(identifier))&&hints.push(descriptor.command)}return[...new Set(hints)].sort((left,right)=>left.localeCompare(right))}function collectKnownLongFlags(commandName,contractsOverride){const flags=new Set,contracts=contractsOverride??resolveSubcommandFlagContractsForCommand(commandName);for(const contract of contracts){contract.flag.startsWith("--")&&flags.add(normalizeLongFlag(contract.flag));for(const alias of contract.aliases??[])alias.startsWith("--")&&flags.add(normalizeLongFlag(alias))}return[...flags].sort((left,right)=>left.localeCompare(right))}function suggestNearestLongFlags(unknownOption,knownFlags){if(!unknownOption.startsWith("--"))return[];const unknownComparable=toComparableFlag(unknownOption);if(unknownComparable.length===0)return[];const maxDistance=unknownComparable.length>=8?2:1,candidates=[];for(const flag of knownFlags){const flagComparable=toComparableFlag(flag);if(flagComparable===unknownComparable)continue;if(unknownComparable.length>=3&&flagComparable.startsWith(unknownComparable)){candidates.push({flag,rank:0,distance:flagComparable.length-unknownComparable.length});continue}const distance=levenshteinDistanceWithinLimit(unknownComparable,flagComparable,maxDistance);distance===null||distance<=0||candidates.push({flag,rank:1,distance})}return candidates.sort((left,right)=>left.rank!==right.rank?left.rank-right.rank:left.distance!==right.distance?left.distance-right.distance:left.flag.localeCompare(right.flag)).map(entry=>entry.flag).slice(0,3)}let crossCommandFlagIndexCache;const CROSS_COMMAND_FLAG_EXCLUSIONS=new Set(["ctx","packages","list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled","start-task","pause-task","close-task","help"]);function getCrossCommandFlagIndex(){if(crossCommandFlagIndexCache)return crossCommandFlagIndexCache;const index=new Map;for(const command of PM_CORE_COMMAND_NAMES)if(!CROSS_COMMAND_FLAG_EXCLUSIONS.has(command))for(const flag of collectKnownLongFlags(command)){const commands=index.get(flag)??[];commands.push(command),index.set(flag,commands)}return crossCommandFlagIndexCache=index,crossCommandFlagIndexCache}function findOtherCommandsForFlag(unknownOption,currentCommand){if(!unknownOption.startsWith("--"))return[];const commands=getCrossCommandFlagIndex().get(normalizeLongFlag(unknownOption));if(!commands)return[];const normalizedCurrent=currentCommand?.trim().toLowerCase(),currentFlags=new Set(collectKnownLongFlags(normalizedCurrent));return[...new Set(commands.filter(command=>command!==normalizedCurrent).map(command=>({command,sharedFlagCount:collectKnownLongFlags(command).filter(flag=>currentFlags.has(flag)).length})).sort((left,right)=>left.sharedFlagCount!==right.sharedFlagCount?right.sharedFlagCount-left.sharedFlagCount:left.command.localeCompare(right.command)).map(({command})=>resolvePmCommandAlias(command)?.canonical??command))]}function rewriteUnknownOptionArgv(argv,unknownOption,replacementFlag){for(let index=0;index<argv.length;index+=1){const token=argv[index];if(!token.startsWith("--"))continue;const equalsIndex=token.indexOf("="),key=equalsIndex>=0?token.slice(0,equalsIndex):token;if(normalizeLongFlag(key)!==normalizeLongFlag(unknownOption))continue;const next=[...argv];return next[index]=equalsIndex>=0?`${replacementFlag}${token.slice(equalsIndex)}`:replacementFlag,next}}function scoreRuntimeCommandCandidates(params){const commandPathSet=new Set(params.commandPaths),scoreAgainstUnknown=candidatePath=>Math.min(scoreCommandPathMatch(candidatePath,params.normalizedUnknown),params.primaryToken!==params.normalizedUnknown?scoreCommandPathMatch(candidatePath,params.primaryToken):Number.POSITIVE_INFINITY),scoresByCommandPath=new Map,recordCandidateScore=(commandPath,score)=>{if(!Number.isFinite(score)||!commandPathSet.has(commandPath))return;const existing=scoresByCommandPath.get(commandPath);(existing===void 0||score<existing)&&scoresByCommandPath.set(commandPath,score)};for(const commandPath of params.commandPaths)recordCandidateScore(commandPath,scoreAgainstUnknown(commandPath));for(const[aliasToken,canonicalPath]of Object.entries(EXECUTABLE_COMMAND_ALIASES))aliasToken!=="read"&&recordCandidateScore(canonicalPath,scoreAgainstUnknown(aliasToken));return[...scoresByCommandPath.entries()].sort(([leftPath,leftScore],[rightPath,rightScore])=>leftScore!==rightScore?leftScore-rightScore:leftPath.localeCompare(rightPath)).map(([commandPath])=>commandPath)}function resolveUnknownCommandCandidates(params){const exactAlias=resolvePmCommandAlias(params.normalizedUnknown),semanticCandidates=rankCommandPaths(params.commandPaths,params.primaryToken),rankedCandidates=scoreRuntimeCommandCandidates(params),installedPackageCandidates=collectInstalledPackageCommandPathHints(params.primaryToken,params.extensionDescriptors).filter(commandPath=>params.commandPaths.includes(commandPath));return canonicalizeCommandSuggestions([...exactAlias&¶ms.commandPaths.includes(exactAlias.canonical)?[exactAlias.canonical_argv.join(" ")]:[],...semanticCandidates,...rankedCandidates,...installedPackageCandidates],params.commandPaths,params.primaryToken).filter(path=>!params.normalizedUnknown.includes(" ")||path!==params.normalizedUnknown)}function resolveUnknownCommandFallbacks(commandPaths){return[...new Set(commandPaths.map(commandPath=>commandPath.split(" ")[0]).filter(segment=>segment.length>0))].sort((left,right)=>left.localeCompare(right))}function buildUnknownCommandExamples(suggestedPaths,hasConcreteCandidates){const suggestedExamples=suggestedPaths.map(path=>`pm ${path} --help`);return hasConcreteCandidates?[...new Set([...suggestedExamples,"pm --help --all"])]:[...new Set(["pm --help --all",...suggestedExamples])]}function resolveUnknownCommandPath(token,invocationArgv,commandPaths){let commandIndex=findBootstrapCommandTokenIndex([...invocationArgv]);const path=[];for(;commandIndex!==void 0;){if(path.push(invocationArgv[commandIndex]),invocationArgv[commandIndex]===token)return path.join(" ");if(!commandPaths.includes(path.join(" ")))return token;const offset=findBootstrapCommandTokenIndex(invocationArgv.slice(commandIndex+1));commandIndex=offset===void 0?void 0:commandIndex+1+offset}return token}function buildCanonicalHelpRetryArgs(canonicalPath,invocationArgv){if(!canonicalPath)return;const bootstrapGlobal=parseBootstrapGlobalOptions([...invocationArgv]);return[...bootstrapGlobal.path?["--pm-path",resolvePmRoot(process.cwd(),bootstrapGlobal.path)]:[],...bootstrapGlobal.noExtensions?["--no-extensions"]:[],...canonicalPath.split(" "),"--help"]}function buildUnknownCommandGuidanceFromRuntime(rawMessage,root,extensionDescriptors,invocationArgv=[]){const unknownCommandMatch=rawMessage.match(/unknown command '([^']+)'/i);if(!unknownCommandMatch||typeof unknownCommandMatch[1]!="string")return;const commandPaths=collectRuntimeCommandPaths(root,extensionDescriptors),unknownPath=resolveUnknownCommandPath(unknownCommandMatch[1],invocationArgv,commandPaths),normalizedUnknown=normalizeHelpCommandPath(unknownPath);if(normalizedUnknown.length===0||commandPaths.length===0)return;const optionalPackageHint=resolveOptionalPackageInstallHint(normalizedUnknown);if(optionalPackageHint&&!commandPaths.includes(optionalPackageHint.canonicalPath.split(" ")[0]))return{unknownCommandExamples:[optionalPackageHint.installCommand,`pm ${optionalPackageHint.canonicalPath} --help`,"pm --help --all"],unknownCommandNextSteps:[`"${normalizedUnknown}" is provided by the "${optionalPackageHint.packageAlias}" package. Install it with: ${optionalPackageHint.installCommand}. Command after installation: pm ${optionalPackageHint.canonicalPath}.`],suggestedRetryCommand:optionalPackageHint.installCommand};const primaryToken=normalizedUnknown.split(" ")[0],combinedCandidates=resolveUnknownCommandCandidates({commandPaths,normalizedUnknown,primaryToken,extensionDescriptors}),fallbackTopLevel=resolveUnknownCommandFallbacks(commandPaths),misnestedPath=resolveMisnestedCommandPath(normalizedUnknown,commandPaths),retryArgs=buildCanonicalHelpRetryArgs(misnestedPath,invocationArgv),suggestedPaths=[...new Set([...misnestedPath?[misnestedPath]:[],...combinedCandidates.length>0?combinedCandidates:canonicalizeCommandSuggestions(fallbackTopLevel,commandPaths)])].slice(0,3),examples=buildUnknownCommandExamples(suggestedPaths,combinedCandidates.length>0),didYouMean=combinedCandidates.length>0?`Did you mean: ${suggestedPaths.join(", ")}?`:null;return{...retryArgs?{suggestedRetryCommand:renderPmCommand(retryArgs),suggestedRetryArgs:retryArgs}:{},unknownCommandExamples:retryArgs?[renderPmCommand(retryArgs),...examples.slice(1)]:examples,unknownCommandNextSteps:[...didYouMean?[didYouMean]:[],'Run "pm --help --all" to list every command available in this runtime, including active extensions.',...didYouMean?["Use one of the suggested command paths above with --help to inspect valid flags and usage."]:[]]}}function dedupeStrings(values){return Array.from(new Set(values))}function firstWhitespaceSeparatedToken(input){let token="";for(const character of input){if(character===" "||character===" "||character===`
|
|
14
|
+
`||character==="\r"||character==="\f"||character==="\v")break;token+=character}return token}function trimTrailingPunctuationToken(token){let end=token.length;for(;end>0;){const character=token[end-1];if(character!==","&&character!==":"&&character!==";")break;end-=1}return token.slice(0,end)}function resolveChildCommandByToken(parent,token){const normalizedToken=token.trim().toLowerCase();return parent.commands.find(candidate=>candidate.name().trim().toLowerCase()===normalizedToken?!0:(typeof candidate.aliases=="function"?candidate.aliases():[]).some(alias=>alias.trim().toLowerCase()===normalizedToken))}function isKnownHelpCommandPath(root,commandPathTokens){if(commandPathTokens.length===0)return!0;let current=root;for(const[tokenIndex,token]of commandPathTokens.entries()){const next=resolveChildCommandByToken(current,token);if(!next){const declaredArguments=current.registeredArguments;return declaredArguments.length>0&&(current.commands.length===0||declaredArguments[0]?.required===!0)&&(declaredArguments.at(-1)?.variadic===!0||commandPathTokens.length-tokenIndex<=declaredArguments.length)}current=next}return!0}async function resolveWorkspaceUsageContext(bootstrapGlobal,message,invocationArgv,commandName){try{const pmRoot=resolvePmRoot(process.cwd(),bootstrapGlobal.path);if(!await pathExists(getSettingsPath(pmRoot)))return{allowedTypes:BUILTIN_TYPE_HELP_VALUES};const settings=await readSettings(pmRoot),extensionRegistrations=bootstrapGlobal.noExtensions?void 0:getActiveExtensionRegistrations(),typeRegistry=resolveItemTypeRegistry(settings,extensionRegistrations);let verifiedCollectionItemId;if(/too many arguments/i.test(message)&&["comments","docs","files","learnings","notes","test"].includes(commandName??"")){const commandIndex=invocationArgv.findIndex(token=>token===commandName),candidate=invocationArgv[commandIndex+2];if(invocationArgv[commandIndex+1]?.toLowerCase()==="add"&&candidate!==void 0&&!candidate.startsWith("-"))try{verifiedCollectionItemId=(await locateItem(pmRoot,candidate,settings.id_prefix,settings.item_format,typeRegistry.type_to_folder))?.id}catch{}}return{allowedTypes:typeRegistry.types.length>0?typeRegistry.types.join("|"):BUILTIN_TYPE_HELP_VALUES,pmRoot,settings,typeToFolder:typeRegistry.type_to_folder,verifiedCollectionItemId}}catch{return{allowedTypes:BUILTIN_TYPE_HELP_VALUES}}}function resolveUnknownOptionSuggestions(message,commandName){const match=message.match(/unknown option '([^']+)'/i),suggestions=match&&commandName?dedupeStrings([...getSemanticUnknownOptionSuggestions(commandName,match[1]),...suggestNearestLongFlags(match[1],collectKnownLongFlags(commandName))]).filter(candidate=>isCompatibleRecoveryFlag(match[1],candidate)):void 0,otherCommands=match?findOtherCommandsForFlag(match[1],commandName):[],declaredOnPath=match!==null&&collectKnownLongFlags(commandName).includes(normalizeLongFlag(match[1]));return{match,suggestions,otherCommands,scope:declaredOnPath?"declared_on_path":otherCommands.length>0?"declared_elsewhere":"declared_nowhere"}}function resolveSuggestedRetryForUnknownOption(invocationArgv,unknownOptionMatch,unknownOptionSuggestions){if(!unknownOptionMatch||!unknownOptionSuggestions||unknownOptionSuggestions.length===0)return;const rewritten=rewriteUnknownOptionArgv(invocationArgv,unknownOptionMatch[1],unknownOptionSuggestions[0]);return rewritten?renderAttemptedCommand(rewritten):void 0}function resolveSuggestedRetryForMissingOption(message,invocationArgv){const missingRequiredOption=message.match(/required option '([^']+)' not specified/i),requiredOptionToken=missingRequiredOption?.[1]?trimTrailingPunctuationToken(firstWhitespaceSeparatedToken(missingRequiredOption[1].trim())):void 0;if(!requiredOptionToken?.startsWith("--"))return;const commandName=parseBootstrapCommandName(invocationArgv);if(commandName)return renderMissingOptionRetry(invocationArgv,commandName,[requiredOptionToken])}function resolveSplitSchemaSubcommand(message,invocationArgv){if(!/too many arguments/i.test(message))return;const commandIndex=findBootstrapCommandTokenIndex(invocationArgv),namespaced=findPmNamespacedCommand(invocationArgv.slice(commandIndex));if(namespaced?.alias!=="schema")return;const schemaIndex=commandIndex+namespaced.canonical_argv.length-1,verb=invocationArgv[schemaIndex+1]?.trim().toLowerCase(),noun=invocationArgv[schemaIndex+2]?.trim().toLowerCase();if(!verb||!noun)return;const joined=`${verb}-${noun}`;if(!SCHEMA_SUBCOMMAND_VALUES.includes(joined))return;const rewritten=[...invocationArgv.slice(0,schemaIndex+1),joined,...invocationArgv.slice(schemaIndex+3)];return{unknownSubcommandPath:"schema",unknownSubcommandToken:`${verb} ${noun}`,unknownSubcommandAllowedValues:[...SCHEMA_SUBCOMMAND_VALUES],suggestedRetryCommand:renderAttemptedCommand(rewritten)}}function resolveRecoveryCommandName(message,invocationArgv,rootProgram,extensionDescriptors){const commandIndex=findBootstrapCommandTokenIndex(invocationArgv),inferred=findPmNamespacedCommand(invocationArgv.slice(commandIndex))?.alias??parseBootstrapCommandName(invocationArgv);if(!/unknown option /i.test(message)||inferred===void 0)return inferred;const canonical=resolvePmCommandAlias(inferred)?.canonical??inferred;return PM_CORE_COMMAND_NAMES.some(name=>name===inferred)||collectRuntimeCommandPaths(rootProgram,extensionDescriptors).includes(canonical)?inferred:void 0}async function resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides={},invocationArgs=process.argv.slice(2)){const message=(typeof error=="object"&&error!==null?error.message:void 0)??"Invalid command usage",invocationArgv=normalizeBootstrapInvocation([...invocationArgs]).argv,bootstrapGlobal=parseBootstrapGlobalOptions(invocationArgv),commandName=resolveRecoveryCommandName(message,invocationArgv,rootProgram,extensionDescriptors),attemptedCommand=renderAttemptedCommand(invocationArgv),providedOptionFlags=extractProvidedOptionFlags(invocationArgv),workspaceUsage=await resolveWorkspaceUsageContext(bootstrapGlobal,message,invocationArgv,commandName),allowedTypes=workspaceUsage.allowedTypes,unknownCommandGuidance=buildUnknownCommandGuidanceFromRuntime(message,rootProgram,extensionDescriptors,invocationArgv),unknownOption=resolveUnknownOptionSuggestions(message,commandName),splitSchemaSubcommand=resolveSplitSchemaSubcommand(message,invocationArgv),suggestedRetryCommand=splitSchemaSubcommand?.suggestedRetryCommand??resolveSuggestedRetryForUnknownOption(invocationArgv,unknownOption.match,unknownOption.suggestions)??resolveSuggestedRetryForMissingOption(message,invocationArgv);return{message,commandName,allowedTypes,attemptedCommand,normalizedInvocationArgs:[...invocationArgv],providedOptionFlags,unknownOptionSuggestions:unknownOption.suggestions,unknownOptionOtherCommands:unknownOption.otherCommands.length>0?unknownOption.otherCommands.slice(0,12):void 0,unknownOptionOtherCommandsTotal:unknownOption.otherCommands.length>0?unknownOption.otherCommands.length:void 0,unknownOptionOtherCommandsTruncated:unknownOption.otherCommands.length>12||void 0,unknownOptionScope:unknownOption.scope,suggestedRetryCommand,verifiedCollectionItemId:workspaceUsage.verifiedCollectionItemId,...splitSchemaSubcommand,...unknownCommandGuidance,...guidanceOverrides}}async function formatCommanderUsageMessage(error,rootProgram,extensionDescriptors,guidanceOverrides={},invocationArgs=process.argv.slice(2)){const usageContext=await resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides,invocationArgs),{message,commandName,allowedTypes,...guidance}=usageContext,formatted=formatCommanderErrorForDisplay(message,commandName,allowedTypes,guidance),serviceOverride=await runActiveServiceOverride("help_format",{message:formatted,command:commandName,allowed_types:allowedTypes});return serviceOverride.handled&&typeof serviceOverride.result=="string"?serviceOverride.result:formatted}async function formatCommanderUsageJson(error,rootProgram,extensionDescriptors,lean=!1,guidanceOverrides={},invocationArgs=process.argv.slice(2)){const usageContext=await resolveCommanderUsageContext(error,rootProgram,extensionDescriptors,guidanceOverrides,invocationArgs),envelope=formatCommanderErrorForJson(usageContext.message,usageContext.commandName,usageContext.allowedTypes,EXIT_CODE.USAGE,usageContext),projected=lean?projectLeanErrorEnvelope(envelope):envelope,accountingRequested=parseBootstrapGlobalOptions(usageContext.normalizedInvocationArgs).tokenAccounting===!0;return JSON.stringify(accountingRequested?attachOutputTokenAccounting(projected,value=>`${JSON.stringify(value,null,2)}
|
|
15
15
|
`):projected,null,2)}const _testOnly={collectKnownLongFlags,collectInstalledPackageCommandPathHints,resolveOptionalPackageInstallHint,resolveSuggestedRetryForMissingOption,suggestNearestLongFlags};export{BUILTIN_TYPE_HELP_VALUES,_testOnly,appendCommanderExtensionFailures,buildUnknownCommandGuidanceFromRuntime,collectRuntimeCommandPaths,formatCommanderUsageJson,formatCommanderUsageMessage,isKnownHelpCommandPath,resolveChildCommandByToken,resolveCommanderUsageContext,resolveUnknownCommanderToken,scoreCommandPathMatch};
|
|
16
16
|
//# sourceMappingURL=commander-usage.js.map
|