@unbrained/pm-cli 2026.9.6 → 2026.9.8
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/.agents/skills/pm-developer/SKILL.md +12 -4
- package/.agents/skills/pm-developer/references/MULTI_AGENT_MERGE.md +19 -10
- package/.agents/skills/pm-extensions/SKILL.md +6 -0
- package/.agents/skills/pm-sdk/SKILL.md +11 -2
- package/.agents/skills/pm-user/SKILL.md +5 -0
- package/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +95 -0
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +218 -182
- package/dist/cli/after-command-context-usage.js +1 -48
- package/dist/cli/argv-utils.js +1 -40
- package/dist/cli/bootstrap-args.js +1 -9
- package/dist/cli/bundle-integrity.js +2 -110
- package/dist/cli/commander-usage.js +11 -771
- package/dist/cli/commands/activity.js +1 -9
- package/dist/cli/commands/aggregate.js +1 -5
- package/dist/cli/commands/append.js +1 -5
- package/dist/cli/commands/claim.js +1 -5
- package/dist/cli/commands/close-many.js +1 -5
- package/dist/cli/commands/close.js +1 -9
- package/dist/cli/commands/comments.js +1 -5
- package/dist/cli/commands/config.js +1 -9
- package/dist/cli/commands/context.js +1 -9
- package/dist/cli/commands/contracts.js +1 -5
- package/dist/cli/commands/copy.js +1 -9
- package/dist/cli/commands/create.js +1 -9
- package/dist/cli/commands/delete.js +1 -9
- package/dist/cli/commands/deps.js +1 -9
- package/dist/cli/commands/docs.js +1 -9
- package/dist/cli/commands/duplicates.js +1 -9
- package/dist/cli/commands/eval.js +1 -9
- package/dist/cli/commands/extension/describe.js +1 -5
- package/dist/cli/commands/extension/scaffold.js +1 -5
- package/dist/cli/commands/extension/shared.js +1 -5
- package/dist/cli/commands/extension.js +1 -9
- package/dist/cli/commands/files.js +1 -9
- package/dist/cli/commands/focus.js +1 -9
- package/dist/cli/commands/gc.js +1 -9
- package/dist/cli/commands/get.js +1 -9
- package/dist/cli/commands/graph.js +1 -10
- package/dist/cli/commands/health.js +1 -9
- package/dist/cli/commands/history-compact.js +1 -10
- package/dist/cli/commands/history-redact.js +1 -11
- package/dist/cli/commands/history-repair.js +1 -10
- package/dist/cli/commands/history.js +1 -5
- package/dist/cli/commands/index.js +1 -58
- package/dist/cli/commands/init-agent-guidance.js +1 -9
- package/dist/cli/commands/init.js +1 -9
- package/dist/cli/commands/learnings.js +1 -5
- package/dist/cli/commands/lifecycle-transitions.js +1 -5
- package/dist/cli/commands/list.js +1 -9
- package/dist/cli/commands/merge.js +1 -11
- package/dist/cli/commands/next.js +1 -9
- package/dist/cli/commands/notes.js +1 -5
- package/dist/cli/commands/plan.js +1 -9
- package/dist/cli/commands/profile.js +1 -9
- package/dist/cli/commands/restore.js +1 -9
- package/dist/cli/commands/scheduling-shortcuts.js +1 -9
- package/dist/cli/commands/schema.js +1 -10
- package/dist/cli/commands/search.js +1 -9
- package/dist/cli/commands/stats.js +1 -9
- package/dist/cli/commands/telemetry.js +1 -9
- package/dist/cli/commands/test-all.js +1 -9
- package/dist/cli/commands/test-runs.js +1 -9
- package/dist/cli/commands/test.js +1 -9
- package/dist/cli/commands/update-many.js +1 -5
- package/dist/cli/commands/update.js +1 -9
- package/dist/cli/commands/upgrade.js +1 -5
- package/dist/cli/commands/validate.js +1 -15
- package/dist/cli/context-intent-invocation.js +1 -20
- package/dist/cli/description-stdin.js +1 -17
- package/dist/cli/error-guidance.js +1 -1353
- package/dist/cli/extension-command-help.js +5 -636
- package/dist/cli/extension-command-options.js +1 -427
- package/dist/cli/extension-recovery.js +1 -126
- package/dist/cli/help-content.js +2 -1001
- package/dist/cli/help-json-payload.js +4 -570
- package/dist/cli/main.d.ts +4 -0
- package/dist/cli/main.js +5 -2573
- package/dist/cli/migration-gates.js +1 -289
- package/dist/cli/public.js +1 -20
- package/dist/cli/register-annotations.js +1 -270
- package/dist/cli/register-assurance.js +1 -62
- package/dist/cli/register-files-lookup.js +1 -56
- package/dist/cli/register-history-activity.d.ts +8 -0
- package/dist/cli/register-history-activity.js +2 -0
- package/dist/cli/register-history-author.js +1 -38
- package/dist/cli/register-history-maintenance.d.ts +9 -0
- package/dist/cli/register-history-maintenance.js +2 -0
- package/dist/cli/register-list-query.js +10 -943
- package/dist/cli/register-mutation-options.js +1 -9
- package/dist/cli/register-mutation.js +19 -1893
- package/dist/cli/register-operations.js +1 -920
- package/dist/cli/register-setup.js +1 -716
- package/dist/cli/register-structured-mutation.js +1 -196
- package/dist/cli/registration-helpers.js +1 -5
- package/dist/cli/runtime-compatibility-boundary.js +4 -42
- package/dist/cli/schema-registration-helpers.js +1 -73
- package/dist/cli/search-refresh.js +1 -13
- package/dist/cli/stats-analytics-json.js +1 -68
- package/dist/cli/telemetry-flush.js +1 -10
- package/dist/cli-bundle/bundle-manifest.json +164 -156
- package/dist/cli-bundle/chunks/chunk-3BZZA6A3.js +5 -0
- package/dist/cli-bundle/chunks/chunk-AMRDVX36.js +235 -0
- package/dist/cli-bundle/chunks/chunk-DAM4CBBR.js +2202 -0
- package/dist/cli-bundle/chunks/{chunk-WYRZZ5ZE.js → chunk-DEZPZOQ7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-FLDWYEND.js +77 -0
- package/dist/cli-bundle/chunks/{chunk-NPN5I67J.js → chunk-G5ADGQ2D.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-JAAEYHUA.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-JX4DH4WC.js → chunk-KR3RP4FH.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-LEZOUXG6.js +2 -0
- package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +2 -0
- package/dist/cli-bundle/chunks/chunk-QOEKOECV.js +29 -0
- package/dist/cli-bundle/chunks/chunk-RHSFOMHU.js +2 -0
- package/dist/cli-bundle/chunks/chunk-XOD2PCB6.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-JT6XF6GE.js → chunk-YVEQ2AMO.js} +4 -4
- package/dist/cli-bundle/chunks/register-list-query-KSK3R63M.js +11 -0
- package/dist/cli-bundle/chunks/register-mutation-IQ5C7U6O.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-I5W3KMGB.js → register-operations-DWVHR2NC.js} +2 -2
- package/dist/cli-bundle/chunks/register-setup-BQ5SVD4B.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-3WRPWLA7.js +3 -0
- package/dist/cli-bundle/focused-chunks/chunk-7MBUII7U.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-COPBO5HW.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-DUN4IXYN.js +20 -0
- package/dist/cli-bundle/focused-chunks/{chunk-LIJIA4TY.js → chunk-EE5QSM4Z.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-HJVARYM3.js +6 -0
- package/dist/cli-bundle/focused-chunks/chunk-IAUOUGVR.js +177 -0
- package/dist/cli-bundle/focused-chunks/chunk-KOOMJ54F.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-MZDXX7JY.js +56 -0
- package/dist/cli-bundle/focused-chunks/{chunk-M6PBRFSH.js → chunk-OPFHFGDD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-QHNETP77.js +9 -0
- package/dist/cli-bundle/focused-chunks/{chunk-3BZEOXLT.js → chunk-RMWES4M6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-RXT4P5QH.js +10 -0
- package/dist/cli-bundle/focused-chunks/chunk-SDOL6FM2.js +12 -0
- package/dist/cli-bundle/focused-chunks/chunk-SQV4AAUC.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-PEFABF7E.js → chunk-WE3IUNIW.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-YALOUBWJ.js +2 -0
- package/dist/cli-bundle/main.js +20 -20
- 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 +29 -29
- 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 +42 -42
- 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 +11 -11
- package/dist/cli.js +1 -104
- package/dist/core/checkpoint/checkpoint-gc.js +1 -169
- package/dist/core/checkpoint/mutation-checkpoint.js +2 -133
- package/dist/core/config/nested-settings.js +1 -534
- package/dist/core/config/positional-value.js +1 -109
- package/dist/core/diagnostics/remediation.js +1 -506
- package/dist/core/extensions/activation-summary-markdown.js +2 -145
- package/dist/core/extensions/activation-summary.js +1 -92
- package/dist/core/extensions/activation-transaction.js +1 -46
- package/dist/core/extensions/capability-usage.js +1 -173
- package/dist/core/extensions/command-hook-context.js +1 -13
- package/dist/core/extensions/command-metadata-contract.js +1 -22
- package/dist/core/extensions/command-visibility-tier.js +1 -29
- package/dist/core/extensions/contribution-inventory.js +1 -173
- package/dist/core/extensions/exporter-output-contract.js +1 -66
- package/dist/core/extensions/extension-candidate.js +1 -18
- package/dist/core/extensions/extension-capability-aliases.js +1 -158
- package/dist/core/extensions/extension-hook-runtime.js +1 -699
- package/dist/core/extensions/extension-policy.js +1 -599
- package/dist/core/extensions/extension-registries.js +1 -62
- package/dist/core/extensions/extension-runtime-helpers.js +1 -33
- package/dist/core/extensions/extension-types.js +1 -102
- package/dist/core/extensions/flag-definition-validation.js +1 -52
- package/dist/core/extensions/flag-value-types.js +1 -64
- package/dist/core/extensions/index.js +1 -526
- package/dist/core/extensions/item-field-types.js +1 -39
- package/dist/core/extensions/item-fields.js +1 -261
- package/dist/core/extensions/loader.js +1 -2223
- package/dist/core/extensions/manifest-schema.js +1 -69
- package/dist/core/extensions/module-graph-snapshot.js +1 -33
- package/dist/core/extensions/preflight-ownership.js +1 -41
- package/dist/core/extensions/registration-validation.js +1 -82
- package/dist/core/extensions/registration-values.js +1 -209
- package/dist/core/extensions/reserved-host-flags.js +1 -36
- package/dist/core/extensions/runtime-registrations.js +1 -67
- package/dist/core/extensions/service-ownership.js +1 -19
- package/dist/core/extensions/version-compat.js +1 -216
- package/dist/core/fs/fs-utils.js +2 -158
- package/dist/core/fs/host-environment-errors.js +1 -141
- package/dist/core/fs/index.js +1 -9
- package/dist/core/fs/path-utils.js +1 -17
- package/dist/core/governance/content-fields.js +1 -160
- package/dist/core/governance/issue-codes.js +1 -151
- package/dist/core/governance/metadata-coverage.js +1 -358
- package/dist/core/history/drift-cache.js +3 -72
- package/dist/core/history/drift-scan.js +1 -342
- package/dist/core/history/event-classification.js +1 -109
- package/dist/core/history/event-index.js +8 -784
- package/dist/core/history/history-compact-bulk.js +1 -104
- package/dist/core/history/history-diff.js +1 -158
- package/dist/core/history/history-rewrite.d.ts +6 -1
- package/dist/core/history/history-rewrite.js +1 -107
- package/dist/core/history/history-storage-stats.js +1 -102
- package/dist/core/history/history-stream-policy.js +1 -62
- package/dist/core/history/history.js +2 -617
- package/dist/core/history/identity.js +1 -30
- package/dist/core/history/index.js +1 -9
- package/dist/core/history/projection.js +1 -196
- package/dist/core/history/read.d.ts +9 -0
- package/dist/core/history/read.js +1 -57
- package/dist/core/history/replay.js +2 -439
- package/dist/core/history/version-address.js +1 -32
- package/dist/core/history/workspace-history.js +2 -433
- package/dist/core/io/body-file.js +1 -62
- package/dist/core/io/bulk-ids-input.js +1 -112
- package/dist/core/item/actionability.js +1 -327
- package/dist/core/item/dependency-reference.js +1 -20
- package/dist/core/item/id.js +1 -112
- package/dist/core/item/index.js +1 -12
- package/dist/core/item/item-format-version.js +1 -78
- package/dist/core/item/item-format.js +5 -1473
- package/dist/core/item/item-record.js +1 -23
- package/dist/core/item/item-type-definition.js +1 -133
- package/dist/core/item/parent-reference-policy.js +1 -57
- package/dist/core/item/parse.js +2 -603
- package/dist/core/item/plan-lifecycle.js +1 -19
- package/dist/core/item/priority.js +1 -61
- package/dist/core/item/sprint-release-format.js +1 -38
- package/dist/core/item/status-filter.js +1 -115
- package/dist/core/item/status.js +1 -43
- package/dist/core/item/toon-decode.js +1 -29
- package/dist/core/item/type-registry.js +1 -715
- package/dist/core/item/type-synonyms.js +1 -38
- package/dist/core/lock/index.js +1 -9
- package/dist/core/lock/lock-gc.js +1 -240
- package/dist/core/lock/lock.js +3 -590
- package/dist/core/output/mutation-projection.js +1 -217
- package/dist/core/output/output-control.js +1 -25
- package/dist/core/output/output.js +11 -494
- package/dist/core/output/query-summary.js +1 -58
- package/dist/core/output/tabular.js +1 -77
- package/dist/core/packages/manifest.js +1 -244
- package/dist/core/packages/root.js +1 -84
- package/dist/core/profile/profile-describe.js +1 -83
- package/dist/core/profile/profile-lint.js +1 -415
- package/dist/core/profile/profile-plan.js +0 -0
- package/dist/core/profile/profile-presets.js +1 -370
- package/dist/core/reproducibility/context.js +1 -82
- package/dist/core/schema/fields-file.js +2 -288
- package/dist/core/schema/item-types-file.js +2 -296
- package/dist/core/schema/runtime-field-filters.js +1 -49
- package/dist/core/schema/runtime-field-values.js +1 -313
- package/dist/core/schema/runtime-schema.js +2 -826
- package/dist/core/schema/status-defs-file.js +2 -227
- package/dist/core/schema/status-token.js +1 -31
- package/dist/core/schema/type-inference.js +1 -95
- package/dist/core/schema/type-presets.js +1 -87
- package/dist/core/schema/type-workflows.js +1 -104
- package/dist/core/search/background-refresh.js +2 -286
- package/dist/core/search/bm25.js +1 -146
- package/dist/core/search/cache.js +2 -534
- package/dist/core/search/corpus.js +1 -311
- package/dist/core/search/embedding-batches.js +1 -163
- package/dist/core/search/eval.js +1 -225
- package/dist/core/search/http-client.js +1 -75
- package/dist/core/search/providers.js +1 -242
- package/dist/core/search/relevance.js +1 -244
- package/dist/core/search/semantic-defaults.js +1 -199
- package/dist/core/search/staleness.js +1 -30
- package/dist/core/search/vector-stores.js +2 -664
- package/dist/core/search/vectorization-metadata.js +1 -81
- package/dist/core/sentry/helpers.js +1 -272
- package/dist/core/sentry/instrument.js +1 -387
- package/dist/core/session/session-state.js +1 -260
- package/dist/core/shared/agent-session-context.js +1 -133
- package/dist/core/shared/author.js +1 -1172
- package/dist/core/shared/command-types.js +1 -4
- package/dist/core/shared/conflict-markers.js +1 -31
- package/dist/core/shared/constants.js +1 -405
- package/dist/core/shared/errors.js +1 -20
- package/dist/core/shared/html-entity-decode.js +1 -131
- package/dist/core/shared/index.js +1 -12
- package/dist/core/shared/item-metadata-contract.js +1 -89
- package/dist/core/shared/lazy-module.js +1 -16
- package/dist/core/shared/levenshtein.js +1 -61
- package/dist/core/shared/memo.js +1 -19
- package/dist/core/shared/numeric-parsers.js +1 -20
- package/dist/core/shared/option-alias-visibility.js +1 -67
- package/dist/core/shared/primitives.js +1 -127
- package/dist/core/shared/serial-queue.js +1 -79
- package/dist/core/shared/serialization.js +1 -210
- package/dist/core/shared/split-comma-list.js +1 -30
- package/dist/core/shared/text-normalization.js +1 -38
- package/dist/core/shared/time.js +1 -306
- package/dist/core/store/index.js +1 -12
- package/dist/core/store/item-format-migration.js +1 -125
- package/dist/core/store/item-metadata-cache.js +1 -1116
- package/dist/core/store/item-metadata-query-index.js +9 -394
- package/dist/core/store/item-metadata-read-work.js +1 -43
- package/dist/core/store/item-store.js +1 -693
- package/dist/core/store/paths.d.ts +1 -1
- package/dist/core/store/paths.js +1 -214
- package/dist/core/store/settings-read-cache.js +1 -85
- package/dist/core/store/settings-validator.js +1 -421
- package/dist/core/store/settings.js +3 -1309
- package/dist/core/store/tracker-preflight.js +1 -141
- package/dist/core/telemetry/consent.js +5 -108
- package/dist/core/telemetry/observability.js +1 -246
- package/dist/core/telemetry/runtime.js +4 -1988
- package/dist/core/test/background-runs.js +4 -945
- package/dist/core/test/item-test-run-tracking.js +1 -63
- package/dist/core/test/run-selectors.js +1 -120
- package/dist/core/validate/estimate-defaults.js +1 -89
- package/dist/core/validate/fix-planning.js +1 -189
- package/dist/core/validate/linked-artifact-reference.js +1 -36
- package/dist/core/validate/missing-by-type.js +1 -34
- package/dist/core/validate/missing-link-owners.js +1 -95
- package/dist/core/validate/stale-file-classification.js +1 -82
- package/dist/mcp/http-server.js +5 -448
- package/dist/mcp/legacy-adapter.js +1 -77
- package/dist/mcp/runtime-capabilities.js +1 -200
- package/dist/mcp/server.js +4 -1233
- package/dist/mcp/tool-definitions.js +1 -804
- package/dist/sdk/actionability.js +1 -13
- package/dist/sdk/agent/closed-domain-contracts.js +1 -161
- package/dist/sdk/agent/command-recovery.js +1 -59
- package/dist/sdk/agent/command-suggestions.js +1 -66
- package/dist/sdk/agent/create-option-policy.js +1 -31
- package/dist/sdk/agent/identity-config.js +1 -106
- package/dist/sdk/agent/item-addressing.js +1 -207
- package/dist/sdk/agent/refusal-closure-census.js +1 -151
- package/dist/sdk/agent/refusal-closure.js +1 -133
- package/dist/sdk/agent/refusal-corpus-contracts.js +1 -193
- package/dist/sdk/agent/refusal-reachability.js +1 -593
- package/dist/sdk/agent/subcommand-recovery.js +1 -83
- package/dist/sdk/agent/task-transcript-contracts.js +1 -197
- package/dist/sdk/agent/tracker-preflight-contracts.js +1 -126
- package/dist/sdk/agent-capability-contracts.js +1 -428
- package/dist/sdk/agent-session-context.js +1 -9
- package/dist/sdk/annotations.js +1 -448
- package/dist/sdk/author-attribution.js +1 -468
- package/dist/sdk/authoring.js +1 -20
- package/dist/sdk/cli-bootstrap.js +1 -838
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/agent-output-contracts.js +4 -476
- package/dist/sdk/cli-contracts/bootstrap-command-scanner.js +1 -79
- package/dist/sdk/cli-contracts/command-aliases.d.ts +4 -0
- package/dist/sdk/cli-contracts/command-aliases.js +1 -107
- package/dist/sdk/cli-contracts/command-exit-contracts.js +1 -151
- package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1081
- package/dist/sdk/cli-contracts/commander-types.js +1 -159
- package/dist/sdk/cli-contracts/completeness.js +1 -393
- package/dist/sdk/cli-contracts/enum-contracts.js +1 -222
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1947
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -347
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -986
- package/dist/sdk/cli-contracts/registration-helpers.js +7 -990
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +5 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -2090
- package/dist/sdk/cli-contracts/schemas/assurance-definition.js +1 -324
- package/dist/sdk/cli-contracts/string-lists.js +1 -16
- package/dist/sdk/cli-contracts/tool-option-contracts.js +1 -461
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -2167
- package/dist/sdk/cli-contracts/tool-schema.d.ts +3 -1
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1664
- package/dist/sdk/cli-contracts/typed-action-inputs.js +1 -4
- package/dist/sdk/cli-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts.js +1 -17
- package/dist/sdk/cli-program.js +1 -49
- package/dist/sdk/command-line.d.ts +2 -5
- package/dist/sdk/command-line.js +1 -78
- package/dist/sdk/comments.js +1 -133
- package/dist/sdk/compile-cache.js +1 -73
- package/dist/sdk/completion.js +157 -837
- package/dist/sdk/compose.js +1 -1090
- package/dist/sdk/config.js +1 -1204
- package/dist/sdk/context/recency.js +1 -33
- package/dist/sdk/context/semantic-session-attribution.js +1 -82
- package/dist/sdk/context/usage-egress.js +1 -29
- package/dist/sdk/context/usage-ledger.js +3 -185
- package/dist/sdk/context-intent-contracts.js +1 -709
- package/dist/sdk/context-intent-runtime.js +1 -115
- package/dist/sdk/context-packing.js +1 -218
- package/dist/sdk/context-relevance.js +1 -503
- package/dist/sdk/context-signal-store.js +2 -426
- package/dist/sdk/context-usage.js +1 -367
- package/dist/sdk/contracts.js +1 -23
- package/dist/sdk/core-governance.js +1 -14
- package/dist/sdk/core.js +1 -14
- package/dist/sdk/corpus-shape.js +1 -401
- package/dist/sdk/define.js +1 -220
- package/dist/sdk/dependencies.js +1 -718
- package/dist/sdk/dependency-flag-validation.js +1 -156
- package/dist/sdk/dependency-provenance.js +1 -135
- package/dist/sdk/docs.js +1 -14
- package/dist/sdk/duplicates.js +1 -40
- package/dist/sdk/environment/agent-environment.js +1 -466
- package/dist/sdk/environment/host-environment-errors.js +1 -8
- package/dist/sdk/environment/project-runtime-compatibility.js +1 -481
- package/dist/sdk/environment/source-context.js +1 -28
- package/dist/sdk/environment/tracker-preflight.js +1 -9
- package/dist/sdk/error-code-catalog.js +1 -153
- package/dist/sdk/error-runtime.js +1 -58
- package/dist/sdk/errors.js +1 -58
- package/dist/sdk/eval.js +1 -190
- package/dist/sdk/extension/author-manifest.js +1 -92
- package/dist/sdk/extension/bundled-catalog.js +1 -332
- package/dist/sdk/extension/concurrency.js +1 -25
- package/dist/sdk/extension/copy-scope.d.ts +2 -0
- package/dist/sdk/extension/copy-scope.js +2 -0
- package/dist/sdk/extension/custom-field-collisions.js +1 -30
- package/dist/sdk/extension/describe.js +3 -189
- package/dist/sdk/extension/doctor.js +1 -606
- package/dist/sdk/extension/install-plan.d.ts +69 -0
- package/dist/sdk/extension/install-plan.js +2 -0
- package/dist/sdk/extension/install-receipts.d.ts +7 -0
- package/dist/sdk/extension/install-receipts.js +2 -0
- package/dist/sdk/extension/install-runtime.js +3 -313
- package/dist/sdk/extension/install-snapshot.js +1 -66
- package/dist/sdk/extension/install-sources.js +5 -1057
- package/dist/sdk/extension/managed-state.js +2 -252
- package/dist/sdk/extension/migrations.js +2 -174
- package/dist/sdk/extension/output-ownership.js +1 -25
- package/dist/sdk/extension/runtime-summary.js +1 -18
- package/dist/sdk/extension/scaffold.js +4 -2308
- package/dist/sdk/extension/shared.js +1 -147
- package/dist/sdk/extension/source-resolution.js +1 -65
- package/dist/sdk/extension/update-check.js +1 -67
- package/dist/sdk/extension-command-context.js +1 -44
- package/dist/sdk/extension-contracts.js +1 -73
- package/dist/sdk/extension.d.ts +7 -2
- package/dist/sdk/extension.js +1 -2196
- package/dist/sdk/files.js +1 -535
- package/dist/sdk/flag-invocation-contracts.d.ts +0 -5
- package/dist/sdk/flag-invocation-contracts.js +1 -344
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -2224
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -2236
- package/dist/sdk/generated-error-code-catalog.js +1 -16
- package/dist/sdk/governance/assurance-action-contracts.js +1 -4
- package/dist/sdk/governance/assurance-action.js +1 -411
- package/dist/sdk/governance/assurance-limits.js +1 -10
- package/dist/sdk/governance/assurance-mutation-error.js +1 -81
- package/dist/sdk/governance/assurance-presets.js +1 -135
- package/dist/sdk/governance/assurance-runtime.js +1 -238
- package/dist/sdk/governance/assurance.js +4 -1182
- package/dist/sdk/governance/boundary-fixtures.js +1 -200
- package/dist/sdk/governance/coverage-assurance.js +1 -60
- package/dist/sdk/governance/defect-recurrence-coverage.js +1 -188
- package/dist/sdk/governance/defect-recurrence-graph.js +1 -120
- package/dist/sdk/governance/defect-recurrence-signals.js +1 -24
- package/dist/sdk/governance/defect-recurrence.js +1 -623
- package/dist/sdk/governance/extension-host-version.js +1 -115
- package/dist/sdk/governance/gc.js +1 -368
- package/dist/sdk/governance/health.js +1 -2367
- package/dist/sdk/governance/hierarchy-validation.js +1 -108
- package/dist/sdk/governance/linked-file-report.js +1 -71
- package/dist/sdk/governance/merge-receipt-history.js +1 -206
- package/dist/sdk/governance/provenance-health.js +1 -282
- package/dist/sdk/governance/reindex.js +4 -761
- package/dist/sdk/governance/stale-work.js +1 -82
- package/dist/sdk/governance/status-role-diagnostics.js +1 -35
- package/dist/sdk/governance/storage-integrity.js +1 -280
- package/dist/sdk/governance/tracked-runtime-cache.js +1 -106
- package/dist/sdk/governance/upgrade.js +2 -327
- package/dist/sdk/governance/validate-history-drift.js +1 -81
- package/dist/sdk/governance/validate-item-reader.js +1 -17
- package/dist/sdk/governance/validate-normalization.js +1 -36
- package/dist/sdk/governance/validate.js +1 -2261
- package/dist/sdk/governance/workspace-position.js +1 -163
- package/dist/sdk/governance.d.ts +1 -0
- package/dist/sdk/governance.js +1 -31
- package/dist/sdk/graph/adapter.js +1 -181
- package/dist/sdk/graph/analytics.js +1 -474
- package/dist/sdk/graph/assembly.js +1 -377
- package/dist/sdk/graph/cache.js +1 -160
- package/dist/sdk/graph/centrality.js +1 -258
- package/dist/sdk/graph/conformance.js +1 -130
- package/dist/sdk/graph/deadline-scheduling.d.ts +90 -0
- package/dist/sdk/graph/deadline-scheduling.js +2 -0
- package/dist/sdk/graph/durable-cache.d.ts +1 -1
- package/dist/sdk/graph/durable-cache.js +1 -361
- package/dist/sdk/graph/governance-contracts.js +1 -34
- package/dist/sdk/graph/governance.d.ts +13 -1
- package/dist/sdk/graph/governance.js +1 -735
- package/dist/sdk/graph/hierarchy-integrity.js +1 -310
- package/dist/sdk/graph/index.d.ts +3 -2
- package/dist/sdk/graph/index.js +1 -26
- package/dist/sdk/graph/lifecycle-coverage.d.ts +32 -0
- package/dist/sdk/graph/lifecycle-coverage.js +2 -0
- package/dist/sdk/graph/mutation-advisory.js +1 -176
- package/dist/sdk/graph/remediation.js +1 -197
- package/dist/sdk/graph/run.d.ts +15 -1
- package/dist/sdk/graph/run.js +1 -768
- package/dist/sdk/graph/scheduling.js +1 -124
- package/dist/sdk/graph/traversal.js +1 -284
- package/dist/sdk/graph/workspace-relationship-kind-registry.js +1 -27
- package/dist/sdk/graph.js +1 -15
- package/dist/sdk/guide-topics.js +1 -707
- package/dist/sdk/guide.js +1 -279
- package/dist/sdk/history/maintenance.d.ts +71 -0
- package/dist/sdk/history/maintenance.js +2 -0
- package/dist/sdk/history/salvage.js +2 -247
- package/dist/sdk/history/subject.d.ts +19 -0
- package/dist/sdk/history/subject.js +2 -0
- package/dist/sdk/history-analytics.js +1 -282
- package/dist/sdk/history-compact.js +1 -527
- package/dist/sdk/history-mcp.js +1 -68
- package/dist/sdk/history-provenance.js +1 -182
- package/dist/sdk/history-read.js +1 -96
- package/dist/sdk/history-redact.d.ts +1 -14
- package/dist/sdk/history-redact.js +1 -643
- package/dist/sdk/history-repair.d.ts +5 -0
- package/dist/sdk/history-repair.js +1 -657
- package/dist/sdk/improvement-ledger-validation.js +1 -62
- package/dist/sdk/improvement-ledger.js +2 -257
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/index.js +1 -183
- package/dist/sdk/init-agent-guidance.js +2 -496
- package/dist/sdk/init.js +2 -820
- package/dist/sdk/invocation-author.js +1 -39
- package/dist/sdk/item-children.js +1 -90
- package/dist/sdk/item-metadata-index.js +1 -15
- package/dist/sdk/item-schedule.js +1 -27
- package/dist/sdk/item-transaction.js +1 -396
- package/dist/sdk/learnings.js +1 -29
- package/dist/sdk/lifecycle/append.js +2 -53
- package/dist/sdk/lifecycle/claim.d.ts +2 -0
- package/dist/sdk/lifecycle/claim.js +1 -242
- package/dist/sdk/lifecycle/close-many.js +1 -438
- package/dist/sdk/lifecycle/close.js +1 -468
- package/dist/sdk/lifecycle/copy.js +1 -212
- package/dist/sdk/lifecycle/create.js +1 -1949
- package/dist/sdk/lifecycle/delete.js +1 -45
- package/dist/sdk/lifecycle/event-validation-messages.js +1 -91
- package/dist/sdk/lifecycle/focus.js +1 -91
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -24
- package/dist/sdk/lifecycle/legacy-none-tokens.js +1 -149
- package/dist/sdk/lifecycle/lifecycle-transitions.js +1 -40
- package/dist/sdk/lifecycle/mcp-actions.d.ts +2 -0
- package/dist/sdk/lifecycle/mcp-actions.js +1 -51
- package/dist/sdk/lifecycle/metadata-normalizers.js +1 -46
- package/dist/sdk/lifecycle/mutation-command-options.js +1 -9
- package/dist/sdk/lifecycle/plan.js +1 -1606
- package/dist/sdk/lifecycle/recurrence-parsers.js +1 -147
- package/dist/sdk/lifecycle/reopen.js +1 -68
- package/dist/sdk/lifecycle/repeatable-metadata-parsers.js +1 -143
- package/dist/sdk/lifecycle/restore.d.ts +1 -0
- package/dist/sdk/lifecycle/restore.js +1 -330
- package/dist/sdk/lifecycle/shared-unset-fields.js +1 -295
- package/dist/sdk/lifecycle/update-many.js +1 -861
- package/dist/sdk/lifecycle/update.js +1 -2136
- package/dist/sdk/lifecycle-completion.js +1 -92
- package/dist/sdk/lifecycle-policy.js +1 -120
- package/dist/sdk/linked-artifacts.js +1 -530
- package/dist/sdk/mcp/apps.js +4 -133
- package/dist/sdk/mcp/authorization.js +1 -404
- package/dist/sdk/mcp/discovery.js +1 -494
- package/dist/sdk/mcp/interactions.js +1 -336
- package/dist/sdk/mcp/protocol.d.ts +7 -0
- package/dist/sdk/mcp/protocol.js +1 -184
- package/dist/sdk/mcp/skills.js +1 -389
- package/dist/sdk/mcp/subscriptions.js +1 -211
- package/dist/sdk/mcp/tasks.js +2 -430
- package/dist/sdk/mcp/transport.js +1 -260
- package/dist/sdk/merge/abandoned-receipts.js +1 -46
- package/dist/sdk/merge/driver.js +1 -212
- package/dist/sdk/merge/index.js +1 -16
- package/dist/sdk/merge/install.js +3 -561
- package/dist/sdk/merge/receipt-file-boundary.js +1 -46
- package/dist/sdk/merge/receipt-operation.js +1 -96
- package/dist/sdk/merge/receipt-schema.js +1 -397
- package/dist/sdk/merge/receipts.js +4 -525
- package/dist/sdk/merge/reconcile.js +1 -352
- package/dist/sdk/merge/three-way.js +3 -775
- package/dist/sdk/merge.js +1 -10
- package/dist/sdk/mutation-events.js +1 -292
- package/dist/sdk/mutation-guard.js +1 -216
- package/dist/sdk/notes.js +1 -139
- package/dist/sdk/output-contracts.js +1 -172
- package/dist/sdk/output-projection.js +1 -430
- package/dist/sdk/output-token-accounting.js +1 -140
- package/dist/sdk/output.js +1 -64
- package/dist/sdk/ownership-source.js +1 -21
- package/dist/sdk/package-import-adapters.js +1 -442
- package/dist/sdk/package-migrations.js +1 -20
- package/dist/sdk/package-runtime-options.js +1 -80
- package/dist/sdk/pagination.js +1 -162
- package/dist/sdk/profile.js +1 -454
- package/dist/sdk/provenance.js +1 -258
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/activity.js +1 -401
- package/dist/sdk/query/aggregate.d.ts +16 -0
- package/dist/sdk/query/aggregate.js +1 -390
- package/dist/sdk/query/calendar.js +1 -964
- package/dist/sdk/query/complete-list.js +1 -215
- package/dist/sdk/query/context.js +1 -1702
- package/dist/sdk/query/duplicate-candidates.js +1 -70
- package/dist/sdk/query/get.js +1 -450
- package/dist/sdk/query/history.js +1 -186
- package/dist/sdk/query/item-filter-options.js +1 -9
- package/dist/sdk/query/light-metadata.js +1 -18
- package/dist/sdk/query/list-filter-shared.js +1 -81
- package/dist/sdk/query/list.js +1 -1304
- package/dist/sdk/query/multi-value-filters.js +1 -78
- package/dist/sdk/query/next.js +1 -513
- package/dist/sdk/query/parsers.js +1 -44
- package/dist/sdk/query/projection-contracts.js +1 -184
- package/dist/sdk/query/search-contracts.js +1 -230
- package/dist/sdk/query/search-pagination.js +1 -35
- package/dist/sdk/query/search-rendering.js +1 -105
- package/dist/sdk/query/search.js +2 -1987
- package/dist/sdk/query.js +1 -35
- package/dist/sdk/read-output/continuation.js +1 -194
- package/dist/sdk/read-output-budget.js +1 -135
- package/dist/sdk/read-output-contracts.js +1 -1225
- package/dist/sdk/read-output-rows.js +1 -186
- package/dist/sdk/read-output-session.js +1 -208
- package/dist/sdk/relationship-analytics.js +1 -410
- package/dist/sdk/relationship-context.js +1 -284
- package/dist/sdk/relationship-history.js +4 -519
- package/dist/sdk/relationship-kinds/contract.js +1 -22
- package/dist/sdk/relationship-migration.js +1 -77
- package/dist/sdk/relationships.js +1 -579
- package/dist/sdk/reproducibility/process.js +1 -87
- package/dist/sdk/runtime-action-aliases.js +1 -59
- package/dist/sdk/runtime-extended-actions.js +1 -177
- package/dist/sdk/runtime-input.js +1 -614
- package/dist/sdk/runtime-primitives.js +1 -84
- package/dist/sdk/runtime-public-contracts.js +1 -4
- package/dist/sdk/runtime-stats-options.js +1 -38
- package/dist/sdk/runtime.js +1 -1928
- package/dist/sdk/scheduling-shortcuts.js +1 -63
- package/dist/sdk/schema-migration.js +3 -856
- package/dist/sdk/schema.js +1 -1376
- package/dist/sdk/search-refresh-worker.js +1 -18
- package/dist/sdk/similarity-scoring.js +1 -53
- package/dist/sdk/similarity.js +1 -326
- package/dist/sdk/start-task-status.js +1 -14
- package/dist/sdk/stats.js +1 -270
- package/dist/sdk/structured-mutations.js +1 -580
- package/dist/sdk/telemetry-flush.js +1 -13
- package/dist/sdk/telemetry.js +1 -405
- package/dist/sdk/templates.js +2 -292
- package/dist/sdk/test/batch.js +2 -509
- package/dist/sdk/test/entry.js +1 -70
- package/dist/sdk/test/execution.js +6 -2211
- package/dist/sdk/test/linked-command-detection.js +1 -546
- package/dist/sdk/test/measurements.js +1 -91
- package/dist/sdk/test/parsers.js +1 -545
- package/dist/sdk/test/runs.js +1 -193
- package/dist/sdk/test/trust.js +2 -206
- package/dist/sdk/testing.js +4 -1391
- package/dist/sdk/traceability/runtime-files-lookup.js +1 -32
- package/dist/sdk/traceability/source-traceability.js +1 -292
- package/dist/sdk/tracker-root-discovery.js +1 -9
- package/dist/sdk/workspace-contracts-cache.js +1 -28
- package/dist/sdk/workspace-contracts.js +1 -33
- package/dist/sdk/workspace-memory.js +2 -318
- package/dist/sdk/workspace-recipe.js +1 -71
- package/dist/sdk/workspace-snapshot.js +4 -613
- package/dist/sdk/workspace-transaction-gc.js +1 -149
- package/dist/sdk/workspace-transaction.js +2 -363
- package/dist/sdk/workspace.js +3 -127
- package/dist/types/index.js +1 -9
- package/dist/types.js +1 -245
- package/docs/AGENT_GUIDE.md +1 -1
- package/docs/CONTEXT_ALGORITHM_PORTFOLIO.md +167 -0
- package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +9 -3
- package/docs/EXTENSIONS.md +1 -0
- package/docs/HISTORY_MAINTENANCE.md +125 -0
- package/docs/MCP_2026_07_28_CONFORMANCE.md +20 -10
- package/docs/PACKAGE_EVIDENCE.md +92 -0
- package/docs/PLANNING_MEASUREMENTS.md +183 -0
- package/docs/README.md +3 -0
- package/docs/RELEASING.md +1 -0
- package/docs/SCRIPTING.md +21 -0
- package/docs/TESTING.md +23 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +5 -5
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +2 -2
- package/marketplace.json +2 -2
- package/package.json +1 -1
- 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-codex/.codex-plugin/plugin.json +1 -1
- package/scripts/finalize-build.mjs +45 -3
- package/dist/cli-bundle/chunks/chunk-AZDFJGH6.js +0 -9
- package/dist/cli-bundle/chunks/chunk-BAX2BYUW.js +0 -2111
- package/dist/cli-bundle/chunks/chunk-CKOL5U7J.js +0 -77
- package/dist/cli-bundle/chunks/chunk-OF76PSDQ.js +0 -5
- package/dist/cli-bundle/chunks/chunk-QUWFABDM.js +0 -232
- package/dist/cli-bundle/chunks/chunk-QWRRFYK3.js +0 -2
- package/dist/cli-bundle/chunks/chunk-RWWBOWJ5.js +0 -2
- package/dist/cli-bundle/chunks/chunk-WGAOYSYH.js +0 -40
- package/dist/cli-bundle/chunks/chunk-WI2AYPA7.js +0 -2
- package/dist/cli-bundle/chunks/register-list-query-5JL52D33.js +0 -11
- package/dist/cli-bundle/chunks/register-mutation-ZPG7KMVP.js +0 -20
- package/dist/cli-bundle/chunks/register-setup-H4SVAVX7.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-AL5ON6K6.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-CHC2IDXA.js +0 -6
- package/dist/cli-bundle/focused-chunks/chunk-CK6QFAPZ.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-EZR3GHFE.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-H2WJWK7L.js +0 -56
- package/dist/cli-bundle/focused-chunks/chunk-NTPY5GSO.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-P5O7MP5Y.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PDMW2E36.js +0 -177
- package/dist/cli-bundle/focused-chunks/chunk-QTVCLMSZ.js +0 -6
- package/dist/cli-bundle/focused-chunks/chunk-QTZRBUYA.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-SGQST3PQ.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-UKHASMMP.js +0 -10
- package/dist/cli-bundle/focused-chunks/chunk-ZPEKQHOC.js +0 -2
|
@@ -1,78 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module mcp/legacy-adapter
|
|
3
|
-
*
|
|
4
|
-
* Isolates the bounded initialize-era stdio compatibility surface from the
|
|
5
|
-
* canonical stateless dispatcher. No modern transport imports policy from it.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="75228af6-d015-596d-ac32-4f5e78cb3916")}catch(e){}}();
|
|
9
|
-
import { PmCliError } from "../sdk/runtime-primitives.js";
|
|
10
|
-
import { PM_MCP_ERROR_CODES, PM_MCP_LEGACY_PROTOCOL_VERSIONS, PM_MCP_PROTOCOL_VERSION, PmMcpProtocolError, } from "../sdk/mcp/protocol.js";
|
|
11
|
-
/**
|
|
12
|
-
* Resolve the legacy revision a handshake negotiates, or refuse with the full
|
|
13
|
-
* supported set.
|
|
14
|
-
*
|
|
15
|
-
* A legacy client has no fall-forward mechanism, so the refusal names every
|
|
16
|
-
* accepted legacy revision alongside the canonical modern one: the error text
|
|
17
|
-
* is the only diagnostic such a client can surface.
|
|
18
|
-
*/
|
|
19
|
-
export function resolveLegacyProtocolVersion(requestedVersion) {
|
|
20
|
-
if (requestedVersion === undefined || requestedVersion === null) {
|
|
21
|
-
return PM_MCP_LEGACY_PROTOCOL_VERSIONS[0];
|
|
22
|
-
}
|
|
23
|
-
const accepted = PM_MCP_LEGACY_PROTOCOL_VERSIONS.find((candidate) => candidate === requestedVersion);
|
|
24
|
-
if (accepted)
|
|
25
|
-
return accepted;
|
|
26
|
-
throw new PmMcpProtocolError("Unsupported legacy MCP protocol version", PM_MCP_ERROR_CODES.unsupportedProtocolVersion, {
|
|
27
|
-
supported: [...PM_MCP_LEGACY_PROTOCOL_VERSIONS],
|
|
28
|
-
requested: requestedVersion,
|
|
29
|
-
modern: PM_MCP_PROTOCOL_VERSION,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/** Explicit compatibility adapter with no cross-process or modern-session role. */
|
|
33
|
-
export class LegacyMcpAdapter {
|
|
34
|
-
#options;
|
|
35
|
-
#clientInfo;
|
|
36
|
-
/** Create one process-local legacy stdio adapter. */
|
|
37
|
-
constructor(options) {
|
|
38
|
-
this.#options = options;
|
|
39
|
-
}
|
|
40
|
-
/** Read the bounded identity most recently supplied to legacy initialize. */
|
|
41
|
-
getClientInfo() {
|
|
42
|
-
return this.#clientInfo ? structuredClone(this.#clientInfo) : undefined;
|
|
43
|
-
}
|
|
44
|
-
/** Validate and answer the historical initialize handshake. */
|
|
45
|
-
initialize(params) {
|
|
46
|
-
const requestedVersion = params?.protocolVersion;
|
|
47
|
-
const negotiatedVersion = resolveLegacyProtocolVersion(requestedVersion);
|
|
48
|
-
this.#clientInfo = this.#options.parseClientInfo(params?.clientInfo);
|
|
49
|
-
return {
|
|
50
|
-
protocolVersion: negotiatedVersion,
|
|
51
|
-
capabilities: structuredClone(this.#options.capabilities),
|
|
52
|
-
serverInfo: { ...this.#options.serverInfo },
|
|
53
|
-
instructions: this.#options.instructions,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/** Dispatch one unversioned request through the finite legacy method set. */
|
|
57
|
-
async dispatch(request) {
|
|
58
|
-
if (request.method === "ping")
|
|
59
|
-
return {};
|
|
60
|
-
if (request.method === "tools/list")
|
|
61
|
-
return this.#options.listTools(request.params);
|
|
62
|
-
if (request.method === "tools/call") {
|
|
63
|
-
return this.#options.callTool(request.params, this.#clientInfo);
|
|
64
|
-
}
|
|
65
|
-
if (request.method === "resources/list")
|
|
66
|
-
return this.#options.listResources();
|
|
67
|
-
if (request.method === "resources/read") {
|
|
68
|
-
return this.#options.readResource(request.params);
|
|
69
|
-
}
|
|
70
|
-
if (request.method === "prompts/list")
|
|
71
|
-
return this.#options.listPrompts();
|
|
72
|
-
if (request.method === "prompts/get")
|
|
73
|
-
return this.#options.getPrompt(request.params);
|
|
74
|
-
throw new PmCliError(`Unsupported MCP method: ${request.method ?? "(missing)"}`, 64);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
1
|
+
!(function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b2c28b4c-9997-5b7f-a24a-12116f19c004")}catch(e2){}})();import{PmCliError}from"../sdk/runtime-primitives.js";import{PM_MCP_ERROR_CODES,PM_MCP_LEGACY_PROTOCOL_VERSIONS,PM_MCP_PROTOCOL_VERSION,PmMcpProtocolError}from"../sdk/mcp/protocol.js";function resolveLegacyProtocolVersion(requestedVersion){if(requestedVersion===void 0||requestedVersion===null){return PM_MCP_LEGACY_PROTOCOL_VERSIONS[0]}const accepted=PM_MCP_LEGACY_PROTOCOL_VERSIONS.find(candidate=>candidate===requestedVersion);if(accepted)return accepted;throw new PmMcpProtocolError("Unsupported legacy MCP protocol version",PM_MCP_ERROR_CODES.unsupportedProtocolVersion,{supported:[...PM_MCP_LEGACY_PROTOCOL_VERSIONS],requested:requestedVersion,modern:PM_MCP_PROTOCOL_VERSION})}class LegacyMcpAdapter{#options;#clientInfo;constructor(options){this.#options=options}getClientInfo(){return this.#clientInfo?structuredClone(this.#clientInfo):void 0}initialize(params){const requestedVersion=params?.protocolVersion;const negotiatedVersion=resolveLegacyProtocolVersion(requestedVersion);this.#clientInfo=this.#options.parseClientInfo(params?.clientInfo);return{protocolVersion:negotiatedVersion,capabilities:structuredClone(this.#options.capabilities),serverInfo:{...this.#options.serverInfo},instructions:this.#options.instructions}}async dispatch(request){if(request.method==="ping")return{};if(request.method==="tools/list")return this.#options.listTools(request.params);if(request.method==="tools/call"){return this.#options.callTool(request.params,this.#clientInfo)}if(request.method==="resources/list")return this.#options.listResources();if(request.method==="resources/read"){return this.#options.readResource(request.params)}if(request.method==="prompts/list")return this.#options.listPrompts();if(request.method==="prompts/get")return this.#options.getPrompt(request.params);throw new PmCliError(`Unsupported MCP method: ${request.method??"(missing)"}`,64)}}export{LegacyMcpAdapter,resolveLegacyProtocolVersion};
|
|
77
2
|
//# sourceMappingURL=legacy-adapter.js.map
|
|
78
|
-
//# debugId=75228af6-d015-596d-ac32-4f5e78cb3916
|
|
@@ -1,201 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module mcp/runtime-capabilities
|
|
3
|
-
*
|
|
4
|
-
* Resolves bounded MCP profiles and workspace-customized tool schemas from the
|
|
5
|
-
* public SDK contracts.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="428f8ed0-dfa8-5c8e-9fdc-baa9fbf9b030")}catch(e){}}();
|
|
9
|
-
import { PM_MCP_TOOL_COMMAND_CONTRACTS, listPmMcpToolsForProfile, } from "../sdk/agent-capability-contracts.js";
|
|
10
|
-
import { getWorkspaceContracts, } from "../sdk/runtime.js";
|
|
11
|
-
import { PmCliError, getSettingsPath, pathExists, resolvePmRoot, } from "../sdk/runtime-primitives.js";
|
|
12
|
-
import { TOOLS, } from "./tool-definitions.js";
|
|
13
|
-
function workspaceFields(workspace) {
|
|
14
|
-
return workspace.fields ?? [];
|
|
15
|
-
}
|
|
16
|
-
function workspaceExtensionCommands(workspace) {
|
|
17
|
-
return workspace.extensionCommands ?? [];
|
|
18
|
-
}
|
|
19
|
-
function compactSchemaDescriptions(value, inProperties = false) {
|
|
20
|
-
if (Array.isArray(value)) {
|
|
21
|
-
return value.map((entry) => compactSchemaDescriptions(entry));
|
|
22
|
-
}
|
|
23
|
-
if (typeof value !== "object" || value === null) {
|
|
24
|
-
return value;
|
|
25
|
-
}
|
|
26
|
-
return Object.fromEntries(Object.entries(value)
|
|
27
|
-
.filter(([key]) => inProperties || key !== "description")
|
|
28
|
-
.map(([key, entry]) => [
|
|
29
|
-
key,
|
|
30
|
-
compactSchemaDescriptions(entry, key === "properties"),
|
|
31
|
-
]));
|
|
32
|
-
}
|
|
33
|
-
function parseCustomToolAllowlist(value, availableNames) {
|
|
34
|
-
const requested = new Set((value ?? "")
|
|
35
|
-
.split(",")
|
|
36
|
-
.map((name) => name.trim())
|
|
37
|
-
.filter(Boolean));
|
|
38
|
-
if (requested.size === 0) {
|
|
39
|
-
throw new PmCliError("PM_MCP_PROFILE=custom requires a non-empty PM_MCP_TOOLS allowlist.", 64);
|
|
40
|
-
}
|
|
41
|
-
const unknown = [...requested].filter((name) => !availableNames.has(name));
|
|
42
|
-
if (unknown.length > 0) {
|
|
43
|
-
throw new PmCliError(`PM_MCP_TOOLS contains unknown tools: ${unknown.join(", ")}.`, 64);
|
|
44
|
-
}
|
|
45
|
-
return requested;
|
|
46
|
-
}
|
|
47
|
-
function resolveSelectedToolNames(availableTools, profile, environment) {
|
|
48
|
-
const availableNames = new Set(availableTools.map((tool) => tool.name));
|
|
49
|
-
return profile === "custom"
|
|
50
|
-
? parseCustomToolAllowlist(environment.PM_MCP_TOOLS, availableNames)
|
|
51
|
-
: new Set(listPmMcpToolsForProfile([...availableNames], profile));
|
|
52
|
-
}
|
|
53
|
-
/** Resolve and validate the configured MCP profile. */
|
|
54
|
-
export function resolveMcpToolProfile(environment = process.env) {
|
|
55
|
-
const value = environment.PM_MCP_PROFILE?.trim().toLowerCase() || "core";
|
|
56
|
-
if (value !== "core" &&
|
|
57
|
-
value !== "standard" &&
|
|
58
|
-
value !== "full" &&
|
|
59
|
-
value !== "custom") {
|
|
60
|
-
throw new PmCliError(`Invalid PM_MCP_PROFILE "${value}"; expected core, standard, full, or custom.`, 64);
|
|
61
|
-
}
|
|
62
|
-
return value;
|
|
63
|
-
}
|
|
64
|
-
/** Select extension actions visible to one validated MCP profile. */
|
|
65
|
-
export function selectMcpExtensionActions(commands, profile, selectedNames) {
|
|
66
|
-
const profileRanks = { core: 0, standard: 1, full: 2 };
|
|
67
|
-
const tierRanks = { core: 0, standard: 1, full: 2, internal: 3 };
|
|
68
|
-
return commands
|
|
69
|
-
.filter((command) => profile === "custom"
|
|
70
|
-
? selectedNames.has("pm_run")
|
|
71
|
-
: tierRanks[command.tier] <= profileRanks[profile])
|
|
72
|
-
.map((command) => command.action);
|
|
73
|
-
}
|
|
74
|
-
function fieldProperty(type, description) {
|
|
75
|
-
if (type === "array") {
|
|
76
|
-
return { type: "array", items: {}, description };
|
|
77
|
-
}
|
|
78
|
-
if (type === "object") {
|
|
79
|
-
return { type: "object", additionalProperties: true, description };
|
|
80
|
-
}
|
|
81
|
-
const scalar = {
|
|
82
|
-
type: type === "string_array" ? "string" : type,
|
|
83
|
-
description,
|
|
84
|
-
};
|
|
85
|
-
return type === "string_array"
|
|
86
|
-
? {
|
|
87
|
-
type: "array",
|
|
88
|
-
items: scalar,
|
|
89
|
-
description,
|
|
90
|
-
}
|
|
91
|
-
: scalar;
|
|
92
|
-
}
|
|
93
|
-
function projectWorkspaceToolDefinition(tool, workspace, extensionActions, compact) {
|
|
94
|
-
const inputSchema = structuredClone(tool.inputSchema);
|
|
95
|
-
const properties = inputSchema.properties;
|
|
96
|
-
const command = PM_MCP_TOOL_COMMAND_CONTRACTS[tool.name];
|
|
97
|
-
if (workspace && command) {
|
|
98
|
-
if (properties.type)
|
|
99
|
-
properties.type.enum = [...workspace.types];
|
|
100
|
-
if (properties.status)
|
|
101
|
-
properties.status.enum = [...workspace.statuses];
|
|
102
|
-
for (const field of workspaceFields(workspace)) {
|
|
103
|
-
if (field.commands.includes(command) &&
|
|
104
|
-
!Object.prototype.hasOwnProperty.call(properties, field.optionName)) {
|
|
105
|
-
properties[field.optionName] = fieldProperty(field.type, field.description);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (tool.name === "pm_run" && extensionActions.length > 0) {
|
|
110
|
-
const action = properties.action;
|
|
111
|
-
action.enum = [
|
|
112
|
-
...new Set([...action.enum, ...extensionActions]),
|
|
113
|
-
];
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
...tool,
|
|
117
|
-
inputSchema: compact ? compactSchemaDescriptions(inputSchema) : inputSchema,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Resolve a profile-filtered tool list and enrich schemas with live workspace
|
|
122
|
-
* types, statuses, custom fields, and extension actions.
|
|
123
|
-
*/
|
|
124
|
-
export async function resolveMcpToolSurface(availableTools, args = {}, environment = process.env) {
|
|
125
|
-
const profile = resolveMcpToolProfile(environment);
|
|
126
|
-
const selectedNames = resolveSelectedToolNames(availableTools, profile, environment);
|
|
127
|
-
const cwd = typeof args.cwd === "string" ? args.cwd : process.cwd();
|
|
128
|
-
const pmRoot = resolvePmRoot(cwd, typeof args.path === "string" ? args.path : undefined);
|
|
129
|
-
const workspace = (await pathExists(getSettingsPath(pmRoot)))
|
|
130
|
-
? await getWorkspaceContracts(pmRoot, { cwd })
|
|
131
|
-
: null;
|
|
132
|
-
const extensionActions = selectMcpExtensionActions(workspace ? workspaceExtensionCommands(workspace) : [], profile, selectedNames);
|
|
133
|
-
if (extensionActions.length > 0 && profile !== "custom") {
|
|
134
|
-
selectedNames.add("pm_run");
|
|
135
|
-
}
|
|
136
|
-
const tools = availableTools
|
|
137
|
-
.filter((tool) => selectedNames.has(tool.name))
|
|
138
|
-
.map((tool) => projectWorkspaceToolDefinition(tool, workspace, extensionActions, profile === "core"));
|
|
139
|
-
return { profile, tools, extensionActions };
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Resolve one tool's callability without cloning and enriching the complete
|
|
143
|
-
* schema surface. Only compact/standard `pm_run` calls need workspace
|
|
144
|
-
* contracts because an activated extension action can promote that dispatcher.
|
|
145
|
-
*/
|
|
146
|
-
export async function resolveMcpToolAccess(availableTools, toolName, args = {}, environment = process.env) {
|
|
147
|
-
const profile = resolveMcpToolProfile(environment);
|
|
148
|
-
const selectedNames = resolveSelectedToolNames(availableTools, profile, environment);
|
|
149
|
-
if (selectedNames.has(toolName))
|
|
150
|
-
return { profile, available: true };
|
|
151
|
-
if (toolName !== "pm_run" || profile === "custom") {
|
|
152
|
-
return { profile, available: false };
|
|
153
|
-
}
|
|
154
|
-
const cwd = typeof args.cwd === "string" ? args.cwd : process.cwd();
|
|
155
|
-
const pmRoot = resolvePmRoot(cwd, typeof args.path === "string" ? args.path : undefined);
|
|
156
|
-
if (!(await pathExists(getSettingsPath(pmRoot)))) {
|
|
157
|
-
return { profile, available: false };
|
|
158
|
-
}
|
|
159
|
-
const workspace = await getWorkspaceContracts(pmRoot, { cwd });
|
|
160
|
-
return {
|
|
161
|
-
profile,
|
|
162
|
-
available: selectMcpExtensionActions(workspaceExtensionCommands(workspace), profile, selectedNames).length > 0,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
/** Move declared custom-field inputs into the runtime action option bag. */
|
|
166
|
-
export async function normalizeWorkspaceToolArguments(toolName, args) {
|
|
167
|
-
const command = PM_MCP_TOOL_COMMAND_CONTRACTS[toolName];
|
|
168
|
-
if (command !== "create" && command !== "update")
|
|
169
|
-
return args;
|
|
170
|
-
const cwd = typeof args.cwd === "string" ? args.cwd : process.cwd();
|
|
171
|
-
const pmRoot = resolvePmRoot(cwd, typeof args.path === "string" ? args.path : undefined);
|
|
172
|
-
if (!(await pathExists(getSettingsPath(pmRoot))))
|
|
173
|
-
return args;
|
|
174
|
-
const workspace = await getWorkspaceContracts(pmRoot, { cwd });
|
|
175
|
-
const options = typeof args.options === "object" &&
|
|
176
|
-
args.options !== null &&
|
|
177
|
-
!Array.isArray(args.options)
|
|
178
|
-
? { ...args.options }
|
|
179
|
-
: {};
|
|
180
|
-
const normalizedArgs = { ...args };
|
|
181
|
-
const canonicalTool = TOOLS.find((tool) => tool.name === toolName);
|
|
182
|
-
const canonicalProperties = new Set(Object.keys(canonicalTool.inputSchema.properties));
|
|
183
|
-
let changed = false;
|
|
184
|
-
for (const field of workspaceFields(workspace)) {
|
|
185
|
-
if (field.commands.includes(command) &&
|
|
186
|
-
!canonicalProperties.has(field.optionName) &&
|
|
187
|
-
Object.prototype.hasOwnProperty.call(args, field.optionName)) {
|
|
188
|
-
options[field.optionName] = args[field.optionName];
|
|
189
|
-
delete normalizedArgs[field.optionName];
|
|
190
|
-
changed = true;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return changed ? { ...normalizedArgs, options } : args;
|
|
194
|
-
}
|
|
195
|
-
/** Internal compatibility helpers exposed only for exhaustive fallback tests. */
|
|
196
|
-
export const _testOnlyMcpRuntimeCapabilities = {
|
|
197
|
-
workspaceExtensionCommands,
|
|
198
|
-
workspaceFields,
|
|
199
|
-
};
|
|
1
|
+
!(function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="60fd538d-49b0-5a65-a368-9117b86efa32")}catch(e2){}})();import{PM_MCP_TOOL_COMMAND_CONTRACTS,listPmMcpToolsForProfile}from"../sdk/agent-capability-contracts.js";import{getWorkspaceContracts}from"../sdk/runtime.js";import{PmCliError,getSettingsPath,pathExists,resolvePmRoot}from"../sdk/runtime-primitives.js";import{TOOLS}from"./tool-definitions.js";function workspaceFields(workspace){return workspace.fields??[]}function workspaceExtensionCommands(workspace){return workspace.extensionCommands??[]}function compactSchemaDescriptions(value,inProperties=false){if(Array.isArray(value)){return value.map(entry=>compactSchemaDescriptions(entry))}if(typeof value!=="object"||value===null){return value}return Object.fromEntries(Object.entries(value).filter(([key])=>inProperties||key!=="description").map(([key,entry])=>[key,compactSchemaDescriptions(entry,key==="properties")]))}function parseCustomToolAllowlist(value,availableNames){const requested=new Set((value??"").split(",").map(name=>name.trim()).filter(Boolean));if(requested.size===0){throw new PmCliError("PM_MCP_PROFILE=custom requires a non-empty PM_MCP_TOOLS allowlist.",64)}const unknown=[...requested].filter(name=>!availableNames.has(name));if(unknown.length>0){throw new PmCliError(`PM_MCP_TOOLS contains unknown tools: ${unknown.join(", ")}.`,64)}return requested}function resolveSelectedToolNames(availableTools,profile,environment){const availableNames=new Set(availableTools.map(tool=>tool.name));return profile==="custom"?parseCustomToolAllowlist(environment.PM_MCP_TOOLS,availableNames):new Set(listPmMcpToolsForProfile([...availableNames],profile))}function resolveMcpToolProfile(environment=process.env){const value=environment.PM_MCP_PROFILE?.trim().toLowerCase()||"core";if(value!=="core"&&value!=="standard"&&value!=="full"&&value!=="custom"){throw new PmCliError(`Invalid PM_MCP_PROFILE "${value}"; expected core, standard, full, or custom.`,64)}return value}function selectMcpExtensionActions(commands,profile,selectedNames){const profileRanks={core:0,standard:1,full:2};const tierRanks={core:0,standard:1,full:2,internal:3};return commands.filter(command=>profile==="custom"?selectedNames.has("pm_run"):tierRanks[command.tier]<=profileRanks[profile]).map(command=>command.action)}function fieldProperty(type,description){if(type==="array"){return{type:"array",items:{},description}}if(type==="object"){return{type:"object",additionalProperties:true,description}}const scalar={type:type==="string_array"?"string":type,description};return type==="string_array"?{type:"array",items:scalar,description}:scalar}function projectWorkspaceToolDefinition(tool,workspace,extensionActions,compact){const inputSchema=structuredClone(tool.inputSchema);const properties=inputSchema.properties;const command=PM_MCP_TOOL_COMMAND_CONTRACTS[tool.name];if(workspace&&command){if(properties.type)properties.type.enum=[...workspace.types];if(properties.status)properties.status.enum=[...workspace.statuses];for(const field of workspaceFields(workspace)){if(field.commands.includes(command)&&!Object.prototype.hasOwnProperty.call(properties,field.optionName)){properties[field.optionName]=fieldProperty(field.type,field.description)}}}if(tool.name==="pm_run"&&extensionActions.length>0){const action=properties.action;action.enum=[...new Set([...action.enum,...extensionActions])]}return{...tool,inputSchema:compact?compactSchemaDescriptions(inputSchema):inputSchema}}async function resolveMcpToolSurface(availableTools,args={},environment=process.env){const profile=resolveMcpToolProfile(environment);const selectedNames=resolveSelectedToolNames(availableTools,profile,environment);const cwd=typeof args.cwd==="string"?args.cwd:process.cwd();const pmRoot=resolvePmRoot(cwd,typeof args.path==="string"?args.path:void 0);const workspace=await pathExists(getSettingsPath(pmRoot))?await getWorkspaceContracts(pmRoot,{cwd}):null;const extensionActions=selectMcpExtensionActions(workspace?workspaceExtensionCommands(workspace):[],profile,selectedNames);if(extensionActions.length>0&&profile!=="custom"){selectedNames.add("pm_run")}const tools=availableTools.filter(tool=>selectedNames.has(tool.name)).map(tool=>projectWorkspaceToolDefinition(tool,workspace,extensionActions,profile==="core"));return{profile,tools,extensionActions}}async function resolveMcpToolAccess(availableTools,toolName,args={},environment=process.env){const profile=resolveMcpToolProfile(environment);const selectedNames=resolveSelectedToolNames(availableTools,profile,environment);if(selectedNames.has(toolName))return{profile,available:true};if(toolName!=="pm_run"||profile==="custom"){return{profile,available:false}}const cwd=typeof args.cwd==="string"?args.cwd:process.cwd();const pmRoot=resolvePmRoot(cwd,typeof args.path==="string"?args.path:void 0);if(!await pathExists(getSettingsPath(pmRoot))){return{profile,available:false}}const workspace=await getWorkspaceContracts(pmRoot,{cwd});return{profile,available:selectMcpExtensionActions(workspaceExtensionCommands(workspace),profile,selectedNames).length>0}}async function normalizeWorkspaceToolArguments(toolName,args){const command=PM_MCP_TOOL_COMMAND_CONTRACTS[toolName];if(command!=="create"&&command!=="update")return args;const cwd=typeof args.cwd==="string"?args.cwd:process.cwd();const pmRoot=resolvePmRoot(cwd,typeof args.path==="string"?args.path:void 0);if(!await pathExists(getSettingsPath(pmRoot)))return args;const workspace=await getWorkspaceContracts(pmRoot,{cwd});const options=typeof args.options==="object"&&args.options!==null&&!Array.isArray(args.options)?{...args.options}:{};const normalizedArgs={...args};const canonicalTool=TOOLS.find(tool=>tool.name===toolName);const canonicalProperties=new Set(Object.keys(canonicalTool.inputSchema.properties));let changed=false;for(const field of workspaceFields(workspace)){if(field.commands.includes(command)&&!canonicalProperties.has(field.optionName)&&Object.prototype.hasOwnProperty.call(args,field.optionName)){options[field.optionName]=args[field.optionName];delete normalizedArgs[field.optionName];changed=true}}return changed?{...normalizedArgs,options}:args}const _testOnlyMcpRuntimeCapabilities={workspaceExtensionCommands,workspaceFields};export{_testOnlyMcpRuntimeCapabilities,normalizeWorkspaceToolArguments,resolveMcpToolAccess,resolveMcpToolProfile,resolveMcpToolSurface,selectMcpExtensionActions};
|
|
200
2
|
//# sourceMappingURL=runtime-capabilities.js.map
|
|
201
|
-
//# debugId=428f8ed0-dfa8-5c8e-9fdc-baa9fbf9b030
|