@unbrained/pm-cli 2026.9.7 → 2026.9.9
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 +7 -2
- package/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +95 -0
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +231 -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.d.ts +0 -5
- 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-NPN5I67J.js → chunk-3IPRM75M.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-4VL5P22L.js +2 -0
- package/dist/cli-bundle/chunks/chunk-AAFBV3U3.js +29 -0
- package/dist/cli-bundle/chunks/chunk-D3YVILJJ.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-WYRZZ5ZE.js → chunk-DEZPZOQ7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-ECBLPN7B.js +3 -0
- package/dist/cli-bundle/chunks/chunk-J6ERHBV2.js +235 -0
- package/dist/cli-bundle/chunks/chunk-JUNJ5EKI.js +2 -0
- package/dist/cli-bundle/chunks/chunk-L5RCDKQ2.js +2 -0
- package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +2 -0
- package/dist/cli-bundle/chunks/chunk-OHNLSGGV.js +79 -0
- package/dist/cli-bundle/chunks/chunk-WQKMSFBV.js +5 -0
- package/dist/cli-bundle/chunks/{chunk-BAX2BYUW.js → chunk-XZ6T7YPP.js} +256 -150
- package/dist/cli-bundle/chunks/{chunk-JT6XF6GE.js → chunk-Z3XVXUVF.js} +4 -4
- package/dist/cli-bundle/chunks/register-list-query-UIHRCS6D.js +11 -0
- package/dist/cli-bundle/chunks/register-mutation-WHWMGRVX.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-64YZYTC5.js +2 -0
- package/dist/cli-bundle/chunks/register-setup-PERI45EM.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-2W4XIYOB.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-2WSBXIGF.js +12 -0
- package/dist/cli-bundle/focused-chunks/chunk-5FHTCOHS.js +3 -0
- package/dist/cli-bundle/focused-chunks/chunk-7N6DOREF.js +26 -0
- package/dist/cli-bundle/focused-chunks/{chunk-3BZEOXLT.js → chunk-7PC4R5QB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-BUCJUZVG.js +6 -0
- package/dist/cli-bundle/focused-chunks/chunk-FE3BABLJ.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-IWITF53W.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-OQUGRHKV.js +10 -0
- package/dist/cli-bundle/focused-chunks/{chunk-M6PBRFSH.js → chunk-PNKIANFZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-LIJIA4TY.js → chunk-QQQ4SAUO.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-TTYXF5YD.js +177 -0
- package/dist/cli-bundle/focused-chunks/chunk-XNR3DM6J.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-XSS3APUF.js +9 -0
- package/dist/cli-bundle/focused-chunks/chunk-YCDQ2N23.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-YJUXGS57.js +20 -0
- package/dist/cli-bundle/focused-chunks/chunk-ZTCE4UO6.js +58 -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 +37 -37
- 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/policy/workflow-policy-schema.d.ts +312 -0
- package/dist/core/policy/workflow-policy-schema.js +2 -0
- package/dist/core/policy/workflow-policy-store.d.ts +24 -0
- package/dist/core/policy/workflow-policy-store.js +2 -0
- package/dist/core/policy/workflow-policy.d.ts +139 -0
- package/dist/core/policy/workflow-policy.js +2 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -1
- 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 +174 -839
- 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.d.ts +3 -1
- package/dist/sdk/governance/validate.js +1 -2261
- package/dist/sdk/governance/workflow-completeness.d.ts +32 -0
- package/dist/sdk/governance/workflow-completeness.js +2 -0
- package/dist/sdk/governance/workflow-policy.d.ts +47 -0
- package/dist/sdk/governance/workflow-policy.js +4 -0
- package/dist/sdk/governance/workspace-position.js +1 -163
- package/dist/sdk/governance.d.ts +2 -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 -1
- 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.d.ts +1 -1
- 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.d.ts +27 -0
- 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.d.ts +6 -4
- 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.d.ts +1 -1
- 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.d.ts +2 -1
- package/dist/sdk/runtime-public-contracts.js +1 -4
- package/dist/sdk/runtime-stats-options.js +1 -38
- package/dist/sdk/runtime.d.ts +4 -0
- 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.d.ts +2 -1
- 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.d.ts +4 -0
- package/dist/types.js +1 -245
- package/docs/AGENT_GUIDE.md +1 -1
- package/docs/COMMANDS.md +10 -0
- package/docs/CONFIGURATION.md +12 -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 +4 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +5 -0
- package/docs/SCRIPTING.md +21 -0
- package/docs/TESTING.md +33 -0
- package/docs/WORKFLOW_POLICIES.md +129 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +7 -7
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -5
- package/marketplace.json +2 -2
- package/package.json +5 -5
- 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-CKOL5U7J.js +0 -77
- package/dist/cli-bundle/chunks/chunk-JX4DH4WC.js +0 -3
- 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-operations-I5W3KMGB.js +0 -2
- 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-PEFABF7E.js +0 -26
- 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,90 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/item-metadata-contract
|
|
3
|
-
*
|
|
4
|
-
* Declares the dependency-free canonical item metadata vocabulary shared by
|
|
5
|
-
* storage, query projections, generated contracts, and package consumers.
|
|
6
|
-
*/
|
|
7
|
-
/** Portable project-context fields shared by storage order and structured mutation IO. */
|
|
8
|
-
|
|
9
|
-
!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]="27c5eac3-4580-5f6f-8ae9-b04d0281766d")}catch(e){}}();
|
|
10
|
-
export const ITEM_PROJECT_CONTEXT_KEYS = [
|
|
11
|
-
"goal",
|
|
12
|
-
"objective",
|
|
13
|
-
"value",
|
|
14
|
-
"impact",
|
|
15
|
-
"outcome",
|
|
16
|
-
"why_now",
|
|
17
|
-
"parent",
|
|
18
|
-
"reviewer",
|
|
19
|
-
"risk",
|
|
20
|
-
"confidence",
|
|
21
|
-
"sprint",
|
|
22
|
-
"release",
|
|
23
|
-
"blocked_by",
|
|
24
|
-
"blocked_reason",
|
|
25
|
-
"unblock_note",
|
|
26
|
-
"reporter",
|
|
27
|
-
"severity",
|
|
28
|
-
"environment",
|
|
29
|
-
"repro_steps",
|
|
30
|
-
"resolution",
|
|
31
|
-
"expected_result",
|
|
32
|
-
"actual_result",
|
|
33
|
-
];
|
|
34
|
-
const ITEM_METADATA_KEY_ORDER_VALUES = [
|
|
35
|
-
"id",
|
|
36
|
-
"title",
|
|
37
|
-
"description",
|
|
38
|
-
"type",
|
|
39
|
-
"pm_format_version",
|
|
40
|
-
"source_type",
|
|
41
|
-
"type_options",
|
|
42
|
-
"status",
|
|
43
|
-
"priority",
|
|
44
|
-
"tags",
|
|
45
|
-
"created_at",
|
|
46
|
-
"updated_at",
|
|
47
|
-
"deadline",
|
|
48
|
-
"reminders",
|
|
49
|
-
"events",
|
|
50
|
-
"closed_at",
|
|
51
|
-
"completed_at",
|
|
52
|
-
"assignee",
|
|
53
|
-
"claim_principal",
|
|
54
|
-
"source_owner",
|
|
55
|
-
"author",
|
|
56
|
-
"estimated_minutes",
|
|
57
|
-
"acceptance_criteria",
|
|
58
|
-
"design",
|
|
59
|
-
"external_ref",
|
|
60
|
-
"definition_of_ready",
|
|
61
|
-
"order",
|
|
62
|
-
...ITEM_PROJECT_CONTEXT_KEYS,
|
|
63
|
-
"affected_version",
|
|
64
|
-
"fixed_version",
|
|
65
|
-
"component",
|
|
66
|
-
"regression",
|
|
67
|
-
"customer_impact",
|
|
68
|
-
"dependencies",
|
|
69
|
-
"comments",
|
|
70
|
-
"notes",
|
|
71
|
-
"learnings",
|
|
72
|
-
"files",
|
|
73
|
-
"tests",
|
|
74
|
-
"test_runs",
|
|
75
|
-
"docs",
|
|
76
|
-
"close_reason",
|
|
77
|
-
"duplicate_of",
|
|
78
|
-
"plan_mode",
|
|
79
|
-
"plan_scope",
|
|
80
|
-
"plan_harness",
|
|
81
|
-
"plan_resume_context",
|
|
82
|
-
"plan_validation",
|
|
83
|
-
"plan_decisions",
|
|
84
|
-
"plan_discoveries",
|
|
85
|
-
"plan_steps",
|
|
86
|
-
];
|
|
87
|
-
/** Public contract for item metadata key order, shared by SDK and presentation-layer consumers. */
|
|
88
|
-
export const ITEM_METADATA_KEY_ORDER = ITEM_METADATA_KEY_ORDER_VALUES;
|
|
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]="0d16c1b3-1bc5-5973-a20d-78ada79d4c9b")}catch(e2){}})();const ITEM_PROJECT_CONTEXT_KEYS=["goal","objective","value","impact","outcome","why_now","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","unblock_note","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result"];const ITEM_METADATA_KEY_ORDER_VALUES=["id","title","description","type","pm_format_version","source_type","type_options","status","priority","tags","created_at","updated_at","deadline","reminders","events","closed_at","completed_at","assignee","claim_principal","source_owner","author","estimated_minutes","acceptance_criteria","design","external_ref","definition_of_ready","order",...ITEM_PROJECT_CONTEXT_KEYS,"affected_version","fixed_version","component","regression","customer_impact","dependencies","comments","notes","learnings","files","tests","test_runs","docs","close_reason","duplicate_of","plan_mode","plan_scope","plan_harness","plan_resume_context","plan_validation","plan_decisions","plan_discoveries","plan_steps"];const ITEM_METADATA_KEY_ORDER=ITEM_METADATA_KEY_ORDER_VALUES;export{ITEM_METADATA_KEY_ORDER,ITEM_PROJECT_CONTEXT_KEYS};
|
|
89
2
|
//# sourceMappingURL=item-metadata-contract.js.map
|
|
90
|
-
//# debugId=27c5eac3-4580-5f6f-8ae9-b04d0281766d
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/lazy-module
|
|
3
|
-
*
|
|
4
|
-
* Provides shared primitives and utilities for Lazy Module.
|
|
5
|
-
*/
|
|
6
|
-
/** Creates a memoized async module loader for optional or expensive runtime dependencies. */
|
|
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]="0ce743d1-917a-5c96-b038-c95e3922bc48")}catch(e){}}();
|
|
9
|
-
export function createLazyModule(importer) {
|
|
10
|
-
let promise = null;
|
|
11
|
-
return () => {
|
|
12
|
-
promise ??= importer();
|
|
13
|
-
return promise;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
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]="4873876d-67b4-5f79-a984-756b7e539e9b")}catch(e2){}})();function createLazyModule(importer){let promise=null;return()=>{promise??=importer();return promise}}export{createLazyModule};
|
|
16
2
|
//# sourceMappingURL=lazy-module.js.map
|
|
17
|
-
//# debugId=0ce743d1-917a-5c96-b038-c95e3922bc48
|
|
@@ -1,62 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/levenshtein
|
|
3
|
-
*
|
|
4
|
-
* Provides shared primitives and utilities for Levenshtein.
|
|
5
|
-
*/
|
|
6
|
-
// Optimal String Alignment (OSA) Damerau–Levenshtein: counts a single adjacent
|
|
7
|
-
// transposition as one edit (e.g. "titel" vs "title", "lst" vs "lts" -> "list")
|
|
8
|
-
// so flag/command typo suggestions catch transpositions at the same maxDistance
|
|
9
|
-
// budget plain Levenshtein uses for substitutions. pm-fl0c #6 (2026-05-28):
|
|
10
|
-
// fixed because plain Levenshtein scored "titel"->"title" at 2, defeating the
|
|
11
|
-
// length-5 maxDistance=1 ceiling in suggestNearestLongFlags.
|
|
12
|
-
/** Computes bounded Levenshtein distance for typo suggestions without scanning unnecessary suffixes. */
|
|
13
|
-
|
|
14
|
-
!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]="294d43fb-b6e8-5a5f-91fe-73ba21075bf5")}catch(e){}}();
|
|
15
|
-
export function levenshteinDistanceWithinLimit(left, right, limit) {
|
|
16
|
-
if (left === right) {
|
|
17
|
-
return 0;
|
|
18
|
-
}
|
|
19
|
-
if (Math.abs(left.length - right.length) > limit) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
const width = right.length + 1;
|
|
23
|
-
const beforePrevious = new Array(width);
|
|
24
|
-
const previous = new Array(width);
|
|
25
|
-
const current = new Array(width);
|
|
26
|
-
for (let column = 0; column < width; column += 1) {
|
|
27
|
-
beforePrevious[column] = 0;
|
|
28
|
-
previous[column] = column;
|
|
29
|
-
}
|
|
30
|
-
for (let row = 1; row <= left.length; row += 1) {
|
|
31
|
-
current[0] = row;
|
|
32
|
-
let rowMin = current[0];
|
|
33
|
-
for (let column = 1; column <= right.length; column += 1) {
|
|
34
|
-
const cost = left[row - 1] === right[column - 1] ? 0 : 1;
|
|
35
|
-
const substitution = previous[column - 1] + cost;
|
|
36
|
-
const insertion = current[column - 1] + 1;
|
|
37
|
-
const deletion = previous[column] + 1;
|
|
38
|
-
let candidate = Math.min(substitution, insertion, deletion);
|
|
39
|
-
if (row > 1 &&
|
|
40
|
-
column > 1 &&
|
|
41
|
-
left[row - 1] === right[column - 2] &&
|
|
42
|
-
left[row - 2] === right[column - 1]) {
|
|
43
|
-
candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
|
|
44
|
-
}
|
|
45
|
-
current[column] = candidate;
|
|
46
|
-
if (candidate < rowMin) {
|
|
47
|
-
rowMin = candidate;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (rowMin > limit) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
for (let column = 0; column < width; column += 1) {
|
|
54
|
-
beforePrevious[column] = previous[column];
|
|
55
|
-
previous[column] = current[column];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
const result = previous[right.length];
|
|
59
|
-
return result <= limit ? result : null;
|
|
60
|
-
}
|
|
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]="de2a2a0e-8a39-5569-9af9-cbf557bce2a9")}catch(e2){}})();function levenshteinDistanceWithinLimit(left,right,limit){if(left===right){return 0}if(Math.abs(left.length-right.length)>limit){return null}const width=right.length+1;const beforePrevious=new Array(width);const previous=new Array(width);const current=new Array(width);for(let column=0;column<width;column+=1){beforePrevious[column]=0;previous[column]=column}for(let row=1;row<=left.length;row+=1){current[0]=row;let rowMin=current[0];for(let column=1;column<=right.length;column+=1){const cost=left[row-1]===right[column-1]?0:1;const substitution=previous[column-1]+cost;const insertion=current[column-1]+1;const deletion=previous[column]+1;let candidate=Math.min(substitution,insertion,deletion);if(row>1&&column>1&&left[row-1]===right[column-2]&&left[row-2]===right[column-1]){candidate=Math.min(candidate,beforePrevious[column-2]+1)}current[column]=candidate;if(candidate<rowMin){rowMin=candidate}}if(rowMin>limit){return null}for(let column=0;column<width;column+=1){beforePrevious[column]=previous[column];previous[column]=current[column]}}const result=previous[right.length];return result<=limit?result:null}export{levenshteinDistanceWithinLimit};
|
|
61
2
|
//# sourceMappingURL=levenshtein.js.map
|
|
62
|
-
//# debugId=294d43fb-b6e8-5a5f-91fe-73ba21075bf5
|
package/dist/core/shared/memo.js
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/memo
|
|
3
|
-
*
|
|
4
|
-
* Provides shared primitives and utilities for capped memoization maps.
|
|
5
|
-
*/
|
|
6
|
-
/** Drop the oldest-inserted half of a memo map (Map preserves insertion order), so a size-cap hit mid-scan keeps the newest-inserted half instead of cold-starting the memo. Callers that re-insert entries on hit (the envelope memo) get LRU eviction; the scalar comparator memos evict purely by insertion order. */
|
|
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]="b2649352-0afa-5972-8c48-b999f86d5522")}catch(e){}}();
|
|
9
|
-
export function evictOldestMemoEntries(memo) {
|
|
10
|
-
let remaining = Math.ceil(memo.size / 2);
|
|
11
|
-
for (const key of memo.keys()) {
|
|
12
|
-
if (remaining === 0) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
memo.delete(key);
|
|
16
|
-
remaining -= 1;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
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]="43f7bd27-7874-56f9-a497-e6f67a3ae9be")}catch(e2){}})();function evictOldestMemoEntries(memo){let remaining=Math.ceil(memo.size/2);for(const key of memo.keys()){if(remaining===0){return}memo.delete(key);remaining-=1}}export{evictOldestMemoEntries};
|
|
19
2
|
//# sourceMappingURL=memo.js.map
|
|
20
|
-
//# debugId=b2649352-0afa-5972-8c48-b999f86d5522
|
|
@@ -1,21 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/numeric-parsers
|
|
3
|
-
*
|
|
4
|
-
* Provides dependency-neutral numeric parsers shared by CLI and SDK surfaces.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
!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]="b9581c92-5e8a-589d-9681-d4d014e6902b")}catch(e){}}();
|
|
8
|
-
import { EXIT_CODE } from "./constants.js";
|
|
9
|
-
import { PmCliError } from "./errors.js";
|
|
10
|
-
/** Parses a non-negative numeric limit and floors fractional values. */
|
|
11
|
-
export function parseLimit(raw, label = "--limit") {
|
|
12
|
-
if (raw === undefined)
|
|
13
|
-
return undefined;
|
|
14
|
-
const parsed = Number(raw);
|
|
15
|
-
if (!Number.isFinite(parsed) || parsed < 0) {
|
|
16
|
-
throw new PmCliError(`${label} must be a non-negative number`, EXIT_CODE.USAGE);
|
|
17
|
-
}
|
|
18
|
-
return Math.floor(parsed);
|
|
19
|
-
}
|
|
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]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}catch(e2){}})();import{EXIT_CODE}from"./constants.js";import{PmCliError}from"./errors.js";function parseLimit(raw,label="--limit"){if(raw===void 0)return void 0;const parsed=Number(raw);if(!Number.isFinite(parsed)||parsed<0){throw new PmCliError(`${label} must be a non-negative number`,EXIT_CODE.USAGE)}return Math.floor(parsed)}export{parseLimit};
|
|
20
2
|
//# sourceMappingURL=numeric-parsers.js.map
|
|
21
|
-
//# debugId=b9581c92-5e8a-589d-9681-d4d014e6902b
|
|
@@ -1,68 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Helpers for deciding whether a CLI option alias is a pure snake_case
|
|
3
|
-
* underscore-duplicate of an existing kebab-case flag.
|
|
4
|
-
*
|
|
5
|
-
* Mutation commands historically register every `--foo-bar` flag together with
|
|
6
|
-
* a `--foo_bar` alias so agents are never blocked by a snake/kebab mismatch.
|
|
7
|
-
* Those underscore duplicates roughly double the option list of every
|
|
8
|
-
* `--help` and waste agent context. We keep them functional as parse-time
|
|
9
|
-
* aliases but hide them from the rendered `--help` text.
|
|
10
|
-
*
|
|
11
|
-
* The rule is intentionally narrow: an alias is hidden ONLY when its long flag
|
|
12
|
-
* is exactly the underscore form of an existing kebab flag (for example
|
|
13
|
-
* `--create_mode` is the `-`→`_` form of `--create-mode`). Semantically-distinct
|
|
14
|
-
* aliases (for example `--fail-on-warn` for `--strict-exit`, `--local` for
|
|
15
|
-
* `--project`, `--ac` for `--acceptance-criteria`) are NOT snake duplicates and
|
|
16
|
-
* stay visible.
|
|
17
|
-
*/
|
|
18
|
-
/** Extract every long flag (for example `--create-mode`) from a commander flag spec that may include short aliases and a value placeholder. A spec can list more than one long flag, for example `"--estimate, --estimated-minutes <value>"` → `["--estimate", "--estimated-minutes"]`. */
|
|
19
|
-
|
|
20
|
-
!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]="868dfae8-2575-5d5f-8425-c7e68aefdc84")}catch(e){}}();
|
|
21
|
-
export function extractLongFlags(flagSpec) {
|
|
22
|
-
return flagSpec
|
|
23
|
-
.split(/[\s,|]+/)
|
|
24
|
-
.map((token) => token.trim())
|
|
25
|
-
.filter((token) => token.startsWith("--"));
|
|
26
|
-
}
|
|
27
|
-
/** Extract the first long flag from a commander flag spec, or null when none is present. */
|
|
28
|
-
export function extractLongFlag(flagSpec) {
|
|
29
|
-
return extractLongFlags(flagSpec)[0] ?? null;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Returns true when `aliasFlagSpec` differs from `canonicalFlagSpec` ONLY by
|
|
33
|
-
* substituting one or more interior hyphens with underscores — i.e. it is a
|
|
34
|
-
* pure snake_case underscore-duplicate of the canonical kebab flag.
|
|
35
|
-
*
|
|
36
|
-
* Examples that match (alias hidden):
|
|
37
|
-
* --create-mode <- --create_mode
|
|
38
|
-
* --filter-assignee-filter <- --filter-assignee_filter
|
|
39
|
-
*
|
|
40
|
-
* Examples that do NOT match (alias stays visible):
|
|
41
|
-
* --acceptance-criteria <- --ac (different identifier)
|
|
42
|
-
* --order <- --rank (different identifier)
|
|
43
|
-
* --strict-exit <- --fail-on-warn (semantically distinct)
|
|
44
|
-
*/
|
|
45
|
-
export function isPureSnakeCaseAlias(canonicalFlagSpec, aliasFlagSpec) {
|
|
46
|
-
const aliasLong = extractLongFlag(aliasFlagSpec);
|
|
47
|
-
if (aliasLong === null) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
const normalize = (long) => long.slice(2).replaceAll("-", "_");
|
|
51
|
-
// The canonical spec may declare multiple long flags (e.g.
|
|
52
|
-
// "--estimate, --estimated-minutes <value>"); the alias is hidden when it is
|
|
53
|
-
// the underscore form of ANY of them.
|
|
54
|
-
return extractLongFlags(canonicalFlagSpec).some((canonicalLong) => {
|
|
55
|
-
if (!canonicalLong.slice(2).includes("-")) {
|
|
56
|
-
// No interior hyphen to convert, so there is no kebab form to snake-duplicate.
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
if (aliasLong === canonicalLong) {
|
|
60
|
-
// Identical flags are not aliases of one another.
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
// Reachable from the canonical purely by hyphen→underscore substitution.
|
|
64
|
-
return normalize(aliasLong) === normalize(canonicalLong);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
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]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}catch(e2){}})();function extractLongFlags(flagSpec){return flagSpec.split(/[\s,|]+/).map(token=>token.trim()).filter(token=>token.startsWith("--"))}function extractLongFlag(flagSpec){return extractLongFlags(flagSpec)[0]??null}function isPureSnakeCaseAlias(canonicalFlagSpec,aliasFlagSpec){const aliasLong=extractLongFlag(aliasFlagSpec);if(aliasLong===null){return false}const normalize=long=>long.slice(2).replaceAll("-","_");return extractLongFlags(canonicalFlagSpec).some(canonicalLong=>{if(!canonicalLong.slice(2).includes("-")){return false}if(aliasLong===canonicalLong){return false}return normalize(aliasLong)===normalize(canonicalLong)})}export{extractLongFlag,extractLongFlags,isPureSnakeCaseAlias};
|
|
67
2
|
//# sourceMappingURL=option-alias-visibility.js.map
|
|
68
|
-
//# debugId=868dfae8-2575-5d5f-8425-c7e68aefdc84
|
|
@@ -1,128 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Common primitive utility functions shared across core modules.
|
|
3
|
-
*
|
|
4
|
-
* These reduce duplication of trivial helpers like string-presence checks,
|
|
5
|
-
* error message extraction, and numeric array guards that were previously
|
|
6
|
-
* duplicated in providers.ts, vector-stores.ts, lock.ts, cache.ts, and
|
|
7
|
-
* several CLI command modules.
|
|
8
|
-
*/
|
|
9
|
-
/** Return a trimmed non-empty string, or `null` for non-string/blank input. */
|
|
10
|
-
|
|
11
|
-
!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]="c29511ab-8c01-57f2-b353-cbc72900cb90")}catch(e){}}();
|
|
12
|
-
export function toNonEmptyString(value) {
|
|
13
|
-
if (typeof value !== "string") {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
const normalized = value.trim();
|
|
17
|
-
return normalized.length > 0 ? normalized : null;
|
|
18
|
-
}
|
|
19
|
-
/** Implements to non empty string or undefined for the public runtime surface of this module. */
|
|
20
|
-
export function toNonEmptyStringOrUndefined(value) {
|
|
21
|
-
const result = toNonEmptyString(value);
|
|
22
|
-
return result ?? undefined;
|
|
23
|
-
}
|
|
24
|
-
/** Implements trim trailing slashes for the public runtime surface of this module. */
|
|
25
|
-
export function trimTrailingSlashes(value) {
|
|
26
|
-
let end = value.length;
|
|
27
|
-
while (end > 0 && value.charCodeAt(end - 1) === 47) {
|
|
28
|
-
end -= 1;
|
|
29
|
-
}
|
|
30
|
-
return end === value.length ? value : value.slice(0, end);
|
|
31
|
-
}
|
|
32
|
-
/** Implements check whether finite number array for the public runtime surface of this module. */
|
|
33
|
-
export function isFiniteNumberArray(value) {
|
|
34
|
-
return (Array.isArray(value) &&
|
|
35
|
-
value.every((entry) => typeof entry === "number" && Number.isFinite(entry)));
|
|
36
|
-
}
|
|
37
|
-
/** Implements to error message for the public runtime surface of this module. */
|
|
38
|
-
export function toErrorMessage(error) {
|
|
39
|
-
if (error instanceof Error) {
|
|
40
|
-
const message = error.message.trim();
|
|
41
|
-
return message.length > 0 ? message : error.name;
|
|
42
|
-
}
|
|
43
|
-
return String(error);
|
|
44
|
-
}
|
|
45
|
-
/** Parse either a finite numeric literal or a non-empty numeric string. Returns `null` for unsupported input types, empty strings, and non-finite numeric values. */
|
|
46
|
-
export function coerceFiniteNumber(value) {
|
|
47
|
-
const parsed = typeof value === "number"
|
|
48
|
-
? value
|
|
49
|
-
: typeof value === "string" && value.trim().length > 0
|
|
50
|
-
? Number(value.trim())
|
|
51
|
-
: Number.NaN;
|
|
52
|
-
return Number.isFinite(parsed) ? parsed : null;
|
|
53
|
-
}
|
|
54
|
-
/** Implements coerce positive integer for the public runtime surface of this module. */
|
|
55
|
-
export function coercePositiveInteger(value) {
|
|
56
|
-
const parsed = coerceFiniteNumber(value);
|
|
57
|
-
if (parsed === null || parsed <= 0 || !Number.isInteger(parsed)) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
return parsed;
|
|
61
|
-
}
|
|
62
|
-
/** Implements coerce number in range for the public runtime surface of this module. */
|
|
63
|
-
export function coerceNumberInRange(value, min, max) {
|
|
64
|
-
const parsed = coerceFiniteNumber(value);
|
|
65
|
-
if (parsed === null || parsed < min || parsed > max) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
return parsed;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Narrow a value to a plain object, returning `null` for non-objects,
|
|
72
|
-
* `null`, and arrays. Returns the original reference (no clone).
|
|
73
|
-
*
|
|
74
|
-
* Matches the historical `asRecord` in src/cli/main.ts.
|
|
75
|
-
*/
|
|
76
|
-
export function asRecordOrNull(value) {
|
|
77
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
78
|
-
return null;
|
|
79
|
-
}
|
|
80
|
-
return value;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Narrow a value to a plain object, returning `null` only for non-objects and
|
|
84
|
-
* `null` while accepting arrays (arrays are objects). Returns the original
|
|
85
|
-
* reference (no clone).
|
|
86
|
-
*
|
|
87
|
-
* Matches the historical `asRecord` in src/core/extensions/loader.ts, which
|
|
88
|
-
* intentionally omits the array guard.
|
|
89
|
-
*/
|
|
90
|
-
export function asRecordLoose(value) {
|
|
91
|
-
if (typeof value !== "object" || value === null) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
return value;
|
|
95
|
-
}
|
|
96
|
-
/** Narrow a value to a property-bearing object or function. Dynamic module exports can be function/class values with static lifecycle properties, so activation boundaries need a wider record shape than plain-object parsing. */
|
|
97
|
-
export function asPropertyRecord(value) {
|
|
98
|
-
if ((typeof value !== "object" && typeof value !== "function") ||
|
|
99
|
-
value === null) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
return value;
|
|
103
|
-
}
|
|
104
|
-
/** Resolve the module or default export record that owns an `activate` lifecycle function. Accepts object and function/class-shaped exports so runtime loading and SDK tests share the same extension interop rule. */
|
|
105
|
-
export function resolveActivatablePropertyRecord(value) {
|
|
106
|
-
const moduleRecord = asPropertyRecord(value);
|
|
107
|
-
if (!moduleRecord) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
if (typeof moduleRecord.activate === "function") {
|
|
111
|
-
return moduleRecord;
|
|
112
|
-
}
|
|
113
|
-
const defaultExport = asPropertyRecord(moduleRecord.default);
|
|
114
|
-
return typeof defaultExport?.activate === "function" ? defaultExport : null;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Narrow a value to a plain object, returning an empty object for non-objects,
|
|
118
|
-
* `null`, and arrays. Returns a shallow clone of the source object.
|
|
119
|
-
*
|
|
120
|
-
* Matches the historical `asRecord` in src/mcp/server.ts.
|
|
121
|
-
*/
|
|
122
|
-
export function asRecordClone(value) {
|
|
123
|
-
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
124
|
-
? { ...value }
|
|
125
|
-
: {};
|
|
126
|
-
}
|
|
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]="49fe564d-671f-5425-96fe-517cb323f773")}catch(e2){}})();function toNonEmptyString(value){if(typeof value!=="string"){return null}const normalized=value.trim();return normalized.length>0?normalized:null}function toNonEmptyStringOrUndefined(value){const result=toNonEmptyString(value);return result??void 0}function trimTrailingSlashes(value){let end=value.length;while(end>0&&value.charCodeAt(end-1)===47){end-=1}return end===value.length?value:value.slice(0,end)}function isFiniteNumberArray(value){return Array.isArray(value)&&value.every(entry=>typeof entry==="number"&&Number.isFinite(entry))}function toErrorMessage(error){if(error instanceof Error){const message=error.message.trim();return message.length>0?message:error.name}return String(error)}function coerceFiniteNumber(value){const parsed=typeof value==="number"?value:typeof value==="string"&&value.trim().length>0?Number(value.trim()):Number.NaN;return Number.isFinite(parsed)?parsed:null}function coercePositiveInteger(value){const parsed=coerceFiniteNumber(value);if(parsed===null||parsed<=0||!Number.isInteger(parsed)){return null}return parsed}function coerceNumberInRange(value,min,max){const parsed=coerceFiniteNumber(value);if(parsed===null||parsed<min||parsed>max){return null}return parsed}function asRecordOrNull(value){if(typeof value!=="object"||value===null||Array.isArray(value)){return null}return value}function asRecordLoose(value){if(typeof value!=="object"||value===null){return null}return value}function asPropertyRecord(value){if(typeof value!=="object"&&typeof value!=="function"||value===null){return null}return value}function resolveActivatablePropertyRecord(value){const moduleRecord=asPropertyRecord(value);if(!moduleRecord){return null}if(typeof moduleRecord.activate==="function"){return moduleRecord}const defaultExport=asPropertyRecord(moduleRecord.default);return typeof defaultExport?.activate==="function"?defaultExport:null}function asRecordClone(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)?{...value}:{}}export{asPropertyRecord,asRecordClone,asRecordLoose,asRecordOrNull,coerceFiniteNumber,coerceNumberInRange,coercePositiveInteger,isFiniteNumberArray,resolveActivatablePropertyRecord,toErrorMessage,toNonEmptyString,toNonEmptyStringOrUndefined,trimTrailingSlashes};
|
|
127
2
|
//# sourceMappingURL=primitives.js.map
|
|
128
|
-
//# debugId=c29511ab-8c01-57f2-b353-cbc72900cb90
|
|
@@ -1,80 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @module core/shared/serial-queue
|
|
3
|
-
*
|
|
4
|
-
* Provides shared primitives and utilities for Serial Queue.
|
|
5
|
-
*/
|
|
6
|
-
// pm-3puw: a minimal FIFO async queue. Tasks enqueued onto a single instance run
|
|
7
|
-
// strictly one-at-a-time in arrival order — the next task does not start until
|
|
8
|
-
// the previous one has fully settled. The MCP stdio transport uses this to
|
|
9
|
-
// process JSON-RPC lines in arrival order, so a client that pipelines two
|
|
10
|
-
// mutations on the same item (without awaiting the first response) no longer
|
|
11
|
-
// races into a lock conflict on the second.
|
|
12
|
-
/** Create an arrival-ordered asynchronous read/write gate. Readers may overlap, while writers exclude both modes and never starve behind later readers. */
|
|
13
|
-
|
|
14
|
-
!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]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch(e){}}();
|
|
15
|
-
export function createAsyncReadWriteGate() {
|
|
16
|
-
let writerBarrier = Promise.resolve();
|
|
17
|
-
const readers = new Set();
|
|
18
|
-
return {
|
|
19
|
-
async read(task) {
|
|
20
|
-
const precedingWriters = writerBarrier;
|
|
21
|
-
let finishReader;
|
|
22
|
-
const readerDone = new Promise((resolve) => {
|
|
23
|
-
finishReader = resolve;
|
|
24
|
-
});
|
|
25
|
-
readers.add(readerDone);
|
|
26
|
-
await precedingWriters;
|
|
27
|
-
try {
|
|
28
|
-
return await task();
|
|
29
|
-
}
|
|
30
|
-
finally {
|
|
31
|
-
readers.delete(readerDone);
|
|
32
|
-
finishReader();
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
write(task) {
|
|
36
|
-
const precedingWork = Promise.all([writerBarrier, ...readers]);
|
|
37
|
-
const run = precedingWork.then(() => task());
|
|
38
|
-
writerBarrier = run.then(() => undefined, () => undefined);
|
|
39
|
-
return run;
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/** Implements create serial queue for the public runtime surface of this module. */
|
|
44
|
-
export function createSerialQueue() {
|
|
45
|
-
// `tail` is the error-isolated chain the next task waits on; it is kept
|
|
46
|
-
// separate from the per-task promise returned to callers so one rejection
|
|
47
|
-
// does not break the chain or surface as an unhandled rejection.
|
|
48
|
-
let tail = Promise.resolve();
|
|
49
|
-
let pending = 0;
|
|
50
|
-
const idleWaiters = [];
|
|
51
|
-
const notifyIdle = () => {
|
|
52
|
-
if (pending !== 0) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const waiters = idleWaiters.splice(0);
|
|
56
|
-
for (const resolve of waiters) {
|
|
57
|
-
resolve();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
return {
|
|
61
|
-
enqueue(task) {
|
|
62
|
-
pending++;
|
|
63
|
-
const run = tail.then(() => task());
|
|
64
|
-
tail = run
|
|
65
|
-
.then(() => undefined, () => undefined)
|
|
66
|
-
.finally(() => {
|
|
67
|
-
pending--;
|
|
68
|
-
notifyIdle();
|
|
69
|
-
});
|
|
70
|
-
return run;
|
|
71
|
-
},
|
|
72
|
-
idle() {
|
|
73
|
-
return pending === 0
|
|
74
|
-
? Promise.resolve()
|
|
75
|
-
: new Promise((resolve) => idleWaiters.push(resolve));
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
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]="07566a0b-2917-5ed8-828a-d811ae48dfaf")}catch(e2){}})();function createAsyncReadWriteGate(){let writerBarrier=Promise.resolve();const readers=new Set;return{async read(task){const precedingWriters=writerBarrier;let finishReader;const readerDone=new Promise(resolve=>{finishReader=resolve});readers.add(readerDone);await precedingWriters;try{return await task()}finally{readers.delete(readerDone);finishReader()}},write(task){const precedingWork=Promise.all([writerBarrier,...readers]);const run=precedingWork.then(()=>task());writerBarrier=run.then(()=>void 0,()=>void 0);return run}}}function createSerialQueue(){let tail=Promise.resolve();let pending=0;const idleWaiters=[];const notifyIdle=()=>{if(pending!==0){return}const waiters=idleWaiters.splice(0);for(const resolve of waiters){resolve()}};return{enqueue(task){pending++;const run=tail.then(()=>task());tail=run.then(()=>void 0,()=>void 0).finally(()=>{pending--;notifyIdle()});return run},idle(){return pending===0?Promise.resolve():new Promise(resolve=>idleWaiters.push(resolve))}}}export{createAsyncReadWriteGate,createSerialQueue};
|
|
79
2
|
//# sourceMappingURL=serial-queue.js.map
|
|
80
|
-
//# debugId=3239b2c7-3ae3-5d4e-9005-b61000362304
|