@unbrained/pm-cli 2026.10.12 → 2026.10.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +46 -0
- package/dist/cli/after-command-context-usage.d.ts +8 -8
- package/dist/cli/bundle-integrity.d.ts +23 -23
- package/dist/cli/commander-usage.d.ts +26 -26
- package/dist/cli/commander-usage.js +2 -2
- package/dist/cli/error-guidance.d.ts +158 -163
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/extension-command-help.d.ts +68 -68
- package/dist/cli/extension-command-help.js +2 -2
- package/dist/cli/extension-command-options.d.ts +20 -20
- package/dist/cli/extension-command-options.js +1 -1
- package/dist/cli/extension-recovery.d.ts +20 -20
- package/dist/cli/help-content.d.ts +16 -16
- package/dist/cli/help-content.js +2 -2
- package/dist/cli/help-json-payload.d.ts +40 -40
- package/dist/cli/invocation-profile.d.ts +8 -8
- package/dist/cli/main.d.ts +165 -165
- package/dist/cli/main.js +2 -2
- package/dist/cli/migration-gates.d.ts +20 -20
- package/dist/cli/register-list-query.d.ts +4 -4
- package/dist/cli/register-mutation-options.d.ts +2 -2
- package/dist/cli/register-operations.d.ts +66 -66
- package/dist/cli/register-setup.d.ts +1 -1
- package/dist/cli/register-structured-mutation.d.ts +3 -3
- package/dist/cli/register-structured-mutation.js +1 -1
- package/dist/cli/runtime/activation.d.ts +3 -3
- package/dist/cli/runtime/invocation-options.js +1 -1
- package/dist/cli/runtime/selection.d.ts +6 -6
- package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-MHPU2LDF.js → chunk-2UKKO45F.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-3S5SEMEB.js +8 -0
- package/dist/cli-bundle/chunks/{chunk-QM3M7GB5.js → chunk-5LU6PWA4.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3LQTJN4J.js → chunk-66BZVFIK.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-IDEHMKYZ.js +235 -0
- package/dist/cli-bundle/chunks/{chunk-DT3KUUKY.js → chunk-JTF6VMXH.js} +49 -49
- package/dist/cli-bundle/chunks/{chunk-GUVKPOY6.js → chunk-LE4IEHDG.js} +11 -11
- package/dist/cli-bundle/chunks/{chunk-UABZJXIS.js → chunk-LKESCZEN.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-LOSRTNNP.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-X2I2EEAS.js → chunk-MAT4AP7P.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-PP3BVMFL.js +30 -0
- package/dist/cli-bundle/chunks/chunk-UNQZGMJL.js +20 -0
- package/dist/cli-bundle/chunks/chunk-YXRAYL7H.js +2 -0
- package/dist/cli-bundle/chunks/{register-list-query-OR33UEML.js → register-list-query-GBLTOQQL.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-R34EJ3NH.js → register-mutation-TNRHNK4N.js} +3 -3
- package/dist/cli-bundle/chunks/{register-operations-UHSMEHSF.js → register-operations-J3WXP3MA.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-5E3PT22L.js → register-setup-HLSKKU4V.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-23ACMPGB.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-4UA7KY4V.js +3 -0
- package/dist/cli-bundle/focused-chunks/{chunk-Z4T3637Y.js → chunk-AULVKHYX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TS46OZD5.js → chunk-BUAGNTLG.js} +12 -12
- package/dist/cli-bundle/focused-chunks/{chunk-RNAWRTQV.js → chunk-ELQNEJDA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-OGOLIS5R.js → chunk-ESOW6PH4.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-HNRI2KBT.js +3 -0
- package/dist/cli-bundle/focused-chunks/chunk-IGBSAHCA.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7QIZB2F2.js → chunk-JDVZF75H.js} +14 -14
- package/dist/cli-bundle/focused-chunks/{chunk-SV6YYZLR.js → chunk-KSMQEB3V.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-LKWDWER4.js +20 -0
- package/dist/cli-bundle/focused-chunks/chunk-QIU4Y3AB.js +8 -0
- package/dist/cli-bundle/focused-chunks/{chunk-CYEZLKLL.js → chunk-RHQCQTZA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-WIXZF5SS.js +26 -0
- package/dist/cli-bundle/focused-chunks/{chunk-AJG3DBXR.js → chunk-Y5A4XOSK.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-VBTLX5SN.js → chunk-YJNKISEI.js} +62 -62
- package/dist/cli-bundle/main.js +21 -21
- 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 +22 -22
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +51 -51
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/cli.d.ts +4 -4
- package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
- package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
- package/dist/core/config/nested-settings.d.ts +26 -26
- package/dist/core/config/positional-value.d.ts +16 -16
- package/dist/core/diagnostics/remediation.d.ts +6 -6
- package/dist/core/diagnostics/remediation.js +1 -1
- package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
- package/dist/core/extensions/activation-summary.d.ts +54 -54
- package/dist/core/extensions/activation-transaction.d.ts +7 -7
- package/dist/core/extensions/capability-usage.d.ts +26 -26
- package/dist/core/extensions/command-hook-context.d.ts +26 -26
- package/dist/core/extensions/contribution-inventory.d.ts +21 -21
- package/dist/core/extensions/extension-candidate.d.ts +14 -14
- package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
- package/dist/core/extensions/extension-policy.d.ts +80 -80
- package/dist/core/extensions/extension-types.d.ts +1294 -1285
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/extensions/flag-definition-validation.d.ts +17 -4
- package/dist/core/extensions/flag-definition-validation.js +1 -1
- package/dist/core/extensions/flag-value-types.js +1 -1
- package/dist/core/extensions/item-fields.d.ts +3 -2
- package/dist/core/extensions/item-fields.js +1 -1
- package/dist/core/extensions/loader.d.ts +36 -36
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/manifest-schema.d.ts +16 -16
- package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
- package/dist/core/extensions/read-output-contract.d.ts +5 -0
- package/dist/core/extensions/read-output-contract.js +2 -0
- package/dist/core/extensions/registration-values.d.ts +1 -1
- package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
- package/dist/core/extensions/version-compat.d.ts +10 -10
- package/dist/core/fs/fs-utils.d.ts +1 -1
- package/dist/core/fs/host-environment-errors.d.ts +14 -14
- package/dist/core/governance/content-fields.d.ts +31 -31
- package/dist/core/governance/issue-codes.d.ts +27 -27
- package/dist/core/governance/metadata-coverage.d.ts +91 -91
- package/dist/core/history/drift-scan.d.ts +26 -26
- package/dist/core/history/event-index.d.ts +41 -41
- package/dist/core/history/history-compact-bulk.d.ts +22 -22
- package/dist/core/history/history-diff.d.ts +22 -22
- package/dist/core/history/history-rewrite.d.ts +66 -66
- package/dist/core/history/history-storage-stats.d.ts +31 -31
- package/dist/core/history/history-stream-policy.d.ts +12 -12
- package/dist/core/history/history.d.ts +22 -22
- package/dist/core/history/identity.d.ts +6 -6
- package/dist/core/history/operation-contract.d.ts +9 -9
- package/dist/core/history/projection.d.ts +15 -15
- package/dist/core/history/read.d.ts +4 -4
- package/dist/core/history/replay.d.ts +51 -49
- package/dist/core/history/replay.js +1 -1
- package/dist/core/history/workspace-history.d.ts +101 -101
- package/dist/core/io/bulk-ids-input.d.ts +4 -4
- package/dist/core/item/actionability.d.ts +40 -40
- package/dist/core/item/id.d.ts +3 -3
- package/dist/core/item/item-format-version.d.ts +8 -8
- package/dist/core/item/item-format.d.ts +35 -35
- package/dist/core/item/item-type-definition.d.ts +2 -2
- package/dist/core/item/parent-reference-policy.d.ts +1 -1
- package/dist/core/item/parse.d.ts +12 -12
- package/dist/core/item/sprint-release-format.d.ts +2 -2
- package/dist/core/item/status-filter.d.ts +4 -4
- package/dist/core/item/toon-decode.d.ts +9 -9
- package/dist/core/item/type-registry.d.ts +40 -40
- package/dist/core/lock/lock-gc.d.ts +50 -50
- package/dist/core/lock/lock.d.ts +37 -37
- package/dist/core/output/mutation-projection.d.ts +6 -6
- package/dist/core/output/output-control.d.ts +4 -4
- package/dist/core/output/output.d.ts +40 -40
- package/dist/core/output/query-summary.d.ts +5 -5
- package/dist/core/packages/manifest.d.ts +50 -50
- package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
- package/dist/core/policy/workflow-policy-store.d.ts +7 -7
- package/dist/core/policy/workflow-policy.d.ts +81 -81
- package/dist/core/profile/profile-describe.d.ts +40 -40
- package/dist/core/profile/profile-lint.d.ts +20 -20
- package/dist/core/profile/profile-plan.d.ts +84 -84
- package/dist/core/profile/profile-presets.d.ts +52 -52
- package/dist/core/reproducibility/context.d.ts +6 -6
- package/dist/core/schema/fields-file.d.ts +54 -54
- package/dist/core/schema/item-types-file.d.ts +36 -36
- package/dist/core/schema/runtime-field-values.d.ts +2 -2
- package/dist/core/schema/runtime-schema.d.ts +86 -86
- package/dist/core/schema/status-defs-file.d.ts +36 -36
- package/dist/core/schema/type-inference.d.ts +14 -14
- package/dist/core/schema/type-workflows.d.ts +22 -22
- package/dist/core/search/background-refresh.d.ts +9 -9
- package/dist/core/search/bm25.d.ts +19 -19
- package/dist/core/search/cache.d.ts +35 -35
- package/dist/core/search/corpus.d.ts +12 -12
- package/dist/core/search/embedding-batches.d.ts +48 -48
- package/dist/core/search/eval.d.ts +49 -49
- package/dist/core/search/http-client.d.ts +38 -38
- package/dist/core/search/providers.d.ts +41 -41
- package/dist/core/search/relevance.d.ts +20 -20
- package/dist/core/search/semantic-defaults.d.ts +8 -8
- package/dist/core/search/staleness.d.ts +4 -4
- package/dist/core/search/vector-stores.d.ts +78 -78
- package/dist/core/search/vectorization-metadata.d.ts +6 -6
- package/dist/core/sentry/helpers.d.ts +17 -15
- package/dist/core/sentry/helpers.js +1 -1
- package/dist/core/sentry/instrument.d.ts +42 -40
- package/dist/core/sentry/instrument.js +1 -1
- package/dist/core/session/session-state.d.ts +32 -32
- package/dist/core/shared/agent-session-context.d.ts +14 -14
- package/dist/core/shared/author.d.ts +128 -128
- package/dist/core/shared/command-types.d.ts +40 -40
- package/dist/core/shared/conflict-markers.d.ts +6 -6
- package/dist/core/shared/constants.d.ts +13 -13
- package/dist/core/shared/errors.d.ts +194 -183
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/shared/secret-rules.d.ts +97 -97
- package/dist/core/shared/serial-queue.d.ts +8 -8
- package/dist/core/shared/split-comma-list.d.ts +6 -6
- package/dist/core/shared/time.d.ts +23 -23
- package/dist/core/store/item-format-migration.d.ts +10 -10
- package/dist/core/store/item-metadata-cache.d.ts +38 -38
- package/dist/core/store/item-metadata-query-index.d.ts +79 -79
- package/dist/core/store/item-metadata-read-work.d.ts +6 -6
- package/dist/core/store/item-store.d.ts +110 -110
- package/dist/core/store/paths.d.ts +2 -2
- package/dist/core/store/settings-read-cache.d.ts +12 -12
- package/dist/core/store/settings-validator.d.ts +165 -165
- package/dist/core/store/settings.d.ts +59 -59
- package/dist/core/telemetry/observability.d.ts +17 -17
- package/dist/core/telemetry/policy.d.ts +3 -3
- package/dist/core/telemetry/runtime.d.ts +242 -242
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/core/test/background-runs.d.ts +185 -185
- package/dist/core/test/item-test-run-tracking.d.ts +6 -6
- package/dist/core/test/run-selectors.d.ts +18 -18
- package/dist/core/validate/fix-planning.d.ts +50 -50
- package/dist/core/validate/missing-by-type.d.ts +4 -4
- package/dist/core/validate/missing-link-owners.d.ts +30 -30
- package/dist/core/validate/stale-file-classification.d.ts +8 -8
- package/dist/mcp/http-server.d.ts +28 -28
- package/dist/mcp/legacy-adapter.d.ts +33 -33
- package/dist/mcp/runtime-capabilities.d.ts +16 -16
- package/dist/mcp/server.d.ts +50 -50
- package/dist/mcp/tool-definitions.d.ts +36 -36
- package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
- package/dist/sdk/agent/command-recovery.d.ts +4 -0
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/agent/identity-config.d.ts +32 -32
- package/dist/sdk/agent/item-addressing.d.ts +8 -8
- package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
- package/dist/sdk/agent/refusal-closure.d.ts +42 -42
- package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
- package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
- package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
- package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
- package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
- package/dist/sdk/agent-capability-contracts.d.ts +37 -37
- package/dist/sdk/annotations.d.ts +106 -106
- package/dist/sdk/author-attribution.d.ts +76 -76
- package/dist/sdk/authoring.d.ts +1 -1
- package/dist/sdk/authoring.js +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +70 -70
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
- package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
- package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
- package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
- package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
- package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/registration-helpers.d.ts +36 -36
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
- package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
- package/dist/sdk/cli-contracts/tool-schema.d.ts +54 -54
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
- package/dist/sdk/comments.d.ts +44 -44
- package/dist/sdk/compile-cache.d.ts +4 -4
- package/dist/sdk/completion/shared.d.ts +22 -22
- package/dist/sdk/compose.d.ts +156 -156
- package/dist/sdk/config.d.ts +123 -123
- package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
- package/dist/sdk/context/usage-ledger.d.ts +20 -20
- package/dist/sdk/context-intent-contracts.d.ts +50 -50
- package/dist/sdk/context-intent-contracts.js +1 -1
- package/dist/sdk/context-intent-runtime.d.ts +8 -8
- package/dist/sdk/context-packing.d.ts +78 -78
- package/dist/sdk/context-relevance.d.ts +189 -180
- package/dist/sdk/context-relevance.js +1 -1
- package/dist/sdk/context-signal-store.d.ts +84 -84
- package/dist/sdk/context-usage.d.ts +92 -92
- package/dist/sdk/corpus-shape.d.ts +101 -101
- package/dist/sdk/define.d.ts +2 -2
- package/dist/sdk/dependencies.d.ts +116 -116
- package/dist/sdk/dependency-flag-validation.d.ts +14 -12
- package/dist/sdk/dependency-flag-validation.js +1 -1
- package/dist/sdk/dependency-provenance.d.ts +30 -30
- package/dist/sdk/docs.d.ts +32 -32
- package/dist/sdk/duplicates.d.ts +21 -21
- package/dist/sdk/environment/agent-environment.d.ts +196 -196
- package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
- package/dist/sdk/environment/source-context.d.ts +6 -6
- package/dist/sdk/error-code-catalog.d.ts +40 -40
- package/dist/sdk/errors.d.ts +29 -29
- package/dist/sdk/eval.d.ts +45 -45
- package/dist/sdk/extension/author-manifest.d.ts +14 -14
- package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
- package/dist/sdk/extension/describe.d.ts +36 -36
- package/dist/sdk/extension/doctor.d.ts +29 -29
- package/dist/sdk/extension/install-plan.d.ts +55 -55
- package/dist/sdk/extension/install-receipts.d.ts +2 -2
- package/dist/sdk/extension/install-runtime.d.ts +8 -8
- package/dist/sdk/extension/install-snapshot.d.ts +14 -14
- package/dist/sdk/extension/install-sources.d.ts +96 -96
- package/dist/sdk/extension/managed-state.d.ts +66 -66
- package/dist/sdk/extension/migrations.d.ts +82 -82
- package/dist/sdk/extension/output-ownership.d.ts +24 -24
- package/dist/sdk/extension/runtime-summary.d.ts +5 -5
- package/dist/sdk/extension/scaffold.d.ts +12 -12
- package/dist/sdk/extension/shared.d.ts +15 -15
- package/dist/sdk/extension/source-resolution.d.ts +30 -30
- package/dist/sdk/extension/static-inventory.d.ts +42 -42
- package/dist/sdk/extension/update-check.d.ts +10 -10
- package/dist/sdk/extension.d.ts +320 -320
- package/dist/sdk/files.d.ts +157 -157
- package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
- package/dist/sdk/governance/assurance-action.d.ts +68 -68
- package/dist/sdk/governance/assurance-action.js +1 -1
- package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
- package/dist/sdk/governance/assurance-presets.d.ts +24 -24
- package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
- package/dist/sdk/governance/assurance.d.ts +353 -353
- package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
- package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
- package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
- package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
- package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
- package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
- package/dist/sdk/governance/defect-recurrence.js +2 -1
- package/dist/sdk/governance/extension-host-version.d.ts +16 -16
- package/dist/sdk/governance/gc.d.ts +48 -48
- package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
- package/dist/sdk/governance/health.d.ts +188 -188
- package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
- package/dist/sdk/governance/linked-file-report.d.ts +26 -26
- package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
- package/dist/sdk/governance/provenance-health.d.ts +64 -64
- package/dist/sdk/governance/reindex.d.ts +89 -89
- package/dist/sdk/governance/reliability.d.ts +56 -56
- package/dist/sdk/governance/stale-work.d.ts +22 -22
- package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
- package/dist/sdk/governance/storage-integrity.d.ts +54 -54
- package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
- package/dist/sdk/governance/upgrade.d.ts +104 -104
- package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
- package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
- package/dist/sdk/governance/validate.d.ts +191 -191
- package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
- package/dist/sdk/governance/workflow-policy.d.ts +28 -28
- package/dist/sdk/governance/workspace-position.d.ts +46 -46
- package/dist/sdk/graph/adapter.d.ts +66 -66
- package/dist/sdk/graph/analytics.d.ts +54 -54
- package/dist/sdk/graph/assembly.d.ts +80 -80
- package/dist/sdk/graph/cache.d.ts +29 -29
- package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
- package/dist/sdk/graph/cardinality-integrity.js +2 -0
- package/dist/sdk/graph/centrality.d.ts +34 -34
- package/dist/sdk/graph/conformance.d.ts +33 -33
- package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
- package/dist/sdk/graph/durable-cache.d.ts +26 -26
- package/dist/sdk/graph/governance.d.ts +165 -165
- package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
- package/dist/sdk/graph/index.d.ts +1 -0
- package/dist/sdk/graph/index.js +1 -1
- package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
- package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
- package/dist/sdk/graph/query-contracts.d.ts +10 -10
- package/dist/sdk/graph/remediation.d.ts +25 -25
- package/dist/sdk/graph/run.d.ts +392 -392
- package/dist/sdk/graph/scheduling.d.ts +38 -38
- package/dist/sdk/graph/traversal.d.ts +14 -14
- package/dist/sdk/guide-topics.d.ts +32 -32
- package/dist/sdk/guide.d.ts +62 -62
- package/dist/sdk/history/attestation-command.d.ts +12 -12
- package/dist/sdk/history/attestation-contract.d.ts +78 -78
- package/dist/sdk/history/attestation-scan.d.ts +6 -6
- package/dist/sdk/history/maintenance.d.ts +46 -46
- package/dist/sdk/history/salvage.d.ts +18 -18
- package/dist/sdk/history/subject.d.ts +9 -9
- package/dist/sdk/history-analytics.d.ts +84 -84
- package/dist/sdk/history-compact.d.ts +103 -103
- package/dist/sdk/history-mcp.d.ts +8 -8
- package/dist/sdk/history-provenance.d.ts +59 -59
- package/dist/sdk/history-read.d.ts +36 -36
- package/dist/sdk/history-redact.d.ts +78 -78
- package/dist/sdk/history-repair.d.ts +158 -158
- package/dist/sdk/history-repair.js +1 -1
- package/dist/sdk/improvement-ledger.d.ts +102 -102
- package/dist/sdk/init-agent-guidance.d.ts +70 -70
- package/dist/sdk/init.d.ts +152 -152
- package/dist/sdk/item-children.d.ts +28 -28
- package/dist/sdk/item-schedule.d.ts +12 -12
- package/dist/sdk/item-transaction.d.ts +100 -100
- package/dist/sdk/learnings.d.ts +42 -42
- package/dist/sdk/lifecycle/append.d.ts +14 -14
- package/dist/sdk/lifecycle/claim.d.ts +60 -60
- package/dist/sdk/lifecycle/close-many.d.ts +94 -94
- package/dist/sdk/lifecycle/close.d.ts +27 -27
- package/dist/sdk/lifecycle/copy.d.ts +18 -18
- package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
- package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
- package/dist/sdk/lifecycle/create.d.ts +82 -82
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/delete.d.ts +28 -28
- package/dist/sdk/lifecycle/focus.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
- package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
- package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
- package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
- package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
- package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
- package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
- package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
- package/dist/sdk/lifecycle/plan.d.ts +217 -217
- package/dist/sdk/lifecycle/reopen.d.ts +29 -24
- package/dist/sdk/lifecycle/reopen.js +1 -1
- package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
- package/dist/sdk/lifecycle/restore.d.ts +33 -33
- package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
- package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
- package/dist/sdk/lifecycle/update-many.d.ts +79 -79
- package/dist/sdk/lifecycle/update.d.ts +131 -132
- package/dist/sdk/lifecycle/update.js +2 -2
- package/dist/sdk/lifecycle-completion.d.ts +22 -22
- package/dist/sdk/lifecycle-policy.d.ts +52 -52
- package/dist/sdk/linked-artifacts.d.ts +69 -69
- package/dist/sdk/mcp/apps.d.ts +32 -32
- package/dist/sdk/mcp/authorization.d.ts +76 -76
- package/dist/sdk/mcp/discovery.d.ts +111 -111
- package/dist/sdk/mcp/interactions.d.ts +61 -61
- package/dist/sdk/mcp/protocol.d.ts +78 -78
- package/dist/sdk/mcp/skills.d.ts +88 -88
- package/dist/sdk/mcp/subscriptions.d.ts +39 -39
- package/dist/sdk/mcp/tasks.d.ts +75 -75
- package/dist/sdk/mcp/transport.d.ts +11 -11
- package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
- package/dist/sdk/merge/driver.d.ts +60 -60
- package/dist/sdk/merge/install.d.ts +64 -64
- package/dist/sdk/merge/install.js +1 -1
- package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
- package/dist/sdk/merge/receipt-operation.d.ts +6 -6
- package/dist/sdk/merge/receipt-schema.d.ts +2 -2
- package/dist/sdk/merge/receipts.d.ts +156 -156
- package/dist/sdk/merge/reconcile.d.ts +36 -36
- package/dist/sdk/merge/reconcile.js +1 -1
- package/dist/sdk/merge/three-way.d.ts +77 -76
- package/dist/sdk/merge/three-way.js +1 -1
- package/dist/sdk/mutation-events.d.ts +84 -84
- package/dist/sdk/mutation-guard.d.ts +106 -106
- package/dist/sdk/notes.d.ts +52 -52
- package/dist/sdk/output/table-rows.d.ts +8 -8
- package/dist/sdk/output-contracts.d.ts +38 -38
- package/dist/sdk/output-projection.d.ts +142 -142
- package/dist/sdk/output-token-accounting.d.ts +27 -27
- package/dist/sdk/output.d.ts +28 -28
- package/dist/sdk/package-import-adapters.d.ts +54 -54
- package/dist/sdk/pagination.d.ts +29 -29
- package/dist/sdk/profile.d.ts +123 -123
- package/dist/sdk/provenance.d.ts +58 -58
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/activity.d.ts +118 -118
- package/dist/sdk/query/aggregate.d.ts +140 -140
- package/dist/sdk/query/calendar.d.ts +144 -144
- package/dist/sdk/query/complete-list.d.ts +53 -53
- package/dist/sdk/query/context.d.ts +395 -395
- package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
- package/dist/sdk/query/get.d.ts +77 -77
- package/dist/sdk/query/history.d.ts +72 -72
- package/dist/sdk/query/item-filter-options.d.ts +79 -79
- package/dist/sdk/query/list-filter-shared.d.ts +1 -1
- package/dist/sdk/query/list.d.ts +188 -188
- package/dist/sdk/query/multi-value-filters.d.ts +4 -4
- package/dist/sdk/query/next-ready-budget.d.ts +14 -14
- package/dist/sdk/query/next.d.ts +137 -137
- package/dist/sdk/query/projection-contracts.d.ts +8 -8
- package/dist/sdk/query/search/corpus.d.ts +8 -8
- package/dist/sdk/query/search/filters.d.ts +5 -5
- package/dist/sdk/query/search/input.d.ts +4 -4
- package/dist/sdk/query/search/response.d.ts +8 -8
- package/dist/sdk/query/search/semantic.d.ts +106 -106
- package/dist/sdk/query/search/types.d.ts +85 -85
- package/dist/sdk/query/search-contracts.d.ts +65 -65
- package/dist/sdk/query/search-pagination.d.ts +19 -19
- package/dist/sdk/query/search-rendering.d.ts +25 -25
- package/dist/sdk/query/search.d.ts +46 -46
- package/dist/sdk/read-output/continuation.d.ts +8 -8
- package/dist/sdk/read-output/continuation.js +1 -1
- package/dist/sdk/read-output/extension.d.ts +7 -0
- package/dist/sdk/read-output/extension.js +2 -0
- package/dist/sdk/read-output/options.d.ts +6 -4
- package/dist/sdk/read-output/options.js +1 -1
- package/dist/sdk/read-output/provenance.d.ts +8 -8
- package/dist/sdk/read-output-budget.d.ts +10 -10
- package/dist/sdk/read-output-contracts.d.ts +192 -186
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/read-output-rows.d.ts +6 -6
- package/dist/sdk/read-output-session.d.ts +50 -50
- package/dist/sdk/relationship-analytics.d.ts +78 -78
- package/dist/sdk/relationship-context.d.ts +81 -81
- package/dist/sdk/relationship-history.d.ts +109 -109
- package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
- package/dist/sdk/relationship-migration.d.ts +26 -26
- package/dist/sdk/relationships.d.ts +78 -78
- package/dist/sdk/reproducibility/process.d.ts +3 -3
- package/dist/sdk/runtime/context.d.ts +11 -11
- package/dist/sdk/runtime-action-aliases.d.ts +2 -2
- package/dist/sdk/runtime-extended-actions.d.ts +8 -8
- package/dist/sdk/runtime-input.d.ts +3 -3
- package/dist/sdk/runtime-primitives.d.ts +4 -2
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime-public-contracts.d.ts +78 -78
- package/dist/sdk/runtime.d.ts +305 -305
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
- package/dist/sdk/schema-migration.d.ts +86 -86
- package/dist/sdk/schema.d.ts +355 -355
- package/dist/sdk/similarity-scoring.d.ts +10 -10
- package/dist/sdk/similarity.d.ts +113 -113
- package/dist/sdk/stats.d.ts +108 -108
- package/dist/sdk/structured-mutations.d.ts +16 -16
- package/dist/sdk/structured-mutations.js +1 -1
- package/dist/sdk/telemetry.d.ts +53 -53
- package/dist/sdk/templates.d.ts +39 -39
- package/dist/sdk/test/batch.d.ts +85 -85
- package/dist/sdk/test/execution-receipts.d.ts +3 -3
- package/dist/sdk/test/execution.d.ts +277 -277
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/test/json-path.d.ts +2 -2
- package/dist/sdk/test/linked-command-detection.d.ts +10 -10
- package/dist/sdk/test/measurements.d.ts +11 -11
- package/dist/sdk/test/parsers.d.ts +1 -1
- package/dist/sdk/test/parsers.js +1 -1
- package/dist/sdk/test/runs.d.ts +52 -52
- package/dist/sdk/test/trust.d.ts +12 -12
- package/dist/sdk/test/update.d.ts +31 -31
- package/dist/sdk/testing.d.ts +323 -319
- package/dist/sdk/testing.js +2 -2
- package/dist/sdk/traceability/source-traceability.d.ts +65 -65
- package/dist/sdk/workspace-contracts.d.ts +37 -37
- package/dist/sdk/workspace-memory.d.ts +60 -60
- package/dist/sdk/workspace-recipe.d.ts +9 -9
- package/dist/sdk/workspace-snapshot.d.ts +97 -97
- package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
- package/dist/sdk/workspace-transaction.d.ts +47 -47
- package/dist/sdk/workspace.d.ts +6 -6
- package/dist/types.d.ts +978 -978
- package/dist/types.js +1 -1
- package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
- package/docs/CONFIGURATION.md +43 -0
- package/docs/DEFECT_RECURRENCE.md +20 -0
- package/docs/EXTENSIONS.md +3 -3
- package/docs/EXTENSION_AUTHOR_CONTRACTS.md +19 -0
- package/docs/MERGE_SAFETY.md +35 -1
- package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
- package/docs/RELATIONSHIP_GRAPH.md +26 -0
- package/docs/RELEASING.md +6 -0
- package/docs/SDK.md +62 -18
- package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -3
- package/marketplace.json +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/core/package.json +2 -2
- package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/resources/package.json +3 -3
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
- package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
- package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
- package/node_modules/@sentry/core/build/cjs/index.js +3 -0
- package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/cjs/server.js +3 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
- package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/esm/browser.js +1 -0
- package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
- package/node_modules/@sentry/core/build/esm/index.js +1 -0
- package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/esm/package.json +1 -1
- package/node_modules/@sentry/core/build/esm/server.js +1 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
- package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/package.json +3 -2
- package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/package.json +1 -1
- package/node_modules/@sentry/node/package.json +7 -6
- package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
- package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
- package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
- package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
- package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
- package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
- package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/package.json +5 -4
- package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
- package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
- package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
- package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
- package/node_modules/@sentry/opentelemetry/package.json +4 -3
- package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
- package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/package.json +4 -3
- package/node_modules/cjs-module-lexer/README.md +8 -3
- package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
- package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
- package/node_modules/cjs-module-lexer/lexer.js +48 -9
- package/node_modules/cjs-module-lexer/package.json +3 -2
- package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
- package/node_modules/es-module-lexer/package.json +1 -1
- package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
- package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
- package/node_modules/import-in-the-middle/package.json +1 -1
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/scripts/finalize-build.mjs +37 -0
- package/dist/cli-bundle/chunks/chunk-6PZPUJW3.js +0 -234
- package/dist/cli-bundle/chunks/chunk-B465HPS5.js +0 -8
- package/dist/cli-bundle/chunks/chunk-ILQEZ4Y6.js +0 -2
- package/dist/cli-bundle/chunks/chunk-JRRXWH5B.js +0 -20
- package/dist/cli-bundle/chunks/chunk-LH5QDBMN.js +0 -2
- package/dist/cli-bundle/chunks/chunk-M5NDSW6E.js +0 -30
- package/dist/cli-bundle/focused-chunks/chunk-AXBO53EQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-FXRWJEQ5.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-IKJFAU32.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-PPH5N26M.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-RZVNGUT7.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-YCOJLIDI.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-YDJT33JU.js +0 -2
package/dist/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="459c0cce-212f-5285-9c3b-13676d2388af")}catch{}})();const BUILTIN_ITEM_TYPE_VALUES=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],ITEM_TYPE_VALUES=BUILTIN_ITEM_TYPE_VALUES,STATUS_VALUES=["draft","open","in_progress","blocked","closed","canceled"],RUNTIME_STATUS_ROLE_VALUES=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],RUNTIME_FIELD_TYPE_VALUES=["string","number","boolean","string_array","array","object"],RUNTIME_FIELD_COMMAND_VALUES=["create","update","update_many","list","search","calendar","context"],RUNTIME_UNKNOWN_FIELD_POLICY_VALUES=["allow","warn","reject"],DEPENDENCY_KIND_VALUES=["blocks","parent","child","parent_child","child_of","related","related_to","discovered_from","blocked_by","incident_from","epic","implements","recurs_from","supersedes","task","verifies"],SCOPE_VALUES=["project","global"],RISK_VALUES=["low","medium","high","critical"],ISSUE_SEVERITY_VALUES=["low","medium","high","critical"],CONFIDENCE_TEXT_VALUES=["low","medium","high"],ITEM_FORMAT_VALUES=["toon","json_markdown"],SPRINT_RELEASE_FORMAT_POLICY_VALUES=["warn","strict_error"],PARENT_REFERENCE_POLICY_VALUES=["warn","strict_error"],VALIDATE_METADATA_PROFILE_VALUES=["core","strict","custom"],GOVERNANCE_PRESET_VALUES=["minimal","default","strict","custom"],GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES=["none","warn","strict"],GOVERNANCE_CREATE_MODE_DEFAULT_VALUES=["progressive","strict"],GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES=["off","warn","strict"],GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES=["off","warn","strict"],GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES=["off","advisory","strict"],VALIDATE_METADATA_REQUIRED_FIELD_VALUES=["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"],RECURRENCE_FREQUENCY_VALUES=["daily","weekly","monthly","yearly"],RECURRENCE_WEEKDAY_VALUES=["mon","tue","wed","thu","fri","sat","sun"];function weekdayOrderIndex(value){return RECURRENCE_WEEKDAY_VALUES.indexOf(value)}const PLAN_MODE_VALUES=["draft","research","review","approved","executing","paused","completed","superseded"],PLAN_STEP_STATUS_VALUES=["pending","in_progress","completed","blocked","skipped","superseded"],PLAN_HARNESS_VALUES=["codex","claude-code","cursor","generic"],PLAN_STEP_LINK_KIND_VALUES=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"],CONTEXT_DEPTH_VALUES=["brief","standard","deep","full"],CONTEXT_SECTION_VALUES=["hierarchy","activity","progress","recently_created","unparented","blockers","files","workload","staleness","tests"];export{BUILTIN_ITEM_TYPE_VALUES,CONFIDENCE_TEXT_VALUES,CONTEXT_DEPTH_VALUES,CONTEXT_SECTION_VALUES,DEPENDENCY_KIND_VALUES,GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES,GOVERNANCE_CREATE_MODE_DEFAULT_VALUES,GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES,GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES,GOVERNANCE_PRESET_VALUES,GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES,ISSUE_SEVERITY_VALUES,ITEM_FORMAT_VALUES,ITEM_TYPE_VALUES,PARENT_REFERENCE_POLICY_VALUES,PLAN_HARNESS_VALUES,PLAN_MODE_VALUES,PLAN_STEP_LINK_KIND_VALUES,PLAN_STEP_STATUS_VALUES,RECURRENCE_FREQUENCY_VALUES,RECURRENCE_WEEKDAY_VALUES,RISK_VALUES,RUNTIME_FIELD_COMMAND_VALUES,RUNTIME_FIELD_TYPE_VALUES,RUNTIME_STATUS_ROLE_VALUES,RUNTIME_UNKNOWN_FIELD_POLICY_VALUES,SCOPE_VALUES,SPRINT_RELEASE_FORMAT_POLICY_VALUES,STATUS_VALUES,VALIDATE_METADATA_PROFILE_VALUES,VALIDATE_METADATA_REQUIRED_FIELD_VALUES,weekdayOrderIndex};
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -7,7 +7,7 @@ Trackers: [pm-cxc4jc](../.agents/pm/tasks/pm-cxc4jc.toon),
|
|
|
7
7
|
|
|
8
8
|
## Build ownership
|
|
9
9
|
|
|
10
|
-
Build/test/coverage sessions own `.cache/build-lease` through completion;
|
|
10
|
+
Build/test/coverage and distribution-packing sessions own `.cache/build-lease` through completion;
|
|
11
11
|
other producers/consumers wait twenty minutes. Nested readers inherit a verified
|
|
12
12
|
PID/token receipt; nested builds require independent workspaces. Direct stages
|
|
13
13
|
and arbitrary `dist` reads bypass this protocol.
|
|
@@ -16,7 +16,10 @@ Leases never expire or get stolen. Two matching reads proving PID absence fail
|
|
|
16
16
|
promptly with recovery guidance. Missing/malformed/changing/ambiguous receipts
|
|
17
17
|
use the timeout; PID reuse is ambiguous. Inspect owner and children before
|
|
18
18
|
abandoned-lease removal. Failed builds leave `.cache/build-incomplete`; prebuilt
|
|
19
|
-
tests refuse it until a successful build.
|
|
19
|
+
tests and distribution packing refuse it until a successful build. Packing holds
|
|
20
|
+
the lease from source inventory through isolated staging and the final archive;
|
|
21
|
+
its asynchronous helper validates inherited consumer receipts in the same
|
|
22
|
+
physical workspace. See [SDK consumer receipts](SDK_CONSUMER_RECEIPTS.md).
|
|
20
23
|
|
|
21
24
|
Interrupts stop the child and stage admission, allowing five seconds for
|
|
22
25
|
settlement, lease release and cleanup; unsettled children retain storage.
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -226,8 +226,18 @@ Successful sampled reads defer their start until completion so both lifecycle ev
|
|
|
226
226
|
|
|
227
227
|
`pm telemetry stats` reads the local queue and reports, per command bucket, latency percentiles (`duration_p50_ms`/`duration_p95_ms`/`duration_max_ms`, nearest-rank over `command_finish` `duration_ms`), outcome rates (`ok_count`/`error_count`/`error_rate`; a finish event whose `ok` is missing or not strictly `true` is counted conservatively as an error), and `command_resolution_counts`. These are an always-available, zero-network performance and reliability signal for the most recent queued window.
|
|
228
228
|
|
|
229
|
+
Background completion delivery is tracked by [pm-j8spis](../.agents/pm/issues/pm-j8spis.toon).
|
|
230
|
+
The detached uploader continues draining due events and OTLP spans appended
|
|
231
|
+
during an upload, so completion delivery does not require another command.
|
|
232
|
+
It releases the upload lock between batches and rechecks consent and identity.
|
|
233
|
+
Future retries remain queued, and unchanged eligible work stops the drain;
|
|
234
|
+
foreground commands still perform no export network I/O.
|
|
235
|
+
|
|
229
236
|
### Sentry environment variables
|
|
230
237
|
|
|
238
|
+
Tracing and privacy delivery: [pm-58yzil](../.agents/pm/features/pm-58yzil.toon) and
|
|
239
|
+
[pm-geywoc](../.agents/pm/issues/pm-geywoc.toon).
|
|
240
|
+
|
|
231
241
|
Crash and error diagnostics are reported to Sentry only when telemetry is enabled and the process is not opted out. These environment variables tune the Sentry client.
|
|
232
242
|
|
|
233
243
|
| Variable | Values | Use |
|
|
@@ -235,10 +245,43 @@ Crash and error diagnostics are reported to Sentry only when telemetry is enable
|
|
|
235
245
|
| `PM_SENTRY_DISABLED` | boolean | Disable Sentry error reporting for this process (the Sentry SDK is not even imported). `PM_TELEMETRY_DISABLED` / `PM_NO_TELEMETRY` also disable it. |
|
|
236
246
|
| `SENTRY_DSN` | URL | Override the destination DSN. Defaults to the bundled pm-cli project DSN. |
|
|
237
247
|
| `SENTRY_ENVIRONMENT` | string | Override the reported environment tag. Defaults to `test` under Vitest, `ci` when `CI` is set, otherwise `production`. |
|
|
248
|
+
| `PM_SENTRY_TRACE_COMMANDS` | boolean | Explicitly initialize Sentry for successful commands. Defaults to off, preserving lazy startup. All consent opt-outs and test isolation still apply; a zero trace sample rate avoids initialization. |
|
|
238
249
|
| `SENTRY_TRACES_SAMPLE_RATE` | number `0`–`1` | Fraction of command spans sampled for performance tracing. Defaults to `0.2` (20%). Set to `1` for full-trace performance debugging or `0` to disable tracing. Non-numeric or out-of-range values fall back to the default. |
|
|
239
250
|
|
|
240
251
|
> Sentry is hard-disabled under Vitest (`VITEST` / `VITEST_WORKER_ID`), so these knobs are no-ops inside the test suite.
|
|
241
252
|
|
|
253
|
+
For a bounded diagnostic invocation use
|
|
254
|
+
`PM_SENTRY_TRACE_COMMANDS=1 SENTRY_TRACES_SAMPLE_RATE=1 pm context --limit 3`.
|
|
255
|
+
Completion flushes buffered spans within the existing three-second SDK timeout.
|
|
256
|
+
The sample-rate variable alone does not enable successful-command initialization.
|
|
257
|
+
Configured telemetry opt-outs also prevent it. The CLI skips command context and
|
|
258
|
+
span creation when consent is disabled, including when an embedding caller has
|
|
259
|
+
already initialized Sentry. SDK callers use
|
|
260
|
+
`ensureSentryCommandTracing(telemetryEnabled)` from `@unbrained/pm-cli/sdk`,
|
|
261
|
+
passing an explicit `true` only after confirming effective consent. Start a
|
|
262
|
+
command span only when the returned permission is `true`; an existing client
|
|
263
|
+
also requires the current opt-in, sampling and process policy. Other runtime
|
|
264
|
+
values keep initialization disabled.
|
|
265
|
+
Consent is checked again at command completion. A command that disables
|
|
266
|
+
telemetry discards its span; SDK callers can use `sentryDiscardCommandSpan()`
|
|
267
|
+
to clear a pending span without exporting it.
|
|
268
|
+
A failed completion-time settings read also discards the span, so optional
|
|
269
|
+
diagnostics cannot turn a successful command into a failure.
|
|
270
|
+
If the SDK loader or initializer fails, tracing remains unavailable for that
|
|
271
|
+
process and the command continues. The partial client is cleared and the
|
|
272
|
+
failed initialization is not retried.
|
|
273
|
+
Sentry sends streamed spans; its span and log hooks apply the same scrubbing
|
|
274
|
+
as errors and breadcrumbs. A final envelope hook scrubs serialized log attributes
|
|
275
|
+
after the SDK merges current and isolation scopes, preserving safe typed values
|
|
276
|
+
without changing shared scopes. Template parameter attributes are always redacted.
|
|
277
|
+
Command context retains option keys and redacted
|
|
278
|
+
argument slots, including text that resembles a flag. Automatic user, cookie, HTTP header/body/query, AI, database,
|
|
279
|
+
GraphQL, local-variable and source-context collection is explicitly
|
|
280
|
+
disabled. Command taxonomy and outcome attributes remain available on spans.
|
|
281
|
+
|
|
282
|
+
The separate local event and OTLP queues retain their existing formats. Turning
|
|
283
|
+
off command tracing does not require deleting or rewriting those queues.
|
|
284
|
+
|
|
242
285
|
Linked commands launched by `pm test --run` default
|
|
243
286
|
`SENTRY_ENVIRONMENT=test`, even when the parent process is classified as
|
|
244
287
|
production. This keeps sandbox failures out of production diagnostics. An
|
|
@@ -47,10 +47,30 @@ The index and report are deterministic. `policy_fingerprint` identifies the vers
|
|
|
47
47
|
|
|
48
48
|
Each report explains its exact matching signals, returns deduplicated local and hosted checks, and includes a small cost receipt. Package authors may keep their own recurrence policy and feed the same SDK from a custom command, extension, CI adapter, or application.
|
|
49
49
|
|
|
50
|
+
File-pattern evaluation is tracked by [pm-0vqbl5](../.agents/pm/tasks/pm-0vqbl5.toon).
|
|
51
|
+
Patterns treat punctuation and literal NUL characters literally, `*` matches any characters except `/`, and
|
|
52
|
+
`**` also crosses separators while excluding line terminators. Matching covers
|
|
53
|
+
the complete trimmed path; `**/` still requires its slash. A finite-state matcher
|
|
54
|
+
uses at most pattern length times path length work and memory proportional to
|
|
55
|
+
pattern length. The existing 256-character policy limit and bounded compiled
|
|
56
|
+
pattern cache remain in force, including for custom SDK policy consumers.
|
|
57
|
+
|
|
50
58
|
## CLI and MCP Action
|
|
51
59
|
|
|
52
60
|
`assurance risk` accepts one JSON request through the same `definition` transport already used by SDK and MCP hosts:
|
|
53
61
|
|
|
62
|
+
Discovery recovery is tracked by [pm-assurance-risk-help-policy](../.agents/pm/issues/pm-assurance-risk-help-policy.toon).
|
|
63
|
+
Both `policy` and `change` are required. Help includes an executable minimal
|
|
64
|
+
example with an explicitly empty family list; it demonstrates the request
|
|
65
|
+
shape and makes no project coverage claim. Use the project's declared policy
|
|
66
|
+
for real decisions, as below. A missing or invalid policy object returns
|
|
67
|
+
structured help recovery without choosing a policy on the caller's behalf.
|
|
68
|
+
SDK policy parsing throws `DefectRecurrencePolicyParseError`, a `TypeError`
|
|
69
|
+
subclass exported by the root and governance entrypoints. This identifies
|
|
70
|
+
policy validation without depending on message text; its stable `code` is
|
|
71
|
+
`defect_recurrence_policy_invalid`. Change and lineage
|
|
72
|
+
validation retain their separate error contracts.
|
|
73
|
+
|
|
54
74
|
```bash
|
|
55
75
|
risk_request=$(jq -cn \
|
|
56
76
|
--slurpfile policy config/defect-recurrence-policy.json \
|
package/docs/EXTENSIONS.md
CHANGED
|
@@ -304,12 +304,12 @@ Doctor JSON also includes `triage.collision_plan` with grouped surfaces, ranked
|
|
|
304
304
|
Use the public SDK barrel. Do not deep-import from `src/core` or `dist/core`.
|
|
305
305
|
|
|
306
306
|
- `api.extension` is a read-only identity (`name`, `layer`, `version`, `capabilities`, `pm_min_version?`, `pm_max_version?`, `source_package?`) for self-identifying logs and version gating without re-reading the manifest.
|
|
307
|
-
- `api.registerCommand(definition)` adds package-owned commands.
|
|
307
|
+
- `api.registerCommand(definition)` adds package-owned commands; `read_output` opts readers into the [SDK output contract](SDK.md#minimal-command-extension).
|
|
308
308
|
- `api.registerFlags(command, flags)` adds runtime command flags. A flag may declare `value_type` (canonical; the legacy `type` alias is honored only when `value_type` is absent), `list: true` to accumulate repeated/comma-joined values like core `--tags`, and a `default` applied when the flag is omitted.
|
|
309
309
|
- `api.registerItemFields(fields)` adds custom metadata fields. Agents can set declared fields with repeatable `pm create --field name=value` and `pm update <id> --field name=value`; undeclared names are rejected. `SchemaFieldDefinition.type` is the same closed union used by `pm schema add-field`: `string | number | boolean | string_array | array | object`. Unsupported values fail at compile time for TypeScript authors and at activation for JavaScript packages, with a did-you-mean hint on typos. `string_array` is the repeatable string collection; `array` and `object` require JSON containers.
|
|
310
310
|
- Custom fields whose camel-case option name is already owned by a canonical MCP input remain usable through `options.<name>`, but authoring surfaces report the collision instead of allowing silent top-level shadowing. `pm schema add-field`, `pm profile lint`, and `pm package doctor` name the field, canonical `mcp_tool_input` owner, and nested recovery path. SDK authors can preflight the same rule with `resolvePmToolCustomFieldCollision`.
|
|
311
311
|
- `api.registerItemTypes(types)` adds custom item types.
|
|
312
|
-
- `api.registerRelationshipKinds(definitions)` adds validated graph semantics. Definitions declare direction, inverse spelling, ordering/precedence, hierarchy, cardinality, lifecycle, aliases, payload schema, compatibility version, and self-edge policy. Active definitions
|
|
312
|
+
- `api.registerRelationshipKinds(definitions)` adds validated graph semantics. Definitions declare direction, inverse spelling, ordering/precedence, hierarchy, cardinality, lifecycle, aliases, payload schema, compatibility version, and self-edge policy. Active definitions govern CLI, MCP, and SDK dependency mutation admission as well as workspace graph assembly; mutation aliases are stored canonically. Requires the `schema` capability and is governed by the `schema.relationshipkinds` policy surface. See [relationship mutation admission](RELATIONSHIP_GRAPH.md#contract), tracked by [pm-7dsolo](../.agents/pm/issues/pm-7dsolo.toon).
|
|
313
313
|
- `api.registerMigration(definition)` adds schema migrations.
|
|
314
314
|
- `api.registerProfile(profile)` contributes a project profile — a declarative archetype bundling item types, statuses, fields, per-type workflows, config, templates, and package recommendations. Once active it resolves by name through `pm profile list/show/apply` alongside the core `agile`/`ops`/`research` archetypes (built-in names are reserved; a colliding registration is ignored with a warning). Requires the `schema` capability.
|
|
315
315
|
- `api.registerAssuranceMeasurementProvider(provider)` contributes typed measurements to assurance. It requires `services`; network providers also require manifest `permissions.network: true`. Gates allow providers and cost/network limits per trigger. See [Project Assurance Primitives](ASSURANCE.md#extension-measurement-providers) for examples.
|
|
@@ -325,7 +325,7 @@ Use the public SDK barrel. Do not deep-import from `src/core` or `dist/core`.
|
|
|
325
325
|
|
|
326
326
|
The bundled `pm-lifecycle-hooks` package is the hook exemplar: it declares only `hooks` and registers a default-inert `afterCommand` hook so authors can copy a safe lifecycle pattern without changing command output.
|
|
327
327
|
If a package calls a `register*` API without declaring the required manifest capability, `pm package doctor --project --detail deep --trace` reports `extension_capability_missing:<name>:<capability>` and shows the exact capability to add before publishing.
|
|
328
|
-
Inline command flags require both `commands` and `schema` capabilities.
|
|
328
|
+
Inline command flags require both `commands` and `schema` capabilities. See [Extension author contracts](EXTENSION_AUTHOR_CONTRACTS.md) for canonical flag spelling ([pm-gh1461](../.agents/pm/issues/pm-gh1461.toon)) and [SDK testing helpers](SDK.md#testing-helpers) for TOON output assertions ([pm-gh1462](../.agents/pm/features/pm-gh1462.toon)). Verify runtime schema changes and flag contracts with:
|
|
329
329
|
|
|
330
330
|
```bash
|
|
331
331
|
pm schema list
|
|
@@ -4,6 +4,25 @@ Tracker: pm-at83
|
|
|
4
4
|
|
|
5
5
|
This page records runtime contracts package authors need when they build on the public SDK. For the install, manifest, lifecycle, and troubleshooting overview, see [Packages and Extensions](EXTENSIONS.md).
|
|
6
6
|
|
|
7
|
+
## Flag Spelling and Output Assertions
|
|
8
|
+
|
|
9
|
+
Tracked by [pm-gh1461](../.agents/pm/issues/pm-gh1461.toon) and
|
|
10
|
+
[pm-gh1462](../.agents/pm/features/pm-gh1462.toon).
|
|
11
|
+
Prefer `{ long: "--repo", value_name: "project", value_type: "string" }`.
|
|
12
|
+
Legacy `--repo <project>`, `--repo=<project>` and `--label [name]` declarations
|
|
13
|
+
retain one canonical identity, one value placeholder and one help listing.
|
|
14
|
+
Optional brackets permit presence without a value. Explicit `value_name` wins
|
|
15
|
+
over the inline label, and boolean types remain value-free. Runtime contracts
|
|
16
|
+
omit inferred labels for boolean flags, including legacy dynamic `bool` aliases;
|
|
17
|
+
explicit legacy `value_name` metadata remains compatible. The SDK owns the
|
|
18
|
+
canonical long-name rule used by help, option dispatch and contract discovery.
|
|
19
|
+
Typed authors should use canonical `value_type` names (`boolean`, `number`, `string`).
|
|
20
|
+
|
|
21
|
+
Use `decodeToon` from `@unbrained/pm-cli/sdk/testing` to assert on host output
|
|
22
|
+
semantically; `encodeToon` and the native codec option types are available from
|
|
23
|
+
that subpath and `/sdk`. They use the host's pinned implementation, so a package
|
|
24
|
+
does not need a separate TOON dependency or a private `dist/` import.
|
|
25
|
+
|
|
7
26
|
## Telemetry Capture Level
|
|
8
27
|
|
|
9
28
|
Every `pm` command records a telemetry event. Extension commands use the same telemetry pipeline as core commands and inherit `telemetry.capture_level` from the active settings.
|
package/docs/MERGE_SAFETY.md
CHANGED
|
@@ -111,6 +111,14 @@ incompatible commands. A dry run changes neither configuration nor attributes.
|
|
|
111
111
|
|
|
112
112
|
### Fence coverage contract
|
|
113
113
|
|
|
114
|
+
Extension assets are tracked by [pm-gh1460](../.agents/pm/issues/pm-gh1460.toon).
|
|
115
|
+
Files under `extensions/**` use Git's built-in `merge=text` driver, so separate
|
|
116
|
+
text edits combine and overlapping edits retain normal conflict markers.
|
|
117
|
+
Git still detects binary content and preserves its conflicted stages. The later
|
|
118
|
+
`.managed-extensions.json` rule keeps the structured `pm-json` driver.
|
|
119
|
+
The v2 fence grammar remains stable; `pm merge install` refreshes stale patterns
|
|
120
|
+
without discarding sibling fences or restoring legacy unversioned markers.
|
|
121
|
+
|
|
114
122
|
The fenced block is generated by one shared coverage contract (`buildMergeAttributePatterns`) covering every mergeable artifact class: tracker-wide `**/*.toon` and `**/*.md` item patterns, explicit per-type diagnostic patterns, all tracker `**/*.jsonl` paths under the relationship-event driver with the more-specific `history/*.jsonl` rule overriding history streams, root `settings.json`, and every nested `**/*.json` document. The tracker-wide item rules protect extension-defined type folders even when a receiving branch has not installed the package that registered them; explicit type rows still make active-registry drift diagnosable. The broad JSON rules automatically cover schema, managed-extension, evaluation-corpus, and future package-owned authoritative JSON without another hand-maintained allowlist. The broad JSONL rule is required because `RelationshipEventStore` supports package-owned custom relative paths anywhere below the tracker root. Two mechanisms keep the committed fence from drifting out of that contract:
|
|
115
123
|
|
|
116
124
|
- `pm schema add-type` / `pm schema remove-type` refresh the fence automatically when it is installed (warning `merge_fence_refreshed`); repos inside git that never installed it get the actionable `merge_fence_not_installed` hint instead.
|
|
@@ -195,6 +203,20 @@ same complete receipt summary and disposition. An absent, unreadable, invalid,
|
|
|
195
203
|
unsealed, or mismatched audit keeps the receipt pending in memory; inspection
|
|
196
204
|
rewrites neither receipt nor history. History is verified once per affected
|
|
197
205
|
item in each receipt scan.
|
|
206
|
+
Historical receipt recovery is tracked by [pm-tknnzp](../.agents/pm/issues/pm-tknnzp.toon).
|
|
207
|
+
Historical item-state hashes do not authenticate audit context. An older
|
|
208
|
+
unsealed `merge_reconcile` summary therefore cannot retain settled state,
|
|
209
|
+
even when its receipt identity, fields, and value hashes match. Editing that
|
|
210
|
+
context leaves the legacy item chain valid. Keep these receipts pending for
|
|
211
|
+
explicit reviewed migration to a modern sealed audit; never retroactively
|
|
212
|
+
trust the old summary or synthesize an old signature during inspection.
|
|
213
|
+
If compaction removed the audit, the receipt also stays pending. Preview with
|
|
214
|
+
`pm merge reconcile --dry-run`; review its summaries and repair failures and
|
|
215
|
+
re-apply any intended discarded values. Only with explicit review authority,
|
|
216
|
+
use `pm merge reconcile --force --message "<reviewed receipt disposition and rationale>"`.
|
|
217
|
+
That command appends acceptance evidence; it cannot recover missing evidence
|
|
218
|
+
or restore discarded values. This migration guidance also applies to a
|
|
219
|
+
lossless receipt whose snapshot proof is unavailable.
|
|
198
220
|
Copy provenance includes normalized `requested_preference_applied`, so copies
|
|
199
221
|
that disagree on whether preference participated cannot share lifecycle state
|
|
200
222
|
even if history matches one copy. Inspection reports `copy_provenance_mismatch`,
|
|
@@ -210,6 +232,18 @@ pm merge report --include-reconciled
|
|
|
210
232
|
|
|
211
233
|
The underlying public SDK exports are `mergeItemDocuments`, `mergeHistoryStreams`, `mergeRelationshipEventStreams`, `mergeJsonDocuments`, `runMergeDriver`, `runMergeInstall`, `installMergeFence`, `findGitWorkspaceRoot`, `runMergeReconcile`, `runMergeReceiptReport`, `runMergeReceiptEvidenceReport`, `inspectMergeReceiptEvidence`, `listMergeReceipts`, `auditMergeDriverConfiguration`, `refreshMergeAttributeFenceIfInstalled`, `buildMergeAttributePatterns`, and `auditMergeAttributeFence` from `@unbrained/pm-cli/sdk`. `installMergeFence` accepts explicit tracker and workspace roots, so custom init hosts do not depend on process cwd or CLI globals.
|
|
212
234
|
|
|
235
|
+
Collection projection is tracked by [pm-pftgcz](../.agents/pm/issues/pm-pftgcz.toon).
|
|
236
|
+
History union reconstructs each event in its original branch before merging
|
|
237
|
+
collection values with the item driver's shared policy. Positional comment,
|
|
238
|
+
doc and test patches from an earlier reconciliation therefore cannot overwrite
|
|
239
|
+
an unrelated entry at the same array index on another branch. Original event
|
|
240
|
+
attribution and patches remain in sealed rewrite evidence; replayed collections
|
|
241
|
+
use the canonical item order and receiving-side linked-test provenance.
|
|
242
|
+
The SDK reanchor primitive accepts `projectPatch` for this explicit projection
|
|
243
|
+
boundary. It retains the replaced patch rather than erasing its source.
|
|
244
|
+
Exact receipt settlement still requires an authoritative matching snapshot,
|
|
245
|
+
and newly merged executable tests still require clone-local trust acknowledgement.
|
|
246
|
+
|
|
213
247
|
`listMergeReceipts` is the compatibility projection for callers that only need
|
|
214
248
|
validated receipts. It cannot distinguish an empty evidence store from a store
|
|
215
249
|
whose candidates were all rejected. Gates and diagnostic integrations should
|
|
@@ -495,7 +529,7 @@ pm history-repair <item-id>
|
|
|
495
529
|
pm merge reconcile --dry-run --json
|
|
496
530
|
```
|
|
497
531
|
|
|
498
|
-
`history-repair` records the reconciliation patch and classifies its changed fields against the final item. Append-only collection unions and deterministic reordering are reported as preserved context without a data-loss warning. Fields whose replayed values are actually removed or replaced remain loud with discarded event authors/operations and recovery guidance. Re-apply any intended losing mutation as a normal `pm update` so it remains explicit and auditable.
|
|
532
|
+
`history-repair` records the reconciliation patch and classifies its changed fields against the final item. Append-only collection unions and deterministic reordering are reported as preserved context without a data-loss warning. For native comments, docs and tests, duplicate copies of the same identified record and changes between the known `local_mutation`/`merge_union` display markers are also reported as preserved context. Author, creation time, origin, payload and unknown-field changes remain significant. This diagnosis does not authorize linked commands or relax exact receipt hashes. Fields whose replayed values are actually removed or replaced remain loud with discarded event authors/operations and recovery guidance. Re-apply any intended losing mutation as a normal `pm update` so it remains explicit and auditable.
|
|
499
533
|
|
|
500
534
|
History events now declare an item-hash epoch. Epochs are immutable writer
|
|
501
535
|
contracts, not aliases for the current item serializer: epoch 1 sorts linked
|
|
@@ -6,6 +6,8 @@ Tracked by [pm-83cz0o](../.agents/pm/features/pm-83cz0o.toon),
|
|
|
6
6
|
[pm-h8tpeh](../.agents/pm/features/pm-h8tpeh.toon), and
|
|
7
7
|
[pm-f05lsg](../.agents/pm/features/pm-f05lsg.toon).
|
|
8
8
|
|
|
9
|
+
Planning recovery: [pm-reopen-planning-recovery](../.agents/pm/tasks/pm-reopen-planning-recovery.toon).
|
|
10
|
+
|
|
9
11
|
## Agent Quick Context
|
|
10
12
|
|
|
11
13
|
- Reuse an active matching item; reopen a terminal matching item.
|
|
@@ -21,17 +23,28 @@ Tracked by [pm-83cz0o](../.agents/pm/features/pm-83cz0o.toon),
|
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
25
|
pm item reopen pm-a1b2 "The production failure recurred after deployment"
|
|
24
|
-
pm item reopen pm-a1b2 "The customer reproduced the issue" --status in_progress
|
|
26
|
+
pm item reopen pm-a1b2 "The customer reproduced the issue" --status in_progress \
|
|
27
|
+
--expected-result "The recurrence is repaired and its regression passes"
|
|
25
28
|
```
|
|
26
29
|
|
|
27
30
|
The command accepts only the workspace open or in-progress status. While
|
|
28
31
|
holding the item lock it verifies that the current status is terminal, records
|
|
29
32
|
one `reopen` history event with structured recurrence context, and delegates the
|
|
30
33
|
state change to the normal update pipeline. Active metadata drops stale
|
|
31
|
-
`closed_at`, `completed_at`, `close_reason`, `resolution`, `
|
|
32
|
-
`
|
|
34
|
+
`closed_at`, `completed_at`, `close_reason`, `resolution`, `actual_result`, and
|
|
35
|
+
`fixed_version` values. It clears the prior `expected_result` and retains a new
|
|
36
|
+
current expectation when explicitly supplied. Earlier history retains the exact
|
|
33
37
|
closure values.
|
|
34
38
|
|
|
39
|
+
Supply `--expected-result` (`--expected`) for the current active expectation.
|
|
40
|
+
The SDK option and MCP parameter are `expectedResult`. This explicitly supplied
|
|
41
|
+
planning value survives the reopen, while the previous terminal expectation
|
|
42
|
+
remains in `recurrence.previous_terminal` and immutable history. Without the
|
|
43
|
+
option, the compact receipt supplies `recovery.suggested_retry_args` for an
|
|
44
|
+
update of the same tracker and item. Replace its outcome placeholder before
|
|
45
|
+
executing it, then claim/start the item. Reopening does not infer a new
|
|
46
|
+
expectation from the old closure or relax active planning assurance.
|
|
47
|
+
|
|
35
48
|
Compact output keeps the recurrence receipt because the prior and next status,
|
|
36
49
|
reason, and terminal evidence are the proof that this was a recurrence rather
|
|
37
50
|
than a generic edit. An already-active item fails with
|
|
@@ -47,7 +60,7 @@ const pm = new PmClient({ pmRoot: "/workspace/.agents/pm" });
|
|
|
47
60
|
const viaClient = await pm.reopen(
|
|
48
61
|
"pm-a1b2",
|
|
49
62
|
"The production failure recurred",
|
|
50
|
-
{ status: "in_progress" },
|
|
63
|
+
{ status: "in_progress", expectedResult: "The recurrence regression passes" },
|
|
51
64
|
);
|
|
52
65
|
|
|
53
66
|
const viaFunction = await reopen(
|
|
@@ -10,6 +10,32 @@ The alternatives were rejected as follows: a closed enum cannot model applicatio
|
|
|
10
10
|
|
|
11
11
|
## Contract
|
|
12
12
|
|
|
13
|
+
Dependency mutation admission is tracked by [pm-7dsolo](../.agents/pm/issues/pm-7dsolo.toon).
|
|
14
|
+
`create --dep`, `update --dep`, `update --dep-remove`, bulk updates, and their
|
|
15
|
+
SDK actions resolve kinds and aliases through the active workspace registry.
|
|
16
|
+
For example, an extension can register `ships_before` with alias
|
|
17
|
+
`precedes_ship`, then use `--dep id=<target>,kind=precedes_ship`; storage and
|
|
18
|
+
history record `ships_before`. Ordering advice, self-edge refusals, and
|
|
19
|
+
hierarchy validation use those same registered semantics. Disabling or
|
|
20
|
+
uninstalling the registration refuses new dependency writes before item or history changes.
|
|
21
|
+
The refusal lists active canonical kinds and explains how to enable the owning
|
|
22
|
+
extension. `DependencyKind` is a string identifier: `DEPENDENCY_KIND_VALUES`
|
|
23
|
+
describes built-in spellings rather than the complete workspace vocabulary.
|
|
24
|
+
|
|
25
|
+
Non-hierarchy kinds with `outgoing: "one"` or `incoming: "one"` also reject
|
|
26
|
+
new conflicting logical endpoints before persistence. Duplicate provenance
|
|
27
|
+
rows do not consume another logical endpoint; unchanged historical debt and
|
|
28
|
+
strict repairs remain allowed. One removal plus one addition is validated as
|
|
29
|
+
the final dependency set. Limited-cardinality writers share the workspace
|
|
30
|
+
integrity lock with hierarchy writers, so concurrent updates cannot both
|
|
31
|
+
validate against the same empty snapshot.
|
|
32
|
+
`assertNonHierarchyCardinalityMutationAllowed` and `RelationshipCardinalityItem`
|
|
33
|
+
are public root/graph SDK exports for comparing minimal immutable item
|
|
34
|
+
projections. The guard reports `dependency_cardinality_created` with a typed
|
|
35
|
+
`relationship_cardinality` context. Native mutations compose it with the
|
|
36
|
+
existing richer hierarchy validator; it does not infer semantics for an
|
|
37
|
+
inactive or unknown kind.
|
|
38
|
+
|
|
13
39
|
Each relationship kind declares direction, inverse, a traversal family,
|
|
14
40
|
optional typed-outcome traversal direction, ordering and hierarchy
|
|
15
41
|
participation, optional temporal order, incoming and outgoing cardinality,
|
package/docs/RELEASING.md
CHANGED
|
@@ -437,6 +437,12 @@ maintainer supplies
|
|
|
437
437
|
pair that acknowledgement with migration guidance, compatible extension
|
|
438
438
|
version bounds where applicable, and the next eligible date-based release.
|
|
439
439
|
|
|
440
|
+
Build finalization removes redundant indentation from emitted `.d.ts` files
|
|
441
|
+
([pm-chw71s](../.agents/pm/tasks/pm-chw71s.toon)). String and template type
|
|
442
|
+
contents, comments, JSDoc, symbols and module boundaries retain their original
|
|
443
|
+
tokens. Source declarations remain readable, and packed TypeScript consumers
|
|
444
|
+
verify the emitted surface before publication. Artifact ceilings remain unchanged.
|
|
445
|
+
|
|
440
446
|
5. Land the implementation through a reviewed pull request, then use hosted
|
|
441
447
|
preparation for publication.
|
|
442
448
|
|
package/docs/SDK.md
CHANGED
|
@@ -1792,23 +1792,9 @@ Custom tools can evaluate the same behavior without shelling out:
|
|
|
1792
1792
|
|
|
1793
1793
|
```ts
|
|
1794
1794
|
import {
|
|
1795
|
-
runContextEvaluationCorpus,
|
|
1796
|
-
type ContextEvaluationReader,
|
|
1795
|
+
runContextEvaluationCorpus,
|
|
1797
1796
|
} from "@unbrained/pm-cli/sdk";
|
|
1798
1797
|
|
|
1799
|
-
const reader: ContextEvaluationReader = {
|
|
1800
|
-
context: async options => {
|
|
1801
|
-
const result = await pm.context(options);
|
|
1802
|
-
if (isReadOutputBudgetExceeded(result)) throw new Error("Cannot grade omitted context");
|
|
1803
|
-
return { ...result };
|
|
1804
|
-
},
|
|
1805
|
-
next: async options => {
|
|
1806
|
-
const result = await pm.next(options);
|
|
1807
|
-
if (isReadOutputBudgetExceeded(result)) throw new Error("Cannot grade omitted next");
|
|
1808
|
-
return { ...result };
|
|
1809
|
-
},
|
|
1810
|
-
};
|
|
1811
|
-
|
|
1812
1798
|
const report = await runContextEvaluationCorpus([{
|
|
1813
1799
|
id: "returning-agent",
|
|
1814
1800
|
surface: "context",
|
|
@@ -1818,16 +1804,21 @@ const report = await runContextEvaluationCorpus([{
|
|
|
1818
1804
|
continuity_ids: ["pm-current", "pm-support"],
|
|
1819
1805
|
token_budget: 1200,
|
|
1820
1806
|
rationale: "Resume claimed work with its supporting context.",
|
|
1821
|
-
}],
|
|
1807
|
+
}], pm, {
|
|
1822
1808
|
ndcg: 0.9, reciprocal_rank: 0.9, required_recall: 1,
|
|
1823
1809
|
continuity_coverage: 1, token_budget_adherence: 1,
|
|
1824
1810
|
});
|
|
1825
1811
|
if (!report.passed) throw new Error(report.failures.join(", "));
|
|
1826
1812
|
```
|
|
1827
1813
|
|
|
1828
|
-
|
|
1829
|
-
|
|
1814
|
+
`PmClient` directly satisfies `ContextEvaluationReader`, including universal
|
|
1815
|
+
budget receipts. The evaluator preserves the complete packet and refuses
|
|
1816
|
+
whole-result omissions with `context_evaluation_read_incomplete` before scoring,
|
|
1817
|
+
including omissions caused by a shared session despite an unbounded per-read
|
|
1818
|
+
budget. Increase the budget or start a fresh session before retrying. Ordinary
|
|
1819
|
+
bounded row selection remains evaluable. Tracked by
|
|
1830
1820
|
[pm-i4kxx1](../.agents/pm/tasks/pm-i4kxx1.toon).
|
|
1821
|
+
See [SDK consumer receipts](SDK_CONSUMER_RECEIPTS.md) for recovery and package-generation contracts.
|
|
1831
1822
|
|
|
1832
1823
|
The evaluator calls only the public `context()` / `next()` reader contract. It
|
|
1833
1824
|
scores nDCG, reciprocal rank, required-item recall, returning-agent continuity,
|
|
@@ -1990,6 +1981,40 @@ capability entry to add before publishing.
|
|
|
1990
1981
|
|
|
1991
1982
|
## Minimal Command Extension
|
|
1992
1983
|
|
|
1984
|
+
Read-only command handlers can opt into the host output contract with
|
|
1985
|
+
`read_output: { row_keys: ["items"] }`. This public declaration is tracked by
|
|
1986
|
+
[pm-extension-read-output-controls](../.agents/pm/features/pm-extension-read-output-controls.toon).
|
|
1987
|
+
It supports `outputInclude`, `outputLimit`, `outputBudget`, `outputFormat`,
|
|
1988
|
+
`outputSession`, `outputCursor`, and `outputRowContract` through CLI flags,
|
|
1989
|
+
`PmClient.run(action, { options })`, and MCP `pm_run`. Inspect the active
|
|
1990
|
+
command's flags and schemas with `pm contracts --command "<path>" --full`.
|
|
1991
|
+
|
|
1992
|
+
```ts
|
|
1993
|
+
api.registerCommand({
|
|
1994
|
+
name: "inventory rows",
|
|
1995
|
+
read_output: { row_keys: ["items"] },
|
|
1996
|
+
run: () => ({ items: [{ id: "asset-1", title: "Camera" }], count: 1, total: 1 }),
|
|
1997
|
+
});
|
|
1998
|
+
```
|
|
1999
|
+
|
|
2000
|
+
The handler must return a structured object. Each declared path must contain
|
|
2001
|
+
an array or object map; paths may be nested, unique and non-overlapping. Use
|
|
2002
|
+
`row_keys: []` for a singleton result. Activation snapshots the declaration,
|
|
2003
|
+
and the host validates the returned collections before projecting them. Avoid
|
|
2004
|
+
reserved metadata and prototype property names. The declaration promises a
|
|
2005
|
+
read-only handler; writers and undeclared commands keep refusing read controls,
|
|
2006
|
+
and native commands/actions retain their existing contracts. A declaration
|
|
2007
|
+
cannot shadow native dispatch; choose a distinct package action.
|
|
2008
|
+
|
|
2009
|
+
Receipts and continuation cursors identify the canonical extension command.
|
|
2010
|
+
Resume with the returned cursor and the same semantic inputs; changed rows
|
|
2011
|
+
refuse stale continuation. A budget that cannot fit useful content returns the
|
|
2012
|
+
shared `output_budget_exceeded` branch, and CLI exits 2. SDK consumers should
|
|
2013
|
+
check `isReadOutputBudgetExceeded` before treating the payload as their result.
|
|
2014
|
+
Packages can describe their own omitted groups with the existing
|
|
2015
|
+
`OutputProjectionDeclaration`; the host also discloses reductions caused by
|
|
2016
|
+
its output controls. JSON and TOON estimates include their receipts.
|
|
2017
|
+
|
|
1993
2018
|
```ts
|
|
1994
2019
|
import { defineExtension } from "@unbrained/pm-cli/sdk";
|
|
1995
2020
|
|
|
@@ -2645,6 +2670,22 @@ missing. Named expectations use `{ name }`; historical surface-specific aliases
|
|
|
2645
2670
|
remain supported. Optional `extensionName` limits a match to one extension.
|
|
2646
2671
|
The published surface snapshot contains the complete helper signatures.
|
|
2647
2672
|
|
|
2673
|
+
Output codecs are tracked by [pm-gh1462](../.agents/pm/features/pm-gh1462.toon).
|
|
2674
|
+
`decodeToon` and `encodeToon` use the exact TOON implementation shipped by the
|
|
2675
|
+
host. They are exported from `/sdk/testing` and `/sdk`, with `ToonDecodeOptions`,
|
|
2676
|
+
`ToonEncodeOptions` and `ToonJsonValue` types. Compare decoded values instead of
|
|
2677
|
+
matching spaces or quoted scalars, and retain strict decoder errors for malformed
|
|
2678
|
+
output:
|
|
2679
|
+
|
|
2680
|
+
```ts
|
|
2681
|
+
import assert from "node:assert/strict";
|
|
2682
|
+
import { decodeToon, encodeToon } from "@unbrained/pm-cli/sdk/testing";
|
|
2683
|
+
|
|
2684
|
+
const stdout = "status: open\n"; // Replace with captured host output.
|
|
2685
|
+
assert.deepEqual(decodeToon(stdout), { status: "open" });
|
|
2686
|
+
assert.deepEqual(decodeToon(encodeToon({ enabled: false })), { enabled: false });
|
|
2687
|
+
```
|
|
2688
|
+
|
|
2648
2689
|
Prefer `createExtensionTestHarness` when testing a package. Its bound methods
|
|
2649
2690
|
select the correct registry, preventing accidental use of a command registry for
|
|
2650
2691
|
hooks or services:
|
|
@@ -3102,6 +3143,9 @@ tracker and extension policy from any working directory.
|
|
|
3102
3143
|
In-process callers of `runPmCli(args)` do not need to replace `process.argv`:
|
|
3103
3144
|
usage and help recovery use the supplied invocation for command selection,
|
|
3104
3145
|
tracker scope, extension policy and both text and JSON formatting.
|
|
3146
|
+
Eval hosts with no `process.argv[1]` also work: the CLI supplies an internal
|
|
3147
|
+
script label and preserves the host's argument array and exit status
|
|
3148
|
+
([pm-mor9pl](../.agents/pm/issues/pm-mor9pl.toon)).
|
|
3105
3149
|
|
|
3106
3150
|
`runTest(id, { measure: [...] }, global)` requires `run: true`. A missing run
|
|
3107
3151
|
returns `test_measure_requires_run` before linked-test mutation, with an executable
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# SDK Consumer Receipts
|
|
2
|
+
|
|
3
|
+
Trackers: [pm-i4kxx1](../.agents/pm/tasks/pm-i4kxx1.toon),
|
|
4
|
+
[pm-by83yj](../.agents/pm/issues/pm-by83yj.toon),
|
|
5
|
+
[pm-distribution-consumer-lease](../.agents/pm/issues/pm-distribution-consumer-lease.toon),
|
|
6
|
+
[pm-ty5i58](../.agents/pm/issues/pm-ty5i58.toon).
|
|
7
|
+
|
|
8
|
+
Project management is context management: consumers must distinguish useful
|
|
9
|
+
context from an omission and follow recoveries that the host can execute.
|
|
10
|
+
|
|
11
|
+
`PmClient` directly implements `ContextEvaluationReader`. Structural readers can
|
|
12
|
+
return their complete context or next packet plus universal read receipts.
|
|
13
|
+
`runContextEvaluationScenario` refuses a universal budget-exceeded result or a
|
|
14
|
+
whole-result omission in either `read_output` or `context_intent` before it
|
|
15
|
+
computes ranking metrics. This also covers an exhausted shared output session
|
|
16
|
+
when the individual read requests an unbounded budget. Reader refusals, including
|
|
17
|
+
a completely exhausted session, propagate with their original diagnosis. Retry with an adequate
|
|
18
|
+
budget or a fresh session. Ordinary bounded row selection is still evaluated;
|
|
19
|
+
complete packets retain token accounting and served-item attribution.
|
|
20
|
+
|
|
21
|
+
Core metadata is reserved from extension `--field` assignments. Create and
|
|
22
|
+
update recoveries resolve actual flags from the command registration contracts,
|
|
23
|
+
including aliases such as `--estimate` for `estimated_minutes`. Collection routes
|
|
24
|
+
reuse the same mapping as structured item IO, such as `comments` to `--comment`
|
|
25
|
+
and `type_options` to `--type-option`. Recovery names only declared mutation
|
|
26
|
+
routes and retains the other required-option policy. A stored
|
|
27
|
+
field does not imply a CLI flag. `external_ref` has no dedicated create/update
|
|
28
|
+
CLI mutation flag; its refusal says so and points to the owning lifecycle,
|
|
29
|
+
evidence, or importer API. Existing imported references remain readable and
|
|
30
|
+
preserved. Extension authors should register a distinct field for custom data.
|
|
31
|
+
The standalone SDK field parser also declines to invent host command flags.
|
|
32
|
+
|
|
33
|
+
Typed schema customization also preserves the declared storage type.
|
|
34
|
+
`PmClient.schemaAddField(name, { type: "number" })` and the functional
|
|
35
|
+
`schemaAddField` export translate the documented `type` option to the schema
|
|
36
|
+
action's `fieldType` input. Number and boolean registrations therefore retain
|
|
37
|
+
those persisted types and their coercion rules. An omitted type still defaults
|
|
38
|
+
to string. Generic `client.run("schema", ...)` consumers continue to use
|
|
39
|
+
`fieldType`. Installed Node and Bun acceptance exercises registration, reads the
|
|
40
|
+
persisted definitions, and creates typed custom values before evaluating context.
|
|
41
|
+
Schema-managed fields use their declared dynamic create/update options: for
|
|
42
|
+
example, `sdkNumeric: "7"` follows the generated `--sdk-numeric` option and stores
|
|
43
|
+
the number `7`. Inspect the schema and command contracts for those names.
|
|
44
|
+
Extension-registered fields use the separate `field` assignment collection.
|
|
45
|
+
|
|
46
|
+
Distribution packing acquires the same checkout lease as builds and tests before
|
|
47
|
+
reading manifests, inventorying source files, and staging the physical package.
|
|
48
|
+
It retains the lease until packing finishes. A nested packer can reuse the
|
|
49
|
+
consumer token only when its physical root matches the root named by the
|
|
50
|
+
inherited lease receipt and the live owner's receipt validates. Validation runners supply
|
|
51
|
+
`PM_BUILD_CONSUMER_LEASE_ROOT`; legacy tokens are scoped to the script workspace.
|
|
52
|
+
Linked commands cannot override lease controls through stored environment
|
|
53
|
+
directives. Snapshot and isolated execution clear both inherited lease variables,
|
|
54
|
+
keeping source ownership and its workspace path outside those child contexts.
|
|
55
|
+
Foreign workspaces acquire their own lease. An inherited owner path that no
|
|
56
|
+
longer resolves also takes this independent path; it never authorizes token reuse.
|
|
57
|
+
Interrupted builds retain an incomplete
|
|
58
|
+
marker and are refused until a complete rebuild succeeds. Packing never steals
|
|
59
|
+
a lease by age or removes another owner's receipt. Source-path checks, exact
|
|
60
|
+
runtime-ledger verification, and lossless metadata staging remain enforced.
|
|
61
|
+
|
|
62
|
+
`packDistribution` is an asynchronous repository helper; callers await its
|
|
63
|
+
receipt. The CLI entrypoint also awaits it before reporting an artifact. The
|
|
64
|
+
independent-process regression starts the real build entrypoint with owned
|
|
65
|
+
fixture build stages, verifies contention against the producer's live receipt,
|
|
66
|
+
and compares both archive files with the completed generation. Timing alone is
|
|
67
|
+
not the overlap oracle.
|
|
@@ -4,12 +4,12 @@ Tracker: `pm-f05lsg`.
|
|
|
4
4
|
|
|
5
5
|
Every catalog code is listed. An `uncovered` row is an explicit closure obligation, never an omission or implied approval.
|
|
6
6
|
|
|
7
|
-
- Catalog error codes:
|
|
7
|
+
- Catalog error codes: 405
|
|
8
8
|
- Executable error codes: 19
|
|
9
9
|
- Executable-code ratchet floor: 18
|
|
10
10
|
- Required executable canonical codes: `bulk_ids_input_empty`, `bulk_ids_input_missing_path`, `bulk_ids_input_unreadable`, `invalid_argument_value`, `manifest_unknown_key`, `missing_lifecycle_target`, `missing_required_argument`, `no_version_bounds_declared`, `projection_options_mutually_exclusive`, `tracker_not_initialized`, `tracker_root_missing`, `tracker_root_not_directory`, `tracker_root_unreadable`, `unknown_context_intent`, `unknown_field_projection`, `unknown_option`, `unknown_subcommand`
|
|
11
|
-
- Uncovered error codes:
|
|
12
|
-
- Coverage fraction: 0.
|
|
11
|
+
- Uncovered error codes: 386
|
|
12
|
+
- Coverage fraction: 0.046914
|
|
13
13
|
- Closed-domain probes: 19
|
|
14
14
|
- Grammar probes: 117
|
|
15
15
|
|
|
@@ -55,12 +55,14 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
|
|
|
55
55
|
| `config_key_unknown` | `config_key_unknown` | uncovered | none | 0 |
|
|
56
56
|
| `config_value_invalid` | `config_value_invalid` | uncovered | none | 0 |
|
|
57
57
|
| `conflicting_lifecycle_owner` | `conflicting_lifecycle_owner` | uncovered | none | 0 |
|
|
58
|
+
| `context_evaluation_read_incomplete` | `context_evaluation_read_incomplete` | uncovered | none | 0 |
|
|
58
59
|
| `context_signal_store_invalid` | `context_signal_store_invalid` | uncovered | none | 0 |
|
|
59
60
|
| `context_signal_store_stale` | `context_signal_store_stale` | uncovered | none | 0 |
|
|
60
61
|
| `context_signal_store_write_failed` | `context_signal_store_write_failed` | uncovered | none | 0 |
|
|
61
62
|
| `context_takes_no_item_argument` | `context_takes_no_item_argument` | uncovered | none | 0 |
|
|
62
63
|
| `core_item_field_requires_dedicated_flag` | `core_item_field_requires_dedicated_flag` | uncovered | none | 0 |
|
|
63
64
|
| `create_positional_type_without_title` | `create_positional_type_without_title` | uncovered | none | 0 |
|
|
65
|
+
| `dependency_cardinality_created` | `dependency_cardinality_created` | uncovered | none | 0 |
|
|
64
66
|
| `dependency_edge_not_allowed` | `dependency_edge_not_allowed` | uncovered | none | 0 |
|
|
65
67
|
| `dependency_flag_value_invalid` | `dependency_flag_value_invalid` | uncovered | none | 0 |
|
|
66
68
|
| `dependency_remove_no_match` | `dependency_remove_no_match` | uncovered | none | 0 |
|
|
@@ -97,6 +99,7 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
|
|
|
97
99
|
| `extension_mutation_guard_invalid_decision` | `extension_mutation_guard_invalid_decision` | uncovered | none | 0 |
|
|
98
100
|
| `extension_mutation_guard_invalid_denial` | `extension_mutation_guard_invalid_denial` | uncovered | none | 0 |
|
|
99
101
|
| `extension_mutation_guard_timed_out` | `extension_mutation_guard_timed_out` | uncovered | none | 0 |
|
|
102
|
+
| `extension_read_output_invalid` | `extension_read_output_invalid` | uncovered | none | 0 |
|
|
100
103
|
| `extension_update_health_partial_coverage` | `extension_update_health_partial_coverage` | uncovered | none | 0 |
|
|
101
104
|
| `extensions_unreadable` | `extensions_unreadable` | uncovered | none | 0 |
|
|
102
105
|
| `field_duplicate` | `field_duplicate` | uncovered | none | 0 |
|
package/marketplace.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.
|
|
1
|
+
{"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.14","plugins":[{"name":"pm-claude","source":"./plugins/pm-claude","description":"Native pm CLI integration for Claude Code — 32 MCP tools, 14 workflow skills with slash invocations, 4 subagents, hybrid TUI task tracking, session context injection, and coordination subagents for git-based project management without leaving Claude Code.","version":"2026.10.14","author":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"homepage":"https://github.com/unbraind/pm-cli","repository":"https://github.com/unbraind/pm-cli","license":"MIT","keywords":["pm-cli","project-management","mcp","tasks","agents","workflows","git-native","task-tracker","ai"],"category":"productivity"}]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
1
|
+
export declare const VERSION = "2.12.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
1
|
+
export declare const VERSION = "2.12.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|